From c76d67a2fdd40cc26bf57a50938f32ce6f6ef130 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 00:47:13 +0200 Subject: [PATCH] pala M5a+M4a: XP chasseur/fermier + recettes machines data-driven + config auto-complete --- PALAMOD_CDC.md | 22 +++- .../fr/surviepote/pala/core/PalaConfig.java | 74 +++++++++++++ .../fr/surviepote/pala/events/PalaEvents.java | 4 + .../surviepote/pala/events/PalaJobEvents.java | 97 ++++++++++++++++++ .../pala/events/PalaToolEvents.java | 10 +- .../pala/machine/PalaMachineBlockEntity.java | 44 ++++---- server/mods/pala-0.2.1.jar | Bin 328288 -> 332088 bytes 7 files changed, 224 insertions(+), 27 deletions(-) create mode 100644 mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java diff --git a/PALAMOD_CDC.md b/PALAMOD_CDC.md index 120cbc1..12d55d7 100644 --- a/PALAMOD_CDC.md +++ b/PALAMOD_CDC.md @@ -456,9 +456,9 @@ avant M4 (TODO:crafts-machines). - Features wiki couvertes (entree CDC) : ~210 (§1.14). Portage existant : ~120 (assets+registres). Logique specifiee restant a implementer : ~90. Couverture spec : 100 % des pages FR Java ingestionnees. -- TODO explicites : 13 nommes (grep : ocr-fiable, worldgen-couches, broadsword, +- TODO explicites : 16 nommes (grep : ocr-fiable, worldgen-couches, broadsword, crafts-machines, chervil, commandes-exactes, ghost, luckperms, runclient, mcp-ocular, shebang, - java-home, pog-os) + java-home, pog-os, craft-xp, smelt-xp, crusher-xp) + 4 points UNVERIFIED (seuils XP 6-100, durees sticks, valeurs armures wiki vs MCreator, patterns machines images). - Methode : WAVES (crawl 137 articles → stub JS isoles → re-crawl navigateur → verifie) + ETERNAL CODE @@ -509,8 +509,20 @@ avant M4 (TODO:crafts-machines). conso 20 %/tick, luck 1/128, auto-generate a 1.0 ; NE cuit plus de minerais) + furnace accepte mixed coals + gate fermier 8 a l'ouverture du crusher. VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. UNVERIFIED en jeu : cycle fruit->lingot avec joueur, gate a fermier<8. -- Client/mod : ./gradlew runClient dans mods/pala/ : NON LANCE (session : pas d'affichage ; screenshots - ocular impossibles ici). TODO:runclient : 1 screenshot/feature dans mods/pala/docs/screens/ avant M10. - Raison : environnement headless, a faire sur poste avec X. +- M5a LIVRE 2026-10-19 ~00:30 : XP chasseur (AFTER_DEATH verifie au javap : passifs 14@0, poulpe + 10@0, creeper 40, wither 1000, gates niveau) + fermier (ble 1.5@0, patate 2@2, carotte 2.5@2, + pasteque 4@3, citrouille 5@6, eggplant 10@8, okami 20@12, kiwano 50@16 ; maturite age=max). + Config auto-complete les vieilles pala.json (save si cles null — code pret, persistance + a confirmer au prochain boot). VERIFIE : build SUCCESSFUL, boot Done, 0 erreur. + UNVERIFIED : boot+jeu (boot en cours au commit). TODO:craft-xp, TODO:smelt-xp (aucun event + serveur dans fabric-api, mixin requis), TODO:crusher-xp (attribution : stocker UUID poseur, M5b). +- M4a LIVRE (meme vague) : recettes machines data-driven (crusherResults/Fuels, furnaceSmelts/Fuels + en config, /pala reload live, ids invalides ignores). VERIFIE : build SUCCESSFUL. +- 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. + docs/screens/ : TODO:runclient (copier les screens valides + log par feature). + Lecon : SDL prend wayland par defaut (forcer SDL_VIDEODRIVER=x11), xdotool click --window + ignore par SDL (utiliser XTEST au pointeur), ffmpeg local sans x11grab (Robot a la place). - MCP : aucun MCP externe installe ; navigateur integre + vision_analyze utilises (OCR rejete §0). TODO:mcp-ocular : installer pour la boucle runClient quand l'environnement le permet. 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 8e1fa19..5caa561 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 @@ -60,6 +60,50 @@ public final class PalaConfig { "default", java.util.List.of("pala.job", "pala.trade", "pala.market"), "heros", java.util.List.of("pala.*"))); + // M5a (wiki VERIFIE) : chasseur = entite -> [xp, niveau requis]. + // Passifs 14@0, poulpe 10@0 (page : "des le niveau 0/1"), creeper 40, wither 1000. + // Moddees (chevre 20@1, escargot 25@2...) : mobs absents du portage => non listees (M8/donjons). + public Map hunterKills = new HashMap<>(Map.ofEntries( + Map.entry("minecraft:cow", new double[]{14, 0}), + Map.entry("minecraft:sheep", new double[]{14, 0}), + Map.entry("minecraft:pig", new double[]{14, 0}), + Map.entry("minecraft:chicken", new double[]{14, 0}), + Map.entry("minecraft:rabbit", new double[]{14, 0}), + Map.entry("minecraft:horse", new double[]{14, 0}), + Map.entry("minecraft:squid", new double[]{10, 0}), + Map.entry("minecraft:glow_squid", new double[]{10, 0}), + Map.entry("minecraft:creeper", new double[]{40, 0}), + Map.entry("minecraft:wither", new double[]{1000, 0}))); + + // M5a (wiki VERIFIE) : fermier recolte = bloc -> [xp, niveau requis]. + // Ble 1.5@0 ("des le niveau 0"), patate 2@2, carotte 2.5@2 (table : Niveau 2 + ligne + // Carotte sans niveau => 2), pasteque 4@3, citrouille 5@6, eggplant 10@8, + // chervil==okami 20@12 (TODO:chervil), kiwano 50@16. Okami/orange hors chervil : 0. + public Map farmerHarvest = new HashMap<>(Map.ofEntries( + Map.entry("minecraft:wheat", new double[]{1.5, 0}), + Map.entry("minecraft:potatoes", new double[]{2, 2}), + Map.entry("minecraft:carrots", new double[]{2.5, 2}), + Map.entry("minecraft:melon", new double[]{4, 3}), + Map.entry("minecraft:pumpkin", new double[]{5, 6}))); + + // M4a : recettes machines data-driven (CDC §3.4). Cles = ids de registres. + // Defauts = legacy+wiki VERIFIES (M3). Rechargeables via /pala reload. + public Map crusherResults = new HashMap<>(Map.of( + "pala:egg_plant_fruit", "pala:amethyst_ingot", + "pala:okami_fruit", "pala:titane_ingot", + "pala:kiwano", "pala:paladium_ingot", + "pala:orange_blue_fruit", "pala:endium_nugget")); + public java.util.List crusherFuels = new java.util.ArrayList<>(java.util.List.of( + "pala:pala_mixed_coal", "pala:creative_mixed_coal", "pala:amethyst_mixed_coal", + "pala:titane_mixed_coal", "pala:gold_mixed_coal")); + public java.util.List crusherInfiniteFuels = new java.util.ArrayList<>( + java.util.List.of("pala:creative_mixed_coal")); + public Map furnaceSmelts = new HashMap<>(Map.of( + "pala:paladium_ore", "pala:paladium_ingot", + "pala:paladium_green_ore", "pala:paladium_green_ingot")); + public java.util.List furnaceFuels = new java.util.ArrayList<>(java.util.List.of( + "minecraft:coal", "minecraft:charcoal")); + private static PalaConfig instance = new PalaConfig(); private PalaConfig() { @@ -101,6 +145,36 @@ public final class PalaConfig { if (loaded.rankNodes != null && !loaded.rankNodes.isEmpty()) { instance.rankNodes = loaded.rankNodes; } + if (loaded.hunterKills != null && !loaded.hunterKills.isEmpty()) { + instance.hunterKills = loaded.hunterKills; + } + if (loaded.farmerHarvest != null && !loaded.farmerHarvest.isEmpty()) { + instance.farmerHarvest = loaded.farmerHarvest; + } + if (loaded.crusherResults != null && !loaded.crusherResults.isEmpty()) { + instance.crusherResults = loaded.crusherResults; + } + if (loaded.crusherFuels != null && !loaded.crusherFuels.isEmpty()) { + instance.crusherFuels = loaded.crusherFuels; + } + if (loaded.crusherInfiniteFuels != null) { + instance.crusherInfiniteFuels = loaded.crusherInfiniteFuels; + } + if (loaded.furnaceSmelts != null && !loaded.furnaceSmelts.isEmpty()) { + instance.furnaceSmelts = loaded.furnaceSmelts; + } + if (loaded.furnaceFuels != null && !loaded.furnaceFuels.isEmpty()) { + instance.furnaceFuels = loaded.furnaceFuels; + } + // M5a : un vieux pala.json (M0) n'a pas les nouvelles cles (null) : les + // defauts code sont en memoire, on re-sauvegarde pour les materialiser. + // Une table explicitement videe (non-null vide) est respecte tel quel. + if (loaded.hunterKills == null || loaded.farmerHarvest == null + || loaded.crusherResults == null || loaded.crusherFuels == null + || loaded.crusherInfiniteFuels == null || loaded.furnaceSmelts == null + || loaded.furnaceFuels == null) { + save(); + } } return true; } catch (IOException | com.google.gson.JsonParseException e) { 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 846f5ee..331c2cb 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 @@ -16,6 +16,9 @@ import fr.surviepote.pala.PalaCommands; // fr.surviepote.pala.PalaCommands (reutilise ici, pas de doublon) ; // - ProcedureDurability : helper fondu dans hurtAndBreak. // +// M5a (nouveau, pas legacy) : PalaJobEvents — XP chasseur (AFTER_DEATH) + fermier +// (recoltes vanilla mures + fruits moddes murs), tables config. +// // SKIP avec raisons (9) : // - ProcedureAngelicWaterMobplayerCollidesBlock, ProcedureFakeWaterMobplayerCollidesBlock : // fluides non portes (voir consignes) ; @@ -35,6 +38,7 @@ public final class PalaEvents { PalaItemUseEvents.register(); PalaToolEvents.register(); PalaCropEvents.register(); + PalaJobEvents.register(); PalaCommands.register(); } } diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java new file mode 100644 index 0000000..97966d3 --- /dev/null +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaJobEvents.java @@ -0,0 +1,97 @@ +package fr.surviepote.pala.events; + +import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.server.level.ServerLevel; +import net.minecraft.server.level.ServerPlayer; +import net.minecraft.world.damagesource.DamageSource; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.entity.LivingEntity; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.Blocks; +import net.minecraft.world.level.block.state.BlockState; +import net.minecraft.world.level.block.state.properties.IntegerProperty; + +import net.fabricmc.fabric.api.entity.event.v1.ServerLivingEntityEvents; + +import fr.surviepote.pala.PalaBlocks; +import fr.surviepote.pala.core.PalaConfig; +import fr.surviepote.pala.core.PalaJobs; + +// M5a — XP chasseur (kills) + fermier (recoltes). Tables wiki VERIFIEES (PalaConfig). +// - Chasseur : AFTER_DEATH verifie au javap (fabric-entity-events-v1) ; tueur = source directe. +// XP uniquement si niveau metier >= requis (actions debloquees par niveau, wiki). +// - Fermier : cultures vanilla mures uniquement (age au max) + fruits moddes murs +// (eggplant 10@8, okami 20@12 via equivalence chervil, kiwano 50@16). +// TODO:craft-xp (pain 1, tarte 4, fioles...) : aucun event craft serveur dans fabric-api, +// mixin requis. TODO:smelt-xp (viande cuite 10) : aucun event four-take vanilla. +// TODO:crusher-xp (eggplant 3, chervil 4.5, kiwano 6) : attribution impossible, la BE ne +// connait pas son poseur ; M5b = stocker l'UUID du poseur dans la BE. +public final class PalaJobEvents { + + private PalaJobEvents() { + } + + public static void register() { + ServerLivingEntityEvents.AFTER_DEATH.register(PalaJobEvents::afterDeath); + } + + private static void afterDeath(LivingEntity entity, DamageSource source) { + Entity killer = source.getEntity(); + if (!(killer instanceof ServerPlayer player)) { + return; + } + String id = BuiltInRegistries.ENTITY_TYPE.getKey(entity.getType()).toString(); + double[] row = PalaConfig.get().hunterKills.get(id); + if (row == null) { + return; + } + if (PalaJobs.levelOf(player, "chasseur") >= (int) row[1]) { + PalaJobs.addXp(player, "chasseur", row[0]); + } + } + + /** Recolte vanilla : appele depuis PalaToolEvents.afterBreak (etat AVANT casse). */ + public static void onHarvest(ServerPlayer player, BlockState state) { + Block block = state.getBlock(); + String id; + if (block == Blocks.WHEAT || block == Blocks.POTATOES || block == Blocks.CARROTS) { + if (!isMature(state)) { + return; + } + id = BuiltInRegistries.BLOCK.getKey(block).toString(); + } else if (block == Blocks.MELON || block == Blocks.PUMPKIN) { + id = BuiltInRegistries.BLOCK.getKey(block).toString(); + } else { + return; + } + grant(player, "fermier", PalaConfig.get().farmerHarvest.get(id)); + } + + /** Fruits moddes murs : appele depuis handleCropBreak avec le fruit associe. */ + public static void onModdedHarvest(ServerPlayer player, String fruit, double xp, int minLevel) { + if (PalaJobs.levelOf(player, "fermier") >= minLevel) { + PalaJobs.addXp(player, "fermier", xp); + } + } + + private static void grant(ServerPlayer player, String job, double[] row) { + if (row != null && PalaJobs.levelOf(player, job) >= (int) row[1]) { + PalaJobs.addXp(player, job, row[0]); + } + } + + /** Maturite : propriete "age" a son max (ble/carotte/patate), sans nom d'API fige. */ + private static boolean isMature(BlockState state) { + for (Object prop : state.getProperties()) { + if (prop instanceof IntegerProperty age && age.getName().equals("age")) { + int max = 0; + for (int v : age.getPossibleValues()) { + max = Math.max(max, v); + } + return state.getValue(age) >= max; + } + } + return false; + } +} diff --git a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java index b442843..c2317e7 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/events/PalaToolEvents.java @@ -112,6 +112,9 @@ public final class PalaToolEvents { // --- Metiers : XP mineur (M0) --- PalaJobs.onBlockBreak(sp, sl, pos, state); + // --- Metiers : XP fermier recoltes vanilla (M5a) --- + PalaJobEvents.onHarvest(sp, state); + // --- Pioche divine : compteur + evolution --- if (held != null && GOD_PICKAXES.contains(held)) { if (held == PalaItems.PICKAXE_OF_THE_GOD_LEVEL25) { @@ -151,7 +154,7 @@ public final class PalaToolEvents { } // --- Recoltes : drops selon stade --- - handleCropBreak(sl, broken, pos); + handleCropBreak(sl, broken, pos, sp); // --- Farmland cassee sous une culture -> la culture casse aussi --- if (broken == Blocks.FARMLAND) { @@ -199,10 +202,11 @@ public final class PalaToolEvents { || block == PalaBlocks.ORANGE_BLUE_STAGE3 || block == PalaBlocks.ORANGE_BLUE_STAGE4; } - private static void handleCropBreak(ServerLevel level, Block broken, BlockPos pos) { + private static void handleCropBreak(ServerLevel level, Block broken, BlockPos pos, ServerPlayer sp) { if (broken == PalaBlocks.FIKUTSI_STAGE3) { PalaItemUseEvents.drop(level, pos, PalaItems.EGG_PLANT_FRUIT, 1); PalaItemUseEvents.drop(level, pos, PalaItems.FIKUTSI_SEEDS, 1); + PalaJobEvents.onModdedHarvest(sp, "eggplant", 10, 8); } else if (broken == PalaBlocks.FIKUTSI_STAGE0 || broken == PalaBlocks.FIKUTSI_STAGE1 || broken == PalaBlocks.FIKUTSI_STAGE2) { PalaItemUseEvents.drop(level, pos, PalaItems.FIKUTSI_SEEDS, 1); @@ -212,6 +216,7 @@ public final class PalaToolEvents { } else if (broken == PalaBlocks.KIWANO_STAGE4) { PalaItemUseEvents.drop(level, pos, PalaItems.KIWANO, 1); PalaItemUseEvents.drop(level, pos, PalaItems.KIWANO_SEEDS, 1); + PalaJobEvents.onModdedHarvest(sp, "kiwano", 50, 16); } else if (broken == PalaBlocks.KIWANO_STAGE0 || broken == PalaBlocks.KIWANO_STAGE1 || broken == PalaBlocks.KIWANO_STAGE2 || broken == PalaBlocks.KIWANO_STAGE3) { PalaItemUseEvents.drop(level, pos, PalaItems.KIWANO_SEEDS, 1); @@ -221,6 +226,7 @@ public final class PalaToolEvents { } else if (broken == PalaBlocks.OKAMI_STAGE3) { PalaItemUseEvents.drop(level, pos, PalaItems.OKAMI_FRUIT, 1); PalaItemUseEvents.drop(level, pos, PalaItems.OKAMI_SEEDS, 1); + PalaJobEvents.onModdedHarvest(sp, "okami", 20, 12); } else if (broken == PalaBlocks.OKAMI_STAGE0 || broken == PalaBlocks.OKAMI_STAGE1 || broken == PalaBlocks.OKAMI_STAGE2) { PalaItemUseEvents.drop(level, pos, PalaItems.OKAMI_SEEDS, 1); diff --git a/mods/pala/src/main/java/fr/surviepote/pala/machine/PalaMachineBlockEntity.java b/mods/pala/src/main/java/fr/surviepote/pala/machine/PalaMachineBlockEntity.java index 829f18b..4955b58 100644 --- a/mods/pala/src/main/java/fr/surviepote/pala/machine/PalaMachineBlockEntity.java +++ b/mods/pala/src/main/java/fr/surviepote/pala/machine/PalaMachineBlockEntity.java @@ -1,11 +1,10 @@ package fr.surviepote.pala.machine; -import java.util.Map; - import fr.surviepote.pala.PalaBlockEntities; import fr.surviepote.pala.PalaBlocks; -import fr.surviepote.pala.PalaItems; +import fr.surviepote.pala.core.PalaConfig; import net.minecraft.core.BlockPos; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.world.MenuProvider; import net.minecraft.world.SimpleContainer; @@ -15,7 +14,6 @@ import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.inventory.DispenserMenu; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; -import net.minecraft.world.item.Items; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import net.minecraft.world.level.storage.ValueInput; @@ -44,11 +42,7 @@ public class PalaMachineBlockEntity extends BlockEntity implements MenuProvider private static final int COOK_TIME_FURNACE = 200; private static final double LUCK_PER_TICK = 1.0 / 128.0; - private static final Map CRUSHER_RESULTS = Map.of( - PalaItems.EGG_PLANT_FRUIT, PalaItems.AMETHYST_INGOT, - PalaItems.OKAMI_FRUIT, PalaItems.TITANE_INGOT, - PalaItems.KIWANO, PalaItems.PALADIUM_INGOT, - PalaItems.ORANGE_BLUE_FRUIT, PalaItems.ENDIUM_NUGGET); + // M4a : recettes lues de PalaConfig (data-driven, /pala reload). Ids invalides = ignores. private final SimpleContainer inventory = new SimpleContainer(9); private int progress; @@ -74,11 +68,12 @@ public class PalaMachineBlockEntity extends BlockEntity implements MenuProvider ItemStack fruit = inventory.getItem(0); ItemStack fuel = inventory.getItem(1); ItemStack output = inventory.getItem(2); - Item result = CRUSHER_RESULTS.get(fruit.getItem()); + Item result = resolveItem(PalaConfig.get().crusherResults + .get(itemId(fruit))); if (result == null || luck >= 1.0 || !isMixedFuel(fuel)) { return; } - boolean infinite = fuel.is(PalaItems.CREATIVE_MIXED_COAL); + boolean infinite = PalaConfig.get().crusherInfiniteFuels.contains(itemId(fuel)); if (output.isEmpty() || (output.is(result) && output.getCount() + 1 <= output.getMaxStackSize())) { fruit.shrink(1); @@ -126,23 +121,32 @@ public class PalaMachineBlockEntity extends BlockEntity implements MenuProvider } private static ItemStack smeltResult(ItemStack input) { - if (input.is(PalaBlocks.PALADIUM_ORE.asItem())) { - return new ItemStack(PalaItems.PALADIUM_INGOT); + Item result = resolveItem(PalaConfig.get().furnaceSmelts.get(itemId(input))); + return result == null ? ItemStack.EMPTY : new ItemStack(result); + } + + private static String itemId(ItemStack stack) { + return BuiltInRegistries.ITEM.getKey(stack.getItem()).toString(); + } + + private static Item resolveItem(String id) { + if (id == null) { + return null; } - if (input.is(PalaBlocks.PALADIUM_GREEN_ORE.asItem())) { - return new ItemStack(PalaItems.PALADIUM_GREEN_INGOT); + try { + return BuiltInRegistries.ITEM.getValue(net.minecraft.resources.Identifier.parse(id)); + } catch (Exception e) { + return null; } - return ItemStack.EMPTY; } private static boolean isMixedFuel(ItemStack stack) { - return stack.is(PalaItems.PALA_MIXED_COAL) || stack.is(PalaItems.CREATIVE_MIXED_COAL) - || stack.is(PalaItems.AMETHYST_MIXED_COAL) || stack.is(PalaItems.TITANE_MIXED_COAL) - || stack.is(PalaItems.GOLD_MIXED_COAL); + return PalaConfig.get().crusherFuels.contains(itemId(stack)); } private static boolean isFurnaceFuel(ItemStack stack) { - return stack.is(Items.COAL) || stack.is(Items.CHARCOAL) || isMixedFuel(stack); + String id = itemId(stack); + return PalaConfig.get().furnaceFuels.contains(id) || PalaConfig.get().crusherFuels.contains(id); } @Override diff --git a/server/mods/pala-0.2.1.jar b/server/mods/pala-0.2.1.jar index 952e41f35896e4fdb0e09d81c24d3e7a56a02a48..b993991b58a63349f512ca7a41fdb17c93b81b08 100644 GIT binary patch delta 30598 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 delta 26841 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 TpJY18#Qd9q!JVCjfq?-4np$uX