Compare commits

...

2 commits

Author SHA1 Message Date
f99d2a2039 Teams 2024-08-10 18:12:41 +02:00
6cda65066b Skins 2024-08-10 14:30:14 +02:00
29 changed files with 1846 additions and 56 deletions

View file

@ -41,6 +41,12 @@
<version>1.21.1-R0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>1.21.1-R0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.comphenix.protocol</groupId>
<artifactId>ProtocolLib</artifactId>
@ -66,6 +72,11 @@
<artifactId>fastboard</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>net.kyori</groupId>
<artifactId>adventure-api</artifactId>
<version>4.17.0</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>

View file

@ -1,4 +1,74 @@
package org.ef3d0c3e.sheepwars;
import lombok.NonNull;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.SkullMeta;
import org.bukkit.profile.PlayerProfile;
import org.bukkit.profile.PlayerTextures;
import javax.annotation.Nullable;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.UUID;
public class Util {
public static ArrayList<String> coloredLore(String color, List<String> lore)
{
ArrayList<String> colored = new ArrayList<>();
for (String line : lore)
{
colored.add(color + line);
}
return colored;
}
//static private UUID PROFILE_UUID = UUID.randomUUID();
/**
* Gets a game profile associated with a texture (unsigned)
* @param texture Profile's texture
* @return Created profile
*/
private static @NonNull PlayerProfile getProfile(final @NonNull String texture)
{
final PlayerProfile profile = Bukkit.createPlayerProfile(UUID.randomUUID());
final PlayerTextures textures = profile.getTextures();
final String decoded = new String(Base64.getDecoder().decode(texture));
try
{
final URL urlObject = new URL(decoded.substring("{\"textures\":{\"SKIN\":{\"url\":\"".length(), decoded.length() - "\"}}}".length()));
textures.setSkin(urlObject);
profile.setTextures(textures);
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
return profile;
}
/**
* Creates skull with custom meta and texture
* @param name Skull name
* @param lore Skull lore (null for none)
* @param texture Skull texture
* @return Created skull
*/
public static @NonNull ItemStack createSkull(final @NonNull String name, final @Nullable List<String> lore, final @NonNull String texture)
{
final ItemStack skull = new ItemStack(Material.PLAYER_HEAD);
SkullMeta meta = (SkullMeta)skull.getItemMeta();
meta.setDisplayName(name);
if (lore != null) meta.setLore(lore);
meta.setOwnerProfile(getProfile(texture));
skull.setItemMeta(meta);
return skull;
}
}

View file

@ -0,0 +1,37 @@
package org.ef3d0c3e.sheepwars.events;
import lombok.RequiredArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import org.bukkit.event.Cancellable;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import org.ef3d0c3e.sheepwars.player.skin.Skin;
@RequiredArgsConstructor
public class SkinChangeEvent extends Event
{
private static final HandlerList HANDLERS_LIST = new HandlerList();
public static HandlerList getHandlerList()
{
return HANDLERS_LIST;
}
@Override
public HandlerList getHandlers()
{
return HANDLERS_LIST;
}
@Getter
@NonNull
final CPlayer player;
@Getter
final Skin oldSkin;
@Getter
final Skin newSkin;
}

View file

@ -0,0 +1,35 @@
package org.ef3d0c3e.sheepwars.events;
import lombok.AllArgsConstructor;
import lombok.Getter;
import org.bukkit.event.Event;
import org.bukkit.event.HandlerList;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import org.ef3d0c3e.sheepwars.teams.Team;
import javax.annotation.Nullable;
@AllArgsConstructor
public class TeamChangeEvent extends Event
{
private static final HandlerList HANDLERS_LIST = new HandlerList();
public static HandlerList getHandlerList()
{
return HANDLERS_LIST;
}
@Override
public HandlerList getHandlers()
{
return HANDLERS_LIST;
}
@Getter
final private CPlayer player;
@Getter
final private @Nullable Team oldTeam;
@Getter
final private @Nullable Team newTeam;
}

View file

@ -9,6 +9,8 @@ import org.ef3d0c3e.sheepwars.level.LevelFactory;
import org.ef3d0c3e.sheepwars.level.lobby.LobbyLevel;
import org.ef3d0c3e.sheepwars.packets.PacketListenerFactory;
import java.util.Random;
public class Game {
private static void changePhase(WantsListen.Target phase)
{
@ -28,6 +30,12 @@ public class Game {
//@Getter
//private static GameLevel level;
private static final Random random = new Random();
public static int nextInt()
{
return random.nextInt();
}
/**
* Sets default phase to lobby

View file

@ -0,0 +1,64 @@
package org.ef3d0c3e.sheepwars.gui;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryCloseEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemStack;
import org.ef3d0c3e.sheepwars.events.WantsListen;
public interface IGui extends InventoryHolder
{
void onGuiClick(final Player p, final ClickType click, final int slot, final ItemStack item);
void onGuiClose(final Player p);
void onGuiDrag(final Player p, final InventoryDragEvent ev);
@WantsListen(phase = WantsListen.Target.Always)
class Events implements Listener
{
@EventHandler
public void onInventoryClick(final InventoryClickEvent ev)
{
if (!(ev.getInventory().getHolder() instanceof IGui gui)) return;
ev.setCancelled(true);
if (ev.getClickedInventory() == ev.getWhoClicked().getInventory()) return;
gui.onGuiClick(
(Player)ev.getWhoClicked(),
ev.getClick(),
ev.getRawSlot(),
ev.getCurrentItem()
);
}
@EventHandler
public void onInventoryClose(final InventoryCloseEvent ev)
{
if (!(ev.getInventory().getHolder() instanceof IGui gui))
return;
gui.onGuiClose(
(Player)ev.getPlayer()
);
}
@EventHandler
public void onInventoryDrag(final InventoryDragEvent ev)
{
if (!(ev.getInventory().getHolder() instanceof IGui gui))
return;
ev.setCancelled(true);
gui.onGuiDrag(
(Player)ev.getWhoClicked(),
ev
);
}
}
}

View file

@ -0,0 +1,167 @@
package org.ef3d0c3e.sheepwars.gui;
import lombok.Getter;
import lombok.NonNull;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
import org.ef3d0c3e.sheepwars.Util;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import javax.annotation.Nullable;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
public abstract class ScrollableGui implements IGui
{
@Override
public void onGuiClose(final Player p) {}
@Override
public void onGuiDrag(final Player p, final InventoryDragEvent ev) {}
@Override
public void onGuiClick(Player p, ClickType click, int slot, ItemStack item)
{
if (item == null || item.getType() == Material.AIR)
return;
if (slot == rows*9-1) // Next
{
++page;
p.openInventory(getInventory());
}
else if (slot == (rows-1)*9) // Previous
{
--page;
p.openInventory(getInventory());
}
else if (slot < (rows-1)*9) // Items
{
onClick(page*(rows-1)*9 + slot, item);
}
else // Menu
{
onMenuClick(slot - (rows-1)*9 - 1, item);
}
}
@Override
public @NonNull Inventory getInventory()
{
final List<ItemStack> items = getItems();
String title;
if (items.size() > (rows-1)*9)
title = MessageFormat.format("§9{0} {1}/{2}", this.title, page+1,
(int)Math.ceil(((double)items.size())/(9.0*(rows-1))));
else
title = "§9" + this.title;
final Inventory inv = Bukkit.createInventory(this, rows*9, title);
final int start = page*(rows-1)*9;
int i = 0;
while (true)
{
if (i+start == items.size()) break; // Last item
if (i == (rows-1)*9) // Full
{
inv.setItem((rows)*9-1, getNextArrow());
break;
}
inv.setItem(i, items.get(i+start));
++i;
}
if (page != 0) inv.setItem((rows-1)*9, getPreviousArrow());
// Menu
final List<ItemStack> menu = getMenu();
if (menu != null)
{
int j = (rows-1)*9+1;
for (final ItemStack item : menu)
inv.setItem(j++, item);
}
return inv;
}
/**
* Gets next arrow
* @return Next arrow
*/
public @NonNull ItemStack getNextArrow()
{
return Util.createSkull("§8" + player.getLocale().GUI_NEXT, null, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODAwM2YyYzlmMDFkMmVkNThiOTAwMzE0ZDcyZmIyNTE1NmNhOWJmMTNiN2ZhZTMwOTMxMDRjZThmZTk2NGU5ZiJ9fX0=");
}
/**
* Gets previous arrow
* @return Previous arrow
*/
public @NonNull ItemStack getPreviousArrow()
{
return Util.createSkull("§8" + player.getLocale().GUI_PREVIOUS, null, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjcyZDEwZTQxMGRmOGQ1MTVhYmYzNWI3NjY2NmYxMWI3NDYzOTUwMGNmMGVlYjZlNzBkNDVmMzhiZDRiYmEzYSJ9fX0=");
}
/**
* Called when an item is clicked
* @param id Clicked item id
* @param item Clicked item
*/
public abstract void onClick(int id, final @NonNull ItemStack item);
/**
* Called when an item in the menu is clicked
* @param id Clicked menu item id
* @param item Clicked menu item
*/
public void onMenuClick(int id, final @NonNull ItemStack item) {}
/**
* Gets the list of items to display in the gui
* @note Only called on gui creation
* @return The list of items
*/
abstract protected @NonNull ArrayList<ItemStack> getItems();
/**
* Gets items to be display at the bottom center of the gui
* @return Items [array size: 7] (or null if none)
*/
protected @Nullable ArrayList<ItemStack> getMenu() { return null; }
@Getter
private int rows;
@Getter
private String title;
@Getter
private CPlayer player;
private int page = 0;
/**
* Constructor
* @param rows Number of rows
* @param title Gui title
* @param player Player the gui is shown to
*/
public ScrollableGui(int rows, final @NonNull String title, final @NonNull CPlayer player)
{
this.rows = rows;
this.title = title;
this.player = player;
}
}

View file

@ -0,0 +1,61 @@
package org.ef3d0c3e.sheepwars.hologram;
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
import com.github.retrooper.packetevents.util.Vector3d;
import com.github.retrooper.packetevents.wrapper.PacketWrapper;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerEntityMetadata;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerSpawnEntity;
import lombok.NonNull;
import org.bukkit.Location;
import org.bukkit.inventory.ItemStack;
import org.bukkit.util.Vector;
import org.ef3d0c3e.sheepwars.packets.EntityMetadata;
import org.ef3d0c3e.sheepwars.packets.ItemProjectileMetadata;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
/**
* Represent a text component
*/
public abstract class HologramItemComponent extends HologramComponent
{
protected HologramItemComponent(@NonNull Vector offset)
{
super(offset);
}
protected abstract @NonNull ItemStack getItem(final @NonNull CPlayer cp);
protected int getNetworkOffset() { return 1; }
protected @NonNull List<PacketWrapper<?>> build(final @NonNull Location location, final int networkId, final @NonNull CPlayer cp)
{
// Spawn
final Location loc = location.clone().add(getOffset());
final WrapperPlayServerSpawnEntity spawn = new WrapperPlayServerSpawnEntity(
networkId, Optional.of(UUID.randomUUID()),
EntityTypes.ITEM,
new Vector3d(loc.getX(), loc.getY(), loc.getZ()),
loc.getYaw(), 0.f, loc.getPitch(),
0,
Optional.empty()
);
// Metadata
final WrapperPlayServerEntityMetadata meta = new WrapperPlayServerEntityMetadata(
networkId,
Arrays.asList(
new EntityMetadata.NoGravity(true).into(),
new EntityMetadata.Silent(true).into(),
new ItemProjectileMetadata.Item(getItem(cp)).into()
)
);
return List.of(spawn, meta);
}
}

View file

@ -14,6 +14,7 @@ import lombok.NonNull;
import net.kyori.adventure.text.Component;
import org.bukkit.Location;
import org.bukkit.util.Vector;
import org.ef3d0c3e.sheepwars.packets.ArmorStandMetadata;
import org.ef3d0c3e.sheepwars.packets.EntityMetadata;
import org.ef3d0c3e.sheepwars.player.CPlayer;
@ -54,7 +55,10 @@ public abstract class HologramTextComponent extends HologramComponent
.into(),
new EntityMetadata.NoGravity(true).into(),
new EntityMetadata.CustomNameVisible(true).into(),
new EntityMetadata.CustomName(getText(cp)).into()
new EntityMetadata.CustomName(getText(cp)).into(),
new ArmorStandMetadata.Status()
.isMarker(true)
.into()
)
);

View file

@ -15,11 +15,18 @@ import org.bukkit.event.entity.*;
import org.bukkit.event.entity.EntityDismountEvent;
import org.bukkit.event.entity.EntityMountEvent;
import org.bukkit.event.inventory.CraftItemEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryDragEvent;
import org.bukkit.event.inventory.InventoryInteractEvent;
import org.bukkit.event.player.PlayerDropItemEvent;
import org.bukkit.event.player.PlayerInteractEvent;
import org.bukkit.event.player.PlayerMoveEvent;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.PlayerInventory;
import org.ef3d0c3e.sheepwars.events.*;
import org.ef3d0c3e.sheepwars.game.Game;
import org.ef3d0c3e.sheepwars.items.IItem;
import org.ef3d0c3e.sheepwars.player.skin.SkinItem;
import java.util.UUID;
@ -33,10 +40,11 @@ public class LobbyEvents implements Listener
ev.getPlayer().getHandle().teleport(Game.getLobby().getSpawn());
final PlayerInventory inv = ev.getPlayer().getHandle().getInventory();
inv.clear();
//inv.setItem(0, TeamItem.getItem(ev.getPlayer()));
//inv.setItem(1, KitItem.getItem(ev.getPlayer()));
//inv.setItem(4, RocketItem.getItem(ev.getPlayer()));
//inv.setItem(7, SkinItem.getItem(ev.getPlayer()));
inv.setItem(4, RocketItem.getItem(ev.getPlayer()));
inv.setItem(7, SkinItem.getItem(ev.getPlayer()));
}
/*
@ -54,15 +62,15 @@ public class LobbyEvents implements Listener
final ItemStack replace = KitItem.getItem(ev.getPlayer());
if (!ItemBase.replace(ev.getPlayer().getHandle().getInventory(), KitItem.ITEM, replace))
ev.getPlayer().getHandle().getInventory().setItem(1, replace);
}
}*/
@EventHandler
public void onSkinChange(final SkinChangeEvent ev)
{
final ItemStack replace = SkinItem.getItem(ev.getPlayer());
if (!ItemBase.replace(ev.getPlayer().getHandle().getInventory(), SkinItem.ITEM, replace))
if (!IItem.replace(ev.getPlayer().getHandle().getInventory(), SkinItem.ITEM, replace))
ev.getPlayer().getHandle().getInventory().setItem(7, replace);
}*/
}
// Cancel all unwanted events
@EventHandler
@ -74,6 +82,20 @@ public class LobbyEvents implements Listener
ev.setCancelled(true);
}
@EventHandler
public void onInventoryDrag(final InventoryDragEvent ev)
{
if (ev.getInventory().equals(ev.getWhoClicked().getInventory()))
ev.setCancelled(true);
}
@EventHandler
public void onInventoryClick(final InventoryClickEvent ev)
{
if (ev.getInventory().equals(ev.getWhoClicked().getInventory()))
ev.setCancelled(true);
}
@EventHandler
public void onFoodLevelChange(final FoodLevelChangeEvent ev)
{

View file

@ -0,0 +1,82 @@
package org.ef3d0c3e.sheepwars.level.lobby;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.event.EventHandler;
import org.bukkit.util.Vector;
import org.bukkit.inventory.ItemStack;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.hologram.Hologram;
import org.ef3d0c3e.sheepwars.hologram.HologramComponent;
import org.ef3d0c3e.sheepwars.hologram.HologramItemComponent;
import org.ef3d0c3e.sheepwars.hologram.HologramTextComponent;
import org.ef3d0c3e.sheepwars.player.CPlayer;
public class LobbyHologram extends Hologram {
private static final int NETWORK_ID = 0xFF877710;
private final Location location;
public LobbyHologram(final Location location)
{
super(NETWORK_ID);
this.location = location;
// Center item
addComponent(new HologramItemComponent(new Vector(0, 0, 0))
{
final ItemStack item = new ItemStack(Material.WHITE_WOOL);
@Override
protected @NonNull ItemStack getItem(@NonNull CPlayer cp)
{
return item;
}
});
// Left item
addComponent(new HologramItemComponent(new Vector(0.9, 0, 0))
{
final ItemStack item = new ItemStack(Material.IRON_SWORD);
@Override
protected @NonNull ItemStack getItem(@NonNull CPlayer cp)
{
return item;
}
});
// Right item
addComponent(new HologramItemComponent(new Vector(-0.9, 0, 0))
{
final ItemStack item = new ItemStack(Material.BOW);
@Override
protected @NonNull ItemStack getItem(@NonNull CPlayer cp)
{
return item;
}
});
// Title
addComponent(new HologramTextComponent(new Vector(0, 0.4, 0)) {
final static Component title = Component.text("SheepWars")
.color(TextColor.color(140, 187, 64))
.decorate(TextDecoration.BOLD);
@Override @NonNull
protected Component getText(@NonNull CPlayer cp) {
return title;
}
});
}
@Override
public @NonNull Location getLocation(@NonNull CPlayer cp) {
return location;
}
}

View file

@ -16,10 +16,13 @@ import lombok.Getter;
import lombok.NonNull;
import org.bukkit.*;
import org.ef3d0c3e.sheepwars.SheepWars;
import org.ef3d0c3e.sheepwars.hologram.HologramFactory;
import org.ef3d0c3e.sheepwars.level.Level;
import org.ef3d0c3e.sheepwars.level.VoidBiomeProvider;
import org.ef3d0c3e.sheepwars.level.VoidChunkGenerator;
import org.ef3d0c3e.sheepwars.npc.NPCFactory;
import org.ef3d0c3e.sheepwars.player.skin.SkinNPC;
import org.ef3d0c3e.sheepwars.teams.TeamNPC;
import java.io.*;
@ -31,9 +34,9 @@ public class LobbyLevel extends Level
private Location spawn;
//@Getter
//private LobbyHologram hologram;
//private SkinDisplayNPC skinNpc;
//private TeamNPC teamNpc;
private LobbyHologram hologram;
private SkinNPC skinNpc;
private TeamNPC teamNpc;
//private KitNPC kitNpc;
/**
@ -50,16 +53,16 @@ public class LobbyLevel extends Level
{
spawn = config.SPAWN.getLocation(getHandle());
/*
hologram = new LobbyHologram(config.INFO.getLocation(getHandle()));
HologramFactory.register(hologram);
skinNpc = new SkinDisplayNPC(config.SKIN.getLocation(getHandle()));
skinNpc = new SkinNPC(config.SKIN.getLocation(getHandle()));
NPCFactory.register(skinNpc);
teamNpc = new TeamNPC(config.TEAM.getLocation(getHandle()));
NPCFactory.register(teamNpc);
/*
kitNpc = new KitNPC(config.KIT.getLocation(getHandle()));
NPCFactory.register(kitNpc);
*/

View file

@ -0,0 +1,59 @@
package org.ef3d0c3e.sheepwars.level.lobby;
import lombok.NonNull;
import org.bukkit.Material;
import org.bukkit.Sound;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.block.Action;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.util.Vector;
import org.ef3d0c3e.sheepwars.items.IItem;
import org.ef3d0c3e.sheepwars.items.ItemFactory;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.text.MessageFormat;
public class RocketItem extends IItem
{
public RocketItem()
{
super();
}
@Override
protected boolean onInteract(final Player p, final ItemStack item, final Action action, final EquipmentSlot hand, final Block clicked, final BlockFace face)
{
if (p.getCooldown(item.getType()) != 0) return true;
p.getLocation().getWorld().playSound(p.getLocation(), Sound.ENTITY_FIREWORK_ROCKET_LAUNCH, 12.f, 1.f);
p.setVelocity(p.getVelocity()
.clone().add(new Vector(0.0, 0.8, 0.0)));
p.setCooldown(item.getType(), 30);
return true;
}
@Override
protected boolean onDrop(final Player p, final ItemStack item) { return true; }
static final public RocketItem ITEM = new RocketItem();
/**
* Gets item for player
* @param cp Player to get item for
* @return Item
*/
public static @NonNull ItemStack getItem(final CPlayer cp)
{
final ItemStack item = new ItemStack(Material.FIREWORK_ROCKET);
final ItemMeta meta = item.getItemMeta();
meta.setDisplayName(MessageFormat.format("§a{0} §7{1}", cp.getLocale().ITEMS_ROCKET, cp.getLocale().ITEMS_RIGHTCLICK));
item.setItemMeta(meta);
ItemFactory.registerItem(ITEM);
return ITEM.apply(item);
}
}

View file

@ -69,6 +69,8 @@ public class Locale
public String TEAM_PICKER;
public String TEAM_NPCNAME;
public String TEAM_NPCCURRENT;
public String TEAM_RED;
public String TEAM_BLUE;
// Kits
public String KIT_PICKER;

View file

@ -4,7 +4,6 @@ import com.comphenix.protocol.wrappers.EnumWrappers;
import com.github.retrooper.packetevents.PacketEvents;
import com.github.retrooper.packetevents.protocol.entity.data.EntityData;
import com.github.retrooper.packetevents.protocol.entity.type.EntityTypes;
import com.github.retrooper.packetevents.protocol.npc.NPC;
import com.github.retrooper.packetevents.protocol.player.GameMode;
import com.github.retrooper.packetevents.protocol.player.TextureProperty;
import com.github.retrooper.packetevents.protocol.player.UserProfile;
@ -15,8 +14,8 @@ import lombok.Getter;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.ef3d0c3e.sheepwars.packets.ArmorStandMetadata;
import org.ef3d0c3e.sheepwars.packets.EntityMetadata;
import org.ef3d0c3e.sheepwars.packets.PlayerMetadata;
import org.ef3d0c3e.sheepwars.player.CPlayer;
@ -139,7 +138,7 @@ public abstract class PlayerNPC
final WrapperPlayServerSpawnEntity spawn = new WrapperPlayServerSpawnEntity(
networkId+i+1, Optional.of(UUID.randomUUID()),
EntityTypes.ARMOR_STAND,
new Vector3d(loc.getX(), loc.getY()+(tags.size()-i-1)*0.3, loc.getZ()),
new Vector3d(loc.getX(), loc.getY()+(tags.size()-i-1)*0.3+1.80, loc.getZ()),
0.f, 0.f, 0.f,
0,
Optional.empty()
@ -153,7 +152,10 @@ public abstract class PlayerNPC
.into(),
new EntityMetadata.NoGravity(true).into(),
new EntityMetadata.CustomNameVisible(true).into(),
new EntityMetadata.CustomName(tag).into()
new EntityMetadata.CustomName(tag).into(),
new ArmorStandMetadata.Status()
.isMarker(true)
.into()
)
);

View file

@ -28,18 +28,18 @@ public class ArmorStandMetadata {
}
public Status hasArms(boolean v) {
value = (byte)(value | (v ? 0b10 : 0b0));
return this;
}
public Status hasBasePlate(boolean v) {
value = (byte)(value | (v ? 0b100 : 0b0));
return this;
}
public Status isMarker(boolean v) {
public Status hasBasePlate(boolean v) {
value = (byte)(value | (v ? 0b1000 : 0b0));
return this;
}
public Status isMarker(boolean v) {
value = (byte)(value | (v ? 0b10000 : 0b0));
return this;
}
}
}

View file

@ -0,0 +1,25 @@
package org.ef3d0c3e.sheepwars.packets;
import com.github.retrooper.packetevents.protocol.entity.data.EntityData;
import com.github.retrooper.packetevents.protocol.entity.data.EntityDataTypes;
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import org.bukkit.inventory.ItemStack;
public class ItemProjectileMetadata {
public static class Item implements IntoEntityData {
@Override
public EntityData into() {
return new EntityData(
8,
EntityDataTypes.ITEMSTACK,
SpigotConversionUtil.fromBukkitItemStack(value)
);
}
ItemStack value;
public Item(final ItemStack value) {
this.value = value;
}
}
}

View file

