From 394b0906efb8f0e336672d3578e6bd157833daab Mon Sep 17 00:00:00 2001 From: Solargale Date: Mon, 13 Apr 2020 06:52:59 -0600 Subject: [PATCH] Added a bunch of new classes to help implement an inventory and a minimap --- assets/wood.png | Bin 1624 -> 3006 bytes .../Collector/Character/InputController.java | 23 ++++----- .../main/java/Collector/Character/Player.java | 39 ++++++++------- .../main/java/Collector/Dimension/Chunks.java | 4 +- .../java/Collector/Dimension/Inventory.java | 23 +++++++++ .../java/Collector/Dimension/ItemStack.java | 14 ++++++ .../Collector/Dimension/WorldRenderer.java | 31 ++++++------ core/src/main/java/Collector/Main.java | 35 +++++++------ .../OpenSimplexNoise.java | 2 +- core/src/main/java/Collector/UI/GUI.java | 46 ++++++++++++------ .../java/Collector/UI/InventoryInterface.java | 4 ++ core/src/main/java/Collector/UI/MiniMap.java | 5 ++ lwjgl3/build/resources/main/wood.png | Bin 1624 -> 3006 bytes 13 files changed, 151 insertions(+), 75 deletions(-) create mode 100644 core/src/main/java/Collector/Dimension/Inventory.java create mode 100644 core/src/main/java/Collector/Dimension/ItemStack.java rename core/src/main/java/Collector/{ => ThirdPartyCode}/OpenSimplexNoise.java (99%) create mode 100644 core/src/main/java/Collector/UI/InventoryInterface.java create mode 100644 core/src/main/java/Collector/UI/MiniMap.java diff --git a/assets/wood.png b/assets/wood.png index 78c96e1831d5819b07096f3d25933582b9493b26..ec7e94c1f02abc205721c8ce53316ff9bb996389 100644 GIT binary patch delta 2930 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 delta 1579 zcmV+`2Gse!7uXDt8Gix*005AYXf^-<1G{=uSaechcOYg#c#>wQR=Gb5XlF%n`LiNw@M!#?g zYar*Nh7^Lq<&sO1(NMEpc|6&;@tiMaZ(Pag=n#l3YP-E^n1AvLxnR6Z`8xGv$o++) zRA-I1pv(P?0}I1O3e445(%<*CTZwCuL`Wm*nNQZ zotPLyLR-bSh`1F$CQ9n_{IV;$ey4q?z$dAetr<_*ytLb$aa%kE7P~}7yUV?u%O)U$ z3uvbqTQN_sM}OYarTY{671pE059E_J?G%E{4tql>9QBuS_Pe4Rtb^T!<)DY>37 zUM`t-eEn{%Xlr#_U3LLW4s%iaQbr5omL9D!E1*OZ2uY}D^pa2%+hRp76|jGUUxdX9u>iCzy>Mv4UUHvkqPu2L4`Q7>ID2LG>fRd%3+jR||rEgjun` zY!=#7ES~=*mmQ!j271)nCgxbC0)z;rJ)B_+0w%Ea9NT9U6YE3maq*}AhHQz#u z)U>6R4{8(ZU3q~TPiitq^?~uA25F4D3hu{=@613<90Pa+H4sB$cVWOo79{F=8 z>B(+?DN*T1N6~9%_Bj@$<|E&cyJO_-PaA#WE8AV8cfP8R54I2dlK9^hHT)pMzj68t zG0ZNGuIgQ=0004mX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKpe$iKcpfRK?{m>$bV3s zEQpFYY88r5A=C=3I+$Gg1x*@~6c~9Dn_Cq^uLvNDAo?*VF;kxt#S}cp*FAiEy^HfK z?{j~SUL|ibz$XyTGTpFMVB!&2#c+8*+57jtCxEUO+kgHT0YbY# zvu@kp$F|)(0Rqp!mDcuG8^Fvb>Gif2I|BN)fs5<5Chq~4JHXJBE*X*|1!(#U1>pUR zz9|O`+yXsoZf~u9oIU^<>MC^u92^3pMao|Hcz1VaZ~vZY_4flPFLH@g73^dH000Sa zNLh0L04^f{04^f|c%?sf0F#gi2?+xn1Qa=H%$7ovq6jB{0DDP9K~yNul~TzKz%U34 zh#fi(1EfoJs1DH0`iO*xIn?q4Y`{+FI*;)u1ah5-co?4=-eutq8HAmNU*j+ z{fFM|jYFNjpt($@e0002ovPDHLkV1nc7-qipA diff --git a/core/src/main/java/Collector/Character/InputController.java b/core/src/main/java/Collector/Character/InputController.java index bc8dd20..7e5d613 100644 --- a/core/src/main/java/Collector/Character/InputController.java +++ b/core/src/main/java/Collector/Character/InputController.java @@ -4,6 +4,7 @@ import Collector.Main; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.graphics.g2d.Animation; +import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.math.Vector3; import Collector.Dimension.Chunks; import Collector.Restrictions; @@ -12,23 +13,23 @@ import java.util.HashMap; public class InputController implements Restrictions { - private final Player player; - int i = 0; - private final HashMap> animations; + private Player player; + private HashMap> animations; private Mouse mouse; + int i = 0; public InputController(Player player, Mouse mouse) { this.player = player; this.mouse = mouse; animations = new HashMap<>(); - animations.put("Up", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "Up"))); - animations.put("UpRight", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "UpRight"))); - animations.put("UpLeft", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "UpLeft"))); - animations.put("Down", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "Down"))); - animations.put("DownRight", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "DownRight"))); - animations.put("DownLeft", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "DownLeft"))); - animations.put("Left", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "Left"))); - animations.put("Right", new Animation<>(1 / 4f, player.textureAtlas.findRegions(player.getSpriteName() + "_" + "Right"))); + animations.put("Up", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "Up"))); + animations.put("UpRight", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "UpRight"))); + animations.put("UpLeft", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "UpLeft"))); + animations.put("Down", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "Down"))); + animations.put("DownRight", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "DownRight"))); + animations.put("DownLeft", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "DownLeft"))); + animations.put("Left", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "Left"))); + animations.put("Right", new Animation<>(1 / 4f, player.getTextureAtlas().findRegions(player.getSpriteName() + "_" + "Right"))); } public void handleInput() { diff --git a/core/src/main/java/Collector/Character/Player.java b/core/src/main/java/Collector/Character/Player.java index dfffae2..beb933a 100644 --- a/core/src/main/java/Collector/Character/Player.java +++ b/core/src/main/java/Collector/Character/Player.java @@ -1,31 +1,29 @@ package Collector.Character; -import Collector.Dimension.BlockMaterials; -import com.badlogic.gdx.graphics.OrthographicCamera; -import com.badlogic.gdx.graphics.Texture; +import Collector.Restrictions; +import Collector.Dimension.Inventory; import com.badlogic.gdx.graphics.g2d.Animation; -import com.badlogic.gdx.graphics.g2d.Batch; -import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.utils.Array; -import Collector.Restrictions; public class Player implements Restrictions { public static int x; public static int y; - private final String spriteName; - public TextureAtlas textureAtlas; - private static Animation animation; - public static Sprite sprite; + private String spriteName; + private TextureAtlas textureAtlas; + private Animation animation; + private Inventory playerInventory; - public Player(OrthographicCamera cam, int x, int y) { + public Player(int x, int y) { + //Player location Player.x = x< keyFrames = textureAtlas.findRegions(spriteName + "_Down"); float frameDuration = 1 / 4f; @@ -48,16 +46,23 @@ public class Player implements Restrictions { Player.y += y; } - String getSpriteName() { + public String getSpriteName() { return spriteName; } - public static Animation getAnimation() { + public Animation getAnimation() { return animation; } - void setAnimation(Animation animationTemp) { + public void setAnimation(Animation animationTemp) { animation = animationTemp; } + public void dispose(){ + textureAtlas.dispose(); + } + + public TextureAtlas getTextureAtlas() { + return textureAtlas; + } } diff --git a/core/src/main/java/Collector/Dimension/Chunks.java b/core/src/main/java/Collector/Dimension/Chunks.java index b9fb554..bebcc65 100644 --- a/core/src/main/java/Collector/Dimension/Chunks.java +++ b/core/src/main/java/Collector/Dimension/Chunks.java @@ -2,7 +2,7 @@ package Collector.Dimension; import com.github.czyzby.kiwi.util.tuple.immutable.Triple; -import Collector.OpenSimplexNoise; +import Collector.ThirdPartyCode.OpenSimplexNoise; import java.util.HashMap; @@ -15,7 +15,7 @@ public class Chunks { public static OpenSimplexNoise gen1 = new OpenSimplexNoise(SEED + 1); public static OpenSimplexNoise gen2 = new OpenSimplexNoise(SEED); - public static void create() { + public static void createStructures() { int i = 10; setBlock(3 + i, 2,1,"wall"); setBlock(4 + i, 2,1,"wall"); diff --git a/core/src/main/java/Collector/Dimension/Inventory.java b/core/src/main/java/Collector/Dimension/Inventory.java new file mode 100644 index 0000000..291cf27 --- /dev/null +++ b/core/src/main/java/Collector/Dimension/Inventory.java @@ -0,0 +1,23 @@ +package Collector.Dimension; + +import java.util.LinkedList; + +public class Inventory { + private LinkedList inventory = new LinkedList(); + + public LinkedList getInventory() { + return inventory; + } + + public void setInventory(LinkedList inventory) { + this.inventory = inventory; + } + + public void addItem(Block block){ + inventory.add((ItemStack) block); + } + + public void removeItem(ItemStack itemStack){ + inventory.remove(itemStack); + } +} \ No newline at end of file diff --git a/core/src/main/java/Collector/Dimension/ItemStack.java b/core/src/main/java/Collector/Dimension/ItemStack.java new file mode 100644 index 0000000..9ba79b3 --- /dev/null +++ b/core/src/main/java/Collector/Dimension/ItemStack.java @@ -0,0 +1,14 @@ +package Collector.Dimension; + +import Collector.Dimension.Block; + +public class ItemStack extends Block { + int value; + int quantity; + + public ItemStack(String name, int value, int quantity) { + super(name); + this.value = value; + this.quantity = quantity; + } +} diff --git a/core/src/main/java/Collector/Dimension/WorldRenderer.java b/core/src/main/java/Collector/Dimension/WorldRenderer.java index 2580987..f699d1c 100644 --- a/core/src/main/java/Collector/Dimension/WorldRenderer.java +++ b/core/src/main/java/Collector/Dimension/WorldRenderer.java @@ -15,19 +15,20 @@ import Collector.Restrictions; import java.util.Iterator; public class WorldRenderer implements Restrictions { - private final Mouse mouse; - private final InputController inputController; + private Mouse mouse; + private InputController inputController; + private Player player; - public WorldRenderer(InputController inputController, Mouse mouse) { + public WorldRenderer(InputController inputController, Mouse mouse, Player player) { this.inputController = inputController; this.mouse = mouse; + this.player = player; } - public void drawWorld(Stage stage, int layer) { - for (Iterator> iterator = Chunks.loadedChunks.keySet().iterator(); iterator.hasNext(); ) { - Triple chunkpair = iterator.next(); + public void drawWorld(SpriteBatch batch, int layer) { + for (Triple chunkpair : Chunks.loadedChunks.keySet()) { if (chunkpair.getThird() == layer) { - stage.getBatch().draw( + batch.draw( BlockMaterials.textures.get(Chunks.loadedChunks.get(chunkpair).getName()), chunkpair.getFirst() << TILE_SHIFT, chunkpair.getSecond() << TILE_SHIFT @@ -36,21 +37,21 @@ public class WorldRenderer implements Restrictions { } } - private void mouseCrosshair(Stage stage) { + private void mouseCrosshair(SpriteBatch batch) { Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0); Main.cam.unproject(mousePos); int x = mouse.getSelectedX(mousePos); int y = mouse.getSelectedY(mousePos); - stage.getBatch().draw(mouse.getCrosshair(), x, y); + batch.draw(mouse.getCrosshair(), x, y); } - public void render(Stage stage, float timeSinceLastUpdate) { + public void render(SpriteBatch batch, float timeSinceLastUpdate) { //Higher means draws in a lower layer - drawWorld(stage,0); - stage.getBatch().draw(Player.getAnimation().getKeyFrame(timeSinceLastUpdate, true), Player.x, Player.y,TILE_SIZE,TILE_SIZE); - drawWorld(stage,1); - mouseCrosshair(stage); + drawWorld(batch,0); + batch.draw(player.getAnimation().getKeyFrame(timeSinceLastUpdate, true), Player.x, Player.y,TILE_SIZE,TILE_SIZE); + drawWorld(batch,1); + mouseCrosshair(batch); inputController.handleInput(); - stage.getBatch().setProjectionMatrix(stage.getCamera().combined); + batch.setProjectionMatrix(Main.cam.combined); } } diff --git a/core/src/main/java/Collector/Main.java b/core/src/main/java/Collector/Main.java index 836ff42..0c53f0f 100644 --- a/core/src/main/java/Collector/Main.java +++ b/core/src/main/java/Collector/Main.java @@ -7,7 +7,7 @@ import com.badlogic.gdx.graphics.GL30; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.scenes.scene2d.Stage; -import com.badlogic.gdx.utils.viewport.FitViewport; +import com.badlogic.gdx.utils.viewport.ExtendViewport; import Collector.Character.InputController; import Collector.Character.Mouse; import Collector.Character.Player; @@ -20,7 +20,7 @@ public class Main extends ApplicationAdapter { private SpriteBatch batch; private WorldRenderer worldRenderer; private GUI gui; - private FitViewport fitViewport; + private ExtendViewport extendViewport; public static float chunkLoadingTime = 0; float playerAnimationTime = 0f; //accumulator public static OrthographicCamera cam; @@ -32,18 +32,22 @@ public class Main extends ApplicationAdapter { @Override public void create () { Gdx.graphics.setWindowedMode(1024, 576); + + //Declaring all objects needed for the game cam = new OrthographicCamera(VIEWPORT_WIDTH, VIEWPORT_HEIGHT); - fitViewport = new FitViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT, cam); + extendViewport = new ExtendViewport(VIEWPORT_WIDTH, VIEWPORT_HEIGHT, cam); mouse = new Mouse(); - gui = new GUI(fitViewport); - player = new Player(cam, 0, 0); + player = new Player(0, 0); inputController = new InputController(player,mouse); - worldRenderer = new WorldRenderer(inputController,mouse); + worldRenderer = new WorldRenderer(inputController,mouse,player); batch = new SpriteBatch(); - stage = new Stage(fitViewport,batch); + stage = new Stage(); + gui = new GUI(stage); + + Gdx.input.setInputProcessor(stage); BlockMaterials.create(); - Chunks.create(); + Chunks.createStructures(); //cam.translate(TILE_SIZE, TILE_SIZE); cam.zoom = 25f; @@ -62,9 +66,11 @@ public class Main extends ApplicationAdapter { playerAnimationTime += deltaTime; chunkLoadingTime += deltaTime; + gui.debugInfo(stage,mouse); + stage.act(deltaTime); - stage.getBatch().begin(); - worldRenderer.render(stage,playerAnimationTime); + batch.begin(); + worldRenderer.render(batch,playerAnimationTime); if (chunkLoadingTime > RENDER_TIME) { chunkLoadingTime -= RENDER_TIME; @@ -72,10 +78,8 @@ public class Main extends ApplicationAdapter { World.unloadChunks(); } - stage.getCamera().update(); - gui.render(); - stage.getBatch().end(); - + cam.update(); + batch.end(); stage.draw(); } @@ -83,7 +87,8 @@ public class Main extends ApplicationAdapter { @Override public void dispose () { gui.dispose(); - player.textureAtlas.dispose(); + player.dispose(); stage.dispose(); + batch.dispose(); } } diff --git a/core/src/main/java/Collector/OpenSimplexNoise.java b/core/src/main/java/Collector/ThirdPartyCode/OpenSimplexNoise.java similarity index 99% rename from core/src/main/java/Collector/OpenSimplexNoise.java rename to core/src/main/java/Collector/ThirdPartyCode/OpenSimplexNoise.java index 1b1ed4e..0ae4c27 100644 --- a/core/src/main/java/Collector/OpenSimplexNoise.java +++ b/core/src/main/java/Collector/ThirdPartyCode/OpenSimplexNoise.java @@ -1,4 +1,4 @@ -package Collector;/* +package Collector.ThirdPartyCode;/* * OpenSimplex Noise in Java. * by Kurt Spencer * diff --git a/core/src/main/java/Collector/UI/GUI.java b/core/src/main/java/Collector/UI/GUI.java index e7a09e9..97c7abb 100644 --- a/core/src/main/java/Collector/UI/GUI.java +++ b/core/src/main/java/Collector/UI/GUI.java @@ -1,34 +1,52 @@ package Collector.UI; +import Collector.Character.Mouse; +import Collector.Main; import com.badlogic.gdx.Gdx; -import com.badlogic.gdx.files.FileHandle; import com.badlogic.gdx.graphics.Color; import com.badlogic.gdx.graphics.g2d.BitmapFont; +import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.scenes.scene2d.Stage; import com.badlogic.gdx.scenes.scene2d.ui.Label; -import com.badlogic.gdx.scenes.scene2d.ui.Skin; -import com.badlogic.gdx.scenes.scene2d.ui.TextButton; -import com.badlogic.gdx.utils.viewport.FitViewport; +import com.badlogic.gdx.scenes.scene2d.ui.Table; +import com.badlogic.gdx.utils.Align; +import com.badlogic.gdx.utils.viewport.ExtendViewport; import Collector.Restrictions; public class GUI implements Restrictions { - private final Stage stage; private final BitmapFont font; + private ExtendViewport guiViewport; + private final Table table; + private final Label label; - public GUI(FitViewport fitViewport) { - + public GUI(Stage stage) { font = new BitmapFont(); - stage = new Stage(fitViewport); + table = new Table(); + table.setDebug(true); + guiViewport = new ExtendViewport(Gdx.graphics.getWidth(),Gdx.graphics.getHeight(),stage.getCamera()); + stage.setViewport(guiViewport); + + //Creating block selection debug menu + + table.top().left(); + label = new Label("x=N/A y=N/A", new Label.LabelStyle(font,Color.WHITE)); + table.add(label); + + //Creating Minimap - Label label = new Label("Start", new Label.LabelStyle(font, new Color(Color.WHITE))); - Gdx.input.setInputProcessor(stage); - stage.addActor(label); } - public void render() { - stage.act(); - stage.draw(); + public void debugInfo(Stage stage, Mouse mouse){ + table.setFillParent(true); + stage.addActor(table); + + //Mouse position + Vector3 mousePos = new Vector3(Gdx.input.getX(), Gdx.input.getY(), 0); + Main.cam.unproject(mousePos); + int x = mouse.getSelectedX(mousePos) >> TILE_SHIFT; + int y = mouse.getSelectedY(mousePos) >> TILE_SHIFT; + label.setText("x="+ x + " y=" + y); } public void dispose(){ diff --git a/core/src/main/java/Collector/UI/InventoryInterface.java b/core/src/main/java/Collector/UI/InventoryInterface.java new file mode 100644 index 0000000..457bdba --- /dev/null +++ b/core/src/main/java/Collector/UI/InventoryInterface.java @@ -0,0 +1,4 @@ +package Collector.UI; + +public class InventoryInterface { +} diff --git a/core/src/main/java/Collector/UI/MiniMap.java b/core/src/main/java/Collector/UI/MiniMap.java new file mode 100644 index 0000000..7e23939 --- /dev/null +++ b/core/src/main/java/Collector/UI/MiniMap.java @@ -0,0 +1,5 @@ +package Collector.UI; + +public class MiniMap { + +} diff --git a/lwjgl3/build/resources/main/wood.png b/lwjgl3/build/resources/main/wood.png index 78c96e1831d5819b07096f3d25933582b9493b26..ec7e94c1f02abc205721c8ce53316ff9bb996389 100644 GIT binary patch delta 2930 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 delta 1579 zcmV+`2Gse!7uXDt8Gix*005AYXf^-<1G{=uSaechcOYg#c#>wQR=Gb5XlF%n`LiNw@M!#?g zYar*Nh7^Lq<&sO1(NMEpc|6&;@tiMaZ(Pag=n#l3YP-E^n1AvLxnR6Z`8xGv$o++) zRA-I1pv(P?0}I1O3e445(%<*CTZwCuL`Wm*nNQZ zotPLyLR-bSh`1F$CQ9n_{IV;$ey4q?z$dAetr<_*ytLb$aa%kE7P~}7yUV?u%O)U$ z3uvbqTQN_sM}OYarTY{671pE059E_J?G%E{4tql>9QBuS_Pe4Rtb^T!<)DY>37 zUM`t-eEn{%Xlr#_U3LLW4s%iaQbr5omL9D!E1*OZ2uY}D^pa2%+hRp76|jGUUxdX9u>iCzy>Mv4UUHvkqPu2L4`Q7>ID2LG>fRd%3+jR||rEgjun` zY!=#7ES~=*mmQ!j271)nCgxbC0)z;rJ)B_+0w%Ea9NT9U6YE3maq*}AhHQz#u z)U>6R4{8(ZU3q~TPiitq^?~uA25F4D3hu{=@613<90Pa+H4sB$cVWOo79{F=8 z>B(+?DN*T1N6~9%_Bj@$<|E&cyJO_-PaA#WE8AV8cfP8R54I2dlK9^hHT)pMzj68t zG0ZNGuIgQ=0004mX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKpe$iKcpfRK?{m>$bV3s zEQpFYY88r5A=C=3I+$Gg1x*@~6c~9Dn_Cq^uLvNDAo?*VF;kxt#S}cp*FAiEy^HfK z?{j~SUL|ibz$XyTGTpFMVB!&2#c+8*+57jtCxEUO+kgHT0YbY# zvu@kp$F|)(0Rqp!mDcuG8^Fvb>Gif2I|BN)fs5<5Chq~4JHXJBE*X*|1!(#U1>pUR zz9|O`+yXsoZf~u9oIU^<>MC^u92^3pMao|Hcz1VaZ~vZY_4flPFLH@g73^dH000Sa zNLh0L04^f{04^f|c%?sf0F#gi2?+xn1Qa=H%$7ovq6jB{0DDP9K~yNul~TzKz%U34 zh#fi(1EfoJs1DH0`iO*xIn?q4Y`{+FI*;)u1ah5-co?4=-eutq8HAmNU*j+ z{fFM|jYFNjpt($@e0002ovPDHLkV1nc7-qipA