@ -13,6 +13,7 @@ import org.ef3d0c3e.sheepwars.events.CPlayerJoinEvent;
import org.ef3d0c3e.sheepwars.events.CPlayerQuitEvent;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.locale.Locale;
import org.ef3d0c3e.sheepwars.teams.Team;
import javax.annotation.Nullable;
import java.text.MessageFormat;
@ -95,17 +96,6 @@ public class CPlayer {
if (cp.isOnline()) f.operation(cp);
}
/**
* The player handle
*/
@Getter
private Player handle;
/**
* The OfflinePlayer handle
*/
@Getter
private OfflinePlayer offlinePlayer;
/**
* The locale configured for the player
*/
@ -117,6 +107,17 @@ public class CPlayer {
@Getter
private CosmeticManager cosmetics = new CosmeticManager(this);
/**
* The player handle
*/
@Getter
private Player handle;
/**
* The OfflinePlayer handle
*/
@Getter
private OfflinePlayer offlinePlayer;
/**
* Updates the player handle
* @param handle New handle
@ -143,6 +144,21 @@ public class CPlayer {
return offlinePlayer.isOnline();
}
/**
* The player's team
* May not be null in lobby phase, null in game phase means spectator i.e. joined after the game started
*/
@Getter
private Team team = null;
/**
* @note Don't call! Use {@link Team.setPlayerTeam(cp, team)}
* @param team New team
*/
public void setTeam(Team team) {
this.team = team;
}
/**
* Events for the player wrapper
* When a player joins or quits

View file

@ -3,13 +3,25 @@ package org.ef3d0c3e.sheepwars.player;
import lombok.Getter;
import lombok.NonNull;
import lombok.Setter;
import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener;
import org.bukkit.event.player.AsyncPlayerChatEvent;
import org.ef3d0c3e.sheepwars.events.CPlayerJoinEvent;
import org.ef3d0c3e.sheepwars.events.SkinChangeEvent;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.player.skin.Skin;
import javax.annotation.Nullable;
import java.text.MessageFormat;
/**
* Manages cosmetics for the player
*/
public class CosmeticManager {
private CPlayer cp;
private final CPlayer cp;
@Getter @Setter
private Skin originalSkin = null;
@ -20,4 +32,86 @@ public class CosmeticManager {
{
this.cp = cp;
}
public void setSkin(final @Nullable Skin skin)
{
if (skin == null)
{
currentSkin = getOriginalSkin();
Skin.updateSkin(cp);
currentSkin = null;
}
else
{
currentSkin = skin;
Skin.updateSkin(cp);
}
Bukkit.getServer().getPluginManager().callEvent(new SkinChangeEvent(cp, currentSkin, skin));
}
@WantsListen(phase = WantsListen.Target.Always)
public static class Events implements Listener
{
@EventHandler(priority = EventPriority.HIGH)
public void onChat(final AsyncPlayerChatEvent ev)
{
if (ev.isCancelled()) return;
ev.setCancelled(true);
final CPlayer cp = CPlayer.get(ev.getPlayer());
String message;
if (cp.getTeam() == null)
message = MessageFormat.format("§f{0}§8:§7 {1}", cp.getHandle().getName(), ev.getMessage());
else {
message = MessageFormat.format("{0} | {1}§8:§7 {2}", cp.getTeam().getName(cp), cp.getHandle().getName(), ev.getMessage());
}
Bukkit.broadcastMessage(message);
}
@EventHandler(priority = EventPriority.LOW)
public void onPlayerJoin(final CPlayerJoinEvent ev)
{
final CPlayer cp = ev.getPlayer();
final CosmeticManager cosmetics = cp.getCosmetics();
if (cosmetics.getOriginalSkin() == null) cosmetics.setOriginalSkin(Skin.fromPlayer(cp));
if (cosmetics.getCurrentSkin() != null) Skin.updateSkin(cp);
/*
CPlayer.forEachOnline(o -> {
o.getCosmetics().updateTabNames();
o.getCosmetics().updateNametags();
o.getCosmetics().updateScoreboard();
});
*/
}
/*
@EventHandler
public void onTeamChange(final TeamChangeEvent ev)
{
CPlayer.forEachOnline(cp ->
{
cp.getCosmetics().updateTabNames();
cp.getCosmetics().updateNametags();
});
ev.getPlayer().getCosmetics().updateScoreboard();
}
@EventHandler
public void onKitChange(final KitChangeEvent ev)
{
CPlayer.forEachOnline(cp ->
{
cp.getCosmetics().updateTabNames();
cp.getCosmetics().updateNametags();
});
ev.getPlayer().getCosmetics().updateScoreboard();
}
*/
}
}

View file

@ -13,6 +13,7 @@ import org.ef3d0c3e.sheepwars.versions.SkinVersionWrapper;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;
@ -78,5 +79,475 @@ public class Skin {
WRAPPER.updateSkin(cp);
}
protected static List<Skin> skinList = new ArrayList<>();
protected static final List<Skin> skinList = new ArrayList<>();
static {
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1Nzg0OTYxMzI3OTUsInByb2ZpbGVJZCI6ImRkZWQ1NmUxZWY4YjQwZmU4YWQxNjI5MjBmN2FlY2RhIiwicHJvZmlsZU5hbWUiOiJEaXNjb3JkQXBwIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8xMzRhYzQ0YWU0NjBhNjQ4ZjkxNDE3NTkwMjY2YjEzYzY4YjM2MWRkZmEwOWRhMzBhNzdhMDI0ODg1NGEyMTk5In19fQ==",
"Ldadowjyoip2u96oLRxGr5v+zqjMLlNv39LpPNVoUY/zrfbWUdJnC+jxsq+joyEUz+BVonhHdaFJXGdx4mvIak0tAJD8DnXPqtjz3NZfFcczIgFl/SjOv3vUzPRzN0EmK7XxEy4RnHLCywfpBM8ppPfj/ehYCs4V67x4qae8AFQxxH40gUjKJs6UfKhnFCE3xm81d8AWr4+zQ50iMng+0KNLb1c7ywPaPY1Y4IMwaw6tnY+VQhvNDBPTvKPBhV4vfbpSRHARv5nDh4+ba4tD7BJYdsqLcTnRAICBgRBqbeyfYsVa06Ms81JlZae+Pl7PxRRq0Qd5Hz8egaPdkwD7GTwAVmrNtOjkKJFJT2amwrKSutAT+T33wKbIQlFOBJ/Mlns3W11kvEma1gjCNAjJ+zUMH8jfa7LCW7yTqDaVj18q4Jl0V/CX0ejkgZxp7V3U6Ml3INoFykKAO7Yok/2PG2IVJ0gQPNrmVAOero6gd1HrIjhC0WretuqeV2Xs6GEZ7PScm48FlOLwwVN5EBf9EP4unnLaD3gvodk5vMzMkfaz+p+TXSbto1Ggz1oqfNr6n4XZOmuLasOEcc+m3pd3OTWVQ7gW6d2UMVdOxc+Hn9/9fwGiQ9W3y65D2UwJS8sbNtAq2sF75NIoNuBq/A3qBQNvFxLep6017n/pV9Rhh+w=",
"Garfield"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NjI5ODI3OCwKICAicHJvZmlsZUlkIiA6ICJjMWE3ZjlkZjgyYTU0NjZmOGQ2YjdkYTk3OTA4NGY0OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJTa2lkU25pcGU5NzIyMTMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjNmYzE3ZjdmOGNkOTRjYzhkNWViYzZkYzMyZWMzMTEwZGE1MmQ0NzhjYzIzYjc5NTk3MWExZWVhZmUyNDhlOCIKICAgIH0KICB9Cn0=",
"T0mpce1K/gedJhm+WpeM1MW6f0dVMoJzrj3zuGpxEjnS5QQVDSV+hCPi8OUCFLBDH4CoNinCSCSnb7N1mv1PwokEBgQXllGaHgbCM4MmSktCg+t3pzDurceqh6tfUycHyAIC8usEsfbyczuQmxA6glQuSIMSa9fvI+DU4wobESBgygFIw6kuXp5VBbxzHPons93WIE/jeoZDxYLIwRXYxVq4iuQmYYQVlKGsiub70VZx0uguZL3ky7W2VEjFYJdYb7gxxmEf9EH70ax7PB12cFbpH4u/LywIoQo6b/b9SN9MCBiQ196oEFFWIgkFMtOiHx0Qsk81PlbNApHFv4zlEAaixSL9w+0pDfIvY+b7i28EwFoibhCnGnamVYN8dhrrUJFY03y/AAwpPqzFX/HanUucoUTciE3lazbxhROQaOb9owdNISaQez+hRS+GebRTqpqriwi7BahmxOksiVecsM/f0Dx9xFHB8w5O5DEElz/Osi7eygVa379XnTx23vtyEXN9ryEU1gOYQMqc5n9RBFQAPUdlm124in6eDz9bCp/SF9K9hez/wyAZh9jz4RmpW5qTe391K41OCvz72zUjalw1WXEElwC4saWI6T63FU/mFqomUExRb2spLykwbvPUL6RQ6CRCrlU76zYNhNQeXzHFp1fgZneq0JyPW5pXdZg=",
"Pepe (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEzMDU4OTM5MCwKICAicHJvZmlsZUlkIiA6ICIzM2ViZDMyYmIzMzk0YWQ5YWM2NzBjOTZjNTQ5YmE3ZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEYW5ub0JhbmFubm9YRCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS81MjZmMTJmYWI3YjA2MjQ4MWM4NzYyOTY1OGU2MjIyNjIwNjgxZTViOGY1MGY1Y2VlY2U1MDNjZTk1NjNjYmRjIgogICAgfQogIH0KfQ==",
"NMvgwytY7Y1SPFT7FmIO041/CJIIiqEmXTba3szwSlUU41tKJKBCzrN0bFj81vjofg9wxe1EBkilgJdUjcNnzeO3FZqPDJvYkC4D3oUqWnLdZLlkI28XVlKMcj7p5ZszWgflJr/qhVQy/q8GGPMRU058dbidnQIJ8kX1aieSAfzngeza6Urn5tTpVRykYgnaq1HQyfJR7BvYUgDh8VwsVRmT4OTr/P9jovs+m5MNDLmAX1xs9+uUuSnEWoawvnXBJvuDe9DB01qBS6/qUDagva8N0umdSLVIDnDtcktt03tWQ76MaruX9oRSDVAtyeice8dlGlPqMkiClv3D4+082atHiSAu3AXturnx8mZoASBM6aWl5ICQoKH5NQbdhIJKA+Y90seuYKnh18BFq57yor1IJZ9aGlHznaSsRJiAwCKgeY67Cd5UpafSqlAcvyGKTSJmLeBR51hbID9AjHyxpO3vFm7CN4SrIdszHxeDZMtwoeJwZnf3LV0fg4c7MbUrEmcLKdlTt05jzXTX0n66rsnaR7fPNF6FrJ23dMgepjC3P1vI1AXQZYRQrwHe0nxNjMrR2bFGgKG6LL2EBDtsxa6pTTvvOkgGVpHFx5CNSw/zYgpHMuwopnzCFX3WDrGLKN+Rzma19Bcdrg8SeIow7vFnFrOLGq8WWs4XMkyMNGM=",
"Pepe (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1Nzg2NjU5MTM2NjgsInByb2ZpbGVJZCI6IjgyYzYwNmM1YzY1MjRiNzk4YjkxYTEyZDNhNjE2OTc3IiwicHJvZmlsZU5hbWUiOiJOb3ROb3RvcmlvdXNOZW1vIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS80MWQ2MmRhNDhmYjE0MGMyZTQ1MTZlZjAxYjhkNDBhOTg2Yjc5ZDZkZjZjMzM2MGRlZmIyZWU4YWFhYjE3MzNkIn19fQ==",
"B0ZpJqMnISRV0SC9vxxTaRNsSgnfdJJFc69LGYWrI9Dl92I2jy8QZvrQFlzCppdOlhxFsGPPFmmHfZX1wMNoZB4aQ/vcQ3zAp83JGUDHnDQcqAUgtGbOlcO7PBzc9k/gqekjIqOVE3i9lv/oXsAOpRlBy5kulC5E+gOcfOEQX0MFIOT50CZXJwQMvqfLbcjYYBwlaA+P0+jZcdxzX1o8XRqGjaYni5Ch32dDnD2CUXjyFvLEUK1yviNos3ZPKedjuXOOIWmx+pDto6Ij18spioybmrbzfycb1t+ZqgkYWcWNcFfas8NSKcwaiXAwUISbwXR9L5oYFa2ji31lAejhAj4rNzbOfOOyTRcqMwrVSXsw3sv0YD357rT+PNRvPiAqYdvWpgxIJvrlyVwueRmkzF2qRjHXTB4oWE81EHpEuPPU1WWh5y8QnJyp/N/rX4hHPwShS1mIke8FA8sBuRlF2g7NwtQVypZuqwyv3dt9og94pshfbNvJpC1ciu9yQGn9GwwWRyjT3wj2dvJN5WW8XSwXO1pxvDXUdLtXQHse5f7mqoMugd1KMz2wPwbGIRw3Kk9HyQUJYDASDrMeHexTLpNH3Utk01Fd7qHeCl4jmGM/pkLNGVngdioWEFXPKZCxP6/0rfLTuMJ4UlnHZC6y+GZrm3yzUlWE4hyGRwW5yzA=",
"Pepe (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MTI4Njk5MywKICAicHJvZmlsZUlkIiA6ICIzM2ViZDMyYmIzMzk0YWQ5YWM2NzBjOTZjNTQ5YmE3ZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEYW5ub0JhbmFubm9YRCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS81ZTUwMmNhNTVjZjQyYTEzYTNkODA4YjdjNDljODkyZDJjMGEwMDU5YjAwM2Y3YzU5Mjc0NTUxMzgyMzExZGM2IgogICAgfQogIH0KfQ==",
"yWSc9qWcPNyMaeGWIGrAApLpzNZJe+p/ZRti3K5ADIySpKVAzl6NAd8H/Qkh/O/NZYI4tHxmKUmnl2lkpW02Soy3NqD8AqJaue5ge/hxEACL9wkO3I2IJGwl+Bl5qyk63WcgjbocIXPxXS0Yl0m1vdeULEA1PYu99O8HcCFa40nJq7zNvachAg1M0TZLQo3mIy/zGXvKoH11kzpzChmV8dXSGx527zezM2cosjxO+hKNIbUYn/8mz9LzpfDlnbR73tGuiyemFmOUhf2G3BMyLUrBrvWTTg+u7u8jLCIGeknxJlnbFpl25qE7D1V123WEVznbMg9vb2uX0bKYJ7nazZ097bRQCTDQSHqbdmrrJwLzMKBBc23H+05ZmBgToe/k63keSWuMvrePCMZuA5QqisWJXbIidr4ftdxevKEUhaj0qesVF+wFRdfD2n45IAqnx6qtx/fghX8C8G7k0UMuy0W/cEQTPeeoFDraN+RxTyCdWdHX11QPQVXm/zDtGZT9tfDGPADwP/1Kd3FWxKUBucqp3c9pgGKEi92QU9wMmrvKNBj5m7XFlj3m8+CtOiZoHraRftTs0mbej/T8a49dhJaU7VXIQPzE5ddzkE/qp4FbWUDT9ZElHtc08D+wJE+2SJ8VrwERBUVANNY2uGx/VJ3sy/qHJ8O7GuS7++/M3Dw=",
"Pepe (4)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NzQ2MzgzNSwKICAicHJvZmlsZUlkIiA6ICIwNjEzY2I1Y2QxYjg0M2JjYjI4OTk1NWU4N2QzMGEyYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJicmVhZGxvYWZzcyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iMzdkNGI4Y2ExYjZkZWNhNmVkNDM3YzFiM2EwYzhjYmJlZjk0YTU0ZGM3MmIyZTU1N2EyMzgzMDVjOWEzMmU2IgogICAgfQogIH0KfQ==",
"rfBLIGI3wxR9IITHguYNWr/gqc1ZvsWoLCik/FDgnAQcL1F3RZfa2AThpqyywMs54ZiTlGPZDQpNAcEn/LnaIT97zE9D11rqoQbx63oUgTU4NMPxKY13R0Y6EQtLH3EMrPCL5P1XWnnHTfIxVp4Fcsr+/7d6U+hrLXBdhT94gnw4oxnJKnSU0Ndqh8MhbVzIC+2AoueBtXa3h1gOL6EbQPqjV3y9lSDxLKN9/bYGdSPiBR5mwDlUJeBXlA5egMB3UY5esiLPj3zaBscSCuu6/WDkgbuYzLuMC5bCh2ViWgIyoDRzxYHQzibbnQzdeJnbjN/kVtiqhAraNRzpFx7YRHMz/32FPI4XJxj5yYiv4SP/VBBaiafMXuEx7OfEOm3zpsNO87QuBwUiGTfjrnvtQHgJZkweYP37MrutUM0+bGVulQuhnQX4uZ3L1rSqXrH5pIvXultMXr9JqqukqhaZxpHn8vvSv+AUhhG7dn1YzopyReaqi9mGC4D6tgQ3lJg9bvbhECSMUC6+eRAYiGTFSt2WuBHSOf0a7cRFT6lzQD1KBWR7aTeGuIa9lEmYEpDp8YfUpcSs7+Q7a6Y//LT5lgissLPP8zPgR8maDlo4jFUxlwzT3o+hCfMZj3Ucz+GwYVHInxmsjtAYYls3IEtsVts61NpKVzFWesKtAVxPC48=",
"Spurdo Sparde (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5Njg1MTUxMDE3OSwKICAicHJvZmlsZUlkIiA6ICIyZGM3N2FlNzk0NjM0ODAyOTQyODBjODQyMjc0YjU2NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJzYWR5MDYxMCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9lZmI2MzRjZjE0MGVkZjIwYWYzOGJjOGEwZjlhMjc3YTA0MmQ1ZjJiMGI1NDhhMTAxMTU5YTM2ODU1YTEzMmZjIgogICAgfQogIH0KfQ==",
"WHcZl0wg1oVKbi+A8ZHj8Vk9Y0f/2mjU5bnYSsaCwK8/Y9lrtRPIGSLpj9UOlWCLUKTGWeepxkVbuPS5YUwoqZXgGr0koxWPqEh5FDJRRLelBfyh0HXqrfmEfX/Ho8cBPv7ECsS8fOBP5L1rWK3Xi/Ob0lLQrCqrFCIgGqUBRQ0qMeYBlsrVFtMJfqfZ0nwlt9lpCDnW7MODBuvJSpyB+55BcVZ9h4EMCEGc1xum8uhBMFOTv2gs+r1aQBRV9hQCg7PXJ5QKuJVGAO/i/hzVbuxtnoqYS9rl1Pevlol3xvOhkKnImBLmfzlBSAuwPY3ffFgdMsBTkE0Lu8SlQDFzmoViC1QFFBI/f4YuSicDVnBHZjXpSUN7bIETUm2oCi+gTCtOuIUGiu1zuqqaQBQ8GAMFStQKr0j4tapWHjr09U3PjyL6Y9+VMU+YOroN5ra+6W6iugu9HwnzTGaWxsjS8ES8GQbaAnpE//b0ulRLabphocSHe//wLbwoZLsIL0pzg3/ILlehkP8voAj7Wu+ckGKUEaJ+R6xH4efkWaYYIxqSQhuefW5bw/y5ii+ZDtddSxEDGtoBgy5TUkQOlsZGvR4pm/soumz3CGRci6/4e5QI25Wgx9/6Y3lo0IrzsNgiafWBenXz5NQm9esLMJ7kcFfJKzs0SdSLsJFZ2n+ARjs=",
"Shrek (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5NzIyMjgyOTI1MSwKICAicHJvZmlsZUlkIiA6ICI3NzI3ZDM1NjY5Zjk0MTUxODAyM2Q2MmM2ODE3NTkxOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJsaWJyYXJ5ZnJlYWsiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzFlZjM4NTg4MTE4NjJkYTQ5ZmNjMTAwZTE0Y2RkYTIwYzA0YjY1NDQwNmZhNWUyMzlhZTIxODAwOTUxOTdiNSIKICAgIH0KICB9Cn0=",
"qFiaQvk5RbdxZwpmT32tNVtRJZiAYV21eoRLNu6/gRTLb8W3yRVwAq61TorHtd19Fd0xx9vsFGFjKmPhMuUtfqDMLLYX6Fd1ahQfXtuXaFoqXgINxMmt1LU/C4s9FMa7ezGtnhcshgVt6bHzbwjqY8RRnQ/Q+OhMhHJNM1/BmYkCC7mjdWjHTd9q4tj1c3xhMgRaad/NJflImUNjGBh5tFZFaMhrbbbdwf24FGXbWqP9A/vD7AURh0vBo4ju2Rim8Weycd6ZKart7n2TXzlr/KKsrnlG3GC5V9ox7IB10ujd5tFZ4cSAIFzHhdpHxsczLq0bG2bU0omyaotAJS+pvjC8it36XpvpqEhxwc8uqJFhANYstsiMpGQGTr1HPo2FJbLk/Z7GcO9sj7P3WzgrNAO8Vz6Rnyw1Q/2C8k0/uN6S2ETLYdqPoV1rM1ne1p0HhmslriwnUW53KKRheEgRk9bFNRDKj6MgJTB/j39YnMus57dvjcchUJmqmjKVkU7rGSEOFxTfEBjU8dou7CxxiOmeGzNNfx1qghISAfVi4aXzus0gHzoN0w4uoEkNBAH2FnkOD0D2b8fNW3Jg7jOGQSc6cK5bxCAdP+JppkLIXthRtVKSd5mdSUJrJUYBi1AglD3hDvDW4IY3ifgBqSVw/CRhdDsicLMoi1C4pb/KD5E=",
"Shrek (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NzIyMTY0Mzk4ODYsInByb2ZpbGVJZCI6Ijc1MTQ0NDgxOTFlNjQ1NDY4Yzk3MzlhNmUzOTU3YmViIiwicHJvZmlsZU5hbWUiOiJUaGFua3NNb2phbmciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2U0YjI4MzQ3ODM3Yjg2ZTRjZDY5YWFkYWY1Yzg5NGE2MGYxOTQ0YTFiNmMxNmQwNjE1MDcxMjAwNTdjZDE2M2IifX19",
"UtUjDbPWWjhl+gK0EMaui/gBe4vfcH4KqmoBzaICxZeB9ZLsWnNDcfvZ66rjXqll88W3ujK+cFYXRbKSgC1VSyUwt/BVXIjbYs6lSlnfJU7LYio0S68BqqSqo4Jq76kmTiomokDmgatpGnEM2fFscTG+X6ac395ZDNyRDyNNjIzoq0WV0iJcz6ijbkXWTMp78oe2G+gtK64LoWiECD2zru/jr4YWIc5+C8IBvkQP2h08nJkKoUuKTScq0rOueeJZS9SVqYGN/6da1eJv2H6e4c0Rme1tmhPcUYwfV7z5UtRJgHfNYtEpY++CfbhQj6l9UqnjK+Ww26dQnqKcKZ3bEbwMhFdfH/VnGeYCRabsC4HW3VR5mEG8R8cjeGGSRVeghrvAqSd5Bpr5WBWriOSqEdMgZND2sBUakkRprM1Z2splfXiZlfF2kjWjEn7L+GPD6dPspmNZCHW4BRBhAqL8Irld8g+qlA8tBL6BJugRG5WIbCsiVaTb5+kTYire3b8W9tO/MB19tuSWkDvQHcQ/gaMw+6KqE6GT2CoFtuMdg9+8z4HAR9U40Vbor6ETxwd0eG1NOZTwkLo/rEuGOAaXw1+MpGZOCsFf34h1Jm0LgapDXnY1B+Y47VeCJyncgKq1RHsQqLMPVTOX9581uhVF6iKoWYFQjwA55hCnCtddPs0=",
"Shrek (3)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1Njk5NjgxMzI2OTgsInByb2ZpbGVJZCI6Ijc1MTQ0NDgxOTFlNjQ1NDY4Yzk3MzlhNmUzOTU3YmViIiwicHJvZmlsZU5hbWUiOiJUaGFua3NNb2phbmciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzc0YmI3YzhjNjVmZDJlNzlkN2FlNGMyYjlhOGU2NjUzYTAyMDRmNzc2ZjQ3NjI2ODA5OWQ1MzA0OGZiZDQ0ODMifX19",
"AoOC6zhqHTW9US+nYbJP0yTqGFlnlbXUXZ1t6p0AVecZCBMAzvec/msjHSDpLTWP77o41kEseO2hxIGDdDtNWccguHLmlIBfrPQ5eNcF+T04TfZV+yOyGLUFdl3BGIRpvhlgbR3LRWiytgnjBbJNZN9npc/DRehYlEPukKkkav/IX4bO/XxzSbaAb7FJRlUC3LZv1IBeK9jwjfvLw0RtKOVwoczyfVSf0MO2lpchmoQeCJLw0cOJ5UHe0kg2gh6oWWlcA8CP9JIoM/0bEoHIuAphcJeJdu5yyDy0d3Nv09/EZm9eke9uPxcCh1neZ8M8lA/OrgsNVnecN/UL1FQz9CCI9k33p7eSIYhhGK3St3IbM58qS0I+8hxE3K+a0rVOqh/F/bSdGww9C3J5FSKq1gxyvA+MqDVuKUqfAvs67wETanuCkywnQeVWRY6WdyUyuwzTNrTah05qU2PStP8hyP00D5S9lDnfnkhJ7ztt0EeSkRS5HX/rtX/wSeeaDjopBvhP5VQJs/3FQ4/rUDxy1yTfHp8CyPbHv3wyaIMH0yXPQ6D9k9oK+3Fc8owhPIb6PIrPc4VrrccddxDDgBv1CGGt1KkfTb9TgVODj6GKt1FIcMODETc9lLWtK0vdRg/dT5BV3UI2FJvYrsX09WplULssqPSKfUY/QATJZiM7TJs=",
"Shrek (4)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTAxOTU2NzAwNywKICAicHJvZmlsZUlkIiA6ICI4MmM2MDZjNWM2NTI0Yjc5OGI5MWExMmQzYTYxNjk3NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOb3ROb3RvcmlvdXNOZW1vIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzM4ZWVjNzM1NTBjMGI5NzczZjJmMGY4ZTY2ZmU3NzFkYTJiZDgyMWRhZTNlNDU1NmMzZTNiYmE2ZTk1YjM4ZDYiCiAgICB9CiAgfQp9",
"h3lDhFvU899le+afrZcovoIQ+t9cZ4AQp5pmM07AvbBvblrA/7nflqZtm+C02zgfGeelWyurv0avSA+c19prAvFW2H+U/KWpeP/J+pghnycy617IAkUalHwmkvxiMPkYCpJjFmpznvuJNKgktDf/ShkLgaXRl7MY/sOPB0y0fDdvtsp+PugoyMQwMbNF+b83MJACCaADZj4geF03mQ+RI965jebLYV7XZPgPmx4m5NUQPxizYDhfUl9X3VZCEHj/u4zc1PhsjqMzOtlXHckEEM+lVDCIMmAsMzUMx6AJzUFElL11fn2Fb9pizbWL376r4WShkN/T0CU3zyXvy3Pkyl6lxk+uDbItCAIHr9U65EtFfRBKdSc4c1qAGH9gEAveRT+Z2PV4SWFCKXNq+2+m1qE8wNBPWwe/WPFehFBYMAlACwum6rLK0sX//n2mWKHkPM/ZuFEL0/AxCHYOPE/t+zJ67u1eqJcvHlhPpJNsuCeKb5O34+HPhkbXvY1qMLuRAI1bY+EFFG8rk3cAaXIIqbW+WMJXR/vEHeZCQvX3/THrvORWEg4XGN9ms5iWc6INcySvfFAFsfauJ+OqhkGjeqHGfwtM7XMB8fWI9zWf3DPZey2wWxDk2ghR2Gl0CfsvK7o/WFoFJtrHPKdUTcxpWbGBl/VfjbxqwFnjm8VPuUE=",
"Shrek (5)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDU0MDMzOTYxNywKICAicHJvZmlsZUlkIiA6ICIyMWUzNjdkNzI1Y2Y0ZTNiYjI2OTJjNGEzMDBhNGRlYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJHZXlzZXJNQyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9hOGU5ZWM4MGQ5MWFmMjk2Y2M1ZGZkZDFjMTJmOTE4ZWZjY2U2NmFmZGNlNzlmMzNlZjdhNTQ4MDJlNjlhZTE0IgogICAgfQogIH0KfQ==",
"qjvloGYSb4e7/fGuru+8E5qwnsb5QIbQumjz8tsm+nMfRmIM5OUd5UcrQkMZz3EuHhxvUySGZ649lJLYub3r67Dt7BbDT1dNq3TxWgAU7gFcZDmHpabreqr95nXFjWoXw75kMDbB6vwFO6tSYQEYY6MlzLrRGrJoKQHvQhZsrCcQeYeleCECOmfyodNX5AaqtsRY0onXZmG27T/KN6hpqHvLkW7nhtvQoXlOdeqhuxTgEBzi9Xdzv0dtixpG9QZ8Mw4rFLFi5MWM8nj3DaPkQbXF3Arxt4/2PFeGRsDuKaqXuiIJNk9mZpc+eenUcFow7ANgsFhByYK0kgorDj8XXAxncmEjAFX8RgiWY8Yh3zQyF8c7QM6OB2inXWqNd7eox56xVcaYUO0K7YubXWhfAnQMGq4QhuaUYR4VAGgXuAjayQ8r/fgNpgs5KSxe/hoHT7L68J2lJtfObrC9dQaAR8skb9oSiKzxq4QF5E8Jm2r5kz+9DgApDr9Ml+GZIErpve6I/Vk0guxp9njvajQCAflze66kJJAqxnmaLGwFQIWj8WlBv4994xtO1pa7NPBrSOW0tUAW13lQnQ/s4AeW4f5jn5jFzi4IvPckczCLC/1Y6hVVt4AYNfUMqymDNStfRarmCVErT7USAYVZH5UumnflPWPq9sXJp81U3SoFz3o=",
"Shrek (6)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MTE1MTM3OCwKICAicHJvZmlsZUlkIiA6ICJkZTU3MWExMDJjYjg0ODgwOGZlN2M5ZjQ0OTZlY2RhZCIsCiAgInByb2ZpbGVOYW1lIiA6ICJNSEZfTWluZXNraW4iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2I5OWJhYjA1OTY2ZGQzNTUxMmZlZTcwY2NkZTQwNDRlOTlkNTg0MWFhYTQ5MzU0YWI4NjFhOTI0MzIwYzQxOSIKICAgIH0KICB9Cn0=",
"rUOGMtlMS8/Yg0nFHFMGqhImszmBF58mS0OyeOF4dTb3WPclqke3d8Jv/Z9xct9uYzw/Fb8n2TphSkpKvojh0xHCDSyG6bYuOrJCri5eCc88tExVs8TzdeVj8kBToYezpiyNH2EXx070r493w98P7wfEKQ/exmnKLwmz3nMZnyp/mHV3ZUtsqDcbvuB8i8HBRrxfepJoMa8rExUuBZNmRkTrjBlaGAl1JyXTmxNoODdk5/P8PoGFgJOL3gRokZtWytkRyNA7Sok+FeoXQwZaz8IWV4J9slA87L3RzCsek/BrXnOd/+KAPSJISgznvfGATmAoOMpBHzrG2ebrtyj1/SdejGI+ri7SzYOtGZ9+vupQbADOcaQYjJwF5J2VVhYpbCc2LK56Xx+oQavuwwuLO+X2jQ6Wy8Gsmrn5ahR7eMWv894ZGDiNq98SqYI6bkGsREGhfe4y1c4dzzIyNhb76NV2EJEDHaAjr6mwWZ2gludKgKxAcptyXqfB9FTg+r4s/0N2nrD2A8M9QRuHOK4uUZhTZdNSEkoGBWpu5+rsSyp6wGtJ2VKYGxKu7h45zxRuwm+AOHKY0EUwBoIqqDT79B6Gy7IeO18+Hn90aKZ3fZLOKPeOnIjoLICHAYfq1Wb44ejSrOdfw1H10eEuk/wevfBXCzW0om1EitkHJeMo/DQ=",
"Are you winning son?"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE1NTAwMjgxNDAsInByb2ZpbGVJZCI6ImIwZDczMmZlMDBmNzQwN2U5ZTdmNzQ2MzAxY2Q5OGNhIiwicHJvZmlsZU5hbWUiOiJPUHBscyIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTM5ZTgzZDJlYWJjNDBkNWJiZWRkNGRkMzg1Yjc0M2NmOGQ1NDI5YWE5NWQ5YTUwM2JkNGE1YTcyYWY4ZTEwMiJ9fX0=",
"Mi2yxDwwclwrm0RifumPC/FonqFsXcxGJz8efvz0lP+p7QrPus+/vkz//Rh5QP4OYVPCHpszdlHZsxQsIFhTnlKeYtAysOakoWeJ2/grTVb9mYU5a+CqAPBjFDyr7vaSUCjxjS6Sx93OSg2qIGe/8+fclJq2dnY89WeMugsrqdCCfFIqHfZBAf85r8ghEP3rAun22a9WJMSveMbuPHzhzPpRctiIyajjcbzlV81v2ZOPy3VFMs8/zN4y16eDg73S0gA/KF7QMmF/USXNUxKyqpCfIt1/A/LikPcIeQxy5N/ILV6VTJ7GN4KNCek0I2a5yuGjCGlh3btZpgHXL49RjsG5/eXj+RuXl/CfOMwmU2U8vxsXETCspnMHsgo+WuCiIbi/BU+ZnYxjnb11oPYO9TNSCELVqF5CFGKodB/CUxlXsYUec4FgXUoiRVFNdVZRmWSkH3NYqn2v0O74yzwsBKGZMPxG39NadD+KTvbTZNWbAP5EY29CUonCDg03NuXlBxI+7T6k6NGqho+/HrdQ+mb30CcVrftYyNYNqUKJ4zH/Co+qm6B9cch1clbo4yaCXYvLeR2/BMdI1+wDDLRQIdtheIxl/qaHTIJTTCMyAiiTgv1D064Wt/pJCwdSEE4cTYnTcpev/KfMw3rXRB0gjr4jg/1V+tj5XZGRbZUHC6c=",
"Uganda Knuckle"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MjMyNDc2OCwKICAicHJvZmlsZUlkIiA6ICI3NzI3ZDM1NjY5Zjk0MTUxODAyM2Q2MmM2ODE3NTkxOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJsaWJyYXJ5ZnJlYWsiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGViM2E2ZmJmMDA2ZGFjMGFmMGNkNWI4NTE5YjhjYmY2NzUzNTdiYWRlY2E2NzhiMGQwZGNjZWZiZDQzY2EzMSIKICAgIH0KICB9Cn0=",
"VRNS4JZai8JL02nX5keXU092Y+6pRAt5/td9jo6I+bFFeOjAnCwiBTX2taREJM9yEeoX38N5GVHhoYJ+csn4vgkFn1dAtiRxwkk8Id+ESLM+QfO0wKi8DHv+lDb31f6W9BsNkSdiE2j5XXe9/gbIUyxV5gTt0dm9cgrw89AliUbu+zoqxmnvOgXOFDjuNebtpo0hPwMSUohnJ4LuVdzObvHKhun/4131VgkqhVg4+37M2eQhDRtwl5uqfujad16kvWx/DWfO8ht1zFhzJRO5ZF6PXuRF431u/pE+iP1o6l2PVyQUGuQkupfKV233tBWxWG0NZLwoKLysWCWz9EuYRGnH2KhwtKx6KisN/EptESdZbWnGH+LTLyXleHNwwh6hrHkMDpDB+dTOgT4/U9kzFDv0dgOEu5IqjF1DMi3C2PTgw7Pv/rYmKoeVZUfofI6r/sSmCWNq45Nx/BPQQuLdy0y7X5oZuAkAB52ng/KLweahzRxtE2JT5s7kv4JhwHCrydoxDKl8a3SeUCMXKMaF7ZIz7OBez7jTJ6JUjzMAircS4/Kj48rN/RENouFTs4HASi+ibbhY1coCxTDAfe9qvM3rmQV0wQubXXs6Uxc3JEpvFAnC8VkcFkRg6xgF9A13UVJiHUvvp7ShwWNgZbdbNigKOOYN1nk3etMqJ1SuD8c=",
"Gondola"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTAyMTI1MTA0NSwKICAicHJvZmlsZUlkIiA6ICI3MmNiMDYyMWU1MTA0MDdjOWRlMDA1OTRmNjAxNTIyZCIsCiAgInByb2ZpbGVOYW1lIiA6ICJNb3M5OTAiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTg5MTBlMTY2ZGVlODY1MjY5YzU2NGUzZDUwZjQzNWJjMjJhNGZmZjA2NmM2ZTI4MGYzYjQ1OTQ0ZWFmMGIzMCIKICAgIH0KICB9Cn0=",
"JgG0kkRZEUsZlUVgKjG5EmTJ+GaDQ80oYC/ieuVVihp7kfEQ0T4oACz7s6HrevGbXURC4tgKwj0mRX02lGmbxYI5b7vOV+yis/hW7f6VAyG4wSRfjaKYEoVUBRK1h73+OTK0ds5jZK6F4OiG6kKWaLDMHGGbP0xoyiro+Hp2fmriNrBu8bVtrK9q0XAnabuiP1srkNW7kohHI2bbNN7qp10LLIoZGNdolMnc2DhgQWgy7xs35/I7qhVUxteqo51+pIap1UK2T5qnFcJaVyVIqDafYb08XNjBZrcM4iFP5AuFR3qxiHqCCE6D+y772Y2nm28Tsd6o3cq4NakLedZyaaOPjmcZmym1KRhZyVJ4mHOopAYXY4/y1XAqQba4dqohLWryjU0yW3XlUdVOtTwuDQaEvUDvgY7I9wPpfnV+hk9nrIPMGfIv8mVBbuZjccaFI23HASc6fKbnmX2WdfdG24Od19YYacfLEsBpKPuN+WQJvYc14yMFxVz4fhQ9dYIFA5Ful42VVsBWMhY8Lk+qhtzLlKnOD1VYsHl/rtKvJhYRIMaUmuQtLJuxcOnkC0Y+ajysux9ka30IZvh2jopP5ama+N+DXu0ESMf7TUqz3YFn25Pjmubm3px+N1i9bRamwyt1eKtTGZhQURkSM6L/ym77JSQHZX3NGveiSvDRgIY=",
"Dino (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MjQzNDg3MCwKICAicHJvZmlsZUlkIiA6ICJlNzkzYjJjYTdhMmY0MTI2YTA5ODA5MmQ3Yzk5NDE3YiIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGVfSG9zdGVyX01hbiIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iNDY5ZDk1OTdjYjE5MTZlNzQxY2VlYjExYTAzM2Q2ODY4MTFlNzkwZTllZGYzODc5NDZhYmMxYzM0NzRkZThkIgogICAgfQogIH0KfQ==",
"d99mGxHJh4ej7bP+vNuuOpCSwabFVXxBNETQUGUvd5OhBlbgqVXVWMzYS2d3KZHQXpLpPPamNprTTMCrDdhbrmTLrkRHxedzmjmryv5HXywwrgD9gzmiglpx92Gcl4SvSz0dYa/iUi7iRZa8l5khylb0iJXu2mXq/OVESEKLkJMOe4hMoi/13ryms2r1IX8ooU8boQ/4VzDOL8zaXbNDC9/5QC9CLj8SxBsj3JGIr1fROaXNeFdwWzZjtalpWaibHoz/xR+3EGh9W/Re/clmIDH16qg+m2VKiy2LW/YGllbPZuYMORXqvl/ns7Rl/UDOX7Zw5/5SVh9zUqjh+1HUHcz901rl3bkAWE0acjIODV2zt3JmYQdEBPIOR34qdmvPop7t6LyZFP3Txd6rswHb5ieNPJr3oCR5g9N37YIMStf7EBusuFdFoUkAaCd4SjHRKLMv1ML4hehD4qkfSWnzUujc6b/N5GzmitqaDLdUnNG8IMjxMGjMQi70cJC0PWHoPQqEtWPkpI6JSdMfypTd0YOu/z06tlhOEIueVDDOz/BI18+45rxXWndBYsOw9+Y0izlcDY1HoWGeWbiFDLKKHmbuQ34XSmeDLzVBFQmJNwY4/n7CtX3VuhRSyZ443H6Jy3SdiAU4ZzL4KCzQ6g3dd7vCWGzY42eI5mtSv6ad3N4=",
"Dino (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MjM5ODk5MywKICAicHJvZmlsZUlkIiA6ICJmZDYwZjM2ZjU4NjE0ZjEyYjNjZDQ3YzJkODU1Mjk5YSIsCiAgInByb2ZpbGVOYW1lIiA6ICJSZWFkIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI3YWNlYjgwMzJmZjZjN2EyNmQ1ODBkN2M2YmEzMWFjYzA2MzU3OWNhMWY4NDk4NzYzNTJhYTQ1ZWQ3Yzg4MDAiCiAgICB9CiAgfQp9",
"QlEpcYf3A8bAci0OOpBUnL7DRg1iWoOySjJskMRP7sIrhwrKUogTummu2fF41xQdzXX6iFCSfGUDehF+k/ycdzv5icDF00i/QuXh/+TvYHV5iOsVzpcG9BCv9F7IAb/ZVs7FHl9OMkTcp5cqm+iKYRzEwxgYF4KUrTRsIIXbkIxlun8zxE7W7ogAOLlpVlG1TGu/1eU+X5s2K0xeeyrbl56fzgxLPp+CDFJT71lco2Z4fVF1c82MAPuD29AW5QO0OeWmKTqzWxOLIooK/hCfJ93IF0IuHZgZ+xrxyAzcVLGx/Cwq0+/Ce7ZsB05OhLYeqQ1vyNhyuxj12Nk+DeZJmV5PrJrPLsihNhV1e7L2KEHdBnV4ENj0mhfLpUelKXBs+po/G/2ZBwpl81AB3shsNCFl7QRQ5jd3+IYbHvhG9mlUABl7oM7kqZ7MmbEqeYXutf1UPYXIN7ig0XJxuCh56/o4rikykEAvEMFg7AN9UMTftWvQ7xcLtyJED0zDmUYQMMcpCRQGSZrhVhJ7W/YshGxB5yo4oUUE+Ax05dfUWCif3Bc0VfbKMu3eWoAogU6zggTdb/dlyyArxt2QH5vSLBEbu1qCPMOMy+cuZ0K+BCx3Niw+vIlo1qlWLWFgBXdzPNPowSSv40GPpAW8Sb0jLSantLYsAzBMaFqH7TG/9x8=",
"Dino (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDc4NjU2NDA2MSwKICAicHJvZmlsZUlkIiA6ICI4MmM2MDZjNWM2NTI0Yjc5OGI5MWExMmQzYTYxNjk3NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOb3ROb3RvcmlvdXNOZW1vIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzFiNmFlYzJhOGQ1ZmZhNGFhZTg4YmZlZGUwYzAzZDNlNjg2NWI5Y2NjYzVmY2VlODA2NDkyOGRiZGRkNGRiZTUiCiAgICB9CiAgfQp9",
"nHSuaHrK/AWjlGHa0lWOwKbg4IYk05v3B5xd4XjdT4zgdcOvvn16EiWWCYjaHvVp/A+TKHSBByKgASEkzse54huE0H83nZl9LElUNuTekQjtPuk+OGjoLYTSz7ULSqrfj7tQ1wQJ0apMIt0U6Kjd+sZWYaD1dJrby/p0ZBWHHy4HZ77vAIc8g5Dxev+dYOrI7zI/SiFjc9xQVYIYShnaEzUTlRQgBehNENay3IyfqhtgeRq6nwxlZhQjfQu8H8OFLsUvDFFLHOxhlfGbaVt76gPrs7T9QkHkuuoRLMXCaBjBVbcWTiDRKA6TPK/QVe7oMuWlugEdD+NZLEzKXniJO3xb6G6x60LsnqZp9BzCZ3zSCGJ2UbuzfHvM39s8Tn8fXhxbZcp9QsJnSXML11OOsomOpkbbImcwiQCUg1AfVnjj7ai2Gata2F0Nk7jmCSwObqCd0je5+Pdhb+kbxltQyEcjHLeGfWkfSdijbjfQU1hM3Kahz1tWnf5XWgPoSRRqS2est75ihMg/0hf4omh5Z8ud8tsCpHcJva5BAOgUMOVE7Gt4+TIH0U2F/0G4gtL3PI9BU92lgKr1JYB6ABlMqKjJ75JVolnNcHQDFgDrpsZWgWuUlwoUhOYcUZ+OKD9xQ5rMbe1TQpBw9dobXSYW+0EJTdtZWE06N5vuXsj5Puk=",
"Kanye"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDk0NjE5OTUxOSwKICAicHJvZmlsZUlkIiA6ICJmZDYwZjM2ZjU4NjE0ZjEyYjNjZDQ3YzJkODU1Mjk5YSIsCiAgInByb2ZpbGVOYW1lIiA6ICJSZWFkIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzhhNzNhMDFjYTc3Y2Q2MmI4MGQ5NDFmYTA3ZjlkOTMxYmRmOTYyZTc1MWMxZmRlMjJlYmZhMWUwNWM2YWRhNTgiCiAgICB9CiAgfQp9",
"jlwNjYufj65YaelCJ5QvcgYtW1n4EdkbOkPwRLcIa/SRhQgpmWHtNWAWrddpLVNsoLB1iE5EQ1qibs7DxxEsGyzg+Gvxz5z2KFPnmUn3Tu7a6gqeEM8xeIPjc7gRx1HVP4zHy7hL41PR2gLU3E7KwCfjICNkAjDQFbTpBO3tYqewUWc63n096xb0UzE3XdrtL29MVrntssb348Vrf4o7FfeqfmzwiagWpBcEvXByAUZIR2hlszs+RYRFw2pnnPi7bKJRSVLsu6eSox0GaqA5T2VWBlmZRvyjPI77anVJVF9c+VcxMqPWeDpUFmXs8SMincZi760AOZp2aNeAkyi9FWU81ahbSxg6ust0GjxGxRV2aMLmVbl4OPtrvdHAJLi8wIieMDege8zn4u0Z7PoJWmE2dc7FE9m74HYuya3krBcRdb5D8qRGvhTdcWJxL4ccfqawE3Oy5/DOHWbGmRpvoioEY6y6USGoX5Qq/j04TBSFVlMhmF8cetRffuk9gFMShVdDkkwBwmxuO8e9FQBp/LRKUPhozxDDSPcd7krdXJFDXzDnG6A7gZMlvBOp8OK4uCZO1fbtVRFPXMB28cfAjiqfXIKh/YuFwvyEB4YMIqLl6wAd+xmcl00dOcEO6JEb0QN9G8M0QMcqBya9XIZlKFkILlnQjPmr5cxK18g5chE=",
"Puffy boi"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwMzE0MDYxOTg5OCwKICAicHJvZmlsZUlkIiA6ICJkODAwZDI4MDlmNTE0ZjkxODk4YTU4MWYzODE0Yzc5OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJ0aGVCTFJ4eCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iYTdkOWMwY2Y3NWU1Y2ViM2NmMzFjMGFkYTc4ZDNiN2VmN2JlNzExZmQyNjM3MTZkNmI5Y2VjNzBiNWIzZDVhIgogICAgfQogIH0KfQ==",
"i4ExVfC7L7Hub+zD732ZY+cmQU2LTit/o4IlRfRFYv4+/7lZP0cAy2nRoIja2ZiJvYR25AvRDEFUT8/Wo/7odMBHe04KSqsZkuJ7qA1QdVL6/YfRY1LefArzORoRjPjaONi2IC0VQW89BjkGnoOVpNSZgfy5MULmQmx1cG3a9vZpVulIrYl//Kk8TQjZenthb3EKBSrOrOQdUPcmpUx0REqi8hfaxa+PoS0/iAXOHs1eUZV2oPIqRu/szJg+ty0U1i52M1YNv6jIQIcct7ay0A5CH7L4aHJhm9UzxLqveUQlDldwm5wMiAL1GKhKaTsH50wqo4EBwseqJGKsq087Bi8hev2frCh+TA3C/3kg8Svk0v6lSHDUq8JliBQ2mHfXu6FmHWUlyPFOfue0sHZlTOIdx4l/YjXETgP/slMZlLhdzJIfWqvOeLHBHKv4OJ92pcR57z+i8vE1S+HOw4Jwx+k4qiRMwM+5tZPthV/0MIclnG67DdzcVlvYgC+bo/pfTASCHeo7+ntQXXG4wf/OKYmAoH0wzXsiMZMMti8igww7ubG3u18+KtBHyfZoxttW1cBvZJE5oQKL/XV+cbLj0NIW3ysmaa3BfLyaiqnTFJ74tfspqaPTKR8poxbQPGdE6WSFntNsAYHxfzhA4S9ZKr09f2OngYsw+iDmK0sUJnI=",
"Stonks (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MzE0MDc4NiwKICAicHJvZmlsZUlkIiA6ICIyMWUzNjdkNzI1Y2Y0ZTNiYjI2OTJjNGEzMDBhNGRlYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJHZXlzZXJNQyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9hNDc2MWZjYzgwZGY0ODdmYzc2ZTNhYTZlYWYwY2E1MzQzY2I1NDVkODNjNzMxOTY5MTljMmVkNDVlNmMwOTMzIgogICAgfQogIH0KfQ==",
"j0n4dCjaWyfsaES87TXIwBi9LaBCuArVhPwtY7Cka5Ol2HRiiYt5oYJXT0BIqYN/c8PKUOH9rG1fIw8/dqJYrtjwT3u3HjYvyQwBcFrfpARq3qnEgnhJ5AUNxecU2A69MTn5NPJjTbb9Xqwd/SmKEAXGWv/lyGCzia6iuatkT+dnAzRvivYPtPNV/tke2x3m1E6rQoluL5+7+wzHNZwn0XRtbXGNrNkWEfJeazyTFEXLzTWpiokRSjICiS5kc9Vx9R3Md69BCGg4IqgsYQI2t/MKwVzkL8cb7timVM/3e79wX2gD9kuCbZESE/j58mXoO9S2VPTJ9eHCZaquq3gk/F3ohFl796L0LR3QYGQm7vzVXQMtjWDo+k7jqnD3QRMZXWgtXBrLB+JT2exdfAw2jtvSKxrAM0r9fS/LbSABbbWtHyOh0oKRUou37coyIalcLirqdcOgPK6QHXSifsR8A536AtyPm86KyjF5BxZFuHikDv6ewkkG4GTpE5Bg5c1xABO9bDECcWDXQ84LG6Ob1TfLbkL1DooJQADIgnGcXmEt3rvYpOt66rCtUJt/gmKAQXkvHZfa0lFLEQ45XbS45y2yJUwlci4YRhuPOdWLpimHI0PHy+YIG+th0dQw8yCvzszQa4cIm0GOvSDRQgOxawmowQlCGJ79hL0I4xBDsAQ=",
"Stonks (2)"));
// Police/Terro/etc...
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NDk2MjAxNywKICAicHJvZmlsZUlkIiA6ICJkODAwZDI4MDlmNTE0ZjkxODk4YTU4MWYzODE0Yzc5OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJ0aGVCTFJ4eCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8zZDIwZmM1MTM1OTZhOTY0NWE5OGRjMzU2NWNhY2ZmNzM4YjMwZTkzMjEwNjIxMmI0YjljOTMxMDVjZjZjODdhIgogICAgfQogIH0KfQ==",
"PYuTqbCg8PFFWCGDf5ALrckDLdlzISO41XhcHRY4Q4L5s/ZS+2jHQkNWZToBV8F2ItYtE3HOIe2QjEBGojIAJJylfz3l/HqxFudNUSKbSht53MBYN5rpwHyhdIb7/iShTgNAQ528682/oOaDmU0YR3ZIXZY5Ji4Cu+ssDVO4c+VtTcv/FZsWC6poYaM5lwovLi3KUqq0qyuOZvVDg+GS/3GBVOonVkOyurn76qFL4VHKKTU4qe/dE8rqOSqb40A3ZdN2MinNBVrv2HHNGKXuGLUtt5vSewzJiEkfsKLSFgGjU+gN60qnnXFuuVS+ktgaDQ87OuvI8/uG43TB5WrAGtDZNrvsbASqSjlv405jv0RoOFwqc6iFtzeE26Kbu7qyDLr8IuKJ1RwP2F6N5Iha/VpbA8i3zxuXxAqHBf96f9E+UMjcXz5OgVfcIGqROW71K2u6EoCSRQ1Oxq2ArphedezWJvzaApLpIDAyZkhYENId5WPA1zl2eRr6mNCJYdd8u+3V7e4soWm33/8qUq3cMmxUHZaNtIXN9gqiDT5tNOqU//+ZFaN2AnCd9w7CsW54kk3OYeFImcbno/jXF91BGxHTVT05Z3a7P6sEQavrFdOkVz0k6U9l1k2dXZMejf/anvGsA6YNgRCOvysR2bkWi3Im4cK6mVvvLfv+U4d949A=",
"Terroriste CS:GO (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NzYwMzcyNzMwNjEsInByb2ZpbGVJZCI6IjkxOGEwMjk1NTlkZDRjZTZiMTZmN2E1ZDUzZWZiNDEyIiwicHJvZmlsZU5hbWUiOiJCZWV2ZWxvcGVyIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS81ZTJkODhhOTI5ZGFkOGY1ZTcxMzFhNzFjMjE5MDg2YTAwOGU2MzE3MjQwYWVhMTM2MWM1ZmFhZjA2YTJiMjBkIn19fQ==",
"NB7urxQkbFkDiBjbCHMGt8lxq0Ky8xk7Bj88P1b4Z4ocTVdWUdxILAg5PwaH+KDmJQOjKL5P58u8NLj5LHkqSVvIA3lhBZqHH1LzrDhHvjRJa1Qjbkf4kE97Jqysb4TtJimU1PxTYanQdSWZEfHGWQUv0vWv6DkbjGKt1vaG40JnO1esVDYW77Sxy69yK1eAUIsPe7fWN6OgrRtxVPE9CshdyvKCfe0z2DUzRJrTuPCCiVfoWRMo8jDSKr4Oin65XnL6ZcAXwYcS0j7fEy+Lxk7H5dH76n3v9yYeuCfSncPvvb42s/KfDlmWgeH4KBjgO+bvFmbUnn7z8w0w6ymr1NPkif/yp4fe7il0TuAtMxJCr9nt5ifA+Tk1fZq2EVVAPo15H3OsOxCHCJEe6kaa870+7S2yK6Qc1PpVbWk4Il1LlXBRB5nvNbpwlU4L4wNlC0KRaCv5TqTOvK+zZEDpXJ45qfRzs/dzg8fzGV12+zYqWSlpn1myvJHLZzRV29b30I4l1dnAklUCEhs8OtSTj4peNJKC+CKEcR8NbTQ4eyY7pYfAWBKbwcbCvVCU81axse2cYdcda2BKHZ2kB6MWeNWsAP7yQqwsvfXm7DKGMMDQxHoyIHwGTxejo3POAX9L5k+NCkL2PfBmiZqgglMPlxmohrI1kXsaIpcucX0AyI8=",
"Terroriste CS:GO (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5Njg1NDk1MDE5NywKICAicHJvZmlsZUlkIiA6ICI4MmM2MDZjNWM2NTI0Yjc5OGI5MWExMmQzYTYxNjk3NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOb3ROb3RvcmlvdXNOZW1vIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzk5MTYwOWNkODk3NTljZGZiZGQxNWU1ZDhkOTdiOTE3YTU3OTAwMzQ1YjhlNmJmMTgzMWI2ZDBmOWE4MDA4ZmMiCiAgICB9CiAgfQp9",
"Eiyjm9NFU6Atzv014GTrkUZ2A6F+FY3DluMWfIk/tC/oDnR4zcA3mlaNECRvAfRzPHx4Euo3+zd44RQK2m+NRDExzk0m2ClIhYzdxyGAjCL90I6ehR574JsEOt7wGITTJUxUMKvD2ool6J77ejRutOJgprrHEikc2LTygha4+9knx9Pwn8i7xygwN9ETwraxQyGhh90ug3VWtVPchX9pl4IRLrH6yzqo78+Vdxm9xPgkc1ndMC4KQJLFrnV8Amp6M0N9fNOPM6RrTctkfRw/LCpFxEjxtiJOpR/v555VHjhgMrNRCPqPj5Gy4eeYO6/Puh8KQVdFuDGApLLIkPXPfCmt16sGfcua7TjHRF/mUJ3GY8Qaz4HsjL26n05FSsPAk0B5IbHquqJ6u2//FJ9U65l9Yxp/mZ+SsmYA1ombol/+lDwCoZaSj2gATCVhsWDOg0ElwjZQVTqU+LMgAWWsRky1oUER8kxG5yfQdRmV9grgc3NjLIdroXdatAsFBQytgfPLyXF2SFS/AIE7+a9fdeviGN6PJ/prCRozT9dp0aBtUDfEs6wqNL+FrdfP3As4XgyNKxWfLujHqFiS+g3n+AHT/AZFuu0k+c2E4XerASkD1i3/vwz6w/SkSQMzAMv+pR9JDTQeQCq1GItd0qsnsQHF3WtGMFdx8WRWXw5dXk0=",
"Terroriste CS:GO (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NjQxODM3NSwKICAicHJvZmlsZUlkIiA6ICJlNzkzYjJjYTdhMmY0MTI2YTA5ODA5MmQ3Yzk5NDE3YiIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGVfSG9zdGVyX01hbiIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS80MDI5OTc2MzZkMDMxN2Q1Y2NjNjA5ZmRhNjE3MWMwNjFkZTBmMTg4NzEzYjJlMmNmYTFhMjdkN2MzOWU5ZTNhIgogICAgfQogIH0KfQ==",
"tibCW3aNgCpRhENei+K0Kvm3gUyfoL8iRm2wqWF58R8FnawEWLf5/nnbTpxmTcoSaIf7SILt6GW2l7kuUnAzxFtAKCLbNcBbPaW6CzRoyIR8NDtNb4ROUzk8VSJdxpLNTqaSGuApGJxPzBpfWj59onso1GAZ+QaUmTBxTJdoE4dD7wssv7EMTVvd1/vT87ucGVdEmrs+tsoJt3d5EY4i17JjonYWEZhsEYAZUurcO6c65JKVTxNcbSn7oNH9dmwFhgYc6y35ryXv9FdOOPb3mtS0pFvlMYym/jhB/3dwNnEuAW6e4KeuatABdjApkoLdu3uZt1QUxgfxQLMqAubIGRZGbIMMrjMUrM8Wt0dNTD47hBg5tiyHaSUIM8YSnW57eRb6m+Kz10ItvI9QjOn0HpzvctMTEAlBS3ZrN3ca1Ppf1/w3i/1KCllhBXO8JLBFebiK4nRiCII14NYyaClm2ya1DBusPMUtW/X5LkFYNlzo1V4xR/KBvcCFpyGoobtekBKZFfusEpVn8Ue/cMsGiOwNz23/tGdCZnSwWgF7sx7MlFZer0tCyOFJrkGPEXzTQ9Zli3ZDrLveai7iXbh9sjtKwGK0zsVSOdyP15E5z183zOgchv34ukoKt01e7rF+TniGAisu1ds48R+t0CS0ZLWFrAbL2XHGs/Wv264eUJU=",
"Terroriste CS:GO (4)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODgxMjc5NjM1OTksInByb2ZpbGVJZCI6Ijc1MTQ0NDgxOTFlNjQ1NDY4Yzk3MzlhNmUzOTU3YmViIiwicHJvZmlsZU5hbWUiOiJUaGFua3NNb2phbmciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzJiYWNjMWI0NDVmODBiZDU5MTdlYjFiNmY1MzIwMjEwOTYzZDNhMzZkNWZiNDMyMTNmNzdjOTllMmMxODY4N2QifX19",
"DEIVelzsdQag5nCWxmgYrKUkgGd8v0eUiXAydUbGQXxJrjtbqzyqkLW1qcC7+zUqmsAf7S7f3KdeCFffDuWM3v4RdiYBocoYwOZK0cjKSCF8Fs6q+rpfMOWwkNUgBGrYJHM6VeQFNSsxXdKFAI6vnrbbtdQF0CII4T4ul3lJn4A0gJa0pclaTmXOovyrQhSBnndWst5dyi0W0YWHVS13N6SMlQSx8w0M83QwIE8cjGVYe/ksQHT2MErUXSrX7TsvRSOgICKgVQOSrO3b3U7wZF8ae1V88Dw+AIa7o83SRbGp7FyLMBFFbtFKsdB72t3bULMv+YVISp9coz+nYjtgwC2smC76UrlbnZGxe1cURconqJazwEIqdlr5xEHVv7Vij90QLYAWrRuZ7WW4PDh7/5put4E/kO1kdTsrqzrJvdrFXs6IVOxePbZGHYIbylahDrq3tlH18UWA534OtjiDth/j/Ali+z/jXXprzRb+I1ZkCzY1Smm5Ksdu3Djo/1uo1tfK8JgXhSD8pMzp/FQkYGFWFAdsEb2YSq868uTuQB+t++Wte5kuFveVE51ag3ujm8IPFWNBM4ar1rUFgE4TIAykVG6agmNOYlce+XDoZ4+NSJwtwS3hseKor6egAcspUbcLMzvTmvZuZwfxjoeDGQsiTBhp/xfrZzOrnuRVU5w=",
"Gign (1)"));
// Minecraft
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NTI1Mzg3MCwKICAicHJvZmlsZUlkIiA6ICI5MWYwNGZlOTBmMzY0M2I1OGYyMGUzMzc1Zjg2ZDM5ZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJTdG9ybVN0b3JteSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9mMTRlNTIwMzEzZjY2Nzc4MDRjZmVlZTViYzRlN2M1MWVlZjI4MDE2MjM2NTg1OTQ2MWQ5MzJlYzY5MWMyMTY1IgogICAgfQogIH0KfQ==",
"Akg1gXwyRHEdbw4WOY++BCBIvaHsMuFsQTyZmWA/UDXDSA1e9/+apwJDtvMcSm1idqE6fLDUljAdaki/LS1WgkO+G4qKrTetv5MRSa+KUDYyjjYrMHFy7LAHfz346rIlDdhMKGFZFPba34rLH6Bbg3OU2FxB3uWgBJDdvBhHP/y98Oz7hpv4rxufOzluwmEnGrHL5AwUhcbP81N7ypHiGW/l7BMTsZW7DDDnrkLDqVx3AZ7g+lwWApXYNWhNxmmutv2u/NEcAQWQmiaRmn62mmPKHZSQ7gLseWI8lrYMh5qzNTXyKm7poc9TU3ErcsoS2mqMJLpdQbSuI0fqv04OjZZRf4VaP/OeqChFTQcN9QsQcYHBDX03yvXZ8fqB2QDye1+mLyENhcC9lA9UUQV+zZCyNv90snrMqin9cdUJ83ikl/ezeHO3WtwjgMc6ogDYgz83edFkfoybADtoseFR9nDAOr4DnvHU9R4gCQ7fOmhO6ltSTm05uVYAc8/E7R6KbDwRyj8ylua0XUSeu/aBKL8eGdSjqPQteMcsdI/oPx6oTzEqyP402351bidu4jFKINkJAAAfC4vqia0Ngdmb0AGW+wjHQCcNrVgwkZgId/Qfg5bL95BUVTUbAxW4EXu7ST/f9nAN2LKg+QEdWlcP8z0J0fKgJjxX3R/2sMGRZ4c=",
"Gapple"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTAyODk5NTcyOCwKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNDliMmMzZTg2OGI1NTc1MjkyNmRjODhjYTY1YjMwNGY1M2RhZTMzMWYxOGU5NGQwNDk4YmFlOGY2OGNmZDA2MSIKICAgIH0KICB9Cn0=",
"SG84srNSkXPJaVsqSqsd95a0LEKgkTlXzayVQq3yTfRgv1HDjbE4jp02+bZDRD30HTDjqPT+HbYcyr6uMsO0keNNDTHW3WcARZDZ9dDy+TY3hN8vUU6ouZn0A8OQgJ8wpmgfCX1InXbHOaPs37kEvLMXCO5ZDSMdGwT+mdD7QavBtFUmYhQAVnIceSrLvt2V0tHHEyZ/mTneIWiAMDqECbvaNxqF2VAn7SSpYjcdj62YdJSj4pc/1UFUl+ozJEuuf7MfTgF5z1/u1mB+LAD/EFa+qTThG2Eps+4vz80wteLKuP+hqaao0AOL/pmdH+udf76JfeSifRWzhdwIh1draZpxdMFQMwJtYQg0Ylig0AtWIwP/Y8uQVnspnHEpG/uFEDd7T6eDcw1xZvE0rXjWcvGT8IUKKE5JLtdogUkm+jaMDBUirPmPc0lzONAeUT4sHRTPkW5WJMfXSzEaNhod+NZrSi+qEXUPyWr0SDl9gO7UIV+oc04F9uOHIx/3YjnY7kcYCG8l1m4u5qHzNrHLzNBlidToBBIMrAmgg0O7KVjk6gZh4weCXdqgGeguGsFJjeFAUQPXrC3CcomQ7piCuoxR3PIy4PDgEZmN49Ab62dYq3UOEMIeL5/TOgc8D/yocoGRPYmhMdAsTYtmO72BTNU82+hUHoJBvHUOAJ6lS50=",
"Ender Pearl"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5Njc4MDgyODE2NSwKICAicHJvZmlsZUlkIiA6ICI3NzI3ZDM1NjY5Zjk0MTUxODAyM2Q2MmM2ODE3NTkxOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJsaWJyYXJ5ZnJlYWsiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZWEzMDQ3ZDg3MWQyNDAyMGY0NGI5MzNjMzc4NThhMjQyMjdlYzA0OTU1MDllNzliN2YzZDk0ZDQzYzBkNjczOCIKICAgIH0KICB9Cn0=",
"I12xZe9pidbAiu9/3J1D0N1ft2EMmH/ySbaWqrBMS0M0GoT3ZSfT7SmRKYzzT+pqsobLbHklzIDxYdJ/IbJvBUUNZAnAs02QRPOHwxU3ytlhuSEdljLbA6kM21zg0jjNtEFkzjh1mfWPck4qfxSlOC1PornxOCTHj4t4lGteoLmxV5iGzn+xqmn78j2hUw4UyjN9HQNULVjfKRLCwVK1BdR/z4y3rwfVv6UrslHC1ATUpVsBfy1zJ1KeNqc5B+2dezYOg7nRie3PX6szYNUCGTOUWqgZsYok5qmDcMA+bwzWoYlztiMFit2iqGRJ6f8Ckl6QytyXJE6H4NpzWGi/5HY0/ukCbTRANysHZ7wkO4Hw1ie3Ki2yRarkliVyFNn3/eBjYCWFI4+Kfv11xCqC1FFRB1qOxd6hHLWifTLsGN9blm00AZNmEFh+r0/yG7AxMG6CSGW4/uKpwKevoR+IIw0AJ6XC9QX1LwdkN79lgYmkhzAvgcOQCARO8CETPohavNKk563iNOWQHXG1vhC9YwTHdbXHi4FBtRBgxjaVCKB9c2TEgc37N3/oGtf0PFrYPQ3i+8cBNeFH2cpK48mAe3xTAYRsq/FiPMFoj93tsl+XJAHkMPjWlKFw5zmHOvD6WRTyshXAWbhnw9klVl0WucYie6vL949sUGNrJgdqrHI=",
"Eco+"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODI1NjA4ODA4NjEsInByb2ZpbGVJZCI6IjgyYzYwNmM1YzY1MjRiNzk4YjkxYTEyZDNhNjE2OTc3IiwicHJvZmlsZU5hbWUiOiJOb3ROb3RvcmlvdXNOZW1vIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9jNTk0YzA5OTg3ODMxNjNkNTY0ODIxMWM5NjllY2MwNmM3OTZjMzgzNzI1MTNmNjMxMDNjMDVlZGExZjRlMWY5In19fQ==",
"XCYaHfCs0MvX2KhjB1qvQv5+8jkKBqz8x8DhmnOI+nywRLcjvcCPhduAqKA9O7ouGOWU60/YvCoTzZ0v4cT4A/EnRAH5GZcukWc5cTKOBFSf1mLGhFpG56/yOs2wyo4dSP1WKwmDowvYWe1qxJMZRnMIymmv5PYUhOgqhs+paET/YU0V+7AMlGZlSSVWq5Winzu2nklgt0lGScx4ncSdDrH2N1fAQ/xWFhAV/Heesgw6IKm1QSudyQoCanJQL6ONXg5EonY2Nvf738SAO+G3/Fu79EqFZX2xD9qsciv91P3GDIadsCSAGBraCCDPeuEy2TeSlYGyKH5V+WMIV3//Khr5yGh1VgLNJhWemyCEEqraKDIKuYC0eiWRz5iWAE0YoFT+fMgFSWHxa6o27VshBFdP8AqkQ+99MsBVPuTiGTZKPX7INbjUWxLgyW/B7+hEuPcVF6cJUvCopSat66y/EHuwITZkYpsOTxsgI8561jrIpeqnHze3Hqjsg0mnDKo0hMfNErXpDeMeq5Mo4ChcAwYIfe75v4LAJcIJrji1XhPfBHgNsvZKLcbqutf3WtTZUHepSmVFDDW8ZQ4MsEcnJpklW5qVk6QCCUDArJbiJZIYEQOOhzoLzJTfKbSWaCRW60FfvpDHqkepmOrKepkjnKgBrNSEWWyK1VOqMwk6nIU=",
"Eco++"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODYzNDA4MjU3MjQsInByb2ZpbGVJZCI6IjU3MGIwNWJhMjZmMzRhOGViZmRiODBlY2JjZDdlNjIwIiwicHJvZmlsZU5hbWUiOiJMb3JkU29ubnkiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2RlYWI1NTcwMTVlMmM3MjUxMDMzOTFhZGI4OWQzZDNmNTAzYmRjMzQ0NTA1MTE2MGMyMDA0YjM1ZjMzYTAzNjcifX19",
"CWrYi1iih1mT0IwqJwD0AsRFrWou0xtaWSuFwaeM23upfGXUFFz9k2TlEUJSa3fzwCBA92aRB4dO5r4A5XQC+VLDy0EESewHIFWCetyju+kb7u10qm6l6/2gBdHDXQObFse7f/aKmCr+JPluygI1HIuSpo3RLw7AfHzytkDEu7WVus8c17Z+kqo2wQ4l+Kxje6NfDlyDPsrD7Kx5FqBQpXwL6NmwB8yLX1PbNyQuvc8CVVwMPz5RZK0V+6BBJisqUGEpX8Az6qVpIw6havew9oYoeLPiNKHZfWkXDLpK40mXsWgp3fdjpPRbYxPkWpKkz39OnWGJAk0V2SBVUZNudDzc5WnG1E6jqQwpdSdQzUyDAB9v3NbHV3h4wepEyHrJZ55vpoO8pJL2+izCsz+ik8xiwjf2hBvPWTsPVA5Md/zs8ybBsvbOA2vhWCNRJOyzw4nWoM93fPJmfsM8Caic38QwiN7r7cFNnotx/7zJ8WPygH0i3Uo13UD46VirTht/ywgL5PQTIybBNuZQ+cG/j9kklAqiteM3giCDP7F1u/POcX4oHJZD6g5FeQtpy4NxFUU2YxVyBzDAX78bXAuLSmbvD75fsA9+RSkuwJZRF4PDaGMA2s5Kna4zIH43bn3w+rJjyDFsH9CCym2CMkn0LLhWIAy0Hurj56Hc5XpIcnk=",
"Herobrine"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDk0OTE3MjAyNCwKICAicHJvZmlsZUlkIiA6ICJmZDYwZjM2ZjU4NjE0ZjEyYjNjZDQ3YzJkODU1Mjk5YSIsCiAgInByb2ZpbGVOYW1lIiA6ICJSZWFkIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2Q3NzIzZTgyMzdlYWMyZDdiODZiYTZkNjIxZjFkMjVkOTJiMTIzMDZjMjQwMGQ3MDQ1ZTNkMTVjMzU3MTM0MjQiCiAgICB9CiAgfQp9",
"f6fiNnNPhHCDfBHzZyiicTJDAIrWi1BwMW7Yh9tGEBVA+AlpRM8mcBhPbtYEMPi44qYmPs1ejREOw1HAdhA9nixXbQPxroCR9pr724La/d8zeYdbWXsEbjniqrtOZeG172NnEtGklmJzziwLyp7nsNqykfS4vquh6L/qjB/5fEvj86VH+BpwQO5Gf5L6GRVExB9xsQC9gtruo9+zakxnRbPs1p1qh+42Sk+EbWcPH9jlqhuwBfIUrVu1oTaLzHLKSMHQgQzYvikBu9cB6Am7XNiXIGwWXPN8QeKRgajC2/0Asx8wjZAIdW2RjX58U77IoXPIt4CZ3DPI7rCwjhJ4Iax1wuhuyISeA89Ve36Uln556nILzxgzvLsh3gpuKw64WRTReHHzAmwm3hQR0l/kRp1ziih3R1sIETEKp6vQQnHLBnmka06JyJtDCYJs510DSDOl6M+8sL3tymlOfAgyHQK8ohoAxkVXGNYWP7FTjABlUoy3MIueNqJEjMKu8pxpkP1G1sm616ihfCRQk+fTnqDpy5jeN030UuVRB0qpRXDYXx83YOnAIGVCtqDgxsGsV1DqvWZ0/R3LgS58fMfozvhcI68ktT8/ZOz1nY0d9zTshxZzSEHA2YllPXMQ2CBodbT6T4wdlLjxtcwz9+EyFfAy/6SHP4ERZw7rMDI4p3E=",
"PigZombie Poulet"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU4OTg0OTkzMjYwMiwKICAicHJvZmlsZUlkIiA6ICI3MmNiMDYyMWU1MTA0MDdjOWRlMDA1OTRmNjAxNTIyZCIsCiAgInByb2ZpbGVOYW1lIiA6ICJNb3M5OTAiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjRjODUxOGY4NzYwMzM2MThjZGRkN2I4ZWZhOTlmMjk0YmUyNjA5Y2Y5OTU2ODczYjkxZGRlODc2ZTg1MzJjIgogICAgfQogIH0KfQ==",
"dJzH3VzVrAvINE9RKYY+WALteWJWl+ki46VFhqFN9gDaf2Q1538wbamgBpc3y554o7ktWkSMH4pF5JI6/xFr5hI90BAUvDNLf82o3TnY2GgxfGSP9UzGQEsLvGQ8EyaUoeJpMV/rQEKqkVh6er23fAVAGXnw1hF8CVlL8/3wRjokXUccAFatqDPXjFdkdH1wAkktwNlPTKY/3zumfi9Nf03JT0NiWSCwvaDbHVVEWQFn5kHrOdjKDb5KPDkf+rIJ+hWSLPKnP9fpNbcRs1RYeUey6JVmxH+TqofY8+mSNXnb5Tondw/Gj7KwyLbIpE5RZfv0/URqPdWBhGu7ZQ3j0VpsgLHUHGjeyzUmjvlm3EG0dVL0kWvkyhoAV8Vm+hA9DCwD27i19pD7lo1RGcfTh/R9fBREOYk5xH/JBP5ShWOXG+fdi37SnQHXNOnm17qdd6WO2+LoNslYmf73SWpNWS517J6pM9YZ1V7G0f5DfrdztnAamqQY/muRD/D/uHKoF4+AE6PivMZo4oAQ3nZxZuMrmdytHnIZgoCN3krC0YP47CVaDGqlUCu7R6MmzQyajSsouW3U5i4Y0/2838WlenXPDrV9qAB4KS0zU0WY41FvO8yQryr5XD584HEg9F+zb9dD2SxPoohjjC6wSzOBi46Fb3qc+y+tOx+nJZM3FZY=",
"Villageois (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5NDczMjgxMjM5MiwKICAicHJvZmlsZUlkIiA6ICJmZDYwZjM2ZjU4NjE0ZjEyYjNjZDQ3YzJkODU1Mjk5YSIsCiAgInByb2ZpbGVOYW1lIiA6ICJSZWFkIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzE2NzU1YmRiOWUwMmYzNmY4ZWQ4MjQ3NzcyMTdiZjFhZDQ3ZThkZWIwZTQwOWJmNzI1MDk1MGI3YTAwNDMyMjciCiAgICB9CiAgfQp9",
"LmmOP5uQnjWRGq+mSec4QmqzxJ3dfu96IYHrBAbH7xu/pTLB1TowbwESff6vDsov0ptuhHGNKAD/LbqBz0TTVtqJ+wJQPgrq62Y/xefv84r7gd/tTJK/z3Nes8EH3eiP345cC+2CmyjYBPnMBj+ckX0+HrVJC+aq+MbXjC0fQqlI5EFDC5wRUaiBTzjiJv23x8zHqGsnIWtza5WZNKLSX6N3sL9mgsOah+wik2eH7Cz/Yaj2yYqPZiLILpqkwP3Dxk6UJkULeKmAHxKWU9/YnBiDz50Kd/dquJOJIU0mat+XlUKYhMX/YSvSyWUTbXh05seEvGx13nvc+U0LBOsJOwKsl4xX0fWmisreCpRAY5bAeOc9P1vyFGPH5eejrakqHC5P/kroY6QTMnJmxXYR199j30ATrtyVedrUnsE6YUFChdxXZPY7OmjnsXAbCXi/8ZLT8Edjvmjzfb8nwVrfc2TMrVFyWa0Z3JIDdQmoM/vULBcPTj4r9ozrVrtlps7rFiBC9MllU7ERAvp71duEWoho1mnpTR0+LPt8G9igxVCI5vgysoU8xR3Wjo/Y1OFUticBxQleILodq27WkGSqcP9QjMG6LuKCIfpELerWM3IAlUEr0h6JLiWmYV4lzVpkNbN2/MzA8XFXj6ocRE6KWZaSG/tdhJ8XCE/nSNFCpkY=",
"Villageois (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjcxNzkxMjA3ODIsInByb2ZpbGVJZCI6ImZkNjBmMzZmNTg2MTRmMTJiM2NkNDdjMmQ4NTUyOTlhIiwicHJvZmlsZU5hbWUiOiJSZWFkIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS80NTY0YjZkNjEzNDY1Mjg5M2ViMzgxNzBkNGZmY2YwYzU4ZWNiMzc1MzQ5YzRhZDJlZTU2MGNkYjc1Y2Y4NzcxIn19fQ==",
"tkbwXhoyKQLSHIEJPR2BcRRPRleNiNq/67Eh8QTNgEIQHd5axIGkKvBv1otJ0OnSBhXvBZv34xRDo+UlOwwOGRZDlD6iGQVK8E45mmISVrUPVK5wCOSM5xbgPQ9fTe+VJE1tpI7d7IqfKs5Owx0o6rZqYaoers5Fb7jQ1+kYp4P3z0pDvBbaN8O8lnWyY8oFkB6Rd45E0NZobhC9+FXbgtIK7cwPChaIVtr9ZAQ7IKGpyvHB/LG+hR1UI6r1FTePbHJcp8vfyie8JWVEe9Etg33bAZVTU8fqBLAtrJSSqrHrPxJUfncxdUcSqwG47ifzbJ+SSWaIk+M3vnox0aMPZlEGS86Fse1mu43he7wLUC8DhIre+V5hU+XFflA4xzyq3Ajo1rIZdFMHhESVkHjCi12XvpCZxn3qGQuYxL36GfBxjoRA4od2CXybiMpYldQVp3T/hXSjABH1tMfmtXCjbWa52EgKYgc2QmYr/NtWC7MimHJhXM47IJBg1uG72c9Wkju0NY2i4u8ItWwXtinMGs5CoaipeReKrE4hw4o4llo23ELbTwvcKHd3qVOCziILkWBPjc+ZAgQUWEvdub0Ebt45BYwq0awss/9stRCjfnJzQQVDRNDlZI3qk2XCJNeCNrZob37ucMhaqVpACV+uSSdL+FHGuUlU8u6QLDUaRL4=",
"Villageois (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU4ODE1NjExMjQ5NiwKICAicHJvZmlsZUlkIiA6ICJhNzdkNmQ2YmFjOWE0NzY3YTFhNzU1NjYxOTllYmY5MiIsCiAgInByb2ZpbGVOYW1lIiA6ICIwOEJFRDUiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2JiZjIyNzVjMzBiNjdjNGZjOTk0YzUyMTdmYjE4Yjg1ZGU0NmRkY2I2Yzg0ZmM2ODg0ZjdhMDY4MTJiNTQyZiIKICAgIH0KICB9Cn0=",
"rUEycnra++cWjo9im7/w8FKSc/OQIFY1Na1ZXEWVnIjssWicLJLXEXMt9F5Xovp48mT9muq0MclFowP3sRHpWbauDjRqVm3zuESEhuZ0DLI9bpYKJz6YVg4GKkBX2fYLtsWGF3PTK2TXv76b1AO9CoRDTVhS7Jli3b5bw+QTFA9qQiTWtd4rdtrNSDCJ9y/cfwVCyhksrnFjWpqbRDg+R9LDPQpNNGnfTGVDvgggxQSGj9ZieDtd5bwk26e6GqFLPnRqZwvyD+luun9rJA1UCnr+IhJKyzRGrsRKO3sY+GvvGptrAlKQRUylvCAhlrYPveQDxHAwrAzUX4naYxT/32OCB6eckLCimTZQqxhCe54v3ujcKxbB852lFOb8KarrHTy9gZ0/Gr4gqY4d7Lvv+SUFSVyC3nDDCXTBEk5Efbf60s2qsZmOeveFXnPv7KfhxbaI4cHsyatzH+TvG32K7h5eoYqLFoIcAMKkLKRwRlNlrnjmtSydrFnzc1svpBqhMomPWyoKEW9q6LP8muo5kWhzvsqKTJ2A2K+bwvAUWhrhdXQzbXjHQR4mEcvY9r/tjXNE/O4N1iktcmrsUAol/ON8hZD7g1NQqKtmxzTWwcf3S1MFCJHz0TS57KDFDdnHZoliOMdPBGsVN+5cXzLq5JIVzUE1d4bBF42orP1voQ0=",
"Alex (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5MDQ1NTA1Njc4MywKICAicHJvZmlsZUlkIiA6ICJkNjBmMzQ3MzZhMTI0N2EyOWI4MmNjNzE1YjAwNDhkYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJCSl9EYW5pZWwiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTFhZWRkMTkwYzI3ZGZiNGZlZWYxNDg2OTMzYTYwMDY5YTBlZWMzYTgwOTJkZTA2ZDNmYmE0NjNkNTdlOTY1MCIKICAgIH0KICB9Cn0=",
"LjtoxfSb25oH8QsLSIu/c7nv/n0uONEXsXN1PpNxOscFBk+icW6nXvCYbFxtabTSLWcFDIB9dLJNAqe88apRuYj+ci1K7amDGvhZN6fd4/8kQ6n5BM9u23MK13xW8Faxc2v0NLjDS8Sh6RfgfB5wbKc6PrMeiRSjJgb74xswF5epTozlm1P9qBhcudgYQicxRs3Vvgq8IBYNh2Vh5q2iO6pJOWqsjDCsQfBvjVRLal1R+eVCHtlBAnA6FvI4ZA0uJRgtE5W45tWjAw/Y8C1zkcfXmRvx0NV6Vv80jidCKXLRKa3Va15HaTu7CMjw6UflzsjVyJU7U4mySZU2BoknPslosV9ihJSrIlybs0eFNsU46rsFTo/Wo0EaX2TPxeEzLE6O6SY2fPtG57OscHLNoK+O/cpxzNjr/c6TqdMTgdaNx2beV4aaDDo5EFC9aeSIWppwG3H13R8fpwmspfX7r4sHskUgClj14ABUxGPrUIWtdjVjVOH15j8obiBexETfzavkZ2PcOC83FEEt4ilREvSF/h9SzADb047qr8FFjYwunAQNILQTXbBUb/aPeMlqHQZbMLUTiwsGABzJxhtgRRM8VRzgHcgxI3ZpufWexglHDhswDQTJ5oXOp0d33urXZAW0fBWONpFXy8kVwcZW0S795WFlVuqIAJCi390Qqnk=",
"Steve (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE3Mjk2MDc2MDAsInByb2ZpbGVJZCI6IjNmYzdmZGY5Mzk2MzRjNDE5MTE5OWJhM2Y3Y2MzZmVkIiwicHJvZmlsZU5hbWUiOiJZZWxlaGEiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2NkNDVjN2FmMGZmYmUxYTk0OWI2ZWUzZjZkYWY5MjA0OWMzMWQyM2Q3ZWU4YzgxNGJhMzJiNDU1NTFjMDk2MyJ9fX0=",
"whTUR58RtTHHUtQkVNRZbXxCz20+4HqfklkrfoHgXRjvrYDtVC6zxAB7HnucZN1ALERtOtVQvvG6YQs/lW37sFPiQxIGnm475kDZAnok5O2tq7/XtOE6xfkwg8x1a9GaheRh0SPvLc5VXkc/oNADvwVcBgYQqpjTtysRe2s9fkg+ry12wNrGTElFlideqmhxKOrvuVBrT2tZhF2VKUhx/hKBl53YP6EssLOVJTRbvSoBKA/sexuETDJTbNj6lzQPjZv3Bp5L1ax9H+9005u8PkbuPsY+RBd15dEQe0+eh2Zx1PKfIONkx2t5uMImdSvZpmOM/l6vnFFa9pfTi5woPZZDoAGnH3BP96A/+hgWjDkMuK7epofsyiX/21Ol9iYL9jpdm4lYt2s9u3w5oe/JVy7jcpwqbd3a4A7LNMCgPW5EpFYTKUmNgSderyao8k6FpV3v6edsVtRh/wYfP3RzhBuwJZxvN4rLOmAfgnb3OJ2I+GeH6dJuax/nf258A4ehs4znj62RDgV4bPprVLQF76JX1nNFwm0BIVk46AaKqDw9Bz8hW+zd9hZriGhvUMAW/VfYwO6DHApvme5vx3j9WilLlF2DeK0ZxenADihtN9PgtaHWneTfeU39q07K0A2Wztpql78n55WqEUUTPVUR7QiuBtxczWEOEOTcKeXuX04=",
"Bois"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE1NjY0ODgxNiwKICAicHJvZmlsZUlkIiA6ICJjMWE3ZjlkZjgyYTU0NjZmOGQ2YjdkYTk3OTA4NGY0OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJTa2lkU25pcGU5NzIyMTMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmNhNWMxOThlOTIwYjM0YWY0MmIwNjczODM0MzI4Y2YxZTBkMzE3ZmMxNWQ2YmQyMGJlN2M5ZmM5ZGYxMzc0ZCIKICAgIH0KICB9Cn0=",
"rSU1eiTw4vnBJ/gmuKlVSZhE+giA/I5QT0CUXXF6Sf0eK2b/bAY+xYX5lpIZFS/6h/ulBAOJgFXDvvgsA1pBM0QlJKB/pPhv8/R24a8pr+H+OIFXVzaLQxQuutsoAcLHO1GxgzJUNZNbJ0Aa+WS57ClnXXfZbVqDUJsztersL8jE0e/LNNvWOeut2Ms9bH8NSta+MC+0ZishNygXbuI9WmdrbrY57Nu4lzLJQCE4UKqGDqy9MO5pEhiSDkYdDvLs3r82k2VXQclR1c3UTohQnYeKnZyRXFa+SGpuQUuHrWJk6libmvxJeV3jKTiKbGtqb6gbC2gOhZlyvfvjDZ9F0Lla6BL/D9qRwYwugfi6BYJV/1juTFdTE1D2drq2Lik0DiAgbd79HImF1obasW/mg6xXiYDBBu81lsG3qNC02uZvyeJrdTsZZ83ssDXyGKeMMyUjlKtlfU3SeUjYXYnmUMIWI2TGHh+aodqpG/N7Sftv4gL4jY+qfNDanWrUdiG77l9czWeSLSPbBmTc4Z/9iWFuWq3uxIcv1ju9ifvEA/cz4Y0fwn9M9MP5pHo3IrkYvkkFywM220XbLnB4M5ArrihRtPPOgBhnpI5LoOFUg22KdUZR2Hb0bvnrarARbVGZwqyyaajixy9p9CLBXjKYxi1o5sxtxYXU/V3lUe+f23k=",
"Grass/Netherrack"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE0OTI4MTgwMDksInByb2ZpbGVJZCI6ImZkNjBmMzZmNTg2MTRmMTJiM2NkNDdjMmQ4NTUyOTlhIiwicHJvZmlsZU5hbWUiOiJSZWFkIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9lYmNkZjBmZjA3MTJhZTNkZTU1NGMzNzI2MDc3NjEwMDBkM2IwYjZiODYxM2I4YTJjNmRkYTAwY2QxMGQ3OGQ4In19fQ==",
"VQBK/QZULSI6Zteozzr6aYmnuIf6GUwhNxsSW1yTGcpLPqNDJY7B/SsnMaAHbL6ij68hMKB3niWfdApB/i1zt0SB5i79M1ndvvS2XmElDvQz0oKlPLQ9klRoFb8UXRgz2GimM6sa693Sywgp/hxgve8MP2HnKdeotiAd/jEg2sHPUjAKwz/1FP+8PK2ydFl0U/DkggU1WZLufHxxcjAA3qTCm4bDY38nfy2QsE5Y9B6RrwS8pmUURGP/WZvGUFKkKQlVnbsK8kCMYslIUq0fzlyD+5gcN5rzbuxxl5mNZi5xcTzyUzgXUgE7oHP/2I8JwSTzN6O2WDqKW2pWg5N4BzQIu3fV+hM3qgcfrRiFFgJ8ySWbH2U+lreoGv+zaIvsob0Eg6K7oq7FZs4/9DdmBvQEWZl0QQfM9SmNxVqygYUxw92AZPWgFz47kWfU2J66C6e/mpdGWuHo/T12k+z8TBEEI2YV7x9KNPaTGZZlNhG1CFcdLqpTNOaTc1HlrZ3Yv9vmIqOVzm4klFWeloqTMF8C/1Fe73ZZn17/FsDOp47ntwelxRl0+qmwrhhvlF1B9/xyZ8eoCqkTvW96bdNs5ZdPwM14MjWkswvfkJnFaAqzCr/pE/bs+cs4jDefE0iJFWUNYsFFL4EUXEFjcE0QSvihGxCbI9DAAY2KM4O219s=",
"Stone"));
// Celeb
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyNjY1MjY3NiwKICAicHJvZmlsZUlkIiA6ICIxOTI1MjFiNGVmZGI0MjVjODkzMWYwMmE4NDk2ZTExYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJTZXJpYWxpemFibGUiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGNmNDQwYzk3ZDdhOTg1NmNiYzQ2NjZhMzI5MjVlMDAxZjA3ZGUyZWY4YTZiMTQ1NGY5MGE0YzQzMjM0ZmFkZiIKICAgIH0KICB9Cn0=",
"k7vMydBspH/BVd/y8cUzVucad8GKLYyi/o3PUa5VzmyDzlgYHGpL2UnGG6L12ArRj/Tb+34lonoO1b9X/rCei1cy7L9n7QqdDFO7EjMM5uG5BP/K3YM/tiNjMpN/qzub10WA+yv0TKcqCjRpabM4tYqZfXnbUbLtqPTWYN/zY1Cy3cEOKgUMD7wz1oW7l3CnuzGQ21otmeFM1CXZAGQGwW91QXUitB+qNHFZQxC1j44Ah1wYAhd3Yo2t81AZg1ExYQ0t3AL+6KjZQoa8X/gyFN2bz0koZwbUJ1uX3uHGq2EVj3cZmmvXgNfCr+3OKFPZPHmMUlGC+CnraA3xd4oON29os/Ssh7fewI2q444YeTDdgKBtBDWohKnG8+oAJkvDmASQN7VdLN0QytbRJhCmd88eL9Qg/9Dyw3p/vmC+uEtbzDDQ1Sh++ittvULe+ez5Z2uuw4LwOHj1bycXobaYjrGpAKONAQBkTLyIwIa1OaVORFq9vduK9J573uDoiKDGIFCRhyUIxHwR5RZni1u7HOdYVGWOpgPjkWfyLAHfuUZvyFBe6vce96bmYpjAn/aXujlRUJu7SOyt5Q3Qqxv65Zh0+YT0s3S09EFhvwhpvMkEehlkWuEEZkEDlcMqkwdu+JAugJcTouGR8hVy5o8fQocpxB8oomtLM+3Y6dc5LvE=",
"Frigiel"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyNjU4NjIwMiwKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTFhMzEzMzk4MDgzNzRjNmNkYTcyZmY0NzcwMGM5NTE3NTU2NjBmOWE0MWJkNzc3YTM3Y2U1NGYzZjAzOGJmNSIKICAgIH0KICB9Cn0=",
"GkgRTLbU4bs7V6aO0Vt68QlQEr4x4zsTRWPexTNOaNMwE9nPEutVeo2oAPi5EfYUnYtWU4qNeE7TdV38MMpg70yIW+QvQ7wN3QJxHzLLF6kDgy4cgGXisXGJaGz5QkYjMkXWPv/tDatG9wiQgmAvEZ/etp2bz0IwbtrAVjY69KwYgCSxitMDPflf7supPz8W1X9k9v5d2Q/FFDaxdRi3SYbu+D57mvFi/whX4Zq+OkUXYgpHNZRIckrjF1WVJO7lKswwchnNbm17+EAZ9vSuHJA4kqealibJjGwpAqMZrSdPpxEFtMT3vbiEfJy3xdNIjRFdO9IhbZbNf8JGf2cou7KCrv4awrRc/megzBW85OtLoyI24NHTZpyFI9N44Fi8XKy0tybsd5tTX+VDzeUU5mIQIJKMDW3B3zwkLyvoIff7texe5lrtYi5AhIcftwtTrUncV49Go22UbiuvrVb+yiof5dKdLcRJ8TC38imAc9hKFpLk3e+Ck3nL7cvQToYK9AQWdfX8xcNvAGRaCXAKzbslWWgdc4uBFp/d6YdPRNR7S74j5UxxV9NDkX3aCdY11keKeGO9Uq1dUGRaeKZWSK6Hjwl+7nm4am4W/cMaauJlnR6IKS5uzONGjuJY0E6ylUlGXD3kiYiNOJ3f0Qq1M3d02SQ8PU0pjRU+7Tm5cvs=",
"Siphano"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjI2OTk5MDIwOTgsInByb2ZpbGVJZCI6IjkxZjA0ZmU5MGYzNjQzYjU4ZjIwZTMzNzVmODZkMzllIiwicHJvZmlsZU5hbWUiOiJTdG9ybVN0b3JteSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODk2MWY5MzBlMzBlYTA0YTM0MDI0MDI5YTUxMTdhNjRmMjBmN2E0OGJmMTI5ZmVlOGM1NzNmNDBmYTc4MTM3In19fQ==",
"sA/v/X6XtREoEoJ6etde82EjJ2k8XzFzdOSNYrK8dROioLritHKLLf+teWu3+6HlKXj3l8ySdWjvy9pnBoySzaBbECq2pnM72YOjXzxzxbexVTtb4FbWG5NhG5fPieQs4krGLmazB5M/ygq1rZsf9qzNxuFAa0RiQQV8TDFDU3rvPj8Xp55TFuKktjbcsXqQ0kHSE6OVTU3SL9jEnMKK/FFWsOWTeZuO1HT2XEOeUUm5zXscXucn21SBwQvT4VEADuDsZFMrIBrO8RDVB+GvLtcXJIIpMD/8RzrrX7/A+w++Y745ciWtLp6SjiWwx/JcNwBfUmjwdWMbYYpEFBF0fMmKPdkBr5Em3tQHFMHXNLNfIdg/+mKyyUIPnvg4OhQjDYP2cStjDu3UgX5zhzTJ5N075L1UmJJooOJAvvj0DScgiSqjE7FmFAVz/BnzMgGmZUEprC4SbM2N5sc2Kp/xdqhVZvMweYMfcbT4bOodGFlHYM+T2uSLSnjryzaX6uS8s0sfkRJ/MNoNA49muHj46/uN/OksxVdVsnRnFa5sQq4iNQT2W+HgNW8aT3NRw3ZbdYjQ8KV19knxGetbuLD+dz07gROny1jMCXR7/RLWYpjtCQNTASKiv2r1sJR7VzVyftMkMoJFtx/3iLvApIabjvR8re/TlIHQbWROSlAbX7k=",
"Ricardo (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE1NzMzMDUyODAsInByb2ZpbGVJZCI6ImIwZDRiMjhiYzFkNzQ4ODlhZjBlODY2MWNlZTk2YWFiIiwicHJvZmlsZU5hbWUiOiJ4RmFpaUxlUiIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjc3M2EyZGUxOTBhZTBiYTYxMjhmZDFkM2YwNDk2MjljOWY1NzgwYTY1NGJkZmVlYWI5ZmJjNjI1YWNjODg2YiJ9fX0=",
"COEUrCsoBE11IwRFL6G/THVGlStdCdAOxde48DKKbow2gOggmu9S0fj9xWllBJj0L1Izj308XTQDdKpwt/cIWaSwOCHaabywF7y17cpyVoR4x/tvAUmrbqY9pqkM3xSsfvCOtR5ialc3v1E3LbNkvX1Q3W/tTLO/0aJRig0gAPF9eCw0fz+e4r8aXpnYzyjvrGduwAap8muYue/HyNH0ZyJXfhpRfTu/8AosdSGGqKfUUcq4TaK4WFOr9nwfOVij044TnXxMg2pbKcrsMp0LVb2ciHmtaNHerYB1l/p4SPPUCPKJb1eXK0ZxUUNhDW50E64dh49avcRyRc/i24CfyQDPIGtoafxm697p6znlGW3Vs6KBEkglIx0NjqLQXH0p+CeKybL2/had86NyQkF5XzL6XV74QuTRQoMpQ0BBc9WpwBsGKbJOGFO7/a+F7YwwZSfI3M51AZ9AXPY7bGywOpCxNxEDpvctAQp0Vf/rEqpCjqXf6wayyzFCkQ+AIKx0fnrKztfeVI8qNlEU+yo24YKRFzE34OhZQCZXJTQTpYnBn+M/PNfDmjE9rswnoLmYqWOmTfuM5+OvafsWRzh9KiIsbHyuqpMJCyDgR9OmZVXLpelBfnTsXHN+JDO7tZ16oSziMzn1g3WXiIh1aUxOFmwHLO4ouBkXJm7ZRHsok3o=",
"Ricardo (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjMzMjI0Nzg4OTIsInByb2ZpbGVJZCI6IjdkYTJhYjNhOTNjYTQ4ZWU4MzA0OGFmYzNiODBlNjhlIiwicHJvZmlsZU5hbWUiOiJHb2xkYXBmZWwiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzRkYzMxYzdjNGI2ZThmNjgyNjU1N2QyMjgwYjAyOTcwMDYwMDNkMDY5ZGIyNGI0ZmRiMGI1MDk3ZmFiOTYyYTUifX19",
"bJYYx2LudxoPmtXNgGjHhcS+Ek+wUZMi6XItyoEB7B5C6f8QOGvoARes2lxdZ7nJt0mz94lnJnqMQvwlVpgC60WvSPrN9068v1jAQP08CaQXO7hQmFtjUjzvNE4oZd+a5GqjFUD2Z5HwPpUVX+fmMDWw7oeKlbTYIt1acUUN+s/08E/NL6Z30GdytDNPrALA70UpAfs+6z8FLd5fZVsFgB/bkbxQAFeelyLTmLi9TSetqYiQGgI5Hxm8BrA07esZ4QjVyDGJE2jkT7MhlkU5tx7ab/t8NV38cMWSDPEepYU4XzP5fah3cOiJ0/xQH/R/hAedW8FlC/DKxkWHcTiDDHpL0UcJn9NvumbrBcBg6+Z0AQ4IUb24/MK6c/5bzsXwtLQR33LRc/tVlW5vJ4F4rZaBAYGku4u5qVzLBAk9qryXhc4n/okeGWFOIYDJdI2jXJIQw2ZlisHeXP565IgUfP89rSUByPlcpkJpxTPIqz5JZGMS3nJWgMrLxwEyvC9xcG/DJUtWnwNeLPr4yUtTAl9+WVteUFxAbXvr4fiItF8U+fb7wvo0CHud5U/jXfsnBrcXOxCt/x+tbXs+G2W0ktKIR+6p4//OEXw4JXwU1BT82nSH33Xy79srCx3+qr5dyl34nzLiiN3ISs0thdjY4vmkGlUqme/f/imaaFEee+0=",
"Ricardo (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MTQ3MDk4OSwKICAicHJvZmlsZUlkIiA6ICJkODAwZDI4MDlmNTE0ZjkxODk4YTU4MWYzODE0Yzc5OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJ0aGVCTFJ4eCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS83OTdjMTg1OTkxYmZiM2I4NGNjZTE5NTFjZjllOWFhMmNiNDRiMmE3MzAyZDcxZjY0ZjkyZGIyNDIyNmMwMTBmIgogICAgfQogIH0KfQ==",
"WQwkhfEP9Yj3MIarm9bNpExmQwgqgNZ0/snTV9aI9fYsMxF8UFyWDm1o3u+lOkjR1EmYoopQJDyuUpW9z5rvFOTpOp4dGhTLuTk4EYPI226bYJS4heBVNX2tynFcwNwSZp+J9BQScWt/lOArW9haSZKJLuiRsmTMObzjw5u0WNZ5MW9ETQyOaqFgzOoubjOrZAzY002HPlhe5KpGecJHXjAXtQsNGWF8a7qf0Yyc3HVuly6SiA0b94QfeGmjBpOmgJuQEbWzFaJMQwq8shVDfiOolOU6rsYJbMrzA0oQ6c9CdjLdm4IEMkZLGOb/y15KCEWILXGV1+oJSLfiU+FXiTNV6MNcuoOYXpXhHXPfW2gXPbyAcP8myhr749D09q5IgChKQ6YWPqdxndVPBayZIB2zXlD6Ndrn2iFBlCS6dyVANk1exPaj4YU+3O2QLfdIz0qbURzJyalJtneP+KjIRX1igyTe5n3VypOrvwbbSJjpop0KbWfdrcgCLt4lWPnbZmnQpVKieclBBG+B5VTiNzW6v/3ex4z0ZPvoJvpl+kFvFAhDB/EVMBKyaM7JhBNEh/2afdD4kl+Lc/eeofaARLiwoT5OHLGk41uH0pOLlZl+uFa41vUEKxkKiZGqxm8qyR+B6k/p69TDAsRkhH2/On70WSSdKVCgz08X2goa40o=",
"Ricardo (4)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5NzI1OTk4MDgzMSwKICAicHJvZmlsZUlkIiA6ICI2ZmQyNGJlNDk4ZjA0MDJlOTZhYWQ2MWUzY2VmYjZmMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJBbmdlbGFsbHhfIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzNkMTVmMzFhZmE5MWNiYjc1YzI0YTI4YTc1NjliNDA4YWQzYTc0Y2M4YzViN2VhZDA2Mjk4YjM2YjY2YjQ3YWUiCiAgICB9CiAgfQp9",
"gr5kpp6bYUye+zSWfN883nh95zYuf7gi3Nq24uReUxh3xxFDxv4DKzkhCYaTGd3QzTLxtvrIDL4o0wPoU4W5oR9GinBp91+F7reJkSneW7fqPxUzdLP7h8jQqRFBIFt/xm2sjUpNK2CMOtC4IsXSvXD9UABuTp1IgoJ1SA/b8JWHOC5cQjP183Pf4UEhSHtMoOJn5lbHinWo28tYmeD/uQYSlOSL6ejUzGhVllkf99UviB/BR0PdW945JQJRZJknAkeSaiNPQdduu4uy0vRRSv/0ERZg8CbH9tVRIq+TWutmTvUS7wjvpV6TqlD8GiE82+dhO6cevxKq0/T0dBP2Er0oeQIDQs7tj4WB5G+o5SBdnqVpOkyle4DI6NQL/TWPG0jYDruirxE2MYoAROtuzmpXdXAii9jVq1iIWGOEFe0sLZuOFqzZjAXMuKJZfI3afXO7sN7qwx+VPTbNF9DqQSpcAGCXChvJ81+EYxsuJTI43sCVqVInkUBgTBtZaDgGUNEbJE7uh2DFtpjBcM6kY/Go2oLQ2HhEgIlOHxHVzJO966HFiAz91WN98UHDhdotEyyoUzlq8yfF+TtaCnQpZbfaNS14oNt9jpD/Q6ZB0J8Zwe7S+DngpGkg6f2+cxgVUhxbhnTAIScXvnnxFR/BbAnARl3x2Tl09n1PX3zKb0E=",
"Ricardo (5)"));
// Hunt
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyMTg2NjgxOCwKICAicHJvZmlsZUlkIiA6ICJmMzA1ZjA5NDI0NTg0ZjU4YmEyYjY0ZjAyZDcyNDYyYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJqcm9ja2EzMyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kMDdmNmUwZjA3NmFjZWY0MWY5MTU3MTMyODgzNDAwYjY1ZjhmYTNkMGM5YjAwMWJmNjA1NDYxNjk4NzVhYzRmIgogICAgfQogIH0KfQ==",
"OMJ6PtZjCEMMurJ2Ur9xG4FCbKqfjbAdP/L19tafKaeSfj2tBByqf7QiLbbUv04bylFV6NVwCvRVdPA5UJZNNv8a08/Tqt84BYJ8jRtkCYw4nf/lOu4gmGOgpUf/q72qRAu4tx3QJlT0P6dtvKxZLImfSv/UfK12w2oBJ3gNxfGGQBWCvlMy06rqpwzAsOPMgoPeDX1yFY3jkGu6Zhbbe6FICYtXyh1EyTFzWAcsV98AahbMKxKw4bBGyTNgZMqgdqjrxRaJxDNmgKS4WQ8Mn6EvZyMurFAh74PpqvBRiXuHGP8rFMIKtM2icI/sL+sjOVNxBCxecpDfHTk3SRSrxk3FaXmJDmVOw52HlCUA3RgJAbOui0H4pIruHmtlU316ig2iAhCMdusqiP6qy7h5Yd/Fzo6BfZO32TDKMcZ3rcj0mUUjJmPiGFyb9ZQnZeSNF0Jf1E2CTWhPad2MHBx1qdJkke9G4Z0nqQqUHWW91NQL0Zq+shunjMb0Hv9VwGs+AhDlNh60VixgQBNCc6oK/cmWH2XXNTO49UDb+C54rTyOJkBjeORHoJQXHbwq9eQl7Nf/88IN67ypgZEI0/VtDtrClbEKmsbOOzU5kcUpx3oM5NmT/LYHMV4BDqX1X+r98UlzOQkUlgHeA/ug51uSKqlyN6lqTlX8jNpeF0rRoxY=",
"Sweat LMP"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyMjA0NTk1MywKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzEyNTRiNWIwMWZkNmJkYzM1NTA4MWY3MGZiZjIzMzkwNjg2MzhiZWQ3N2ExYzY3NWNhYWE3Yzk5MjEzOGRkYyIKICAgIH0KICB9Cn0=",
"lFRq9kcrfQflIh4IKm1iOeBK1Q0YkzVLSKL3xOF5hSHPYmnqt6s033P04hs/L1fVQN/NCWeQWmzbkRvEASnDjHe3bs3iP6D6y/nE9UwF7P73VwqY58hdctAxtMJoFSq+mD13huZXmhwmYqtE3zrnzjfY2faCRsq6SspoQ6h3oqXaB9cMiohyKCHHnKEvIEW+ppiwVTCbtfLKyIcY9RIEuGVvn4jl2N85MQVCxNRbece0LlFlKw3K6n3Lrb/hKIvC+kKfvDA/PhR6uJrdoJv6xu2emiqGfzrZydEUwnMXOdFvTsqfluBedv/71HjYgkrjClYgDhyhjOKHRoqhWEhKnUKMhm/UFUhKJXrdeDQukn4E4lbVb1mP375IgMuC/NJWjr76Zv+51fuXnvC9bzkUohvYJYs2PQvkhG3ouTMexKeYIHi0CHL6quWcP5PL+cfrDoKcslYhfT6Pqa+VYCJFCcW355WGuCba3p78CflDy4Gef5/Ed7NLaeefBXF2h6pwXZMMsrt/M8qO7QziR6IOdx1XfkGECMwhx19L1ZSD4CA5or28ia5k0MFTunmhs8gcuA7OQyr0ovkU+jWhDGJi990DcODFSKYzjqxURr2keWFMWbZUM4ne3cidVgF2VEzus1JrLxWE14pNI9KDPxJ2SvbOWdwR2/VoCuiEyss4aws=",
"Lanczos IRL (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyNjE2MTMzOSwKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGVkZTg1M2M4NDY0MmM1MDc5OTZkYjZjMWI4NTI2YmE1MWY5ZDYyOTI2YTdlNWUxYWFiOTQyZGI5MWFlNDU2NyIKICAgIH0KICB9Cn0=",
"u41oBQHnhCb8P/3v7tIMTsTpit7eaqUJ+xQWsZgRIhLdi++zLbCgRD0hlsgxTM/XdSuAx/9Xw26ZEl6L+h8fwI6dV8yt1ioqlAjCpeRD9KjMbgmK6V0AYIvHvXAuuYjqizJDZjVDpzAoir00OlUTboObSO8+As3XJ8eL8gi+eme/HgpzIJ7GcUnLatgzisjg/Ogh7/+Ybt06G+gMMbvJQM/drVjYgEbopX7X7eVCCPFjjM6j60c5K7qcrvCy5+vuStbT5VvHy0TUreRQmMkVx2daRfiI6THz4ngi6r5hQ2bZ0STfshKavyY0InLToxrQakRWpkJSMv/red2+EsH/DnL/p3VmznANw/DHjYIaRN3dLHmG20W2gtd5M7YMSylhgbcWDZo5AZV0DmyT4agKga58SJVRlaYS7WkJz/6HqxrW+5n6q4ijxl5AvEGWyzuQf32dEzuNDXRr9XjMh7Tbw8vshJN4+0/yy9+r2UUu5ykLvhuGPzCtDwrXQ7MZghrf2JWjkKcrTVoY/YFA9uQM+fTVx5AL6pAedAPMk0TsRWejzrOT4HTe/1JMMUEoxLxI5whwmsJHXruEn8veZfTfHKxon0/21L1GqfZ7P/MisU7U1p3Xr9eNIfpAfm5FYXLmFN+rIgpp3JIMj62oTu4zmCFaKV+7umEbGbU9NNSqjGQ=",
"Lanczos IRL (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyNjEyNDQzMiwKICAicHJvZmlsZUlkIiA6ICIzM2ViZDMyYmIzMzk0YWQ5YWM2NzBjOTZjNTQ5YmE3ZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEYW5ub0JhbmFubm9YRCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS83ZWI4MzJhNDZjMzA3OTljNjY3ZTg0ZjM4YWZkYzFmMDQ0ODliNTM2YzI4NThkNjdmYTlkYzU5NDA5NWFlNiIKICAgIH0KICB9Cn0=",
"ICMO+ZAeYcqQ7Ovw2DJRsAzbTZ/vWPuNBjWXnbioh2t6fpvEzljpD3GRuyedNynt/RgAKi/kPV3OWG/uap6Nd8JITIopcF66INqaW6bGI2yr4iBA9fwf6A6s2Cr26+piieq5r/9I0RUiUs3bHdn2saoW7Z6P7HckuAXEgte2D6tMCi7TQV1F17eFse8UyUk+I11ifIAUmz9PEKgsx0Nv4MC8ZR4GOgYikOOS8PLiieFR9R2K0xMZaJvc56WQhcBHzEEmmhqGwCZ5SPRgMNcd8st9yLIXBDLMMhJWN2zhXGqx87HWK6RpII8+ztaV2S/MXyr7BLIW7+Ikgd3CkaP0lV4tI6cuJOQyFDCNTVR9oscdQw1Q2scalpMrnB9WzETJKlf0W3OdAEMa1BHae667XkL3oqQ5t5Xb12BQj9ieYPNyhUHGlI/xXhEnoz1VWmp0StMnZx8moIhATaLD3n3IJlBFdHEffzg6wYsm+UWI95ijRYdqiAS8x/Nlc3l0hdKMpbbz+nG9fSzfJpDgSS8imDynn9+WbJ0ED+Zj2IO4+m3xufnB0K0uqVuRfT5gSeWsnlLRTm5mBbFxTFYBMP5Bu7RUiWKy7kIyXXcm96a8C8HLy/VPGvp8t3SCvs5o+EnBD6T/8W7EATlWbLAUD1fWX7vf2M5+4DUV2aIHcMY5SBo=",
"27cmorepo"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTEyNzUyNjMxOSwKICAicHJvZmlsZUlkIiA6ICI3MmNiMDYyMWU1MTA0MDdjOWRlMDA1OTRmNjAxNTIyZCIsCiAgInByb2ZpbGVOYW1lIiA6ICJNb3M5OTAiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmVlYmQxNjczOGExNmQyNzNiNmNiN2ZlNDE5MmI1MDM1NDBkOWI3MGJkYzQ4MTRiMjAwYjM3ZmQwNjA2MjIyIgogICAgfQogIH0KfQ==",
"eFeeM6nx+aDNRr/UGpXSWcVmdAMCY3Lu0B9ljUx5pSCV31MaDnXFbommUhk8ZN2j/wLq8Ccd68IZjnUGFTuGnTOqK6YBCklFhgtImOfU8LpjM/dvfjxCreJuJ1qDFIBdEg2DOFxdXwpINFJN5KQC540QJxZnTUPeerZqkwkXrCWD/Z19N2FhVyxPQ522kK0Z85rgHmNEe/jUZj7uYD4bIcXbEO0+lWFiBlZHwr+RixKV3UgMN0rFuK6sM8nxW8rGlZ8E17UPqON6fPgWFIx+iRMg6vD6Kstt9mnjhRyxwA9Xy0l6kBkBO6uMUYXXA7wzF7HxVa6fvBBx0NrK4pWjM5GR21YTKwnlkbah8GtzsvfNucVnE5tOflVeZRU9V9HyfBZ5K3iKYy6kcNHU4BoojUD9nVhbF8wj/uUQXtidUamH2GQ6KgzZIQqQMqxYzBxjzgUjWuRa6w7koY4UES1UpD3uIaHPttYBpvGYbN2iCYJqfzlsbz7+4/vsnsH9Wr6orFsH+/OOhEi0M8m4Db57G7NcYqb0pHvQNZfFQvdCQFY0bijnBHG+jfTDLpZir027kt7PcxK+g2XaWZkJvS6m+6yPMaMwiRVbA1rVuhVEYokcI76CzoQ4saujNxkesfTdZlsFOqF2CPZ0KrjHdNLpjaqjEDf2a341qB7rFgn5BLE=",
"Gros chibre"));
// Optique
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MDYxNDg4MCwKICAicHJvZmlsZUlkIiA6ICIzM2ViZDMyYmIzMzk0YWQ5YWM2NzBjOTZjNTQ5YmE3ZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEYW5ub0JhbmFubm9YRCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iMjY4M2M5OGRiZjVmZTJhZjgzZmU0ZWFiM2NmNjJiZTFlYTBhMjIwODRmYjVmNjdmNTk4ZWY4OTMzMzA3MDczIgogICAgfQogIH0KfQ==",
"v8orxf2qEZHSdr79qDRNYwdb899IZ+4HGCFCOyVMQDk2qRgD9wyy+5TuHclDHa9cLy0uNOnAE9r8JH11dqx5kJSKf+ahIpR/22D7xBkoKZ9nu9cOQcH0qVstbKP3fE0NbIiySjOkR/so0wsuTk26nY0OrGKshUzranM+FBSB7oXq54752bqEbZdsjihqNiafxNJUUTSlGW5IuwBo/KajHKOaFqOzsupjgXIw1fj+kTrix3PNc7uqS6/ycWfHvTArj/WYjhPrwur1AcFt4Ns4movO5wyfn3TerUg8bs3kb+q4FKv02KokLMffGNQp5xeP0x6ySJcJqU6eWdddHPlGbphxYP9Oahg5JcMAykgy+ARE9d1d5jOKJoV7e8bWYhEWjfIER32WAloZfNgJg4vfgFrFZ7nx7/+NgoerNjOWZIdowHm44oBcpVB1IYRxIt5AZaGY+vGyvqK0sxoeJQOR+36FXJ9qDYvP8/P/5lsrdvYeVEJY9cDgdzdi4QWB4Ak1x+XXQYzvCxYBNr+qKw7FEvmzzRdx3nS8NryRsBan4z5TXflN0F5TCVt4jKRvxwBP+VQcL1OkaiUJUOBcGSrzdRWrV0mpKsTOQPty2RWpq6JIzMwhYO2cZUKbrfIOSKvq+2M6Nf5jPT+xAr69jNSIS2rg6FM9uRvCtjenRfdcBzc=",
"Optique (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE0MDY2NDEzMDMsInByb2ZpbGVJZCI6IjkxZjA0ZmU5MGYzNjQzYjU4ZjIwZTMzNzVmODZkMzllIiwicHJvZmlsZU5hbWUiOiJTdG9ybVN0b3JteSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWM5N2IxMzUxMDE4YThjNzMwMGUxM2VmZTk2OTk3ZjBhMWY0MTY0MWY2MDE1YWUzMjE0MjI4NTM5ZDdjYzcyNCJ9fX0=",
"IFzK6IBz33Cs/lgGsxalek6jHM/Z8qvEG0S9Wp7soWiG5CELc/tIiWwZVdI42odBqBmqfH04uxTcA0gIgGNR/lIReoA4hv0oJZW0edmeNo1Js/1oVzihLWDEoeqtFIae1oB2Z6vHZ0JWKJIQMjc8ldh+C0j5HzeUkQNmmIN07kfahvQG73W5JybfsbY381rQ4EkhYCwDRzj1r/EANHtKNKLp/klP/IyDHW5NZ+JkX25oECZcC9togTacogMwv9KuzSnMajO3GeCwzHZlc4BMBlin7JPeyNdoF8jUmNTlS9MOJiJaDhbApBHYG3KkOZDNc4C6goW+qBHr8nrfdQNHD2ptfP9UFsh8omAZvFRtVm6ezBDqw7cafM1ot9FUaJmqiudcn98Nb7tiy3/myDVABpWyqQGRhHPw5i8aPK+jDxxh3cfsRao+6ujUEeaoQIoj6OG30zSL+EoWHlWC/UMmbPb9PrWp+wmI0TZuqhrx+DoSCYhmjngYO35l5zGXx75jERSfLSsrH7Gzg4HjzxUwJ47o3cWryG1nxZFU87MXXrWuBYghdo01ScAgse2EowQ+c2jo2Zn7911p1VsKs/v12IYlHgeS1Ha078WtOvFcfZyG48IJK1PC4qZoFJ4dSzEojJ8NptxtotcKjDmiiFjhCq2OFUUX+ccw7ZnWHMNr0FQ=",
"Optique (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE5ODQ2MjkyOTQsInByb2ZpbGVJZCI6ImIwZDczMmZlMDBmNzQwN2U5ZTdmNzQ2MzAxY2Q5OGNhIiwicHJvZmlsZU5hbWUiOiJPUHBscyIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYTZiYThkYzcxMGE2M2RjZTEzNzQ0MDVjNTc4M2YxYzIxMWFmM2VkOTE3Njk1OGQ5NmZkZTk3Y2M2Nzk0NTFhIn19fQ==",
"q8x+A3wS9Bd0WqkStUDPFnkL/vFasXivzA/F1Q4R5ZmPga9RMmCe4ptK9ErKpaF5D4KbawPVmgRY229h1PQt5vXwzQMiC5eHZS/EMWgIrmpBIWAR0DskgQ/bIIiYP10X/Rr4Bk3k7wJ60UWnQBXXSvxj+mlUiIiAwi8w0/h56V/EWK7eSKfQlSR1mhaLL/X+nlbzveZVE7ou1IUTIGx3IGfqhWxbh9t2oaXXjkrggKoK3OQONK8nwkTIih+S8sjgTcMRRV9j0F/wey+KYPc+NoOj7P5ggeKhqRrdfxacSjm0d6tqh+fWxBnSdIUQcgKpD0Wqk77SmYyNpGejWsZqv8HObBWlN+GIfapZq/mpEavkMa5YFOakWMByk9xkvlW33rbfPW8OCTzKcT7t4m/OGPwytHt5jtqbehFrfHtjrz40/a5iAUJkfZf6ZBYk4sCiXkV0AQFs1XqBHk6g7r0cwl+UZV2EAhdjByphxtDfcxmBCULzbArA8wfRKgxz5wO6Tok+ONpW2AuG9QP8y0EHazRcAdiP5MQATrrs/SO8ftFfTJffgdjBn0hH7M7cDnhpNCi0KWtXSJ74F/AhwHtNe+9UO5QRM9zWZnYbHlO3voluZ35C3b1BAAUUCb/SFOgopoxla2UIw2E4zemwCtVcjwoX+K2EECivf4ORvjMrdik=",
"Optique (3)"));
// Animaux
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDczOTk1MTQ4OCwKICAicHJvZmlsZUlkIiA6ICIwZjczMDA3NjEyNGU0NGM3YWYxMTE1NDY5YzQ5OTY3OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJPcmVfTWluZXIxMjMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmE5Nzc4MTZiZTkxNzg0OTg5YjA3Yjk3ZGU2YzA4MTc2Njg5YzZlMDIyZGNjMzEzZTc5MWU2ZWFhNjI5NTdhOSIKICAgIH0KICB9Cn0=",
"W+PzF0/z9NOg1/aAaQLcVCnRnWyrNefLLMnh8AAwJSAr7UU3pG4Edmt03xMlCD8fZqz0ora88c1uUJI+Lj7j/bwe4BJvKkVWrgM6bQsi8Bs+zGJLuDCPnK1/XwSuG8WAb6jcDwbm8IL0rvIy1ituNO44rT7hKONBXash88FyjEpmAeGESBU7S8vJeXzN5hyq792O5VYTNk0Sjx359BF3+0KYHaGeQ4o/Qg9X3IZFDVvUAv8OXWkC3oBBNQvEdGxaL6sFrD7faDoEXwVRyxiCos6D65gdWmW8T0H1NWy7e34oKn6tb2Hq14yUgJWNOG6Qy2snDJGuyfGuaIwSduk6t6STmKw0b4dwaCJ5Xwx1otIubbd0t8JUgeiEHZtlvBwNjAxLzPyGhzd4m1vCdRmTuZUeGxLTReg3i15klWgqYktEZM1A4Leor+Lw+7fllfZc6za9VPxbAhYbykfqeYQ5rYcr6xq/wCQWdinCqfa46OMkAfUzyk5XqUxrW4E+ArVp8lTL/8fnskVHbLZnQob2mDHMXL7GDvoz6XZseh5EJKCI+Vtas4t5XX8AL7Tkl6pG0D4sTb2ekmEgBEG02v+oR8rYTMwQVW9dUT33q0e6xqiAzSAIEz7dlQC5qRLUYC40BZWJ/3seDp7xs42l6dgyYhiIRDkOW6g3OkmIFWB32ns=",
"Poulet"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2Njg5MjU1MCwKICAicHJvZmlsZUlkIiA6ICJmMjc0YzRkNjI1MDQ0ZTQxOGVmYmYwNmM3NWIyMDIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJIeXBpZ3NlbCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8xMGU3ZTM3OTk0ZDU1YjhmNzNiYzlhYzAyY2U1ODYwOGY3MzE1ZDFhNzI3YTUxN2FmNzc2N2U5MTgxYTgzOGE5IgogICAgfQogIH0KfQ==",
"UxbpkUydqTlTWeZvFPwtIGBBM4QQwKibP9PScKAgLr+eVvdT/B+yl4hqZbbJpLcnpxhUk8myvrhx4lfeWdvoO54ARTkMRpKiccxT6+E5EVky0FgkUXP0OKgQC65EiTnnawM9qU+HNk8xrnqdSZZhmQNpMx5wRCDwzAEWWVjgHbxCUezKDexEKbIKfD80vWYHZHrO0miprUK8r99KY/9KglUL6k6ICDCpBtUa0jMz51JSXHKox1cyGk9KBVWpGGQLfH2yDr/qbUp13m9Mes0E7VWwlTqqXmEYE3i3BCjFomiohCe1IQZ5CKhNU0RCZ2nF09RBcXdfDXEPJiuzNjODTXfecgi6+FyyIHhWELdb6rdR/pbZbXwNndzbnfjxsp8O9H+LtcisEr15UJobUlRa8dwIT3xI51qeu8OskfXLjBWA5w0PHx1sDWKjiOGgRu4TmYVkkFVxyQDku9m2Xhn1Qdheyix1+Dm8pmhZGDpevHVdN8uGNs3qx4c6zBRSaRronOyxXDye6cQgvolqnDsXnujkTn/FmJDSz7Tx54AlRCe69milMpiy33OoilK9AdCGhYfTlOPTBvrQQl7TZofPuqrv+XkEicaHDs3dqywOnMvs+VMp2KlMRAvJsrBzGB82KmG1+7Zxge8dWEid17qJk6raPnPwemcDsMukVvuD60E=",
"Cochon (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2Njk3NzkyMywKICAicHJvZmlsZUlkIiA6ICI5ZDQyNWFiOGFmZjg0MGU1OWM3NzUzZjc5Mjg5YjMyZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJUb21wa2luNDIiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNWQ5ODM1YWQwZDcxYTUwMjVkOTRlNDI4NTUyMDVhOTU5NzZlM2I4M2JiMDljYjExYTM3N2EyNzBlOWUwNmUxMiIKICAgIH0KICB9Cn0=",
"gVWBPArrODaN3FgvLWGJx0shA6I53ceM4SYoYHnHcuqp5bcoYK7F/CvWnCQIcTork5rhYEEg/zHUTLSeLFKPvr9EuUgP5alxQe8ZVa5BNiOD5tH/uJw/tn0RB8FCthjkSl9cuyNFI1+cVa36x8k3ExxP1Iv5Po+ozaAKl0E7awsqFXi0rWPnqeE2qxCAA+AyaYb4NQgr7qFesQ8Y7pI2AgGe+GSWk2CoefiN411fSfmOKD7ftW1INwLwSYwS4dI59RJoZgGeYhij8fkH8y/dTrvlcVzA7slDuGBkLo3+EPg4Ti6rUHTxKJn82t8lbM3AdYQ+qj1cUMthaDIcb31V8aQW9nqYmUEm4aiMkZLc4Dmj9s3KU67ro8YaBgu+nzFkj8v8xSZSDGjfnXEn8Y4wh4+GfxeR7obmj4rts8hmE45M23od3el6WniE0B3CryyVHSZXWa5mpI0XK+/Jp9L3b66n+Yf+sEurv97WzON80uyGnDN6pOed1kvWcS4VTGDHmx1wJY2nf2x4Ao3DbD4TkPpQH6Fk0OXsSSTYj05VGlTfHLMJezClQd9hq+Bw4BDGeYjAAoGsSKBkVFsXnVdjbS9rfVgGdEeNdSF8jW7gS7Kk0UvIqV/F8GRQvQWNrLRHRSOY5AhFpTeJbHR/T5nU/UvM8pG0HFNAyOn53+0YuTA=",
"Cochon (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2Njc2NDEwNywKICAicHJvZmlsZUlkIiA6ICI0ZDcwNDg2ZjUwOTI0ZDMzODZiYmZjOWMxMmJhYjRhZSIsCiAgInByb2ZpbGVOYW1lIiA6ICJzaXJGYWJpb3pzY2hlIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2NhOWZkMzBmNjg3Njk2YjU0Yjc1OGQyNjkxMTliMmU2NjljYWM2YTg4ZjZkNTEzNzgxZWNiNjI5OTkwMWY2ZDYiCiAgICB9CiAgfQp9",
"ngM7/7aekhgcyDD2IHBkOWI4ImB/GeaUqLLctZ4QarKz3BkVo4Nf6qZ2tKKsg0ZmpZGHYiQw+v83G0qIeR0LQBrZpmu8JlfKEKTOIfK3+BhOW+IIrnzpqHlena/ASZ1uOdEjHgq9SP0wES4FaBMyK/hcqiugL3qD2jjzskoCL0hEFqjMj4DXiBpX73IZYdN5sFSt7h+Ib5D906ePk6UJd3sT5ejS4uPexouPZhOw44Ootd69bSioRVAQVKBhxR9VN5djXGm76G2FApYAijTJarmdPF9REhFVdrfJfk6J77eJgnPIkyHDgi1gifHhgV6dMfEr16F/RiKJ3ElMVEx3pdzOPqfJ+tF5dH+0/jITn00EekdMKHn9Xws4O7GtGTqBDI0u1uhFolHQVccVt8P5whuX5dd658qnx00PGb5MNSUNtwTqo5nYVpKJNsuKPhNfR5VmW+Mcgn+NI+t2G8VW6LTBt8OF/+Cl8Y5Q+Yn7qkiKFVwmnF2ByO8xqxqc+YuHgtM/UuXWXp1x+keHJ4U1d9YlT8UTxee+WSTLQbykVK52P4Sk4lbRe1GDAzG7e7Ob8D5Em9k4nO4uytJ/HfDddhKIGavw6h+44omfdvKYo6/OC5+E64As/isTqhD8yhSOmw15LsWKi5jCAv/pLcC9HH+qhAblQVRhn6nDdCG3AlI=",
"Cochon (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDk1NDU0MDcwNSwKICAicHJvZmlsZUlkIiA6ICI5NGMzZGM3YTdiMmQ0NzQ1YmVlYjQzZDc2ZjRjNDVkYyIsCiAgInByb2ZpbGVOYW1lIiA6ICJEb25fVml0b0Nvcmxlb25lIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E2N2FkYTI3MWY3MTU0ZWYxYTM2MjgyNmM5NmNlMjE4NjAxOGEwZDU5NWE3MzY3OTViZDNlMzFkYTIyZTk5ZGIiCiAgICB9CiAgfQp9",
"wqGlmex0NTjJ8S/nBlAvOEMoj+0RjTZy9ElCoezdekRBJrjXaMum7kzfcrJ+bES2gmxUQqAcu7kAMvaoWOroCgwtfkpHeVPgowqaOW1ggRfUnWRMwtZwwDmw0qYgPy5SRh930y75wvp1hQ7PDpeVAMwKwd78lreZaekcoHUFBascSzBdAeylQvzknOrEsjPAQUjL2hp8XZTrdVU2yZ6NjH1m1HCGZRm0M6+E+XQPAc+niHquRGey/bbpmAin8f1fjQBP67P9+jwG/HQI+cozecAVz5pNw1LyxQkyOeBZvJ/m6sT0WzYorPWuQwobKIV2QfCEH+0Wm2cvTKWsHGPOBobqesKnxFKf0zbaOiopiNgY2kvKgO09SXbYKhJKWDZXhdlwYW0lFuqsdB1DaRw+aAGfKU5SfnBmDrUaI+Z3QgW+phlbamsy7/Qm+VvmnSvDgos6iGA3iMn0QVPgl+r8Qxm7CqUAvaO8aIA2NOYdh7tVSBkwrhP6yMMGzoEvxGkypbiyEuZZ8ekU9hzr3uCVGUoOLFBY+zYkR4zxESYHZTMoux/FmKf7GzBsCrJnw4iRwbsI52mrjKfr+GAC6AM3oXi1fHRZ2Bj06+m2m2aU0NeKmtcQOo4UZbhYzMCFQMvmM9mV+J7vpU4C59c9lY3JdXa6xMJrkGJW3wk0lXQRHYo=",
"Poulpe"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE2NDM0ODA5NTYsInByb2ZpbGVJZCI6IjNmYzdmZGY5Mzk2MzRjNDE5MTE5OWJhM2Y3Y2MzZmVkIiwicHJvZmlsZU5hbWUiOiJZZWxlaGEiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzYyZDhmZDNhYTU2MTdiMWRhYzBhYWU5YzgxZjZkZDcwYWQ5M2E1OTk0MmY0NjBkMjdlNGQ1NWE1Y2I4OTE4ZTgifX19",
"QgGBmKmYsPFVaU84PBnYOjcByUy9O1/+o241BPMS1PPP8pZpT25+sLg83262Y/+nNX1ctx1OJfP/kvzLStjzGh0zBNc7P1yjt9oQiXpywmMzp43GydifNTG20+rX7lW4qac+ePxcYumXH6H6NGCEJQbn388bok+VOjNwbFeyn2uxSd/IwPadmQSqNkK9UsLhdATckztegJdIGSBSgvNIKoxOjGLHAh/Kd0NCx0wAPt2sGgTQi+PAnnyMXuU7sVmK0WK5T7eT7UfRNakk0BFbMiTjy9W1e7OMqJrC22EWbqX0beUBKLBtmEv4YruPIUW6zV2jofgYUZWY+ihinnxsx8j3hkBtS8xMzvkv4bXEQ3v174NKWpHTg4rQBOYaVbFOJm5sBbDVv2zFy4wrQWw3nNtcXxOYrmDtgDVyl3DH7VJND+woLSqwZedlpwPTPuO8NvnNOlZiknq2s9Gc/CPKbFerOC149OZDHR3z/jw9V9Qg8YgqrTKJRHjUa7m5Ex2hK+5aVdrfLoDScRFm2CS7Xd3uXX2MAFjVhm3tSbwz/ZiXSmBPvoPbhuzGrjecjuY+cJ7U4Enhg7i5hP+MtGUPJ2OsRk365SwN1pedn/avVeSFoPLpNscDdBYLDwf2n6+k1TzRHyDH3M/wG+r9fOcyeN4lGrSrnlvGczG+zi+kOEU=",
"Ours"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDc4NTk3MTc4NywKICAicHJvZmlsZUlkIiA6ICJkODY1NjliNzg1ODU0OGU3OTJlYmJjNDM2MGYxNjkwNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJPY2FuYW0iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMTEzMDUyZDJlNTEwNTk4ZmMzODIxMzE3ODdmMDk5YzM2YWJjY2E4NjIxYWZmYTA5ZThhMDczZjdkYjhmMzdmNyIKICAgIH0KICB9Cn0=",
"DXWs82O1D7sr2ADHA/Sf2nx1/kCv+dc0KxWmASz1TL84yO/AhSIzGxDCAY9S+ZvEHwd/dgztEdMMPMc2raMQixa+YDei3nEGSDES02wdxhkX1dKLLjDwh6hLBkPDAGIEK5uLFK4mxzv95itAqkSbILyI4/gNYNx4F469JqWyEGWzDa9NOMuSwCMwXq4pv6WvJ2Zz9q7TXbhiKzlKaAuaaLIPkGV6VcGJFcHJf/NMa1dlUQtPZkd8RRVyMGHckJfMoCwljaArma4L3t35Zh0aixmCWaZyNlC/kIgCz3tAPeHmVfHek9MM0UGKjXZzInWi+BWm8b1bNhImwH8LGw7buZU1NCcMzg3MAZkH8YcHwhgWM4VePTpRvRoMXU3w2qJwjDkiSQUaHO6nPq3UNR3+yk1UycJf3Zap+i65A5ibHdAV1m+GqxJy8i99pZ6b0ld8DHr7cgMOfDFn6KiaTy3xnneAYsSrLHqF9ejPiIWGA35/CZCgQqwjMtjKlqWxf2yfaJMHDk4YljCakyWvp5TwbW2kCkKUoLWlPU8N+PrnegT9To/8Plybzk20QxIEghSzuiBNz0354VI7e04ePw6tQJ4xqKsESUwyLr2i6gcWbeOfwJNzLRIPW11Q37Ks2Gn1Ssv+l3sxV7T1ARcGmltmAA/NkHcjz4H2HauuFlY7E1s=",
"Guêpe"));
// Jeux
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NTQ2MDgxMywKICAicHJvZmlsZUlkIiA6ICI1NjY3NWIyMjMyZjA0ZWUwODkxNzllOWM5MjA2Y2ZlOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJUaGVJbmRyYSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS82Y2I0ODRiMWQ0OWZkMGJmYzE3ZjEwNjE1OWU2YjM3OTNiOTQ2NzBhN2VkODVkNzVjYjdhYWEwNmRjZjQ4OTU5IgogICAgfQogIH0KfQ==",
"DO8v3VwtBhRX7dbDIuFsoubln6IALJEwcZtW3Fi1g5ssqLXdsZ1AUF9im9ya2RkSxanoZunLZC3FY3RFUUZx4Ooo+S40bgi30hE4PL6xjKvifmg5cgQzfsEO9CDvsQiprbjg81hpd7ydzMZezR2j+d1QZZLxGlh/40a0EBMXXfgtk1xsPQqHw7g5RsfR6uZg55Q/42j33OWsdFUooQjzQ3idzat+Ioxsl3en/woLElTmKLKxLaVgo9bpa1ssCX2z6q0QmrmK1tdayf9TY+JHBi3QDrc6n+NXs2JliYhCDPUtXXdaJ6UVMCC8lRT01fbsp/TQAqw13rtrM6cn3ywtS4sbWzCLmHb776MjHvyalXYl7q+edgRZLUGTvHhlQPnwjC8t3rA7jrFg30QVCchcK5qvMgTEsQeLSWcLij75jI+mSGUBcj5jpHkCbFmdJkQbgP0YEn22kHDRV0Ir2Lq/jU9HI/q3Kp/egCfL3+pTrkb9BDAXWEXYU9wm9xmba4E3m5H7290vvTY5DFDwRpztvXeY5b3Qkr9MUtYY6Oxq1fPBg9nHIpjOTlJbXydWJmJCgEhVkpilhIIiwjzmsZfx6l4yvu+PaUyT9MHzOyNqfwXSwBjjIWxW503dSTPcfz1Hp9hIeo24HEEbR+67vSxGlV/WKd1dfwqJj8VOmqlv/oY=",
"Bug de texture"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODE4NzY1OTYwMTYsInByb2ZpbGVJZCI6ImVkNTNkZDgxNGY5ZDRhM2NiNGViNjUxZGNiYTc3ZTY2IiwicHJvZmlsZU5hbWUiOiJGb3J5eExPTCIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvN2IyOWMzZjAyNDQyYWEzYWYxYzRjMzFmOWUwNzdkNDU2OGRhZGYwYzcyODcyZGZhYjUxOTJiNGFjZWEwNDJkOSJ9fX0=",
"t6XSrimpBDhkN7cDYQbBP0OdO/HNAWxqq4Mip7rm7ZlocF8ld4q4k3T1c6nvnVlDh36E3RPeiagEOPqloDrcPKSCq9BlauEZ8pMPe4jDaCSA6qEfQDU3ezNWLpYkejKrMO/etV+vX0+lPYPKEZsp55kXro/gLs+yjEgEZCBxUE55ALSLLdKmUkIpmpvq0PrVtCsdj7iE1ntR+3UIk/uybxW4I2o+fDuYbT3MPZvglmdsPhb8lUlDeotGnKL8bBVz1rTCnMxc8c9BVANf79QyEcePXESrzImPQWjZBaJpKO8S4T9YY+pyndkalbxkyET0IfcFwVyjwyu+55Uz9lCh9k+8YhcenfEGgyKqvsFNKzsAADSf+EBZj1lxGf1m50vXEoi7pttyJLgMkoVcSQGrYCI2THDnACRctOiWJnKpVW+XFeGtd1IQJbmPDkhWFxxr8H4woSSQhU6y18EQkBvEmgP1xOFxid6NaQZTgfDTPX5TAiRxMAXGI81JLO4/wD7562wx9e/ApvXF9xPjHA+7Gfz2JtNqE59i/UmPDiL0b5OksQPKrd8kJehgfM0FVcViKjEmTvBO4iwjrp9FIf0AEcc6kq2F/UgUjNlbZB/61xRZrKbcc5+o/bN0N80Z/vm2WL8fA2bXFHscGqiEZp6/znH/xdVb5WH3VWzYXs8jN/I=",
"Mario"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE5OTI0MDAyMTksInByb2ZpbGVJZCI6IjNmYzdmZGY5Mzk2MzRjNDE5MTE5OWJhM2Y3Y2MzZmVkIiwicHJvZmlsZU5hbWUiOiJZZWxlaGEiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI5M2Y5NDMwMTA0MDUwNDcwZmIyZWI2ZDJmMjA0ZDYzZGMzNjI2NjBhOWIxODU5ZjAyYjRiMDU4OGY5ZWJiY2QifX19",
"dssbJ3bEp1Bse9P7T44TskeytlcaMOKtHa9l5rP3Fa5ObVXW1ybGVJlwoNP/eG1nOUtUEGXbIwwcbYCFJHhErMLq8d3PD1njd6COkj40LUdcYpiQuGEf4gakOeh3WuByWBzMpTqqJ75OWNVoeZODiqYsOFY04S3ocmU8OWTm0FUXlrJvMQz1U48zLJAP1Te1eolapBNDsxcvcr1noJW7rqYExqowqFjvxj6YZCwWYSbAoo4xVCyn0ATYMeHnCYYiodoNsLUoVpYJXPh9pmaQiDWn14SF9lIPH7q6QxAA3rOu4R2SvJ7kevyyLvAhYEIw1pTuTpiFTyQA3gRPMSTfa0h5G3gPdtlRw+saIjEcOrAbDXNlexBbmCRPdE4JoLnumqbsF2Y4ofMTp8k3n2os96JUWIrLEgUmr1qjrxTlZJxa+nV0Ir2zT33gcL4JiqEFB89M+pdHreKrJH1DO4FHJdROApKcCw+sKclFDQ/S+jGFn1xTD0myeu4mU2E58/tlKCzGuybO2YQWYzp+7QrbrutlK5x3lGde9Uw7tLQM2TDSuR1urwYfHgcai5k1YlkaZnxA4jqBlsqIgG+FLjuYC1sAe47zqZ3vx2LIaQP5PRXSVvUKA8P/mKO+bHoCwqYMAARIt0FGqpZOoAjyLm6tJL9KjArJ+VaSa7AMkHregEk=",
"Yoshi"));
// Objets
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjM1NTgzMzAzODMsInByb2ZpbGVJZCI6IjJjMTA2NGZjZDkxNzQyODI4NGUzYmY3ZmFhN2UzZTFhIiwicHJvZmlsZU5hbWUiOiJOYWVtZSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTAyZjZkZmY1OGUyN2IyOGEzM2I0MjdjN2I0MmM4NWFmMDEzYWY0OGZmNWI5NTNiMDY5NDRlNWE2MmFkMjJkNyJ9fX0=",
"GD92ZVwW9SGR8VuyjPWHY5lK3l9E6vCdTgFEmN7Wn+68g2TXJY4vRuAHuD91jSZrTXrr+qjIgH4Z8maXpsHyo5K0zFNog6IAyaFasbjj3czEU8ZllZRoJ9bEF7Pv5qWajqy6k8PdVgaixjIdcXa6g5Jy1gFC4YOrntRD2vxqk6r5vM00dN+HnnpERsKr/IT43v38XvL5Akrl7bhLORRx9IF3lJM9huY9v+SxH0XDpHqpBdAQmWpE2E350IRMCpGnoBObnrgYI/OYv52d5CLbpa+wc+7UCZWWksAwgeaH2hWhR5pufymW2E4cMSN/d8rYuTCqeOxLen20S0eZ3sS8sMu+DSgUcj2O22JayVmd5zbgLki7TBpLuSvo93gXI9lp4JEMGT4V4WLG4T+LD37+xkEuGdtwpVS0wZ6oYS8x8NPGZdhMbRjBad7n7tjtitzk9hYAwrLG177iDZDsDcY4Z1M0hr64v3RH1cHMte/T68Bm03KZjkgQCPFURAhO1bsXqLeexr/ANKaeWcAsjMTJ/D78m/R3VtfQeVH7QYDk39g5ibJdQV7WsiwmUUwdfRJLxT1P+04j4PgPQqYSEIJyS0j0BrRS0ias3Ur0DtIoODUFwQIF3eqZhm5Q9fI9REwmfK0StfR4KB+SW04gOq6YlsEobTgJg5maBDijzYF8YPI=",
"Banane (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2Nzc3MDMzOSwKICAicHJvZmlsZUlkIiA6ICJiYzRlZGZiNWYzNmM0OGE3YWM5ZjFhMzlkYzIzZjRmOCIsCiAgInByb2ZpbGVOYW1lIiA6ICI4YWNhNjgwYjIyNDYxMzQwIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzlkZTk0NTAwN2U0MDA2NTA4YzM3Nzc2YTA4NTg1YWRlNWMxNGY5MjU5MTNhMTNkNTJkMjUwMGRmZTM4NGU1YTQiCiAgICB9CiAgfQp9",
"MrMICFNaOZWzznyS+quhHJ8Gdcc2e4zbMivvmTk0SWz3pAPAnhPLFPNmxeazPkw0Xv5qE8gwV8fJWpw12p/DsvfxYNoM4sCECXN6ZJ25JLHAq4GWctr7dTGtl+Cl7u7YxHtUICfArLJAPd7vYeC3tGb9oC7SLuv2qsH8JTDswAt5tfS3kmk5cGLbdFpSHDFKcmQ71w+pf7LDPI8AgAhJJKmvKQVNKAFRKVBxpdKlJPTxz7SdP+nZ/2KUTjStdwUYnBxVC0dP8mhqhW4Vp0rIkHzwS+bwbd7Rc+BoQ2SgLKM5IAD5pIPt8Xx3+Uz60mzsoXtsIGbL/ePfMSwvLdX4nzSfPZLCVNefmRqFXBxaXKexKOb12oj+DWXeBiVdi6KswsTab9iRY8905B5L6L03aw+fVbH2LAjNaguBop0MkfaYBH1rPuKbuJFXU/JyK/1Q/uP99BswlzcYDQHvuaknUsWue1DxHIH6KQg/qasmkN4quyruyxZnQ9IuDaODmt1Ff5JMWyXBnnYTRSebyMltzcu831jnY868NNQe2g+ANMwjuMrJ79vt2iRXBHin/Gf7ITA3YDaSTm7aJpspAIC77dzuZY0bC88+Aln0pbc5AJTKtpl6yGywXMAddu4QzkwRIWtLiY9yFdKe3ztk2YqiGYkJsVJWl853LYPBMOoarvg=",
"Banane (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MjkyMTEwOSwKICAicHJvZmlsZUlkIiA6ICJmMjc0YzRkNjI1MDQ0ZTQxOGVmYmYwNmM3NWIyMDIxMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJIeXBpZ3NlbCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8xOTNjZWVhNGEzOWNkODYzMmQzM2FiY2QxZDIxMDU0MDQzMTZlMjI0ZDkyNWZlMjFiNmNjNmRhMTIyNTQxZjcxIgogICAgfQogIH0KfQ==",
"Z4cnkkSk7Frfrsib5BUAvyy6OZZzkf5xSatELKp4DekWTyInaH0W0OGJQjmUSH2LRu1NJ4/huw+ZsxuQouzSabQmlMIF7m3x2Vgot9+NTNHBMNu0UW/sWICw5q7j6i5BYTjT3WtW6vp6ojNNimcw+z2jMOnN3d06pltAHFTmMNcB/CnuW2vjtEOLPZ13luusIsFo0GndScCanXZSvEu2Z/8Cyzx+j5IT86Uxvo8BXBj13dtQSk4csjJwgqv6CmGhH+FReV97KzfDZmVvgRiZWGU2VpwnrnIon4A7ahMgEuPsCnhtAsT5spv2UI/o3K1+wr4nuBOu8C/+HQyIUYp1M0gMdF+S44DMP6+z1vHtpR9eOQdaOJzXVEWsjVxLMZqudGEHCqBhvVEVfs4NqDan5Yuckssy8lnKk9I0WXzBli5jKAasEykS4qDMp1h3Wp3O6N7ykUWjj+U35tRIb8nB0XNtLVA8rLWu93CYKbYd08ZigJi4ja2jCkZHVfOqV6OuMaO0Yyn02M5ozl9bD6m7nn4YLwcq9ZlPbKSnd4PTR51vqbMCX/twVikw/ebxiB9Lgs3A3qBSDASFDQont43dWCbtDpyIZLvaSZEx9Ow3E+Ws8Lf6cG39jiV3GjMws+WW15slR+P1cO0vJsG2e+7EG3SJrw+UiI/eyIYlYGeQoFg=",
"Cuillère"));
// JOJO
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NzEyODQ5MzQ5MTAsInByb2ZpbGVJZCI6Ijc1MTQ0NDgxOTFlNjQ1NDY4Yzk3MzlhNmUzOTU3YmViIiwicHJvZmlsZU5hbWUiOiJUaGFua3NNb2phbmciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2VjNDZmODk1Mjk0NTFhYTM3OGUyMTU3Y2FmOGQ0ZDYxZmZmYjZjMDY5MDk3MGI5YzJjOGZjYThmNTRkOTg3ZjkifX19",
"xXTwvN/NaTh/wK/Rmdj7un+cnvw0EuA3Xed9+dnzQxWcshaUbFuf8hHg/sbL2TCspK9BQvKOGg6H0lKeonKujyhOQOskvFVZa9CI6NpGcpkqIr83Dl0A9fF3cbHKR1fjw+LyMkP7CMS1YwhT2y85m1IdrFbXLmF+/QO0UesRWufAnZCIn7OSJ0wzoFIzFTZNyjNmkQLIGPrVf+2rcSz+hH12Xf2kfNal5DfSKBHgrRaGOA4yXzaINhqaHL+gxFqsADlPP0XV3qEQ4tSR9Yg2kzS7AsMOt6No0q16NeJkIEyuFqejgMws92de/sY92bLPYtEQbrgWbwm3mlSYtKZmQu+7mJ7L6qE9nGHQ1d6zAHPcKdDetNAiP2pm0bQch37wk2lRVfT+qRXGsYJLsH/hrq0ddXLw3bNhAjskUEAHuPX11PnBTFbJdBMDQZumXWRu9285dzCIkFew+bzUVTXVIdntVWr6c8CFOZHe96yZwkVRet9WtjkVoJCCF5o2y3RK8JOfI97OqLMRH/ZSoOzW2eWt4HRcmA2JHmHUIPpWeWl+HcMECfAxsM0NR4v6zhgdqA/HNZ7hF3mddyVamOd32GVbR2gkq/QzFYrMeQV4yHncSKjr1VrqD8IZ6olT65oa70fLZYKhcbf0EzQYfmL6FBCW1swsd6IuG9DDcXXIl7w=",
"JoJo (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODAyMDU3MDUxMTksInByb2ZpbGVJZCI6ImRlNTcxYTEwMmNiODQ4ODA4ZmU3YzlmNDQ5NmVjZGFkIiwicHJvZmlsZU5hbWUiOiJNSEZfTWluZXNraW4iLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzkyNjI1YjM5NGMwMjk2ODYxYmFlZjZhYjgwMTgyMjcyMGQ4MGJjNGU1ZWI0NTU4MTczZjRmZDkzOGRiNmMyNDIifX19",
"HCdEghsfe3gU+Y3ZqeUdU3qxDGsqAzH705Tr0N3lfzWjf30ycDzeoOxdjnqQ93VgCVeiobMPM/lyCDJkyY/FxVsDpUXdbK9UVbI/Tn27YgsPS0ZHVEvCXw32lPbDXWt+3iqKjALnNzjZ5xkIwIihbpmFfsHoKnHbqMQq4u+6DV0g6aAsrIjfh7Gwioysdj/s4a/Qh+VK8tWK14QCHAO8w/xQplABeirjM0aoCjnQMp7I+ksz08XLw/FK0F7QXlW++AKCbL1zSYQFHqYcOiSOrx82/N+fjpFX68+He+OJAoKkgZ54yshin50kaDckalcDfycnOCtfkgDsDAWH3eRmqJ0t0We2p26CgdR3elfeCQo43XXuhtsH+HVMru5mCZdzP9gbMz6zIW97M8XGyslyKC5TSGrsBmxuia78vvbUsoVIlKPlmVPmPppjA1ujSu0VBqijf3TIKXKadIcHcQQBpjKPHvhD+ePcXceZVL+fqy9ybf7F6GkVvYNRs6TCWHPTQ6LW80NdtVJH6qhSnufrlSX5Yvqvm78ipQLYt65NZXnuxoabgPKXINj+zR5K9jATAZlBNEFCd1O9zhLBumlHIH3QutbWr1IzAuW/HPJQDeM4R3trcz3g659aMN0lPxXjDgDDeCctrmEZCf/UTinOH6hP23jKSM5rFZiiNHRyH3M=",
"JoJo (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5MDUxMzYxNjY2NiwKICAicHJvZmlsZUlkIiA6ICJiMGQ0YjI4YmMxZDc0ODg5YWYwZTg2NjFjZWU5NmFhYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNaW5lU2tpbl9vcmciLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjg4Mjc4MTM5NTc0ZDg2YTI2YjI0MTZlZTA5OTAxOWY5YzYwNWI4YjYwYjJjMWEwNjFkZTAwZjgyYTE1ZTMyYSIKICAgIH0KICB9Cn0=",
"UVkTUFW5LB9tBoQm+rm6Ix6seeeaNXVBMippCCsm+dNws3LUIf2DU+1YIaW39Sqlc1mnKEbVCpfBQ9rbn8GkOkIuuvrVnM926iZnzVK8/6ogT9UNvCqVCDrIkonSeYLrJgr6j+PyM/jcH3e6ebrDutLYYiJx4AG10HIG7A1w6PB7nCEez0jq4oljad6yDnIXNU5KKwypIBPfprrEXeGiM1oENuT046ayVzv/x5lcdhPvGMTGQoQpcw972i+csHOhRe/JmPKOHvjIzuQwft48frGtPmNJ2QbUb4xIhXKFR5GWKG6hbnRWffW6GBw1cOSghdi93RO+yK2t28P2RT1k75Yf2YOCopZpZCN6BOcVn0FUzvd92QyrGvyUf18dj84/V9K6T4W5yA18zQEnhPzqDG/+vCTfj7Wb8BTNJjpr/vNh3g562Z30Tm08xJkJRiwVay8NhS9612Zl6Td9KO4WkdHCz56L3qPrnSRhNmhJb59RMbRlugnpC+s/5N3VVqLj+hXzbrkrMIGtVNZiVdQh7oLcgu/eDU46xbKmh9MM8c6BhJGp61K2Jh7WPsnbw+LLkdDv1DH/eFfiNbZA6tzzbLPPThaAcGxvFJeV68xEQTqtOkZHVsz5pc/lo1bTKmHUNPoerIZDJsWk86lczswr+5tnct6ibDfgpcv5kdM0uzE=",
"JoJo (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5MTM4MzY0NjQ3OSwKICAicHJvZmlsZUlkIiA6ICJkZGVkNTZlMWVmOGI0MGZlOGFkMTYyOTIwZjdhZWNkYSIsCiAgInByb2ZpbGVOYW1lIiA6ICJEaXNjb3JkQXBwIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzc1YTY5MzIxNzQwNzUyYjc4YWNhMzVhOTVjNDdjMjlhNzFjNzJlNWFjYjM1MWM0ZDRiYjJiYjYwOTQ1YTE5YWQiCiAgICB9CiAgfQp9",
"VHLXyPJsgPBKRJiZ/2aQ9vSAiOHXn8ysfTVqfUweNkg1iaDT0ehir+hr1bwffQT9QwPjQL6R1NCRtd9S5XShExhrNdS3PRyASnrh7u8Fi9jvIO7u++DxCC5cimrFOIbaxEHaWt9qeQjm6Lmsx7Yt9O1b1Lsw5UvdS3DRCa4Y2+i7J9Hp96sRlSABtPXD08V2NdJFW+NHV13WLP7bdqZYNxhjycugT0EEcBHcqiIGIbaqShw1TJEHPSe1N+iiqIyVCW268m9ortvuAWEcw3noVZWrcdOtY616RWikgKkc7o2cg4c5OmIpIo5PU94SI4DAnjKYUsuhRgN69w9E2HEDmgspHewWlVeJyg2pyLXoAgHCDGzl8MSGYnNOrfswWcehv1D+/j0nFhD/JUQHNjvcPgv+2hyHN+JpVMDV7p/f9td0WBMKbHPnH6f6KU8K7oNSYN+Z10EkmB+bFHXRgWzR+F+JRB454wgMh2H0KaigL07eaxfR5CKwipmHSQEI067qNmijWAdvd/AOd+tPySmOk30nUFK9414lJCOJDtoaxZEb4jLhfCjbe1ITbl0ScKhShkbbqhCHICMzfZs9oFNef9sRyZ2WuXt4/aRLEMabyjQHT14YoUXuauiSbiqH6NvBfC47j5TIYFM3Bd/EMq4spzeCRt3odGJCBeykXmKdmJA=",
"JoJo (4)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NzI5Mjg3MDc3MzIsInByb2ZpbGVJZCI6IjIzZjFhNTlmNDY5YjQzZGRiZGI1MzdiZmVjMTA0NzFmIiwicHJvZmlsZU5hbWUiOiIyODA3Iiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9hNWUzYTU1NTM2M2VjZjFlOTg2YTBiYTM5MzE2NzJlYmQzNDZiMGZlOWE4OWZhMzkxMWFkN2ZiNzJiMWZjYmE4In19fQ==",
"dB40MvFGp4O43JnDbiNLo4FTrJWtvxIzC/qHpXfyLkMzWxVg+Toy//XSVffI/ezBT5GyEtEEnxXBDAtyqI9UEqkKiFDhFbFQwcCE2MetRCat0x364L/xZ2ool3nCLNt+MfouPlYfG9a6mrkJRpNnaA4sEMiUB7L4a1AF+6z1FJcmQpR3Mwu8CWiYV+5IiTz2HwhK+X79BVWgYxxwoIXX/TE6eu+jbsZKnUo9uhfoW5NKCnpdIVT/k5EBcsqgii+fQJ08sujf5WKJqlYdBg2jkmXFcb745D3DHAHAvKfeRqIR0y7XKZZKTVKFXSZkFmLIH6KOszXe9GguUHBcMuRcDazz1ArvwWMjhCW4aG5CTTqJz6wCXC2ztWw8Z3p84OhVZ2L5PqfjbhER4epnGudgL03cfivbTImOAJXd+w8v+YzuU95A9/Kmcce2seBdiddsqiop0GPOFim86uZr6CFPY+Mz8FXjU5bi32RAyQ0F21RPCS+AquXmBeX516Pt3jwBNL0IhVBc5grk6oo4Ip77GorAkJalcay4fyCURbdLO86oq1rrjSbZcYTvShyWLymwZEExpWeNfdTjmi+N8gmQ9TUbdZ2YDnMJGbp36VvGvmrwX3HZVDpm62p6dZNg+Ba0+CVAT8bA3kNMP2mbTnVePEabOOaxE6kiRK3A9P/ohCA=",
"JoJo (5)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5OTkzMjI0NzAyOCwKICAicHJvZmlsZUlkIiA6ICJlZDUzZGQ4MTRmOWQ0YTNjYjRlYjY1MWRjYmE3N2U2NiIsCiAgInByb2ZpbGVOYW1lIiA6ICIwMTAwMDExMDAxMDAwMDExIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzU1NmQ5MzcxNzQxYTMxZjQ1MzRkNzAwNGZiMDlkNmQ0ODVmMzU3NzNiMzE5MWY3NTAzYmUzMmE1MGE0MTZmMTkiCiAgICB9CiAgfQp9",
"FDVcvn/g+nE9uUMA5vjVflbc8T6txyXz6OXIihzp4cdVlLPkxY2QW2nWFs14oGe6Ha+gHq4d7kjveKcaqUZkrqaMbUz/oZcHbxM9tEtje2M7+06THfw74e6xsVa6qKxEHV6pvGw0TcEiQM0sqAPtpg4r0hUgYW9A4iuGIiF6WiMhkbPegA2jNLuWfFs8lZX3VJh9DTFGtk4LMzG/7l+0SMEOFoopnFIY0nO4yBa5fZ3UN8HWHTIPg+gX6J7vk9/EHYXDfuSMhBAV6WQ+GhPVaX3E6NktNrMjxfdtuDEEE3KnzehH0LC1hsspcTPwFocWPN48VjYXfCoo1jp8/BsUSwlVtICoXnzh5LQsOa+wZLH51nP3wT/Ph8aHLRsADLUrWPhgU5DUwpPrQ+pkd8sFKLxVBAH6FcWvJ7Zs+Daznx7YL3fhz14VWmFbeUuSQLOutfX79U7vlMJ0WU8QV5dg/cTWNBEsIPF18Nm1xI/jqVMjqQ8/q0rkN1swohLwHUqmwqDKG1H9xAWChlFGVTR6/f78AaDswmsMZeKaqLLSCWNmyHViWmCdpUCUPVD5gTqAVf/XKS39aBMjcRBGOaA9eotqVgfdKdzqZCVO0Q/TfwaJS2gf4CtDuhtxRA0tXuRNHWnI3AXAraKHHwmF0uUGQMGcpkAEksNnELgseWa36H0=",
"JoJo (6)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1Nzc5MjAwMjY2NDUsInByb2ZpbGVJZCI6Ijc1MTQ0NDgxOTFlNjQ1NDY4Yzk3MzlhNmUzOTU3YmViIiwicHJvZmlsZU5hbWUiOiJUaGFua3NNb2phbmciLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzYzNmVlMDJiZmI2M2EzZjJjOTUzM2U5NmY1YmIzMTRkNjNhMDdjNmRhMjQwNjUyM2NmZmQzZmRjYzI2N2IxMDcifX19",
"LH8LJf+fT1UHzUQ+i2eNFj7gCXoY2ryV6/4E9RUmUYoH2kppu7XdChcAhxlOiYG7S++Xcobui3UGTDc073kQN1E6dP2cw4EenmAhdijW4qn/Uvr7gMYf9eswCz9VQUOYqibhkXik5PfLjgmnzes3XZPZpCEHPBXFiw+ZaMGXKgbCcijV9nkTqFGztP6hJ0tJWdrTCAT39KLG5KHMUQRX+9CvRuYvmTf2kziZ/Hb9VdrJ/w1WkysgWA0A52hUwI6UgZBsdRGAf76t6vsl0a6gh80n/ZE+sWd0kAIbwQDNeJ0u8ghcBpcJiysSq+tyul+9L6wiXSbkR4FDIb+NMEFxa9pQrhxQiU5dkOZLAhxxHB5WAk0WfVDkpg2NEFi6b25ThJC1bV/zsrcOyYzXOgfjZye5td46lSYjuZ1KlyeYtPUb9OqZXGa0BNhHre+Tu+1yXhfhq1+lUMqumqarjnQQ57J7Y5YWQ/gLWHvwnitMwjDX8EJDGEuRvOieo7eFyf++Mhs4ETKmU+be/ThxCsRElnoPTFu+V5XHxOxX3diLPTMm/0UP9W1S+W5awmh/R6RoHluCmNiDqYuVEyOtq+Nr/uG6r127RmBATYjZhrV53UoOsZOsQEyKJVD8nuk2acdfF3IThBdNkjONcZAM2rLWgL0hCOmUCOvBXpMFCtX5+aM=",
"JoJo (7)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODU0MTA5ODI5NjYsInByb2ZpbGVJZCI6ImRlNTcxYTEwMmNiODQ4ODA4ZmU3YzlmNDQ5NmVjZGFkIiwicHJvZmlsZU5hbWUiOiJNSEZfTWluZXNraW4iLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2UxYmMyMTNmMmE4MzM1YTk5MzhjNDEzZDhhMTRiNmY5ZGNjMmNiMmUyZmQ3OTUyZjFlYmExNjlkZjg1YTkyMDIifX19",
"I6GtfCHhz0EcRaqDvJu+dcMVFG5+Mp9D/cARSnxGOuXFkUBotX1L/EDQb/18zXh35nZLndYvlLGdP0tXaDKuVw5f2QRa9trUGzupEhiV5tmuQilmvt6zJwlseJUNquMfe0f2OQvap2Ip7FAB46y+nVJk75bAuSjPtnCkDgQi+y8cAV25A0hpfH55uVUcluIceYqa64MpdkEVuhSE11h4YcfKp4aViBrZ9n+49/9/mVLEbbrKswiHJfrUv43tyANgrziizIuAPip7jPFnBez35G7cOfqd9xsDfxRf6kdGlBza81lQRbnO4aJJnJAz9EGsaUHpWOHdGiIU4Xu9VdqKFOu4Bo/8v+IQhB0tcmEEEAC2lXd170lVH59Hgknb6/oBFIYNxCWXdd5B1n7g51Rubop948D6k+xQSIYeM200fDnEtLaPDsh6H5Hqi476o/38l0EkVWfVIuGtITwLT0aUeJShIyfmbfKUU5Xk0F8FuXu5IKw4YuQXLZLlhmVjV/AU9d4MIjoCz8QPZkKSHfn36iSH3bfUTf/NLZeOE6y19BWgmITAs9lPHFuGTP1s3f7RJIJxumN7s0OTNks4Nx64cecLTKJtDXa9gUfFyj+9UXtPcgnzzXsRAMRq7DOWSUhYrGkAWmkDdINtIEQka6wPB963HIRdTUAWrKGX/XyiKQU=",
"JoJo (8)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MzU5Njc5NywKICAicHJvZmlsZUlkIiA6ICIwZjczMDA3NjEyNGU0NGM3YWYxMTE1NDY5YzQ5OTY3OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJPcmVfTWluZXIxMjMiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzhmZDAyZmNjNDcwNGNhNmRmYWZkYmE5MmVjNzc0YWI5NmM4OTVjOWUwOTBhZTEzYzY4NjMzNTI0ZTAzYjMxZCIKICAgIH0KICB9Cn0=",
"FP/iGl7wq65gKFD3d53LiTczHbYi6ZbzAeByqGAaZRZ6YmsqNOC3C7coBeQknD6jgWbFw2zpC54br9u/wTzQVgTkMuXWtb4i8eDgPre4exIlQ/CYnHXgL63nQbe8HCHkBusSI2cPjaOF2/Jz/Dkqqm6PeQE5GzTV0zBQuCG0gw4nHqTlqxaCBHgiPEHorIX/JAzW4UjExYFRGPcNmPzZ6Rd4p23ovj/OeH/jK7tsgMM3dJttMSTcU3ldpPMVM/L45l/HP1RasOnghZK8HY9E3ZDx51vs1Hos6Wp6qdQzmz2pQatjNf2LJ645Rs06YCV+mIhyFdWNC68KaxzUIbqeMfXW2hP7bKOG9pRQxwgRingr2PK0G6iaoa08weNlQCssyDB1nxFBtai0zgF4vqeYTxmjQXUNl6O4nQHTvQ16++Ysutpp94Zktuu4UbnLgQc5FJRO5ABbFYUlSsnhuDB10JwgGuvBvGIlJHVVESYshkoUoReseooBRoYE1zb6yVfO3XUmNHFN8BvxlULDGBl71h378/7ozS3DJVFRoFbMaSMXa2Rl20ZBcBWBPGNF4W7xtw5RTvHZZt/uS3BtdptuotXJBaZ1h+cDIHmTlZGQFE/V0ZJ1WUbSIoNp8J0o7PtpY+rojGkX87xNoxEd26gM9KDzzBlbhasJn9x8Q/10+3w=",
"JoJo (9)"));
// Pol
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjIxNDk0MTE1NTcsInByb2ZpbGVJZCI6IjkxZjA0ZmU5MGYzNjQzYjU4ZjIwZTMzNzVmODZkMzllIiwicHJvZmlsZU5hbWUiOiJTdG9ybVN0b3JteSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZjczZWRlNjY4MjFjOWY4MDk5MTFhMzc0MjlhNDg2NGM2NTY5YzUzN2IwNWFhNzRjNjRjOThkOGExZDU0NzI4NiJ9fX0=",
"GkxRAnyUsPSXvGQZvJKwx+dxGjD+PY96Dz3S/RLTcTkkzt9/LGWmx6tzZx/k40FmcgjBTktpfJATTxGcuM5l7yDjxMKg96lY2ai41rIFpgmAgfK1YXIu9CKSA1pNQOjlBlpGM/wdvyXsrA8fMInW57ot4XPQv75y3DIs56oaXFYVJIMDneEygnKz3/iRsa0BkRonxqpnddcjJXJMN7JRVEp0fZ16g9GPosZRm+7DjYL+heb0cesP09Pw4o9l2oqpdDMLCehl8iFMxZXrWhXOgSV7OLuvwfs7G9dtQpOdFb4eSL7+9NBo5cZtlwZ9gFNATYsDoMajuNMcttQL6s58yFIKrmDXSiGJp/ZxwhXhBbJ1eyqmeTRavP0vAVsCFuouuubAc1qka15MjWw1MwDyDLcMLl9sriAkkRK3MJ120QZY53B8JR6fhkhmX5AjWMIk+mclj7sBkh6l+yjVdXRZ2XjVJ/tPivvS7aZj0m8fcFmt+ndP4nU9jhGmbpSfXkjRtwASK0FWnpkoZp6doFcohzPkWyfzPoCIRXStQFRCo8kpJaPiwZFvyWYt+wrG0fwi6GKe3NRKkKTO1cVhUOkC4361935hEACx7aV+2KhxCkxX0a81MUCUkIS8WFf2Aqt5glqA73BI7j2UyaGGpo8mX9ImESuCJuO2bcsEzW+OgNE=",
"Adolf Hitler"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjIxNTYzNzUwNjksInByb2ZpbGVJZCI6ImIwZDRiMjhiYzFkNzQ4ODlhZjBlODY2MWNlZTk2YWFiIiwicHJvZmlsZU5hbWUiOiJ4RmFpaUxlUiIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjM5NDk5NzRjNDg2YjA2ZWQzY2RkNGZiOThhZjRjYzE0NzEyYTM1ZDE0ZGFjNzZjYjQwMjg3NjNlNmIzOWE2MSJ9fX0=",
"FnJJVhCGzO2rqTHXvi/w/rboYJWBY/kal4RUuS9+EdEjyRda5tuXgTqTMauzPEPgSb1oq8k0lLjld269IXdGWodqgiiZmLWuHd0kUJ0saxeND6SL1YePX04Olcx6CMdqQaRjLO110iSPw9mV+w3o2NmyqbuPO1+RfwiX/j0Kq/6A0VezdW5foDqAGX51GDEIUK5PLgzDxcN5CLI0qSkOkegnrMS6IEJ4gyvFeWGz7L+quYu9uYeE3qIZ7wRoirKQ5Dd4nJzu3O3OFfPucxM9BQlcmL+sDL768R8ImLoyMvZxg2Qllr6iDgRTskwYh2+994wxjumU+e5f43FTJsG8U0tnprY9UseefdGL+1vLHH/FuChK/j6mH0n/9pq7iU34Yln0k7A22O0WZPUrV1/m+ml/UqtAcR2jzytJl6ft5Y1fTTU3SUmpnbUr79BHZjHKh6HKTzYAXcfjmm64jFtHl+PiB8bv6dxpyMcdYUFJUX72dQgvkKwWskVy/xdprWpdiZPEVDX+HPVnzDYwTEC/FyzuDjlkhkAogkfSm6VlzIpDKIP5rweB92b/JcpkDvmknFA4FYBPSSeiik1gH225BZ9Znzh78zyU28W397bGWZ5vAgXiuA/wM4cmpHlEcB6SZaKLNqsIcbJiINXN63iZ2/VDk1Egj5cauP/Ez7VMoRs=",
"Ben Laden"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjE3MjMzNDI1MDcsInByb2ZpbGVJZCI6IjkxZjA0ZmU5MGYzNjQzYjU4ZjIwZTMzNzVmODZkMzllIiwicHJvZmlsZU5hbWUiOiJTdG9ybVN0b3JteSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjQzZWU0YmI2MTNkMDRkN2YyNDVkZGM1MDllOWUyMmE2NDZlMDE2ZTY1NGM1MDQ3NDI5OTdmNjkwZTdmMTYwMSJ9fX0=",
"n9m7e2EsD/15Gw6OMizY2xza51H8E+UnETc+nGDcvIp2Iun9ITQuqeI1dONLf4B0nuQvwj/IOTP+0/TF9NzRLEXqKYi9T6cJ3PabYoPx6Usug7+Ds2sRSy/M0pyfZisJl9Ql9CD1rfHLQl9ws88+JoQ+1MmpWJeC3+d9tirpS2cWqLdaYDolJblMM+1wFHRVX9hTtHyTQYgDQMME1n+XNC9Inwj5O87lj2OkqzDEdAEP+Ig9ADUWo0/Gmb+ShYFm2sRNBdX+neR8LhzB4kr4zL12TBcvtEy88EfydJn0O0dk+TnbUBkEJa9igt6EsLeGyESuKXeytxdGGp9E6FBHPSw2VjLRQhCK4qW1hEo2v2cc2jA7zA9HTRKcwQIEj80DdvD5Lqhla8o5WHQKFxhMiTUKUT7NAMziK8AJxxmr0HgrTsH050H3C/9FOo30tIA/wQ2xMnn7cwBu1wA0inlqcs2ObZXqjVv1QCQhp2iiFAybyldVwPBb5AbBmNnbsjB5LpwNp9dImiP90GO/OSPKzN06UW5DVWinBddsmh2hmgRY+etd5EXJhYOASigMAxHcRVjvsTQbM8lvSFuNUNK29Z19KhTamT3saDiNdU9iv0jmtgvJ4ulVU97tfmX23uHTOfyO1W2HMhEXNp6piUVkCINwpuAHLbgLheoqGWdZ7r4=",
"Staline (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODQ1NTUzMzc5OTYsInByb2ZpbGVJZCI6IjU3MGIwNWJhMjZmMzRhOGViZmRiODBlY2JjZDdlNjIwIiwicHJvZmlsZU5hbWUiOiJMb3JkU29ubnkiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzE4M2YzNjVhYjFlMmFiYWMxMzAwNzg0YzNiNTIwYjBjYmY5M2JhOGZiNjM1ODZmNWM4YmM2M2U4YzQ3YTVkMWYifX19",
"TyJr+ppNk94s0t8jS96S2oBC0XXAtQlZfwMhl7eWUyWTkZO05NAAXhDEYye+yN2cM23oekfNn5E81Ia6BvkNhCcgIbjTAcVkqy2NyrT3V98kh52yD/DI//pNju9tQ+BLaFIjgu8qpXtohlTs8qn009aWFG7NTsUa2k1ubWzuj4U20K+znZwEmYBEPtWynSiIylZ73JepUJvMPfW0inkHceJHAwmDQ2xLvBRNfoVqzjboCooTDJMcF03UlpByO/Y5A3VRs7UyBymE4UcPgKSyFikWCCQn+SAfg9AVOMgmZUvoLp48E3tSqqcvRYVCSKDjYdnOFYlQpt5b1robLYfAOwqKEM84Dn0lomBg5SC9pPdof5l6HbdfDnprXeF20gBYIREjsOkgFrG998bPXpSRIjxCMiTQ9cgn4wzPvo7qEE/Ygqxx1usYC/FCg9VGlFabq0uWqVT9AeXzYShla9XkLwlxWkp4zIwaaNBIfdB1a37OJ6nAuAHg+QfZUPgY45LoqhEodR9Vr5s0h8VcpBYeMllGQVXDJhQWvqDSly0NpxrqTt2XWYM77IzP9VO2vI8E/VGU+laDSLVv1sGnKmJFbrzpai771hHWElHNzoDIc7Qtg9HFvasyuYS9qJ1sm833/BsWDxnbYxQNSu2ry7fOaxqzw8W1MfXJtBCzRYat+vU=",
"Staline (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODY5MTE3MzgyMjksInByb2ZpbGVJZCI6IjkxOGEwMjk1NTlkZDRjZTZiMTZmN2E1ZDUzZWZiNDEyIiwicHJvZmlsZU5hbWUiOiJCZWV2ZWxvcGVyIiwic2lnbmF0dXJlUmVxdWlyZWQiOnRydWUsInRleHR1cmVzIjp7IlNLSU4iOnsidXJsIjoiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yNmM1MzE2YWFjNWM1MWRhOWQ0MDgwNzE1ODViNmY3N2NhNDE2OGIyNzA4MTJjZWUzZTI2MTNlOWY0YjQyN2Y3In19fQ==",
"TdQEXMHR/AeG0ncyNU1CsQbkwz4WODJwIKFbHVDHx5m331U+IRKA6xRwL4Rxpx7LPHAS77UPdIS9Q0RPsj16gyjA5X18xRYHOzQLwrLaaXUaFpjjeJrM4rfqkd7QsJ4HKjqJjyZYrf4Yrbuh9tWOY2gBhYXrt4ovpjBJV+/kjvKwb4ZX5Q77o2K7777tXRiakZOiavlWnwzS+hLpxzd4vm3BTu2ui6MZNiGkkUdO5HVJS/7T9SK40Y4G3r+XDT2MwZ5eX5bKqZo0eBqQNT8rXos2PvQQpQWSSioW8wFC3/4Jx0ZGkr8477sBql6vanNZNLEVmrQtr5YKMD7ArL8hYTC+tBqBpay0flUtBbaJkJ2zzEDgFzLfzxHlNPF1CM0zPc7ghZXtTFspaiIf1cV7n7m6d2Vc5aotUjq4z1kQb7U4dGjsTtSOIQ1j7eFZfA4SvFS0aauCbC5V3EGoY8nPl1eqKO+LwdR2YYzcSo6wTwPUornN5ODFA+ZzH9x7x1X+l0N3s8tkZBNxK7Xi5ttuOH7qMMC50kOYRAqw8jpeXZEl5Psp4r6gvpP7DMSw0epRAourRB/Juf0iv+qfCsD37O7iJdJq2gaOKywf1qTC25DY00LGIsfFwNSiEj8m963le5j94NfKVpelr3WXaEp3I0mZ1vYHllvxnblR2F+Lhdk=",
"Staline (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MjUwNDY0MiwKICAicHJvZmlsZUlkIiA6ICJkODY1NjliNzg1ODU0OGU3OTJlYmJjNDM2MGYxNjkwNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJPY2FuYW0iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTMyMGM4YmQwOGFkYmRmMTdiNjlkNzcwY2NhZjU4Y2UyYjc3ZTZmZTgxOTRjODBmNTBmN2MwN2RlY2EzYzEyNiIKICAgIH0KICB9Cn0=",
"khFVKKzwq+Bj/BF5W64O5li/nX6KGnd/N9LtJQj8XK1qH/YMvXzvJWj1U/csEIkfDTpAlOL97E+ZVFUEbYU3PdOkUyxlNpE5oRKKJaATN1OoJTw4HNxRckL6IGVX+po0+pxn0PMhXQaorNqjRtwgOigadwmhBKnDp04JXVDYRL0x1r5DHa8HV88/HTiB7VfKtYtWy+ABNt5PBsFAaB+UbaluC6xT5mIruBSARQNuAaVH9UwXOtXjW4ha3baoNOl8+14RTdEgLKrLr7Pl3Cs3nKLobbBnexOuWsdBFqne6tE4RNv0G0v9dOhXILFEcWAMJeJwplc13dTJ4evb4MbW+8SOwNfrR4Ki9CSDr7SYyvVVQNeLN3+TqllijUW+GtAaEkCE6qV8Z4uPInR6jm9a1mEngZSgGD2Zmw4R7ahIdg30RUJ4z4Dckf1Z0gfX168Msnt7QZskKarkAaHo6wA4kITvoI/2B5C3mrgXNXRrK3a2y/xuzPn4Awx+ckAQEqzBvQbQWBKYKURpxuZrOb9Q5pP++NXDKEu++1W2tmraOtEaq+NO4on2sryWQWMa369TLTZyWjvc/pafpwVeWnfJ7g/Ehy3oD/Ip6l6bj/dnXVJOrJkrnkDX7iFIk6oo5ZsIJZDVxZwSQjqg3FvrxNiEYuA+GjSyO7cQ/q23fS3JK6U=",
"Israel (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3MzY2MDQ2OCwKICAicHJvZmlsZUlkIiA6ICIyM2YxYTU5ZjQ2OWI0M2RkYmRiNTM3YmZlYzEwNDcxZiIsCiAgInByb2ZpbGVOYW1lIiA6ICIyODA3IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2QwYTkwMjc5M2M1ZDRmYmI0ZWU3MGUyYjQzYTVlZmUwZDhiZTdiNDEyMGM0ZmU5N2RmZjg4M2FhY2Q3ZGZiZWUiCiAgICB9CiAgfQp9",
"RiiSblp/7kNBVbfkzq0UpuRMW6UTDdvYNCzCVhQ1vdzWj4mU4foz34skSKdQW9dZ81Oisc3RwLiIoHpQ3VE5KyMHrzGVV/0JcPNkL1UQsQzUCZhBDpFis5TjctLaXxVfApBAubxMnweY3XDIAEKqt00GVXoMElMVgWtDatRQ/0LTfF+unap14TuMPMgTnI9O8iSdEK6Kjn83ARCFLSvrreJAejsHq393hGB+h+S5GC1MrRlYSXAwVApbiA842LJrvLxigPWfR8dcqs97z2RugnCaO/AicXoT5Kux17cpF9LGerYpBtNIQA/2Bv2YZ63IxoPC68zJ+1BrDM4SVHiicBu4BjH/wD0OJn7fMJ7dUGFArcdT4Xef1bUQDY/IG03sUGvsq/TcNry0Fa55liD+JAM1bvy7ZTPd+akP1LRmYAe0r7Ru8En3Rmt9MRZ458Hzju7TS5Wg3No+4etZHtjYrEUjkWqFsruPqK9ZQQadi6woDsDWxwGOZNdIkfMeHoLMJhnM9EqFUgPTwq2Wp3mZItGGo+cTuL1gdJdOUoOHDzLVTFSXEm5YQLiFITeLGVa5j2zoIq3XdMsJfU67s8xhiNVf8AzTK245P7qHEfey8GrbgXbsWxiAEaUOuIPV3k4MGstNxtQgx3WUP07Ilk0j1cVDyA+K86YoydfmCSdthfw=",
"Israel (2)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE3Mjk5MjIyNywKICAicHJvZmlsZUlkIiA6ICJiMGQ0YjI4YmMxZDc0ODg5YWYwZTg2NjFjZWU5NmFhYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNaW5lU2tpbl9vcmciLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzEwZGIxNDBkN2I5OWJhMzU3YmMxYTM0ZjI3NmFiMzI4MjFmMWMwMGRiMjFjZDI5MmE4ODc0ZTVkNTg2ZTkwMSIKICAgIH0KICB9Cn0=",
"tpEMzNOcrCxXkwAwuXDVYacEgantvq0tJoPNiIwaU1Z17fuQsGKgDDruc6cr+FOE1GowQpKNoLTr134sluYUKxQG3ToZ1SOaMS2b7YkxJrc/K8VadTPMpGwSWq4lmlinv0qvf3vQyQW2BEa8pYbpVeJRsc8rjhSRxzQ996TVpihIEM11yABK36A21VArfLBaNRnNl4gfmT/ZzKvRObe0T8Ab7kpy78zl6OQ76456KEw9gDkRDfv+aMPQzdHx2KztlIl3p4Fn/qUu7S7z4FWRJ/KUU7mCQodwixELTzo7lgUzDziktRLLN1vtuC8hp6rpZBFpFtfSxgN/+19KzdjvLMsbRU8AJR5HTlqS3H5mk+H/tVsOdzL5un59lVLE0p8K2rwz3jkxKucuumhxo/ZIOaw3FK5Z58zx0//kXo27ProZXmlptVP+F80TLLnPEzxlJtf7fHUuFP44IV8R8F/LOU6tggOtjIsWWJ+qdnc0lCStuit0dkFkqA2Oi7E4Tx4pvXGNeNCAWr4X31cIYvN+ugRWrjHYKzhLuQpgHcxNb9g43bAzU5iZO2preQJeLbRGDYGhW0OCVo4SIcJi1kdtGltxnGrBP5RDKwH5AxObGoNPYjtLsPqBn4aWyA+y/vcqmrOUHW0m209lW3Vrvp+Eht0Z2einnDSoZhgwGS9vdfA=",
"Palestine (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTU5NTUyNTQxMTc0MSwKICAicHJvZmlsZUlkIiA6ICJmNWQwYjFhZTQxNmU0YTE5ODEyMTRmZGQzMWU3MzA1YiIsCiAgInByb2ZpbGVOYW1lIiA6ICJDYXRjaFRoZVdhdmUxMCIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kZTA4NzZlNDBlOTU5NjMxNDJmNThmM2NiNWUzZGM3NzA2MjcxYjRlZmQyOGU3YjFiM2FiM2ZmNGY4YmIxOTY0IgogICAgfQogIH0KfQ==",
"Eq624eIiJXhca8wIzLkIN6iE5JnlNvNLlNNkDishI3Vsz6w2zFtb92r84OaDnH/RI0l+ty2eNIvRdOm6TFh8x/n9nESKL46x/tbXdAknpuSvzD9M4XEPTfECzcLPpyGh+LqOBjNX1RUu/zUfZIz6m43YrKuv57eYvzQbdzNO3vp/zqKe/9Sr39QwPv0xHw5mspudir6y/9THUvYLIatHgADZlJPtqhJbtR2A+iRFKedHWubN1a3ZhZXeyiw1Y8MZ8uLdtw5Dmjs/AQj3QAFcAAReFRSyZTol1oXCVDC3dKfnZZSJCu4FkltYETS4LRUDt2l04wCaBOMAWyeGd0jvxli+UYe/9bWk6iNrhpJ7ztzv+KvVJjGJsMU9xg64D6NpMtCYSH69MgKKRJZgLB9HNcDCD2rzHpjyh+dmvoeT0+dNTxc7xeZeQxSAR494KzDnldND4w4N1fkZcT6DMXGCgHhUOg1DnkDtLlH2kudIxEQoLJDyERol10wyVVJ0F0mIx0C2yWcGpIy7rAQ5sYhcJrspLtNwRklFChsvHCJcyU5FQzqciS5U/IWtW1/EbGRbQptjvP92lNNIP38JfAL3V+twYTXqMSpeozOtaha8r+gv7978wYIFYw4vfeR1IvSSu/f9JIsD6BoWNC0UglsaIq7WHwYhVOetdXJDfB9/39o=",
"Palestine (2)"));
// Misc
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NDY0NDU1OCwKICAicHJvZmlsZUlkIiA6ICJkODY1NjliNzg1ODU0OGU3OTJlYmJjNDM2MGYxNjkwNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJPY2FuYW0iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNGE1N2VjY2RhMjAwNWYwNTNjN2VlMGU4YzllNDQwZDNhYjg5NDM5NjRjODZhNzc1NTUyNjZkM2U3OWEzMDExZCIKICAgIH0KICB9Cn0=",
"Qodlf3gua+dluKpOf4thslCEd7QD6LVIgpFcvM1MG/N/uY44rKNMPmmNMfVivIKXHyRFi0sTy4CNwnmhi+vefXChOQLDHb4eV2Mt/zF08fBioS/1KyUOufzQGF5FDI5h99IV1GHRSnnIr9YquvqtEs5o2U6Z+6zTt+RRlJBSgdYin4jw11PKEOaxXztkRximXYgKTG85JARAe12lomou6r9J6tA6z0CDx38xmdMHza/TGs0rmH30FUWmDU2OeK9LMnOL3EroAJ0JpNDSVdqGe0b5NyQF07F3f1/Gu0RqmThcywjCYQ7YOsDOUpV/GRMf2Rhij2zv203wlc6a4RPuj6Rk03NCMcNKe31RIDZgl8xrbCciAgvTj878GFGyylCnYKw7XNlL7CHyNI3ltJ1XorQX16ma9eXNQmcWnSA1kNKtlHHyuaXP+MG3EqLYbKyOXvMVyu50tZd7UJHlrJorPTkxuz7mrDs0Qm2DKqol7qmVWdpQJc4Qbq5bz3b75Nd0hWigzn1Gf7Bl6SJ67OpJR3GhXb2H1O+9ff6Z6Zkarf+wIVu1WVhrXYPs+6rvFpatguvu8OiPSXosjArtH6wmaGJ9vUNbONzIDHFYeT2uCHvkG8/v/NPHT7xXE2jnusDHr54CfbDdsYokBIx9oyntlFFLRBQ6asenemTC2NwzaRc=",
":) (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NDc3MzUxNywKICAicHJvZmlsZUlkIiA6ICIxZDUyMzNkMzg4NjI0YmFmYjAwZTMxNTBhN2FhM2E4OSIsCiAgInByb2ZpbGVOYW1lIiA6ICIwMDAwMDAwMDAwMDAwMDBKIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2EwZDM0ZjFkZmJjZDhjODJmYTFkN2JhMGU1MjdiYmZmNmVjNTExOTk2ZTRlYmEwMTNkMTZjMjQ1NGJkN2I3NmYiCiAgICB9CiAgfQp9",
"mUdpgBUzg+8v5pQ/yMDC6G/4vTFT1gPY6ok91XB8kLXw7JM4uBWFzWqf5fbVyxDZ0+dbwU3O4QRSpHdPrc9KGH1JiTe96f0IlHlATmQlxU+7hqc7wMjvaZrRWjSE27Ds/tbmJOnOQ/A7/OPTgfhPWCgjmJ7vwgCYx7xnadikvqEOwkZUAto5BevF7biiRzldzZtfhO8wKDal7vdku9lE07T9fS+IGJHI3eNoSP9G8ZAi95AhsDo/fLQIW1fE2hY+GSRxmU+RaQRgR94vefBbw3ghPDzkqfYs+szau55HfKXW1fwjcn+7xKQw1Gkwragomyu3JP3jKdNQka64/YdNA7bZHQxBz9bLqEhaGfP45IfTqJoqckz2wzZbLmfm7SWKB4vNcDxZ5iXdrHV8RFWEczgw0GHDcZ5n9EsVDOO1m8b/AsAd3VjJFhBkA+7cTtJHUmHPuq4L4rVqIP5D2am6kwRcFHyIv/tloQsPWsKLZTIl7EGsAY5ZfyWM4cERN3RwyiVhsqjsn8lr8lYQRv3hnSnrGiz9b6scLCKmYI9331YvoeZNeVcwLHcaVtN3NvgX8xOI30uQUAJleu5NjfkazM9l6AUy5wLhph548mauIdmJdeiYyxwjEu9a3a9h7C7PVQVgsqhMvnteYsr4Oa2pZL1RvQDer75GP6gQsOZFecg=",
"Astronaute"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1ODc5MjA0MDQ1MjAsInByb2ZpbGVJZCI6IjU2Njc1YjIyMzJmMDRlZTA4OTE3OWU5YzkyMDZjZmU4IiwicHJvZmlsZU5hbWUiOiJUaGVJbmRyYSIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGRmNWM4MmMxN2FhZjFmZWM2ZDE4MTA0NzMyZGJmZmM0YWQ1NTFjZWE2Y2I1MWU2ODI5YzY0NjE2ZjU4MGYwZSJ9fX0=",
"PiACFSqt3WX+1pGcl9frYDn76Z6KrMARsV7/2ebwmua19gd/yeTy2E12UFGCV3koKRDSOimGKzO3vWN7TSghEwOJZq7VklCpTjdE7qGLl7BfXMjWjbeWufe2oXH8s25oncFXnB/uN3cPlWcCKO4jX4V30XAuDhpeDypJ1cDi9RMpPb8o/qw9paPxphuXzkCgwXWXaicIN8CY9iI5OMPI9zsy17XUq/oyLmaPWKIKqDVHRTLDPK3XEBEi6yCDSQOoxJ1WhRnRqy6mWfi/UU5gbQVkV2Bml0LA24tCiF4/phpsfFv/QAOyV2PET08Dmts6ePuPhBf4FUu7LHIjOn1iMFLsfGFkUkuyF+yJJOWpekPRDCmQjyBu8clW3rkn9VTLHJOSEOnDZ8kfPab66oxwhLFPllIj0ODT/cQlVXRLC6msXmsH56zr0yxgLX7Ot3RekANtTIAOuZvIq9Nt/cEllnLdzUP2u62e1BMt1EgawgULEcreZhrPWxixxtNnzVS7exu4m9gkzKQaxZCftGkcdujp9NIAXzEs9jabJWr/RRZ4CEzI3ARxkaXYtIV8ZbpztL4VocBwtmdwNRZpYXp408gsPxCGxAczmPdc3HF5TyhDWdXZBI/WWN5cGCqDgCq6BHidvI2M5CT9t2JVwG9Qyb3zKqtH0eeoqLdywKzHM5o=",
"Hazmat"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTE2NDkwODYyMiwKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzRhNTI2ZDllOWIyMzk0ZjJlZmIwYzUzMDcxNGE2YzY0YTJmMDNkZTQ4ZTA2ZmNlYTVmZmEzYzZmMzllZmE5NyIKICAgIH0KICB9Cn0=",
"CXDnCFs0rj9CAbkoP1q5E4Rst4GZdNT4A6qsh9T8Lce9iUEwelqo+5t6wRPFLPQ9U/UkV2VnN7N6xxB99SwTvUOICEL8SnN4rf7pTJFMit1KQP4yqFw8CLPAY7NkM7PlqZkgVQxNNUYcXaXhVwBhCtx5WlTSb9tW5LdEZ8/QO9jUB2SB5YohJe1VQgf3AiHZ5PSWRCgfYS2TsyRDuequvFtuyU7/srXbsWXs3XraUyTjh1lpK17gKqad2T0xRIKEoZqWzyj6x0GOZkBO691oU4e96XuSZOWkUbtOLE5g2qTJp1+LqhJ6loKAoAOHF5vYQDcSQK5IGDVOecZUJxzNUyFCqERIncXf8q9gGfAoxSShfxinkADcuGpLIgLzNcxagBg9vvBWBnft7u8OFyVw1fg8udSz7miIV9MMHvNhGINTJ4SotmBjD08wTS+HdLiNUDDMq6+GF8Mo3KbqCcgavdFbmoTHc6d8H5p3p1a89ZJi8LyhcaqX9X+rB+bJG4hTQosqUS6JRGrzbPIVsoDWwxXpihbCh7GJPa7LnMzE0Homu6Njkrn/gQyBG4ffXPWx/arp8pC6kiYneSTDTSvt2KB5OPtQNdmO+leHOn40lFvsslrvLiWVd0/C6pB/yJlDig+LVBlJW0jDaQdXhMhP52CChFQLS5zE456x287OogI=",
"Derp (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NzA4NjUxODI0OTAsInByb2ZpbGVJZCI6ImVkNTNkZDgxNGY5ZDRhM2NiNGViNjUxZGNiYTc3ZTY2IiwicHJvZmlsZU5hbWUiOiJGb3J5eExPTCIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOTMxNjMxZTRkNzBiZjYwZmVlMWIzNzg3ZjNmNTBkM2M3YTc2YWQ3NjUxYzVhYTc0N2EyZTg5MzkzNjI5NTc1In19fQ==",
"hjAAdbPINLu1nGmPTsyDIrMNWfXUZmGb70Lbz8ygC7/oGqNMMaa9HiMQE0sNHAoYSEmTApGQlzfI5lRLtNSoxee021O9hv/7l5PR9SFYNQSJENKbdOob3iHZKrp1HeKI/cG8dFpetX2nxWnfjRtqNqOAdjWG0fdz0w0YBqKgNWIlNkvkfOwjQtRXmE7m1AQgwFJ8j1MO1VYdqBImcw9sg9GyLN/zdQLkZzCvkozaJAnrbPNF1JA9vP7gvjTPUsihXA25xxjYuhV2i+uyk4ksMuvPeI7MajT1vMuix2FaqTmrpTudIzfmvlbOFoBAq4XSh8omu9UIqd9GE1pnbznPTs23ORONLtthSv//UP+WmgtCWP7UwZUFbA8AcMD2cEpsbPeSlygaG0p2OiWR7/dDj1yAG68RgyMwGEZ4DLfetRxVl5pOw4+V/RFpnN+6Mm9KJavCJVTMclCFWc8iAu+an0x3t/A/ZNOVRxwR+H9rt977omy5n0D4BXSc4ItBdqTL2wJWZfpOnvlbGeXjna2uTOM/bq0y15puwKPkvjrozoiJBtcIngcDoQhNuII8w9QWKu39HdawdEnMC7R5hSCLOc9/V7jo9XPmiQPu0EYNR4Bs0TYiZyxpHOwWDAkwfcMzHvlQgCvvHY34gfEBAdsbzf/CdCQWdFRCAk2HUG1X8Wg=",
"Derp (2)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjIyNDQ3MDQxMjIsInByb2ZpbGVJZCI6ImIwZDRiMjhiYzFkNzQ4ODlhZjBlODY2MWNlZTk2YWFiIiwicHJvZmlsZU5hbWUiOiJ4RmFpaUxlUiIsInNpZ25hdHVyZVJlcXVpcmVkIjp0cnVlLCJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjNlYmMxMmZkMDZmYjQ1MTI1NTMxZGM4YTZiMWI5YmIwMTQyMWY2N2Q5NGYwZDgwM2ViZTQ2N2FiMDQ4MDQ4NyJ9fX0=",
"CFa75rocKVN66J5tFWyHjavBJ0JfmtTnsejTsTCnVDlStpb/2r30fbUhCs3HYxPxmJIaloTVZK9dAMmZz4NU9McnO8mo3QilddJB76+oagYXG4NTVic/WUcGt5VEOsSbivqVN1v2UWzWVkS0Db6Hl5VgcJt3/5f733ibtG2bnhpwoKLsUEGM8GKOUQtcQ0leavo6uzm45/VUQQHEFwvRQsbj1sA6EsZS8Ainv1sRgl9AknXyKL2o40QEXBEPwmGCmL3mdagjg21v+t5AlyZmZxqlyF+6fyMO6m6cwS5p87k7iBIGt3U/j6uyPXrLraQjUsaoiJGlTbtEswoTO+QzTewSQsFP8o8uGKnNv9EnkGhW24N+D25EssM5cWEfoTo+TuNnNQrYsDe/b/mcfU4hLXREQtnVs3ZFHntWLcieDMOhXNBE54HyINNDZwmK9Mi7FHsRD6h2VlhPSO1YA56BR+Op0KyzWAF0gvMmd5U2/BAUWxvC/YKDPXYxJwrzM8hn4RBwU1EiAs/68Oq3TK0peF9uiFqNeuKrZk3QCFPbv2S388MyJUcyHNxeTGELiNlo0Rsr0tmw7K6LOlIqNFrH/IyD5MbKoijzGWxyfgGkj8VC0Nk5g3xcVke18T3ZO2GEC82ZGDsVnszfoM3WA+5mof6BcO8VZLFvpdVnQEU6YOs=",
"Derp (3)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDk1OTIzNzExOCwKICAicHJvZmlsZUlkIiA6ICJiMGQ0YjI4YmMxZDc0ODg5YWYwZTg2NjFjZWU5NmFhYiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNaW5lU2tpbl9vcmciLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYmQ1NWM4ZDIzN2IzYmE0NjA4ZDIzODdkMGRiOTI2ZDA3ZGM5ZDMwZThmYzczMGVjZjM5N2NkNzBlNWI4YTRjIgogICAgfQogIH0KfQ==",
"KocZamNviEuei+kwge1blptMj4RqMP1ozUahlck+h5PUgdBwqWrsD4A1tSwwkczG620GM1nuuk5qRG1Jbh1oRo9JusURY8uHCp5EYlghqJkzdzycaA43c1k59J1fVXxxJPSUYmpznpaRBBm4Yqo6IlINI+rgBMP4SziePrLBvCoQLDwIOCPwC+fLPISlEVhqlHwhPhelqPJk2z5nF0J4lq3RA62PKFOrAK2m21t5i5Gp5meOCbdCqtD6N77SEraJmtxoE5Hc9Ba67xy1+eJg0PzRp78rlkw7MW6+gfI0i+yVB7hwDd33MfOx3Q8styIOkQ7mBn8XxEXiuBaNAvvufGwjiw9eUylX3VWqWzbXYS1AGGThzCPVwFuPxJR8/FD5kC/94sjZdJOrH+p+OZHkz+z+r6bDqM9UYPPml/Amox8fwHEbsl+iJUdZg8D789fHlC1663YXEhUZoSWJD7oBkDnilJUdOaSzkq/sRvHw9MH9qh4FLdNwSi94P9uNjgHY/GST967KnEwKGlSL4nwVdtwwG+53UV94gXwWSNtZR6SasWE7x67cDU8YAu8WAUxMLFc9rBbEkYUnr/fnHRBub6P7jrfox2RqEFVHh/XnxBK+2pL0AOshDa3e0bpWJyjAM7BAk3/x1Mi50S+bygp3UVzU0Mk9MlHz0ApPNL3agLk=",
"Stickman (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTA3MjM5ODQwMywKICAicHJvZmlsZUlkIiA6ICI0ZTMwZjUwZTdiYWU0M2YzYWZkMmE3NDUyY2ViZTI5YyIsCiAgInByb2ZpbGVOYW1lIiA6ICJfdG9tYXRvel8iLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOGU0ZjE3MTA5NjQwM2VjYzJmYTBhODlkZjI0NzcwM2RiOTAxNGM0M2RmMWRmN2UzZTNjNzljODFiMDY4MmZkIiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0KICB9Cn0=",
"Rmgi7XjUIA35UK1pOxDylasqLAV8dfl4bj/6UUKQH1pOaArh7dZNISMlmV7e7duRMYhZg7rg6WT3rbiMGAD2TjogRtVj2gt5KQ6DOZdBx4UG+89sAdfoO1gp03hxjEWW7ja+Z1I36cBfGwM4S1ZBadW6Vz/L/rxmX5ktlE4Yc8vJ/zxRKCG2qB5SMLZ7wdxT+Kkv+Eroa/7zjqlUOMwkQqOV6P6DelSN2r/cgLuAvSHe/DE5W1VT338TArjEpwoEAfPPTYoe7DWa33djlpMYrhVn/mHg4Tk9v67VgsEVgTlf7USq7ub2R8advRoQ9/VITorYllMQJtaX9cEJSxOlURn3D4wfwI+yMmgAKvpsaoYud5sKNXvcP/sjLlLqAhjZBqbJJyEifPHGzEwn6dM9zumRFDODPjnG1vUOafiN+K+ZL0wPi60awUUfV8Ec5p24565r0q44XjkArxOPZZqYXdHkGxeaw5WG5GVGnifabzpROaOzFGMmC9VOyhAFs00Ql1sJqiU+jK4xqvGRbtcyrLr7xSKT0HKGnYZ8qjgar2cwNN7jZ3WY97O2O6pIHkeOODWjc/Nr6iwg72ZBhajuhJBMHVhhSqEDTC6u6tnhmBgfbBBSNGeSMa/+pqLQajYpaa0uH/8lIfKlZJnXcs6csS4DXicQzwy9ryGWJ//ipbA=",
"Catgirl (1)"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjgxMDI0ODQ5NzksInByb2ZpbGVJZCI6IjVkZTZlMTg0YWY4ZDQ5OGFiYmRlMDU1ZTUwNjUzMzE2IiwicHJvZmlsZU5hbWUiOiJBc3Nhc2luSmlhbmVyMjUiLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2MzOGRhY2IyNzBlZTFlNDA2YjEzYjJlNDYzODIyMjEwZWFiMmZlZTQzNDUyNWJmMDUyY2ZkOTUzYzk5YTUwMTUifX19",
"PBxggnlaiVwZ00UIkdjE3P9Qmn+pY9Pxx9KJ9DE9a1rQ5czkT2r4UqzCwFTaAT6SyyYB3TwFRgAS5mFnZBWTWxeyc5zvEjlHGEf8J4ikoZ1GimoJueiITJLVdyGs1s+7iI/vnwkcW+q75/8VZ+pkYoiWzy+qnPopUDZRj4u71wvVD8xz9wV+oXwfeDGsl7Z/yk40NlP9f2f4Utl5U1TQa3UI3/CkyYdLhI3EtkXPY6BwBD2HKTelBgUaoQsUrl2euQRyDwUA/uf1AzlbivJ73Ao9uBFrhaR7qOsNv3Si4cyOybDwwRqdQqIRW8je7hi+V1xMFwlaPsD24VdGuJaf5DhiP/Z/6DA68pnFiKmKrG66zAH91S8WOO+muaN3EN7eTnafi5obA22/3F/CBPepvT8X2828igr4yQmoonH1R+XBo6GadBmZ+RGZFUmeFyEZE49dpN05ENauSRTOE3bNCReNpBF40IbD4nB5dTfjt4IvV2bsBOgqtoF9Ruy/enc+ZD1yRmvsLGJyhI5SYANWrVM3+BI3JZuXQFhk5ZpA2UnkoNvUUfeSoA6w5G7BhfC/wZVboN8+dbRpHdYH4tsBXXuHibs32GeciC9t07Sy4FwL9R8D7wfSNxW1uuM1sOxFgG5jOg/ka8xBTHQxrQ27Wf6sMZFPk99DbefMRS8eLk8=",
"Bonhomme de Neige"));
skinList.add(new Skin(
"eyJ0aW1lc3RhbXAiOjE1NjU2Njg4MDU5MzcsInByb2ZpbGVJZCI6IjkwMmY3YzRhYmM3YTQwODk4OWFhMzgyYzNiYTIxZjcyIiwicHJvZmlsZU5hbWUiOiJLVFhmb3JnZW9tYW0iLCJzaWduYXR1cmVSZXF1aXJlZCI6dHJ1ZSwidGV4dHVyZXMiOnsiU0tJTiI6eyJ1cmwiOiJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2NhNDAwZDk1MDlkZWI2ZDJlOGMzOTUyOGYxMThiM2RiOTUwMGQwOTgyYjQ0YzE1MWQwZTY5Y2E2YzUyNmQzZjYifX19",
"BEo5Jf2EN+xeMWFW5rwKW/uNbmqo9ql3CNqhoJ5Yy2ffdD8FPvG5K6uXNeJzKV+jQrPgbQGqoH2uXN6oFStTSR9+aM1USxKVGAhV2kWQSdfhqZPMpPVxTAJDDEkhN6EXeR0mkljvPo41V5WDLuw/FoJq3m0/g2/6Ukiw7A7t04SKZElZkFg89VkuC1SvaB/+Yk4WqQmqj0XaHg42VmtqBNKPjjFsKE59iI1yEXy3NNeQSyJx0PbvXo20MjV4r0tDRwrseu48dwECB7dqlJShRgVBlcmTZS5bvgoN/4QWgTEq3GPkG/bMNgg7fqFO+cW1y8Y+OvKwYZWzYk52O7tH43TPCkY5h4iLyNmjfCIowBr30hUkqxnNOXvlr9oNCtxqK5Am397luiWPNNtZ6TEfa+G/I88I3p2mSqnrlsWMiefb7W51tLhNVacjwX6KCL8u9X5Te0dJrmX1umdRYSxs0qhM465iyO85gcazRMb2kzh92OFhySzCtclvsvS3mweFZ5GNT3cWg2PP5mE8gLQVoyWBRUmo/ZzQzJ5lo3dqlmBJl9d38ZgRy7k/upUwaa8hHAzApMnR3bhbE+Ck79MjvKGN5vt5feA22L+P1zySp07R0ciPIJzoIAYy6iRQ954zaO3m3sXz2YexqzsGUMb684bCMGzNsGMkp4x4XcYjVXY=",
"Emoji (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTAyODUxNTU0MywKICAicHJvZmlsZUlkIiA6ICI4MmM2MDZjNWM2NTI0Yjc5OGI5MWExMmQzYTYxNjk3NyIsCiAgInByb2ZpbGVOYW1lIiA6ICJOb3ROb3RvcmlvdXNOZW1vIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzI0YTI3ZTAxODkxZDRiNWExN2NlZDdjMTA2OTY2NGU1YmYyNGQ3OGE0YWNjNWYxYWRmNzUyMjBlMDExMmE4ZGQiCiAgICB9CiAgfQp9",
"O38J6DokryWRStpilImSrEA+i35Q44jd0v9Z8VGeT/Kvh22Wbir5j6XSxTpOg6UurVd47MhPRkXw/m+JQ9fsooSrmybitvKGXXMruhbZ3JyHgio50a+hsFGTyY/niEPhSnxxHKJrs7AhvjloCj99qxajTVsqJ9ZidqcURNAgmOjccTbqNkkSKvFQpmLeqjWzkTSYgSRNmrMqjOQ5OKeNtZFrCJwMboAA5ZzdnEpJi0xIg782y3iPIwgrAEuU6mJzN1E0bwD6ttZBMPgNJT3QO2qNrU0Sha7603d9NO/yaJZlHH2Cv6lDsbANg+RG5daoiUkVtTGDv5yxiCiD/+yma5rhrCo/rxBN86uOVmBD73VjXT9wHZrc/eAJjQTGQr0QB1W6/JGReoEnGoSHCkACKlFQyo1SzL65F4Qa7ArELJT/vinXfnrypooz3nwoRD3I/5g3RCoZBLfoffZX2Aa5frue6/wZ1kRgKa+bCb8HnTbb6TGKo29QjrdH+DDw9Kvq9y1J8e7L9DkZy07UYSCpgjy8x1Y46q54l0IvhbbomG9+3CpccRMbcuwLOK/w/weAcB3no2V6suuJlAcHA1RbWWEcDV+ywxldBr5JmFos8YwDB+h9Lfg8/U7YcnOWeCjm2Dg2JINQCFKVfPsPRKVYuKLpj2Fk8tCqMA8m5rkxFVA=",
"Misc (1)"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNDk5MTA2MDg0MiwKICAicHJvZmlsZUlkIiA6ICJjZGM5MzQ0NDAzODM0ZDdkYmRmOWUyMmVjZmM5MzBiZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJSYXdMb2JzdGVycyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kNmNkNDhhOGY1Mjk3NzAyYzEwYWMyN2RlMWE3YWQwNDQxODVhYTIwYWNlMWJkNTAyNzU0NGU1NGE5N2UwNzJkIgogICAgfQogIH0KfQ==",
"t7yFJIaM/cclxahyOcGWtSu0SDNDtUDTTcRUrXk+X9D+en8tdDG9JBpE1YzAVyMkRCYqWPLTyjKleKooR3xux33IXR3S/K/CwGx/hl7vldUcknoUY2yARbSA/+XaxFEK/HYciOchNAvuFBpB/Pu+abh0yU7woDZuYQyPnOXQdcZpO5wrGuAX7llXf7P7Y1zBWdWNROQSl22UGsHv138rKW4H4RZJFct8rpogzy0Ip56c2TJsDSdG9Hqd0FVuXNObEUkW0eOMq72kT26QH323WMQiPWo78beaf+dRLUolbOiR1zoj37AtwFdN5WPxw4ZgvX7KumAYoVpVUCGGdXKKGwHOXjgjc9vYZyrbQFXuwN2JClSIMbVncOJWd03/LBRQEc5ntoSQJaEQWZUsO99LK2tSC2pqQSN0R8jPyRRxeyk0MZDyRGXUCj0X6qIdZ9yQXXOueE0NnRnXAUtspSMa2NfElrIHaKZrRvhwjLvBafBufaQ+uEjIoUwa4bHkl2Qk8gyH1o28q9s6sQUNMpZvj7i4YVMc/PPHpOrjwd3uNRXQa2g/HcIbL2oSbg/CW3ZGdWKhn27iaVw45Q6fN59cax4KAdpQPY4w/H5HCzA3y/z3/sBRfh5PYuwfREmG5XIOty0F20U7HEE2Kll9zPvF6qpQhIU1+QuIiAAviWATn0Q=",
"Art (1)"));
/*
* skinList.add(new Skin(, ""));
*/
skinList.sort(new Comparator<Skin>()
{
@Override
public int compare(Skin l, Skin r)
{
return l.displayItem.getItemMeta().getDisplayName().compareToIgnoreCase(r.displayItem.getItemMeta().getDisplayName());
}
});
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI2OTQyMjc1MiwKICAicHJvZmlsZUlkIiA6ICJkOTBiNjhiYzgxNzI0MzI5YTA0N2YxMTg2ZGNkNDMzNiIsCiAgInByb2ZpbGVOYW1lIiA6ICJha3Jvbm1hbjEiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvM2U2ZGVmY2I3ZGU1YTBlMDVjNzUyNWM2Y2Q0NmU0YjliNDE2YjkyZTBjZjRiYWExZTBhOWUyMTJhODg3ZjNmNyIKICAgIH0sCiAgICAiQ0FQRSIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNzBlZmZmYWY4NmZlNWJjMDg5NjA4ZDNjYjI5N2QzZTI3NmI5ZWI3YThmOWYyZmU2NjU5YzIzYTJkOGIxOGVkZiIKICAgIH0KICB9Cn0=",
"VVumhIIN7TiuZyTSzGfc8T9rzpOAOrpOMYFsdSYvYsxdb8vP0aqd6SIydPgYWT2BDFs9eH5a9hXz68jeecXM0cEHJOW5VSLqnLbpPys0hfjmRmhu3jQL2xCGhKfQSoO/xTGRJRDjcJ8cKvF5+ZVs4xhe9qzLJtrqZfwUsZXD0g0n+Cvdy5F1oJY08bnLwcf0QWqHxsQPt6GbKIYcUmG08lTWBY7ylhtVKtVHkiiDZtm/0a/LXkwyli90FWg+GzqJUAGjxWEwDcL6IzVE/DGVyMx43oFNirBSrxgCaDa+7rMsoSMLXRCiA3r35fuO0Br8Bg3zKHHTC5+KTf7HO1n7XLHsppNx5yk+RuzrWh32kK+JyB5Kh0mle6Z+gq0zfEFf+qZ1MMW9xgl/l73w3mI4gviAhnUfoZaHZH2zXYk0EoTA61ytdzSkhTkp8szpmztPVZ89++X1qzS87zsY+JaLgjxjjKA6i62puFS92qfBXGpJNOGFHjuQNWoPNi4KKXTg6aS84NPNuN2nkEZ8uYU2ggqqHz4pdZmyZP+yEqJ5uBIrFEg8VLmLbZoPodycWdDXZs5QDpBmeXW7EBmkZyh4TLX2CjSi8X7uFXdUzQAGN8t40wLOec7QLZZDOcJSLQ498yNrKPnkwJFbAsdWDF7t13UUPaTYs8BRGhUeVbp6A6Q=",
"akronman1"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI2OTY3MDkzOSwKICAicHJvZmlsZUlkIiA6ICIxYzA2MzcxNTM5NWI0ZGI5YmMyYWQ1ZGZkMjAzNjZmNyIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYW5ueUJzdHlsZSIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS84YjRhY2MzZjI2ZTU0YjkwMDQxZmU5NWM0ZTYyYjhlN2I2M2FlZWY3YTlmYzM5Y2Q5YmM3ZThlYjkxYTMzNDcwIgogICAgfSwKICAgICJDQVBFIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9iY2ZiZTg0YzY1NDJhNGE1YzIxM2MxY2FjZjg5NzliNWU5MTNkY2I0YWQ3ODNhOGI4MGUzYzRhN2Q1YzhiZGFjIgogICAgfQogIH0KfQ==",
"orq9jRnph6iQmrBBgutIP1bybdkkWSPZoUDrgYbwffj7aPCOXA92lUwUxgIa5BNz3nx9seKj0EIZObNzItrCawDX1joFAxRsJawBczgD7ES53CNp6S3ctgtjJLsK1tRP33eO3mrqdOC9HKqMXoj7lQeLTAGSLK0ggG4ZWfe51jDjdGJLmhUo05YgR8RFrdmACwevhkhYeXVyA7gappE58DW8Kq19PdwMsoTrahpL1Gp5Imac5iYDpW7epH1pA+fj61Xw09dHnCp4g3G9JotoizhWCpd/VHzqyGP7li6/7Z7QuAkbqTVqPMzT0svquBng+Qhp1EgFqLIcmDqz6XdkXUDmLbq+gxhQ7eCL2vXWPoFCNGVf/kXC7he0yV1X+so5u4mAZJnZi+ER+QTQX2+x6ikPDJGyrIDziKnK+LTg39XJpHCCguKIluQFPwbxqRTUaLH2VAHKXi4gUcCMqNXhAQbifJAPVJamkdjVLbof509LA8+VPxPi/J1L2a05c5x+lBApN4MiWPp3A//yElKQe0QWHA+xjF/yBLTmb6QninrICqTtK9EgD2XYW29t3OhaHIa3+8yt0n2arc8WG1aLpe8mE8wQO/uU3ll+STThj2/lnyTSlSGp426P858L3jJFOIUkL8yxvd5YMtwiQzv1QEFzrrFI6BdiIwUWDkuJ44M=",
"dannyBstyle"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MTUyNTc5OCwKICAicHJvZmlsZUlkIiA6ICI4NjFlM2NiODBlMmU0ZjUzYTUwZmZiZDUzNTZmYThjMCIsCiAgInByb2ZpbGVOYW1lIiA6ICJiaWxseUtfIiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzQxNjA1NTI1OTY0NWYwMTI3ZmY2ZWY3OTk5MDc0MzQwMzQyZDRiNzE2NTgxYmI1YjJiOWJlOTEwYTIyNjJmODUiCiAgICB9LAogICAgIkNBUEUiIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzUwNDhlYTYxNTY2MzUzMzk3MjQ3ZDJiN2Q5NDYwMzRkZTkyNmI5OTdkNWU2NmM4NjQ4M2RmYjFlMDMxYWVlOTUiCiAgICB9CiAgfQp9",
"xai9NnvqbZOeVmKakUW7xVDw89e+CaPsNZ9u8vctZEkgUS5XY0ky4pT4LBpuyVCYemvd4cfhr7XNpOh89b1YHPh3QQRyzhT0HLINuEBDOLiVk8aEjUiqAdZ44NAG23Ymf3oaxdzbWqTjwKudOjHEvWb6hvp6+Rr43QKRxLQ9HGrUBRN4jsvubtk1rjfGsRz4luMjroxQlERYr1zh4/97Q8ADu7WDo/zrladIlafjbSvegaHCtF+TkrUnl5dNC7Nxt8v+gre06P/A57diNf66ghvqJSEB45PX00RbWrb+BQ8BIKnXtUNV0qO4tyS7TUpgye9kgvqPd15wywOxct8nhzBBRJMVLzvrR5M2XgbHf0KBUE/xVqFYLdtoaqZnLh3uZ7npzmU6yQYG5x9jIHhuHMq5/1ipbnS4HqHnSdBIpXRecPIOyDp1CODh/wpUsTnK9+1M0bh9kxfPWYLusQn4YA1btuf3/aiC/XMWEDJCrCeX9ZgLCRlj06xicgtJiw3Wtxg5a/VrXxGqwR5RI4DcVJiooBbN5ylr5KmezTGTiCL7Sa8YWpSLeHNaOquQhD4CoPATKn6Mczy00ltjZGi7DRyZv8IOtq/9C8y+soUU0bNSUgnz6WGFc808+2sXNiakFEk5GDg50bx1EDrI+YP3L5UthxYAjUr/nPOPi+iGdb4=",
"billyK_"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MTgyMjQxOSwKICAicHJvZmlsZUlkIiA6ICI1Mzk5YjYxNTM0NDA0YzY2OTM5ZGFiMTM3NTk1MmFjMyIsCiAgInByb2ZpbGVOYW1lIiA6ICJEcnVsbGt1cyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9kNmQzM2ZiNTJlNTAxZjY5MGM3NmQ5M2FmNzdmYzM1OGMwYjZlYzI1Nzc5MjYzZTgxZmNjNmMxNGMwMGRjYjNkIiwKICAgICAgIm1ldGFkYXRhIiA6IHsKICAgICAgICAibW9kZWwiIDogInNsaW0iCiAgICAgIH0KICAgIH0sCiAgICAiQ0FQRSIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDhmOGQxM2ExYWRmOTYzNmExNmMzMWQ0N2YzZWNjOWJiOGQ4NTMzMTA4YWE1YWQyYTAxYjEzYjFhMGM1NWVhYyIKICAgIH0KICB9Cn0=",
"WweEn8Iydw/Uj9FK7unkpA1QXXZLyOTpWFrk/wYchWtp715Xom/eC1NTdMR0lJYMyTUZQoGjccb3mrwG6naIeMwfzfO/7Ah7Zy55tLUP9QGgE5JmqhGjGVfrL1c/FBwiy8IVv1ciEvQ3wFl1x01nWeKZ4F9lsSSkw7Oi5H4BF1/zuriJJIJHeKKuGVM2Ss9qKHHHdOFucB4FrXGMnMFMtdw54pPrIqSJzYE1wFewdezo7UT9kUAoziX1OdEhojeAd8w7h2YMhbNdOVyG6dEB3B7EJQiPZIBii/4sz2jPPpEG7OUHNYIFFTOkzOHrLYs8iAxDwu8S18ddENvbn7c8tVvKS5A3dCSrf3IrpwkGyAAqii7BAP1aDyhJGZwUoWWfiVUluSwQspdQLS/s4NbFgCEY7XIJbF8+5I7Qq+PV/Nzu2mHPLgu2QykyfYD3Hn/1XBkydYgrgHKmoKUyNBjq/JwvfiCA3FZ90n6E+lQxezOD/AT1buUpZDrbBOTfIyE1Ch4jZLAa8BOI+ItevJfOis+3W7R9meTQIRKkAgURAZFxcnk+u+uX+TfBKw5H2ghctr/SQTDIH2NNz9AjIKvJR91BoPijYLq8pVi5t8WOWCCP25HLFlbs2/XmkjJmQnDHLMLHeK9nHxT2lNlypbD+G1Hbxwn64EVLZt73TALQTrw=",
"Drullkus"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MTkyNTgxMiwKICAicHJvZmlsZUlkIiA6ICI3ZjBlZGE1NTcwMzQ0ZGM4ODg2ZGQ5NDMyMWNkZWRjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJNck1lc3NpYWgiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZTBlMmJhNGVjMDBiNDMwZWVjN2VmMmZiYTE3YjQ0NzZhMzljN2IyNmM1ZmY2OTdhYTNiMDk3Y2M4MzEwY2MxZSIKICAgIH0sCiAgICAiQ0FQRSIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMmUwMDJkNWUxNzU4ZTc5YmE1MWQwOGQ5MmEwZjNhOTUxMTlmMmY0MzVhZTc3MDQ5MTY1MDdiNmM1NjVhN2RhOCIKICAgIH0KICB9Cn0=",
"V+2rfcGDkKZXiJhzPbk78QvekrEjFkg9GpTogEYDu3IQ+EJw4CR1Lv3bKF8ePgtcc44Ke9NnUJKq5+hBbA/FTMIAHGs4jiKvK/Yhutg1JhLyAiNZTQRr1xh2eVo4NuofyVpHZGVnreblVeyHH560PJcpInUuntS+ZOvqr0ahBoZgFZ64+sQMIqS76R7MbQEPHfTYYn9LUmGKxgkoH664kRbeDJ9hafW09Z2dtXesczJUD+j8D0EgMF1yLvyRgdOaSUIx6rQUC+OWnomUDBb9jiGDa6UGHZgZHDWJhXMRTg32KGehQhZu/RZbURGBsFzbJu8UzzH0DwMqstLQTLzYACSUKBbt63YhTzQ8mMZcPhEwW4PX3s98K+MCCT7d4EkgpKBFWzaX82LYULZusvdLRgHokGSChWbune7y5M9JB+1wT6jnqCvZy6Zod2Omk0ozJu8heOcUVZYlGEPYhr6JruadTs6qtYxBttVHvOJAcxOuKUAunmv//A4Zsr6S/SR52j0wzyc8vyGENFx+INNmO781hgt0PWcWVykA6DSUpo9e97Bbzp2YBrZROQJJPAS3TsLt8WX4A1uC/GeHvcsAJ50pOy0CjRiG8ZOahu7pdxO/aCPJ88NsfHfBhrYPEbOWmo90sKKfTVzcp1/Hjkm4+9tOi8alhbjaz/OGJ4QUG7E=",
"MrMessiah"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MTk4NTU2OCwKICAicHJvZmlsZUlkIiA6ICIxNDRhZDVmMGU4Nzk0MTQxYTQ4OThlZDVkNDk2Y2FiOSIsCiAgInByb2ZpbGVOYW1lIiA6ICJKdWxpYW5DbGFyayIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS83ZTc2MTY4MTA2OWVjMzdlNWRmMGExMDQ3NjhlN2M2Y2ZhMTczMTc4MWU0ZDljMGU4OGM2NjU0NjcxZmViYTI3IgogICAgfSwKICAgICJDQVBFIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8yM2VjNzM3ZjE4YmZlNGI1NDdjOTU5MzVmYzI5N2RkNzY3YmI4NGVlNTViZmQ4NTUxNDRkMjc5YWM5YmZkOWZlIgogICAgfQogIH0KfQ==",
"qrKr86ER8HvMTpnhtNdpL4QQCtSfKXFF/2BrMMwpIk9kzbS1HUOrcjfTHfoZI7YwbpeA+VzWrzmQQF4i9Y2SCrjY/nT3xQUIL3iEfEj7wU/ARppiOJaidjqfSCdGIhhuKbw5uNLkSpM/4f7ta54w4IHeiYRirj85DblPpw9gNZVmWBbptajEDKlJPHamksD3UJYljfp7wWpL+U9kzn/AiZLalr6XvhGG8ocxSWMBqTe4HTP4SXW5zC+HVMmYMkCg93C19XfnPYZGXThogpneFClzpLuAq8Hpq0wiK0RH95xYo5oD6AMRGuWZWk8T8RjvCsFXNrjbMXds55Kr6ClCpu+Mx1z3oFMuymPBrqQK5haqN0KjPTDTQpGHo2316uYIiR+N4FNzpzRW6/S/G0wDy+PJP/HzeP/OgEokLgZUvIZunemIilBYWGmZt1jffBkA+Ac86oH1YIYiK9pJbeFlHesPt/3cquLFt2EMsfVf8OcL+ZDiJwCaBK1xDVNqIw9rHbT2GH2uxUdLMTMV0a46sYIdJKLxu1iG0Q/S91YiDIL7RyC8o/9+2R91z2vEmQXU1IbKjDS0k7xnHB0Rg+NSaUbtKXjbTbQ+/NbLFKZHdyJNH2GuGzqx6ws7epIQVLlGpxAUrv3bWzeTbmo5oG02A+vsOipgkXFV9JZgK06bkHM=",
"JulianClark"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MjE2NTU0NCwKICAicHJvZmlsZUlkIiA6ICI1OGZiZGI4ODU3YmM0ZDUzOGMxNDE3NzQ4ZjVjNDM4ZCIsCiAgInByb2ZpbGVOYW1lIiA6ICJYZXJvbnNpcyIsCiAgInNpZ25hdHVyZVJlcXVpcmVkIiA6IHRydWUsCiAgInRleHR1cmVzIiA6IHsKICAgICJTS0lOIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS8zZjY5YWFlNzliZjEwMzZiNTU3ZDk5NDZmZWM1ZmE3OTA0NWVhODExZWY3NWQyODE3MWE3ODNhZGZhMzU3YzU1IgogICAgfSwKICAgICJDQVBFIiA6IHsKICAgICAgInVybCIgOiAiaHR0cDovL3RleHR1cmVzLm1pbmVjcmFmdC5uZXQvdGV4dHVyZS9jYTM1YzU2ZWZlNzFlZDI5MDM4NWY0YWI1MzQ2YTE4MjZiNTQ2YTU0ZDUxOWU2YTNmZjAxZWZhMDFhY2NlODEiCiAgICB9CiAgfQp9",
"dphQHz76xNjKuAbHesV8ZkFw8PDgkyiH5rKd6LjQw1GF5IaEluwTImlyqy1rh/vAzs7ehM7axf3jwgsajqvrtBeXgoNC5RersPLRwtM7b204PwaVeHGHR17wYY/Ou2BQn7wp0VsLQT7TBWk9OclPdU5DJrYGK2/DywD0hWxIU9mRhLedRHc3XKHo6yZrO+0hH/IgCTrTQVpYctlVeiswO+/zexvy1GuD3cDBIS1aiu5DwCIgii3iZsFBdgAJNfYWuCTN0NgIBNrgy4+/poNjB7QAEhVLZR4G4X11HppwEDUtgbEzjNIUfn+auJiT7oTqBJ6+4Ua5ZEXzVWluYZMgNocw4yz7qlv1t23WjH9uU4mhb48Vbx9gjhkqSmk04FMiAt861nJVI7SvIizz4ePWhgwXPQSJVqb5u2ot0iBV/z+aVVnHeiMo+y791Le91kMYGipqNtmYN5vmSppAHR+H7dEvI3ljacwhW4aPJQBt2w/RVinkDgoTYRipaHWdParozozdDur4NNxVYuBPTESPZqNRn0HUTV2bBc4jWGk+lcT4D1N2Ry2vYveiB2lrRKiZu3Zyw0UNpihONk71vBBGVv9e8ZcyeN8i4QSFuBMA3pzyHMX1GgBl87zMxUrI6LL/I/lxa4PzRrk4wcoBrGyjPgmmbm6QXHx/olaJauXXzwM=",
"JulianClark"));
skinList.add(new Skin(
"ewogICJ0aW1lc3RhbXAiIDogMTYwNTI3MjIzMDk0MSwKICAicHJvZmlsZUlkIiA6ICI5NTFiNTRmYzYxODk0ZmJkOGI5Y2FmZmQ3MGFiODQ0OSIsCiAgInByb2ZpbGVOYW1lIiA6ICJCZW1vdHkiLAogICJzaWduYXR1cmVSZXF1aXJlZCIgOiB0cnVlLAogICJ0ZXh0dXJlcyIgOiB7CiAgICAiU0tJTiIgOiB7CiAgICAgICJ1cmwiIDogImh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvY2E3MDhmZmZmZGRlNmZjODUyODllODI5OGY3MmFhMDlmNWZmMzM1MWY2NjI2ZDRlZjg5OTllMWU0Y2MyMDY5MyIsCiAgICAgICJtZXRhZGF0YSIgOiB7CiAgICAgICAgIm1vZGVsIiA6ICJzbGltIgogICAgICB9CiAgICB9LAogICAgIkNBUEUiIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2FlNjc3ZjdkOThhYzcwYTUzMzcxMzUxODQxNmRmNDQ1MmZlNTcwMDM2NWMwOWNmNDVkMGQxNTZlYTkzOTY1NTEiCiAgICB9CiAgfQp9",
"XfDKBfMzq8pFP6JGW17AZuK+XbXAQ7HsY25h3kQiU/6kk+grjBt3Vx/lbPKm5HHeE3oyJwaRFjtPvnM+8kQRAykj6CdJLyjooGHR8z+2MpEviuZQo8tpLNykeiTxCVPzSyGVdGNDLEkezDGAzfSqkx+U7/d54KN9VKxOtXJiXsKT1oeHxgu/9d33Hfvj0rTm/GmYVn9qZzazXgGkfdv+uaCCse4tkbDCRRP9HDUOWYD+H/6ZgGzVYk+Qf0AeZMq+70uyIXjjGvrVj6USZNOMiV/X2nroW9eusrDoZV/vt+Y8xm48nVCcaIqgJOnYJJsJJZ8F3iarPy2ZCZN+ihuvbZlbMDipRfSMkDhqbTwPYH/DBRrEQSDDz+4xjDnOehSYnZz14MkzV4pV1MGY+ON96SGZhPahtvkdwPoJawd6QtgNnQSOnih8TjoroVEWVNjPzZcIhYZ3am2FBEujUgQ0yyW1gEn2oQ6MF2dA58Ym3l0htMBVIJJehLyUsvrKLav8LJShr/4xUF6lMKU4nE1Tj+cZZyUIYtmGZFPYtX7YNEF4vwgJvPPBX/BgzFOefoGdV/FSoJZGP8ReZoDJwFJ5l8H3C2IGRYwL7xNlpt6KwXB9N1KJ7PKo3R7EUEUv6QJRK2ciGzAtEg3N62oe1y9tjrHXDxj5vx3JJuVPMtDtWkI=",
"Bemoty"));
}
}

View file

@ -0,0 +1,58 @@
package org.ef3d0c3e.sheepwars.player.skin;
import lombok.NonNull;
import org.bukkit.block.Block;
import org.bukkit.block.BlockFace;
import org.bukkit.entity.Player;
import org.bukkit.event.block.Action;
import org.bukkit.inventory.EquipmentSlot;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.ef3d0c3e.sheepwars.Util;
import org.ef3d0c3e.sheepwars.items.IItem;
import org.ef3d0c3e.sheepwars.items.ItemFactory;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.text.MessageFormat;
public class SkinItem extends IItem
{
public SkinItem()
{
super();
}
@Override
protected boolean onInteract(final Player p, final ItemStack item, final Action action, final EquipmentSlot hand, final Block clicked, final BlockFace face)
{
p.openInventory(new SkinMenu(CPlayer.get(p)).getInventory());
return true;
}
@Override
protected boolean onDrop(final Player p, final ItemStack item) { return true; }
static final public SkinItem ITEM = new SkinItem();
/**
* Gets item for player
* @param cp Player to get item for
* @return Item
*/
public static @NonNull ItemStack getItem(final CPlayer cp)
{
final ItemStack item = (cp.getCosmetics().getCurrentSkin() == null)
? cp.getCosmetics().getOriginalSkin().getDisplayItem()
: cp.getCosmetics().getCurrentSkin().getDisplayItem();
final ItemMeta meta = item.getItemMeta();
if (cp.getCosmetics().getCurrentSkin() == null)
meta.setDisplayName(MessageFormat.format("§a{0} §7{1}", cp.getLocale().ITEMS_SKIN, cp.getLocale().ITEMS_RIGHTCLICK));
else
meta.setDisplayName(MessageFormat.format("§a{0} §8: §6{1} §7{2}", cp.getLocale().ITEMS_SKIN, cp.getCosmetics().getCurrentSkin().getName(), cp.getLocale().ITEMS_RIGHTCLICK));
meta.setLore(Util.coloredLore("§7", cp.getLocale().ITEMS_SKINLORE));
item.setItemMeta(meta);
ItemFactory.registerItem(ITEM);
return ITEM.apply(item);
}
}

View file

@ -0,0 +1,65 @@
package org.ef3d0c3e.sheepwars.player.skin;
import com.google.common.collect.Lists;
import lombok.NonNull;
import org.bukkit.Material;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.ef3d0c3e.sheepwars.Util;
import org.ef3d0c3e.sheepwars.gui.ScrollableGui;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.List;
public class SkinMenu extends ScrollableGui
{
@Override
public void onClick(int id, @NonNull ItemStack item)
{
getPlayer().getHandle().closeInventory();
getPlayer().getCosmetics().setSkin(Skin.skinList.get(id));
Skin.updateSkin(getPlayer());
}
@Override
public void onMenuClick(int id, @NonNull ItemStack item)
{
if (id != 3) return;
getPlayer().getCosmetics().setSkin(null);
getPlayer().getHandle().closeInventory();
}
static ArrayList<ItemStack> ITEMS = new ArrayList<>();
static {
Skin.skinList.forEach(skin -> ITEMS.add(skin.getDisplayItem()));
}
@Override
protected @NonNull ArrayList<ItemStack> getItems()
{
return ITEMS;
}
@Override
public @NonNull ArrayList<ItemStack> getMenu()
{
if (getPlayer().getCosmetics().getCurrentSkin() == null) return null;
final ItemStack item = new ItemStack(Material.NETHER_STAR);
final ItemMeta meta = item.getItemMeta();
meta.setDisplayName("§6" + MessageFormat.format(getPlayer().getLocale().SKIN_MENU, "§a" + getPlayer().getCosmetics().getCurrentSkin().getName()));
meta.setLore(Util.coloredLore("§7", getPlayer().getLocale().SKIN_MENULORE));
item.setItemMeta(meta);
return Lists.newArrayList(null, null, null, item, null, null, null);
}
public SkinMenu(final CPlayer cp)
{
super(4, cp.getLocale().SKIN_PICKER, cp);
}
}

View file

@ -0,0 +1,116 @@
package org.ef3d0c3e.sheepwars.player.skin;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.google.common.collect.Lists;
import com.mojang.authlib.properties.Property;
import com.mojang.authlib.properties.PropertyMap;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.ComponentBuilder;
import net.kyori.adventure.text.TextComponent;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.scheduler.BukkitRunnable;
import org.ef3d0c3e.sheepwars.SheepWars;
import org.ef3d0c3e.sheepwars.events.SkinChangeEvent;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.npc.NPCFactory;
import org.ef3d0c3e.sheepwars.npc.PlayerNPC;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.util.List;
public class SkinNPC extends PlayerNPC {
private static final int NETWORK_ID = 0xFF777710;
private final Location location;
public SkinNPC(Location location)
{
super(NETWORK_ID);
this.location = location;
}
@Override
protected @NonNull String getName() {
return "skin";
}
@Override
protected @NonNull List<Component> getNametag(@NonNull CPlayer cp) {
if (cp.getCosmetics().getCurrentSkin() == null)
return Lists.newArrayList(
Component.text(cp.getLocale().SKIN_NPCNAME)
.color(TextColor.color(240, 127, 0))
.decorate(TextDecoration.BOLD));
else
return Lists.newArrayList(
Component.text(cp.getLocale().SKIN_NPCNAME)
.color(TextColor.color(240, 127, 0))
.decorate(TextDecoration.BOLD),
Component.text(cp.getLocale().SKIN_NPCCURRENT)
.color(TextColor.color(85, 85, 127))
.decorate(TextDecoration.UNDERLINED),
Component.text(cp.getCosmetics().getCurrentSkin().getName())
.color(TextColor.color(180, 85, 120))
);
}
@Override
protected @NonNull Property getTextures(@NonNull CPlayer cp) {
if (cp.getCosmetics().getCurrentSkin() != null)
return cp.getCosmetics().getCurrentSkin().toProperty();
final PropertyMap pm = Skin.WRAPPER.getProperties(cp);
// TODO: May not work if player has cape...
return pm.get("textures").iterator().next();
}
@Override
protected @NonNull Location getLocation(@NonNull CPlayer cp) {
return location;
}
@Override
protected boolean sendPredicate(@NonNull CPlayer cp) {
return cp.getHandle().getWorld() == location.getWorld();
}
@Override
protected void onInteract(@NonNull CPlayer cp, EnumWrappers.Hand hand, boolean sneaking) {
new BukkitRunnable()
{
@Override
public void run()
{
if (!cp.isOnline()) return;
cp.getHandle().openInventory(new SkinMenu(cp).getInventory());
}
}.runTask(SheepWars.getPlugin());
}
@Override
protected void update(final @NonNull CPlayer cp)
{
// Resend nametag
removeNametag(cp, 3);
sendNametag(cp);
// Resend skin
sendInfo(cp, true);
}
@WantsListen(phase = WantsListen.Target.Lobby)
public static class Events implements Listener
{
@EventHandler
public void onSkinChange(final SkinChangeEvent ev)
{
((SkinNPC) NPCFactory.get(NETWORK_ID)).update(ev.getPlayer());
}
}
}

View file

@ -0,0 +1,120 @@
package org.ef3d0c3e.sheepwars.teams;
import com.comphenix.protocol.wrappers.WrappedChatComponent;
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import jline.internal.Nullable;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.TextColor;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.ef3d0c3e.sheepwars.events.CPlayerJoinEvent;
import org.ef3d0c3e.sheepwars.events.TeamChangeEvent;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import org.ef3d0c3e.sheepwars.game.Game;
import java.util.HashSet;
@AllArgsConstructor
public abstract class Team {
@Getter
private final ChatColor chatColor;
@Getter
private final TextColor color;
private HashSet<CPlayer> players;
private Team(final ChatColor chatColor, final TextColor color)
{
this.chatColor = chatColor;
this.color = color;
players = new HashSet<>();
}
public abstract String getName(final CPlayer cp);
public Component getColoredName(final CPlayer cp)
{
return Component.text(getName(cp))
.color(TextColor.color(color));
}
/**
* Executes lambda for each member of the team
* @param f Lambda to execute for each member
*/
public void forEachMember(final CPlayer.ForEachPlayer f)
{
for (final CPlayer cp : players)
f.operation(cp);
}
/**
* Executes lambda for each member of the team
* @param pre Player predicate
* @param f Lambda to execute for each member
*/
public void forEachMember(final CPlayer.PlayerPredicate pre, final CPlayer.ForEachPlayer f)
{
for (final CPlayer cp : players)
if (pre.operation(cp)) f.operation(cp);
}
public int count() {
return players.size();
}
/**
* Sets the player's team
* @param cp The player to change the team of
* @param team The new team
*/
public static void setPlayerTeam(final @NonNull CPlayer cp, final @Nullable Team team) {
final Team oldTeam = cp.getTeam();
if (oldTeam != null) oldTeam.players.remove(cp);
cp.setTeam(team);
if (team != null) team.players.add(cp);
if (team != oldTeam)
Bukkit.getPluginManager().callEvent(new TeamChangeEvent(cp, oldTeam, team));
}
public static Team RED = new Team(ChatColor.RED, TextColor.color(255, 0, 0)) {
@Override
public String getName(CPlayer cp) {
return cp.getLocale().TEAM_RED;
}
};
public static Team BLUE = new Team(ChatColor.BLUE, TextColor.color(0, 0, 255)) {
@Override
public String getName(CPlayer cp) {
return cp.getLocale().TEAM_BLUE;
}
};
@WantsListen(phase = WantsListen.Target.Lobby)
public static class Events implements Listener
{
@EventHandler
public void onJoin(final CPlayerJoinEvent ev)
{
if (RED.count() < BLUE.count())
{
Team.setPlayerTeam(ev.getPlayer(), RED);
}
else if (BLUE.count() < RED.count()) {
Team.setPlayerTeam(ev.getPlayer(), BLUE);
}
// Random team
else {
Team.setPlayerTeam(ev.getPlayer(), Game.nextInt() % 2 == 0 ? RED : BLUE);
}
}
}
}

View file

@ -0,0 +1,108 @@
package org.ef3d0c3e.sheepwars.teams;
import com.comphenix.protocol.wrappers.EnumWrappers;
import com.google.common.collect.Lists;
import com.mojang.authlib.properties.Property;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.TextColor;
import net.kyori.adventure.text.format.TextDecoration;
import org.bukkit.Location;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.scheduler.BukkitRunnable;
import org.ef3d0c3e.sheepwars.SheepWars;
import org.ef3d0c3e.sheepwars.events.TeamChangeEvent;
import org.ef3d0c3e.sheepwars.events.WantsListen;
import org.ef3d0c3e.sheepwars.npc.NPCFactory;
import org.ef3d0c3e.sheepwars.npc.PlayerNPC;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import java.util.List;
public class TeamNPC extends PlayerNPC {
private static final int NETWORK_ID = 0xFF777720;
private final Location location;
public TeamNPC(Location location) {
super(NETWORK_ID);
this.location = location;
}
@Override
protected @NonNull String getName() {
return "skin";
}
@Override
protected @NonNull List<Component> getNametag(@NonNull CPlayer cp) {
if (cp.getCosmetics().getCurrentSkin() == null)
return Lists.newArrayList(
Component.text(cp.getLocale().TEAM_NPCNAME)
.color(TextColor.color(207, 50, 200))
.decorate(TextDecoration.BOLD));
else
return Lists.newArrayList(
Component.text(cp.getLocale().TEAM_NPCNAME)
.color(TextColor.color(207, 50, 200))
.decorate(TextDecoration.BOLD),
Component.text(cp.getLocale().TEAM_NPCCURRENT)
.color(TextColor.color(85, 85, 127))
.decorate(TextDecoration.UNDERLINED),
Component.text(cp.getCosmetics().getCurrentSkin().getName())
.color(TextColor.color(180, 85, 120))
);
}
@Override
protected @NonNull Property getTextures(@NonNull CPlayer cp) {
return new Property("textures",
"ewogICJ0aW1lc3RhbXAiIDogMTcwMTk1OTQ2MjQ4NSwKICAicHJvZmlsZUlkIiA6ICJmODY0ZjY3ZGJlN2Y0OTBlYTZlODQzMjg2M2NkZWMxOCIsCiAgInByb2ZpbGVOYW1lIiA6ICJCb3lmcmllbmQ1MDY1IiwKICAic2lnbmF0dXJlUmVxdWlyZWQiIDogdHJ1ZSwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlLzIzMDgwZWZlMzdkNTk0ZjU0ZjNjMTgxYmRlNTBlMTI4ZWQyZjQyYmVkOGQzNjk3N2Y4ZTQwNmRmZDY0ZWZkZmQiCiAgICB9CiAgfQp9",
"hB0+1tCYxTvdjYlYS7wtwqbf30CNa/8BmkrpWv7mA0MFiQIikInm+rZEZbyHFFOba8Dc5Ee9hC/pu4rHwBqXN4XjsFELFqUHymKnhOSNmUfY7aA0rn+CaNrJOP7LSrajSN+r7qgRsXUph/7yEaTpMhWwu+nfzbxtaS7e8WqjqHtMYdjWg30HSTqrSYzmobo9wh3twbuEFil8dCTdG3A9YkICfhYeuAgwDENGe220ThPC4HJsyPS1NCAkuwfGHKFyjqomUkPm0o6ijnb4I5naSvGFFLqvjJDFQ2dwui8TacykoLj+Mou3NnSTawcutBD10HiMF/mgssZTsINim1Da4uOZR9FsShiAk5Z4nq7unh0vPdH+lgCoTaN5tD0DCmrZt5OLSEqpzx62EoYRWM5nUXRISVHKKADpra424O9zSytOCwjGGvYVg6uB6lOOb+Gm1+VDEU+7QzwhpYiMFaqiofZDJw7LNQ0EZcbbbTUFfUE7/d/X4sb2AGQno7RGVAdWrz/Kszf6/ri+Wru4GRHZBaS3LVnxXU4FUL7P9yF3ZPrpNZIt14f1WSWmk1ltGnwNwK8HfSRfo7uWZtDVZZWOeJA1bqTYMDP9n1hIHYgrLdIEmXpGK3RVytYeKbQVLWbTtPKTzPMhDaDyQkwGint0HgFm3jS29sRejdAMF81Hjt4=");
}
@Override
protected @NonNull Location getLocation(@NonNull CPlayer cp) {
return location;
}
@Override
protected boolean sendPredicate(@NonNull CPlayer cp) {
return cp.getHandle().getWorld() == location.getWorld();
}
@Override
protected void onInteract(@NonNull CPlayer cp, EnumWrappers.Hand hand, boolean sneaking) {
new BukkitRunnable() {
@Override
public void run() {
if (!cp.isOnline()) return;
if (cp.getTeam() == Team.RED) {
Team.setPlayerTeam(cp, Team.BLUE);
} else {
Team.setPlayerTeam(cp, Team.RED);
}
}
}.runTask(SheepWars.getPlugin());
}
@Override
protected void update(final @NonNull CPlayer cp) {
// Resend nametag
removeNametag(cp, 3);
sendNametag(cp);
// Resend skin
sendInfo(cp, true);
}
@WantsListen(phase = WantsListen.Target.Lobby)
public static class Events implements Listener {
@EventHandler
public void onTeamChange(final TeamChangeEvent ev) {
((TeamNPC) NPCFactory.get(NETWORK_ID)).update(ev.getPlayer());
}
}
}

View file

@ -1,7 +1,7 @@
offset: [0, 64, 0]
spawn: [0.5, 65, 0.5, 0, 0]
limbo: 55
info: [0.5, 59.5, 20.5, 0, 0]
info: [0.5, 60.5, 20.5, 0, 0]
skin: [2.5, 58, 40.5, -179.9, 0]
team: [6.5, 58, 39.5, -179.9, 0]
kit: [-1.5, 58, 40.5, -179.9, 0]

View file

@ -55,7 +55,8 @@ team:
picker: "Choisissez une équipe"
npcname: "Choisissez une équipe"
npccurrent: "Votre équipe:"
red: "Rouge"
blue: "Bleue"
kit:
picker: "Choisissez un kit"
npcname: "Choisissez un kit"

View file

@ -40,6 +40,10 @@
<id>sonatype</id>
<url>https://oss.sonatype.org/content/groups/public/</url>
</repository>
<repository>
<id>papermc</id>
<url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
</repositories>
<dependencies>

View file

@ -1,19 +1,49 @@
package org.ef3d0c3e.sheepwars.v1_21_R0;
import com.comphenix.protocol.PacketType;
import com.comphenix.protocol.events.PacketContainer;
import com.github.retrooper.packetevents.PacketEvents;
import com.github.retrooper.packetevents.protocol.chat.RemoteChatSession;
import com.github.retrooper.packetevents.protocol.player.GameMode;
import com.github.retrooper.packetevents.protocol.player.PublicProfileKey;
import com.github.retrooper.packetevents.protocol.player.TextureProperty;
import com.github.retrooper.packetevents.protocol.player.UserProfile;
import com.github.retrooper.packetevents.protocol.world.Difficulty;
import com.github.retrooper.packetevents.protocol.world.Dimension;
import com.github.retrooper.packetevents.protocol.world.WorldBlockPosition;
import com.github.retrooper.packetevents.resources.ResourceLocation;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfo;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoRemove;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerPlayerInfoUpdate;
import com.github.retrooper.packetevents.wrapper.play.server.WrapperPlayServerRespawn;
import com.mojang.authlib.properties.Property;
import com.mojang.authlib.properties.PropertyMap;
import io.github.retrooper.packetevents.util.SpigotConversionUtil;
import lombok.NonNull;
import net.kyori.adventure.text.Component;
import net.minecraft.core.GlobalPos;
import net.minecraft.core.Holder;
import net.minecraft.network.protocol.game.ClientboundRespawnPacket;
import net.minecraft.network.protocol.game.CommonPlayerSpawnInfo;
import net.minecraft.resources.ResourceKey;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.world.level.GameType;
import net.minecraft.world.level.Level;
import net.minecraft.world.level.dimension.DimensionType;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.craftbukkit.v1_21_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_21_R1.entity.CraftPlayer;
import org.bukkit.entity.Player;
import org.bukkit.potion.PotionEffect;
import org.bukkit.scheduler.BukkitRunnable;
import org.ef3d0c3e.sheepwars.SheepWars;
import org.ef3d0c3e.sheepwars.player.CPlayer;
import org.ef3d0c3e.sheepwars.versions.SkinVersionWrapper;
import org.jetbrains.annotations.Nullable;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Optional;
public class Skin implements SkinVersionWrapper
{
@ -37,23 +67,78 @@ public class Skin implements SkinVersionWrapper
final Location loc = cp.getHandle().getLocation();
// Remove info packet
final PacketContainer infoRemove = SheepWars.getProtocolManager().createPacket(PacketType.Play.Server.PLAYER_INFO_REMOVE);
infoRemove.getUUIDLists().write(0, Arrays.asList(cp.getHandle().getUniqueId()));
final WrapperPlayServerPlayerInfoRemove infoRemove = new WrapperPlayServerPlayerInfoRemove(
cp.getHandle().getUniqueId()
);
final ServerPlayer p = ((CraftPlayer)cp.getHandle()).getHandle();
final net.minecraft.network.chat.RemoteChatSession chatSession = p.getChatSession();
// Add info packet
final WrapperPlayServerPlayerInfoUpdate info = new WrapperPlayServerPlayerInfoUpdate(
WrapperPlayServerPlayerInfoUpdate.Action.ADD_PLAYER,
new WrapperPlayServerPlayerInfoUpdate.PlayerInfo(
new UserProfile(
cp.getHandle().getUniqueId(),
cp.getHandle().getName(),
List.of(
new TextureProperty(
"textures",
skin.getTexture(),
skin.getSignature()
)
)
),
true,
cp.getHandle().getPing(),
GameMode.getById(cp.getHandle().getGameMode().getValue()),
Component.text(cp.getHandle().getName()),
// FIXME: This is not correct as the player chat session is still invalid
new RemoteChatSession(chatSession.sessionId(), new PublicProfileKey(
chatSession.profilePublicKey().data().expiresAt(),
chatSession.profilePublicKey().data().key(),
chatSession.profilePublicKey().data().keySignature()
)
)
)
);
// Respawn packet
final ServerLevel level = ((CraftWorld)loc.getWorld()).getHandle();
final WrapperPlayServerRespawn respawn = new WrapperPlayServerRespawn(
new Dimension(level.getLevel().dimensionType().hashCode()),
null,
Difficulty.getById(level.getDifficulty().getId()),
0,
GameMode.getById(cp.getHandle().getGameMode().ordinal()),
null,
false,
true,
false,
null,
null,
null
);
final CommonPlayerSpawnInfo respInfo = new CommonPlayerSpawnInfo(
level.getLevel().dimensionTypeRegistration(),
level.getLevel().dimension(),
level.getSeed(),
p.gameMode.getGameModeForPlayer(),
null,
false, true,
Optional.empty(),
0
);
PacketEvents.getAPI().getPlayerManager().sendPacket(cp.getHandle(), infoRemove);
PacketEvents.getAPI().getPlayerManager().sendPacket(cp.getHandle(), info);
p.connection.send(new ClientboundRespawnPacket(respInfo, (byte)0x2));
/* TODO: Port the ProtocolWrapper code to raw Protocollib
// Update info packet
final WrapperPlayServerPlayerInfo info = new WrapperPlayServerPlayerInfo();
info.setActions(Sets.newHashSet(EnumWrappers.PlayerInfoAction.ADD_PLAYER, EnumWrappers.PlayerInfoAction.UPDATE_LISTED));
final PlayerInfoData data = new PlayerInfoData(
cp.getHandle().getUniqueId(),
0,
true,
EnumWrappers.NativeGameMode.fromBukkit(cp.getHandle().getGameMode()),
WrappedGameProfile.fromPlayer(cp.getHandle()),
WrappedChatComponent.fromText(cp.getHandle().getName())
);
info.setEntries(Collections.singletonList(data));
// Respawn packet
final ServerLevel level = ((CraftWorld)loc.getWorld()).getHandle();
@ -78,7 +163,7 @@ public class Skin implements SkinVersionWrapper
Hunt.getProtocolManager().sendServerPacket(cp.getHandle(), infoRemove);
Hunt.getProtocolManager().sendServerPacket(cp.getHandle(), info.getHandle());
p.connection.send(new ClientboundRespawnPacket(respawn, (byte)0x2));
p.connection.send(new ClientboundRespawnPacket(respawn, (byte)0x2));*/
final int slot = cp.getHandle().getInventory().getHeldItemSlot();
final Collection<PotionEffect> effects = cp.getHandle().getActivePotionEffects();
@ -91,6 +176,7 @@ public class Skin implements SkinVersionWrapper
@Override
public void run()
{
if (!cp.isOnline()) return;
final Player p = cp.getHandle();
p.getInventory().setHeldItemSlot(slot);
@ -104,8 +190,7 @@ public class Skin implements SkinVersionWrapper
}
}.runTask(Hunt.getPlugin());
*/
}.runTask(SheepWars.getPlugin());
}
@Override