aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java53
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java1522
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java93
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java754
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java39
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java6
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java4
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/options/Options.java100
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java9
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java6
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java2
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java14
-rw-r--r--src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java85
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.pngbin0 -> 7050 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.pngbin0 -> 16913 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.pngbin0 -> 1006 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.pngbin0 -> 6971 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.pngbin0 -> 10886 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.pngbin0 -> 13433 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.pngbin0 -> 10655 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.pngbin0 -> 4217 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.pngbin0 -> 6904 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.pngbin0 -> 4952 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.pngbin0 -> 6703 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.pngbin0 -> 15370 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.pngbin0 -> 717 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.pngbin0 -> 6522 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.pngbin0 -> 7093 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.pngbin0 -> 7618 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.pngbin0 -> 7874 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.pngbin0 -> 4400 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.pngbin0 -> 6277 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.pngbin0 -> 7045 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.pngbin0 -> 12576 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.pngbin0 -> 1949 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.pngbin0 -> 6697 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.pngbin0 -> 5947 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.pngbin0 -> 8456 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.pngbin0 -> 6474 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.pngbin0 -> 4502 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.pngbin0 -> 6789 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json3
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.pngbin0 -> 5897 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.pngbin0 -> 10039 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corners_default/brown_corner.pngbin0 -> 971 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/brown_corridor.pngbin0 -> 1023 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/gray_corridor.pngbin0 -> 1055 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/green_corridor.pngbin0 -> 1107 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/orange_corridor.pngbin0 -> 1083 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/pink_corridor.pngbin0 -> 1032 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/purple_corridor.pngbin0 -> 1044 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/red_corridor.pngbin0 -> 1055 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/yellow_corridor.pngbin0 -> 1033 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/dividers_default/brown_divider.pngbin0 -> 964 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/editor/background.pngbin0 -> 2414 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/dungeon_map/rooms_default/orange_room.pngbin0 -> 979 bytes
-rw-r--r--src/main/resources/assets/notenoughupdates/maps/F1Full.json16386
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.fsh32
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json19
-rw-r--r--src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.vsh16
91 files changed, 18795 insertions, 440 deletions
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java b/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java
new file mode 100644
index 00000000..07205519
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/DumymMod.java
@@ -0,0 +1,53 @@
+package io.github.moulberry.notenoughupdates;
+
+import java.util.Arrays;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.inventory.GuiChest;
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.client.event.GuiScreenEvent;
+import net.minecraftforge.common.MinecraftForge;
+import net.minecraftforge.fml.common.Mod;
+import net.minecraftforge.fml.common.Mod.EventHandler;
+import net.minecraftforge.fml.common.ModMetadata;
+import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
+import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+
+public class DumymMod {
+
+ @SubscribeEvent
+ public void onInitGui(GuiScreenEvent.InitGuiEvent.Post event) {
+ int width = event.gui.width / 2;
+ int height = event.gui.height / 2 - 106;
+
+ if (event.gui instanceof GuiChest)
+ {
+ event.buttonList.add(new GuiButtonItem(1001, width + 88, height + 47, new ItemStack(Blocks.crafting_table)));
+ event.buttonList.add(new GuiButtonItem(1000, width + 88, height + 66, new ItemStack(Blocks.ender_chest)));
+ }
+ }
+
+ private long lastButtonClick = -1;
+
+ @SubscribeEvent
+ public void onPostActionPerformedGui(GuiScreenEvent.ActionPerformedEvent.Post event) {
+ long now = System.currentTimeMillis();
+
+ if (event.gui instanceof GuiChest)
+ {
+ if (now - this.lastButtonClick > 100L)
+ {
+ if (event.button.id == 1000)
+ {
+ Minecraft.getMinecraft().thePlayer.sendChatMessage("/enderchest");
+ }
+ else if (event.button.id == 1001)
+ {
+ Minecraft.getMinecraft().thePlayer.sendChatMessage("/craft");
+ }
+ this.lastButtonClick = now;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java b/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java
index f0b92c6a..cdf7b59b 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/DungeonBlocks.java
@@ -39,7 +39,7 @@ public class DungeonBlocks implements IResourceManagerReloadListener {
}
public static boolean isInDungeons() {
- return !NotEnoughUpdates.INSTANCE.manager.config.disableDungeonBlocks.value &&
+ return false && !NotEnoughUpdates.INSTANCE.manager.config.disableDungeonBlocks.value &&
(NotEnoughUpdates.INSTANCE.manager.config.dungeonBlocksEverywhere.value ||
(SBInfo.getInstance().getLocation() != null && SBInfo.getInstance().getLocation().equals("dungeon")));
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java b/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java
index c9be3dab..daff1a24 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/DungeonMap.java
@@ -1,32 +1,50 @@
package io.github.moulberry.notenoughupdates;
+import com.google.common.math.BigIntegerMath;
+import com.google.gson.JsonObject;
+import io.github.moulberry.notenoughupdates.questing.SBInfo;
+import io.github.moulberry.notenoughupdates.util.SpecialColour;
import io.github.moulberry.notenoughupdates.util.Utils;
import net.minecraft.block.material.MapColor;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.gui.Gui;
import net.minecraft.client.gui.MapItemRenderer;
-import net.minecraft.client.renderer.GlStateManager;
-import net.minecraft.client.renderer.Tessellator;
-import net.minecraft.client.renderer.WorldRenderer;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.*;
+import net.minecraft.client.renderer.entity.RenderItem;
import net.minecraft.client.renderer.texture.DynamicTexture;
+import net.minecraft.client.renderer.texture.TextureUtil;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
+import net.minecraft.client.resources.DefaultPlayerSkin;
+import net.minecraft.client.shader.Framebuffer;
+import net.minecraft.client.shader.Shader;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
import net.minecraft.item.ItemMap;
import net.minecraft.item.ItemStack;
import net.minecraft.scoreboard.ScorePlayerTeam;
-import net.minecraft.util.BlockPos;
-import net.minecraft.util.ResourceLocation;
-import net.minecraft.util.Vec4b;
+import net.minecraft.util.*;
import net.minecraft.world.storage.MapData;
import net.minecraftforge.client.event.RenderGameOverlayEvent;
+import net.minecraftforge.fml.common.eventhandler.EventPriority;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
+import org.lwjgl.BufferUtils;
import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;
+import org.lwjgl.opengl.GL14;
+import org.lwjgl.opengl.GL30;
+import org.lwjgl.opengl.GL45;
import java.awt.*;
import java.awt.image.BufferedImage;
+import java.io.BufferedReader;
+import java.io.InputStreamReader;
+import java.nio.ByteBuffer;
+import java.nio.IntBuffer;
+import java.nio.charset.StandardCharsets;
import java.util.*;
import java.util.List;
@@ -43,9 +61,22 @@ public class DungeonMap {
private static final ResourceLocation ROOM_PINK = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/pink_room.png");
private static final ResourceLocation ROOM_PURPLE = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/purple_room.png");
private static final ResourceLocation ROOM_YELLOW = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/yellow_room.png");
+ private static final ResourceLocation ROOM_ORANGE = new ResourceLocation("notenoughupdates:dungeon_map/rooms_default/orange_room.png");
- private static final int RENDER_ROOM_SIZE = 16;
- private static final int RENDER_CONN_SIZE = 4;
+ private static final ResourceLocation CORRIDOR_RED = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/red_corridor.png");
+ private static final ResourceLocation CORRIDOR_BROWN = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/brown_corridor.png");
+ private static final ResourceLocation CORRIDOR_GRAY = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/gray_corridor.png");
+ private static final ResourceLocation CORRIDOR_GREEN = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/green_corridor.png");
+ private static final ResourceLocation CORRIDOR_PINK = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/pink_corridor.png");
+ private static final ResourceLocation CORRIDOR_PURPLE = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/purple_corridor.png");
+ private static final ResourceLocation CORRIDOR_YELLOW = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/yellow_corridor.png");
+ private static final ResourceLocation CORRIDOR_ORANGE = new ResourceLocation("notenoughupdates:dungeon_map/corridors_default/orange_corridor.png");
+
+ private static final ResourceLocation DIVIDER_BROWN = new ResourceLocation("notenoughupdates:dungeon_map/dividers_default/brown_divider.png");
+
+ private static final ResourceLocation CORNER_BROWN = new ResourceLocation("notenoughupdates:dungeon_map/corners_default/brown_corner.png");
+
+ private static final ResourceLocation BORDER_STEAMPUNK = new ResourceLocation("notenoughupdates:dungeon_map/borders/steampunk.png");
private final HashMap<RoomOffset, Room> roomMap = new HashMap<>();
private Color[][] colourMap = new Color[128][128];
@@ -53,15 +84,17 @@ public class DungeonMap {
private int startRoomY = -1;
private int connectorSize = 5;
private int roomSize = 0;
-
- private int roomSizeBlocks = 7;
- private final List<MapDecoration> decorations = new ArrayList<>();
- private final List<MapDecoration> lastDecorations = new ArrayList<>();
+ //private final List<MapDecoration> decorations = new ArrayList<>();
+ //private final List<MapDecoration> lastDecorations = new ArrayList<>();
private long lastDecorationsMillis = -1;
private long lastLastDecorationsMillis = -1;
- private Map<EntityPlayer, MapPosition> playerMapPositions = new HashMap<>();
+ private Map<String, MapPosition> playerEntityMapPositions = new HashMap<>();
+ private Map<String, MapPosition> playerMarkerMapPositions = new HashMap<>();
+ private Map<String, MapPosition> playerMarkerMapPositionsLast = new HashMap<>();
+
+ private Map<String, ResourceLocation> playerSkinMap = new HashMap<>();
private class RoomOffset {
int x;
@@ -144,6 +177,50 @@ public class DungeonMap {
RoomConnection right = new RoomConnection(RoomConnectionType.NONE, new Color(0, true));
RoomConnection down = new RoomConnection(RoomConnectionType.NONE, new Color(0, true));
+ public void renderNoRotate(int roomSize, int connectorSize, int rotation) {
+ if(tickColour != 0) {
+ Color tick = new Color(tickColour, true);
+ ResourceLocation indicatorTex = null;
+ if(tick.getRed() == 255 && tick.getGreen() == 255 && tick.getBlue() == 255) {
+ indicatorTex = WHITE_CHECK;
+ } else if(tick.getRed() == 0 && tick.getGreen() == 124 && tick.getBlue() == 0) {
+ indicatorTex = GREEN_CHECK;
+ } else if(tick.getRed() == 13 && tick.getGreen() == 13 && tick.getBlue() == 13) {
+ indicatorTex = QUESTION;
+ }
+ if(indicatorTex != null) {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(indicatorTex);
+ float x = 0;
+ float y = 0;
+
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmCenterCheck.value) {
+ if(fillCorner) {
+ x += -(roomSize+connectorSize)/2f*Math.cos(Math.toRadians(rotation-45))*1.414f;
+ y += (roomSize+connectorSize)/2f*Math.sin(Math.toRadians(rotation-45))*1.414;
+ }
+ if(down.type == RoomConnectionType.ROOM_DIVIDER && right.type != RoomConnectionType.ROOM_DIVIDER) {
+ x += -(roomSize+connectorSize)/2f*Math.sin(Math.toRadians(rotation));
+ y += -(roomSize+connectorSize)/2f*Math.cos(Math.toRadians(rotation));
+ } else if(down.type != RoomConnectionType.ROOM_DIVIDER && right.type == RoomConnectionType.ROOM_DIVIDER) {
+ x += -(roomSize+connectorSize)/2f*Math.cos(Math.toRadians(rotation));
+ y += (roomSize+connectorSize)/2f*Math.sin(Math.toRadians(rotation));
+ }
+ }
+ GlStateManager.translate(x, y, 0);
+ if(!NotEnoughUpdates.INSTANCE.manager.config.dmOrientCheck.value) {
+ GlStateManager.rotate(-rotation+180, 0, 0, 1);
+ }
+
+ Utils.drawTexturedRect(-5, -5, 10, 10, GL11.GL_NEAREST);
+
+ if(!NotEnoughUpdates.INSTANCE.manager.config.dmOrientCheck.value) {
+ GlStateManager.rotate(rotation-180, 0, 0, 1);
+ }
+ GlStateManager.translate(-x, -y, 0);
+ }
+ }
+ }
+
public void render(int roomSize, int connectorSize) {
ResourceLocation roomTex = null;
if(colour.getRed() == 114 && colour.getGreen() == 67 && colour.getBlue() == 27) {
@@ -160,82 +237,170 @@ public class DungeonMap {
roomTex = ROOM_RED;
} else if(colour.getRed() == 229 && colour.getGreen() == 229 && colour.getBlue() == 51) {
roomTex = ROOM_YELLOW;
+ } else if(colour.getRed() == 216 && colour.getGreen() == 127 && colour.getBlue() == 51) {
+ roomTex = ROOM_ORANGE;
}
if(roomTex != null) {
Minecraft.getMinecraft().getTextureManager().bindTexture(roomTex);
GlStateManager.color(1, 1, 1, 1);
Utils.drawTexturedRect(0, 0, roomSize, roomSize, GL11.GL_LINEAR);
- }
-
- //Gui.drawRect(0, 0, roomSize, roomSize, colour.getRGB());
- if(tickColour != 0) {
- Gui.drawRect(roomSize/2-4, roomSize/2-4, roomSize/2+4, roomSize/2+4, tickColour);
+ } else {
+ Gui.drawRect(0, 0, roomSize, roomSize, colour.getRGB());
}
if(fillCorner) {
- Gui.drawRect(-connectorSize, -connectorSize, 0, 0, colour.getRGB());
+ GlStateManager.color(1, 1, 1, 1);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(CORNER_BROWN);
+ Utils.drawTexturedRect(roomSize, roomSize, connectorSize, connectorSize, GL11.GL_NEAREST);
}
- for(int k=0; k<4; k++) {
- RoomConnection connection = up;
+ for(int k=0; k<2; k++) {
+ RoomConnection connection = down;
if(k == 1) connection = right;
- if(k == 2) connection = down;
- if(k == 3) connection = left;
if(connection.type == RoomConnectionType.NONE || connection.type == RoomConnectionType.WALL) continue;
+
+ ResourceLocation corridorTex = null;
+ if(connection.colour.getRed() == 114 && connection.colour.getGreen() == 67 && connection.colour.getBlue() == 27) {
+ corridorTex = connection.type == RoomConnectionType.CORRIDOR ? CORRIDOR_BROWN : DIVIDER_BROWN;
+ } else if(connection.colour.getRed() == 65 && connection.colour.getGreen() == 65 && connection.colour.getBlue() == 65) {
+ corridorTex = CORRIDOR_GRAY;
+ } else if(connection.colour.getRed() == 0 && connection.colour.getGreen() == 124 && connection.colour.getBlue() == 0) {
+ corridorTex = CORRIDOR_GREEN;
+ } else if(connection.colour.getRed() == 242 && connection.colour.getGreen() == 127 && connection.colour.getBlue() == 165) {
+ corridorTex = CORRIDOR_PINK;
+ } else if(connection.colour.getRed() == 178 && connection.colour.getGreen() == 76 && connection.colour.getBlue() == 216) {
+ corridorTex = CORRIDOR_PURPLE;
+ } else if(connection.colour.getRed() == 255 && connection.colour.getGreen() == 0 && connection.colour.getBlue() == 0) {
+ corridorTex = CORRIDOR_RED;
+ } else if(connection.colour.getRed() == 229 && connection.colour.getGreen() == 229 && connection.colour.getBlue() == 51) {
+ corridorTex = CORRIDOR_YELLOW;
+ } else if(connection.colour.getRed() == 216 && connection.colour.getGreen() == 127 && connection.colour.getBlue() == 51) {
+ corridorTex = CORRIDOR_ORANGE;
+ }
- int xOffset = 0;
- int yOffset = 0;
- int width = 0;
- int height = 0;
+ if(corridorTex == null) {
+ int xOffset = 0;
+ int yOffset = 0;
+ int width = 0;
+ int height = 0;
- if(connection == up) {
- yOffset = -connectorSize;
- width = roomSize;
- height = connectorSize;
+ if(connection == right) {
+ xOffset = roomSize;
+ width = connectorSize;
+ height = roomSize;
- if(connection.type == RoomConnectionType.CORRIDOR) {
- width = 8;
- xOffset += 4;
- }
- } else if(connection == right) {
- xOffset = roomSize;
- width = connectorSize;
- height = roomSize;
-
- if(connection.type == RoomConnectionType.CORRIDOR) {
- height = 8;
- yOffset += 4;
- }
- } else if(connection == down) {
- yOffset = roomSize;
- width = roomSize;
- height = connectorSize;
-
- if(connection.type == RoomConnectionType.CORRIDOR) {
- width = 8;
- xOffset += 4;
+ if(connection.type == RoomConnectionType.CORRIDOR) {
+ height = 8;
+ yOffset += 4;
+ }
+ } else if(connection == down) {
+ yOffset = roomSize;
+ width = roomSize;
+ height = connectorSize;
+
+ if(connection.type == RoomConnectionType.CORRIDOR) {
+ width = 8;
+ xOffset += 4;
+ }
}
- } else if(connection == left) {
- xOffset = -connectorSize;
- width = connectorSize;
- height = roomSize;
-
- if(connection.type == RoomConnectionType.CORRIDOR) {
- height = 8;
- yOffset += 4;
+
+ Gui.drawRect(xOffset, yOffset, xOffset+width, yOffset+height, connection.colour.getRGB());
+ } else {
+ GlStateManager.color(1, 1, 1, 1);
+ Minecraft.getMinecraft().getTextureManager().bindTexture(corridorTex);
+ GlStateManager.pushMatrix();
+ if(connection==right) {
+ GlStateManager.translate(roomSize/2f, roomSize/2f, 0);
+ GlStateManager.rotate(-90, 0, 0, 1);
+ GlStateManager.translate(-roomSize/2f, -roomSize/2f, 0);
}
+ Utils.drawTexturedRect(0, roomSize, roomSize, connectorSize, GL11.GL_NEAREST);
+ GlStateManager.popMatrix();
}
-
- Gui.drawRect(xOffset, yOffset, xOffset+width, yOffset+height, connection.colour.getRGB());
}
}
}
private static final ResourceLocation mapIcons = new ResourceLocation("textures/map/map_icons.png");
- public void render() {
+ public static Framebuffer mapFramebuffer1 = null;
+ public static Framebuffer mapFramebuffer2 = null;
+ public static Matrix4f projectionMatrix = null;
+ public static Shader mapShader = null;
+
+ private static Framebuffer checkFramebufferSizes(Framebuffer framebuffer, int width, int height) {
+ if(framebuffer == null || framebuffer.framebufferWidth != width || framebuffer.framebufferHeight != height) {
+ if(framebuffer == null) {
+ framebuffer = new Framebuffer(width, height, true);
+ } else {
+ framebuffer.createBindFramebuffer(width, height);
+ }
+ framebuffer.setFramebufferFilter(GL11.GL_NEAREST);
+ }
+ return framebuffer;
+ }
+
+ private static void upload(Shader shader, int width, int height, int scale, float radiusSq) {
+ if(shader == null) return;
+ shader.getShaderManager().getShaderUniformOrDefault("ProjMat").set(projectionMatrix);
+ shader.getShaderManager().getShaderUniformOrDefault("InSize").set(width*scale, height*scale);
+ shader.getShaderManager().getShaderUniformOrDefault("OutSize").set(width, height);
+ shader.getShaderManager().getShaderUniformOrDefault("ScreenSize").set((float)width, (float)height);
+ shader.getShaderManager().getShaderUniformOrDefault("radiusSq").set(radiusSq);
+ }
+
+ public int getRenderRoomSize() {
+ int roomSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmRoomSize.value.intValue();
+ return roomSizeOption == 0 ? 12 : roomSizeOption == 2 ? 20 : 16;
+ }
+
+ public int getRenderConnSize() {
+ int roomSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmRoomSize.value.intValue();
+ return roomSizeOption == 0 ? 3 : roomSizeOption == 2 ? 5 : 4;
+ }
+
+ private HashMap<Integer, Float> borderRadiusCache = new HashMap<>();
+ public float getBorderRadius() {
+ int borderSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmBorderSize.value.intValue();
+ String sizeId = borderSizeOption == 0 ? "small" : borderSizeOption == 2 ? "large" : "medium";
+
+ int style = NotEnoughUpdates.INSTANCE.manager.config.dmBorderStyle.value.intValue();
+ if(borderRadiusCache.containsKey(style)) {
+ return borderRadiusCache.get(style);
+ }
+
+ try {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(
+ new ResourceLocation("notenoughupdates:dungeon_map/borders/"+sizeId+"/"+style+".json")).getInputStream(), StandardCharsets.UTF_8));
+ JsonObject json = NotEnoughUpdates.INSTANCE.manager.gson.fromJson(reader, JsonObject.class);
+ float radiusSq = json.get("radiusSq").getAsFloat();
+
+ borderRadiusCache.put(style, radiusSq);
+ return radiusSq;
+ } catch(Exception ignored) { }
+
+ borderRadiusCache.put(style, 1f);
+ return 1f;
+ }
+
+ public void render(int centerX, int centerY) {
+ ScaledResolution scaledResolution = Utils.pushGuiScale(2);
+
+ boolean useFb = NotEnoughUpdates.INSTANCE.manager.config.dmCompat.value <= 1;
+ boolean useShd = NotEnoughUpdates.INSTANCE.manager.config.dmCompat.value <= 0;
+
+ if((useFb && !OpenGlHelper.isFramebufferEnabled()) || (useShd && !OpenGlHelper.areShadersSupported())) {
+ Utils.drawStringCentered(EnumChatFormatting.RED+"NEU Dungeon Map requires framebuffers & shaders",
+ Minecraft.getMinecraft().fontRendererObj, centerX, centerY-10, true, 0);
+ Utils.drawStringCentered(EnumChatFormatting.RED+"Turn off Optifine Fast Render",
+ Minecraft.getMinecraft().fontRendererObj, centerX, centerY, true, 0);
+ Utils.drawStringCentered(EnumChatFormatting.RED+"If that doesn't work, join NEU discord for support",
+ Minecraft.getMinecraft().fontRendererObj, centerX, centerY+10, true, 0);
+ return;
+ }
+
int minRoomX = 999;
int minRoomY = 999;
int maxRoomX = -999;
@@ -247,131 +412,385 @@ public class DungeonMap {
maxRoomY = Math.max(offset.y, maxRoomY);
}
- /*Set<Color> uniques = new HashSet<>();
- for(Color[] cs : colourMap) {
- for(Color c : cs) {
- uniques.add(c);
+ int borderSizeOption = NotEnoughUpdates.INSTANCE.manager.config.dmBorderSize.value.intValue();
+
+ int renderRoomSize = getRenderRoomSize();
+ int renderConnSize = getRenderConnSize();
+
+ MapPosition playerPos = null;
+ if(playerEntityMapPositions.containsKey(Minecraft.getMinecraft().thePlayer.getName())) {
+ playerPos = playerEntityMapPositions.get(Minecraft.getMinecraft().thePlayer.getName());
+ } else if(playerMarkerMapPositions.containsKey(Minecraft.getMinecraft().thePlayer.getName())) {
+ playerPos = playerMarkerMapPositions.get(Minecraft.getMinecraft().thePlayer.getName());
+ }
+
+ int rotation = 180;
+ if(playerPos != null && NotEnoughUpdates.INSTANCE.manager.config.dmRotatePlayer.value) {
+ rotation = (int)playerPos.rotation;
+ }
+
+ int mapSizeX = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : 120;
+ int mapSizeY = borderSizeOption == 0 ? 90 : borderSizeOption == 2 ? 160 : 120;
+ int roomsSizeX = (maxRoomX-minRoomX)*(renderRoomSize+renderConnSize)+renderRoomSize;
+ int roomsSizeY = (maxRoomY-minRoomY)*(renderRoomSize+renderConnSize)+renderRoomSize;
+ int mapCenterX = mapSizeX/2;
+ int mapCenterY = mapSizeY/2;
+ int scaleFactor = 8;
+
+ projectionMatrix = Utils.createProjectionMatrix(mapSizeX*scaleFactor, mapSizeY*scaleFactor);
+ mapFramebuffer1 = checkFramebufferSizes(mapFramebuffer1, mapSizeX*scaleFactor, mapSizeY*scaleFactor);
+ mapFramebuffer2 = checkFramebufferSizes(mapFramebuffer2, mapSizeX*scaleFactor, mapSizeY*scaleFactor);
+ mapFramebuffer1.framebufferColor[1] = 0;
+ mapFramebuffer1.framebufferColor[2] = 0;
+
+ try {
+ if(mapShader == null) {
+ mapShader = new Shader(new NEUResourceManager(Minecraft.getMinecraft().getResourceManager()),
+ "dungeonmap", mapFramebuffer1, mapFramebuffer2);
}
+ } catch(Exception e) {
+ e.printStackTrace();
+ return;
}
- System.out.println("Unique colours:");
- for(Color c : uniques) {
- System.out.println(c + "" + c.getAlpha());
- }*/
- int centerX = 80;
- int centerY = 80;
- int rotation = (int)Minecraft.getMinecraft().thePlayer.rotationYawHead;
+ int backgroundColour = SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundColour.value);
- GlStateManager.pushMatrix();
- GlStateManager.translate(centerX, centerY, 0);
- GlStateManager.rotate(-rotation+180, 0, 0, 1);
- GlStateManager.translate(-(maxRoomX-minRoomX+1)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE)/2f,
- -(maxRoomY-minRoomY+1)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE)/2f, 0);
+ mapFramebuffer1.framebufferColor[0] = ((backgroundColour >> 16) & 0xFF)/255f;
+ mapFramebuffer1.framebufferColor[1] = ((backgroundColour >> 8) & 0xFF)/255f;
+ mapFramebuffer1.framebufferColor[2] = (backgroundColour & 0xFF)/255f;
+ mapFramebuffer2.framebufferColor[0] = ((backgroundColour >> 16) & 0xFF)/255f;
+ mapFramebuffer2.framebufferColor[1] = ((backgroundColour >> 8) & 0xFF)/255f;
+ mapFramebuffer2.framebufferColor[2] = (backgroundColour & 0xFF)/255f;
- Gui.drawRect(-10, -10, (maxRoomX-minRoomX)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE)+RENDER_ROOM_SIZE+10,
- (maxRoomY-minRoomY)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE)+RENDER_ROOM_SIZE+10,
- new Color(200, 200, 200).getRGB());
+ try {
+ if(useFb) {
+ mapFramebuffer1.framebufferClear();
+ mapFramebuffer2.framebufferClear();
+ }
- for(Map.Entry<RoomOffset, Room> entry : roomMap.entrySet()) {
- RoomOffset roomOffset = entry.getKey();
- Room room = entry.getValue();
-
- int x = (roomOffset.x-minRoomX)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE);
- int y = (roomOffset.y-minRoomY)*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE);
-
- GlStateManager.pushMatrix();
- GlStateManager.translate(x, y, 0);
- room.render(RENDER_ROOM_SIZE, RENDER_CONN_SIZE);
- GlStateManager.translate(-x, -y, 0);
- GlStateManager.popMatrix();
- }
-
- Tessellator tessellator = Tessellator.getInstance();
- WorldRenderer worldrenderer = tessellator.getWorldRenderer();
- GlStateManager.color(1, 1, 1, 1);
- Minecraft.getMinecraft().getTextureManager().bindTexture(mapIcons);
- int k = 0;
- for(int i=0; i<decorations.size(); i++) {
- MapDecoration decoration = decorations.get(i);
- float minU = (float)(decoration.id % 4) / 4.0F;
- float minV = (float)(decoration.id / 4) / 4.0F;
-
- float x = decoration.position.getRenderX();
- float y = decoration.position.getRenderY();
- float angle = decoration.angle;
-
- if(decoration.id == 1) {
- angle = Minecraft.getMinecraft().thePlayer.rotationYawHead;
- } else {
- if(false && i < lastDecorations.size()) {
- MapDecoration last = lastDecorations.get(i);
- float xLast = last.position.getRenderX();
- float yLast = last.position.getRenderY();
-
- float distSq = (x-xLast)*(x-xLast)+(y-yLast)*(y-yLast);
- if(distSq < RENDER_ROOM_SIZE*RENDER_ROOM_SIZE) {
- float angleLast = last.angle;
- if(angle > 180 && angleLast < 180) angleLast += 360;
- if(angleLast > 180 && angle < 180) angle += 360;
-
- float interpFactor = Math.round((System.currentTimeMillis() - lastDecorationsMillis)*100f)/100f/(lastDecorationsMillis - lastLastDecorationsMillis);
- interpFactor = Math.max(0, Math.min(1, interpFactor));
-
- x = xLast+(x - xLast)*interpFactor;
- y = yLast+(y - yLast)*interpFactor;
- angle = angleLast+(angle - angleLast)*interpFactor;
- angle %= 360;
- }
+ GlStateManager.pushMatrix(); {
+ if(useFb) {
+ GlStateManager.matrixMode(5889);
+ GlStateManager.loadIdentity();
+ GlStateManager.ortho(0.0D, mapSizeX*scaleFactor, mapSizeY*scaleFactor, 0.0D, 1000.0D, 3000.0D);
+ GlStateManager.matrixMode(5888);
+ GlStateManager.loadIdentity();
+ GlStateManager.translate(0.0F, 0.0F, -2000.0F);
+
+ GlStateManager.scale(scaleFactor, scaleFactor, 1);
+ mapFramebuffer1.bindFramebuffer(true);
+
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ GlStateManager.disableBlend();
+ } else {
+ GL11.glEnable(GL11.GL_SCISSOR_TEST);
+ GL11.glScissor((centerX-mapSizeX/2)*2, Minecraft.getMinecraft().displayHeight-(centerY+mapSizeY/2)*2, mapSizeX*2, mapSizeY*2);
+
+ GlStateManager.translate(centerX-mapSizeX/2, centerY-mapSizeY/2, 100);
}
- }
- if(decoration.id == 3 || decoration.id == 1) {
- float closestDistSq = RENDER_ROOM_SIZE*RENDER_ROOM_SIZE;
- EntityPlayer closestPlayer = null;
- for(Map.Entry<EntityPlayer, MapPosition> entry : playerMapPositions.entrySet()) {
- if(Minecraft.getMinecraft().thePlayer.getName().equalsIgnoreCase(entry.getKey().getName()) != (decoration.id == 1)) {
- continue;
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.value > 0.1) {
+ GlStateManager.translate(-centerX+mapSizeX/2, -centerY+mapSizeY/2, 0);
+ renderBlurredBackground(scaledResolution.getScaledWidth(), scaledResolution.getScaledHeight(),
+ centerX-mapSizeX/2, centerY-mapSizeY/2, mapSizeX, mapSizeY);
+ GlStateManager.translate(centerX-mapSizeX/2, centerY-mapSizeY/2, 0);
+ }
+
+ GlStateManager.translate(mapCenterX, mapCenterY, 10);
+
+ if(!useFb || NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.value > 0.1) {
+ GlStateManager.enableBlend();
+ GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ }
+ Utils.drawRectNoBlend(-mapCenterX, -mapCenterY, mapCenterX, mapCenterY, backgroundColour);
+
+ GlStateManager.rotate(-rotation+180, 0, 0, 1);
+
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmCenterPlayer.value && playerPos != null) {
+ float x = playerPos.getRenderX();
+ float y = playerPos.getRenderY();
+ x -= minRoomX*(renderRoomSize+renderConnSize);
+ y -= minRoomY*(renderRoomSize+renderConnSize);
+
+ GlStateManager.translate(-x, -y, 0);
+ } else {
+ GlStateManager.translate(-roomsSizeX/2, -roomsSizeY/2, 0);
+ }
+
+ for(Map.Entry<RoomOffset, Room> entry : roomMap.entrySet()) {
+ RoomOffset roomOffset = entry.getKey();
+ Room room = entry.getValue();
+
+ int x = (roomOffset.x-minRoomX)*(renderRoomSize+renderConnSize);
+ int y = (roomOffset.y-minRoomY)*(renderRoomSize+renderConnSize);
+
+ GlStateManager.pushMatrix();
+ GlStateManager.translate(x, y, 0);
+
+ room.render(renderRoomSize, renderConnSize);
+
+ GlStateManager.translate(-x, -y, 0);
+ GlStateManager.popMatrix();
+ }
+
+ GlStateManager.translate(-mapCenterX+roomsSizeX/2f, -mapCenterY+roomsSizeY/2f, 0);
+
+ GlStateManager.translate(mapCenterX, mapCenterY, 0);
+ GlStateManager.rotate(rotation-180, 0, 0, 1);
+ GlStateManager.translate(-mapCenterX, -mapCenterY, 0);
+
+ GlStateManager.translate(mapCenterX, mapCenterY, 0);
+
+ for(Map.Entry<RoomOffset, Room> entry : roomMap.entrySet()) {
+ RoomOffset roomOffset = entry.getKey();
+ Room room = entry.getValue();
+
+ float x = (roomOffset.x-minRoomX)*(renderRoomSize+renderConnSize)-roomsSizeX/2f+renderRoomSize/2f;
+ float y = (roomOffset.y-minRoomY)*(renderRoomSize+renderConnSize)-roomsSizeY/2f+renderRoomSize/2f;
+ float x2 = (float)(-x*Math.cos(Math.toRadians(-rotation)) + y*Math.sin(Math.toRadians(-rotation)));
+ float y2 = (float)(-x*Math.sin(Math.toRadians(-rotation)) - y*Math.cos(Math.toRadians(-rotation)));
+
+ GlStateManager.pushMatrix();
+ GlStateManager.translate(x2, y2, 0);
+
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ room.renderNoRotate(renderRoomSize, renderConnSize, rotation);
+
+ GlStateManager.translate(-x2, -y2, 0);
+ GlStateManager.popMatrix();
+ }
+
+
+ GlStateManager.translate(-mapCenterX, -mapCenterY, 0);
+
+ GlStateManager.translate(mapCenterX, mapCenterY, 0);
+ GlStateManager.rotate(-rotation+180, 0, 0, 1);
+ GlStateManager.translate(-mapCenterX, -mapCenterY, 0);
+
+ GlStateManager.translate(mapCenterX-roomsSizeX/2f, mapCenterY-roomsSizeY/2f, 0);
+
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ int k = 0;
+
+ for(Map.Entry<String, MapPosition> entry : playerMarkerMapPositions.entrySet()) {
+ String name = entry.getKey();
+ MapPosition pos = entry.getValue();
+ float x = pos.getRenderX();
+ float y = pos.getRenderY();
+ float angle = pos.rotation;
+
+ boolean doInterp = NotEnoughUpdates.INSTANCE.manager.config.dmPlayerInterp.value;
+ if(playerEntityMapPositions.containsKey(name)) {
+ MapPosition entityPos = playerEntityMapPositions.get(name);
+ angle = entityPos.rotation;
+
+ float deltaX = entityPos.getRenderX() - pos.getRenderX();
+ float deltaY = entityPos.getRenderY() - pos.getRenderY();
+
+ /*if(deltaX > (renderRoomSize + renderConnSize)/2) {
+ deltaX -= (renderRoomSize + renderConnSize);
+ } else if(deltaX < -(renderRoomSize + renderConnSize)/2) {
+ deltaX += (renderRoomSize + renderConnSize);
+ }
+ if(deltaY > (renderRoomSize + renderConnSize)/2) {
+ deltaY -= (renderRoomSize + renderConnSize);
+ } else if(deltaY < -(renderRoomSize + renderConnSize)/2) {
+ deltaY += (renderRoomSize + renderConnSize);
+ }*/
+
+ x += deltaX;
+ y += deltaY;
+
+ doInterp = false;
}
- float playerX = entry.getValue().getRenderX();
- float playerY = entry.getValue().getRenderY();
+ float minU = 3/4f;
+ float minV = 0;
+
+ if(name.equals(Minecraft.getMinecraft().thePlayer.getName())) {
+ minU = 1/4f;
+ }
- float distSq = (playerX-x)*(playerX-x) + (playerY-y)*(playerY-y);
+ float maxU = minU + 1/4f;
+ float maxV = minV + 1/4f;
- if(distSq < closestDistSq) {
- closestDistSq = distSq;
- closestPlayer = entry.getKey();
+ if(doInterp && playerMarkerMapPositionsLast.containsKey(name)) {
+ MapPosition last = playerMarkerMapPositionsLast.get(name);
+ float xLast = last.getRenderX();
+ float yLast = last.getRenderY();
+
+ float distSq = (x-xLast) * (x-xLast) + (y-yLast) * (y-yLast);
+ if (distSq < renderRoomSize*renderRoomSize/4f) {
+ float angleLast = last.rotation;
+ if (angle > 180 && angleLast < 180) angleLast += 360;
+ if (angleLast > 180 && angle < 180) angle += 360;
+
+ float interpFactor = Math.round((System.currentTimeMillis() - lastDecorationsMillis) * 100f) / 100f / (lastDecorationsMillis - lastLastDecorationsMillis);
+ interpFactor = Math.max(0, Math.min(1, interpFactor));
+
+ x = xLast + (x - xLast) * interpFactor;
+ y = yLast + (y - yLast) * interpFactor;
+ angle = angleLast + (angle - angleLast) * interpFactor;
+ angle %= 360;
+ }
}
+
+ int pixelWidth = 8;
+ int pixelHeight = 8;
+ GlStateManager.color(1, 1, 1, 1);
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 1 &&
+ playerSkinMap.containsKey(entry.getKey())) {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(playerSkinMap.get(entry.getKey()));
+
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 3) {
+ minU = 9/64f;
+ minV = 9/64f;
+ maxU = 15/64f;
+ maxV = 15/64f;
+ } else {
+ minU = 8/64f;
+ minV = 8/64f;
+ maxU = 16/64f;
+ maxV = 16/64f;
+ }
+
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmPlayerHeads.value >= 2) {
+ pixelWidth = 6;
+ pixelHeight = 6;
+ }
+ } else {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(mapIcons);
+ }
+
+ x -= minRoomX*(renderRoomSize+renderConnSize);
+ y -= minRoomY*(renderRoomSize+renderConnSize);
+
+ GlStateManager.pushMatrix();
+
+ GlStateManager.disableDepth();
+ GlStateManager.enableBlend();
+ GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
+
+ GlStateManager.translate(x, y, -0.02F);
+ GlStateManager.rotate(angle, 0.0F, 0.0F, 1.0F);
+ GlStateManager.translate(-0.5F, 0.5F, 0.0F);
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
+ worldrenderer.pos(-pixelWidth/2f, pixelHeight/2f, 30+((float)k * -0.005F)).tex(minU, minV).endVertex();
+ worldrenderer.pos(pixelWidth/2f, pixelHeight/2f, 30+((float)k * -0.005F)).tex(maxU, minV).endVertex();
+ worldrenderer.pos(pixelWidth/2f, -pixelHeight/2f, 30+((float)k * -0.005F)).tex(maxU, maxV).endVertex();
+ worldrenderer.pos(-pixelWidth/2f, -pixelHeight/2f, 30+((float)k * -0.005F)).tex(minU, maxV).endVertex();
+ tessellator.draw();
+
+ GlStateManager.popMatrix();
+ k--;
}
- if(closestPlayer != null) {
- x = playerMapPositions.get(closestPlayer).getRenderX();
- y = playerMapPositions.get(closestPlayer).getRenderY();
- angle = closestPlayer.rotationYawHead;
+ if(useFb) {
+ GlStateManager.enableBlend();
+ GL14.glBlendFuncSeparate(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA, GL11.GL_ONE, GL11.GL_ONE_MINUS_SRC_ALPHA);
+ } else {
+ GL11.glDisable(GL11.GL_SCISSOR_TEST);
+ }
+ } GlStateManager.popMatrix();
+
+ if(useFb) {
+ Framebuffer renderFromBuffer = mapFramebuffer1;
+ if(useShd) {
+ GlStateManager.pushMatrix(); {
+ try {
+ upload(mapShader, mapSizeX, mapSizeY, scaleFactor, getBorderRadius());
+ mapShader.setProjectionMatrix(projectionMatrix);
+ mapShader.loadShader(0);
+ renderFromBuffer = mapFramebuffer2;
+ } catch(Exception e) {
+ }
+ } GlStateManager.popMatrix();
+ }
+
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(true);
+
+ Utils.pushGuiScale(2);
+
+ GlStateManager.translate(centerX, centerY, 100);
+
+ renderFromBuffer.bindFramebufferTexture();
+ Utils.drawTexturedRect(-mapSizeX/2, -mapSizeY/2, mapSizeX, mapSizeY,
+ 0, 1, 1, 0, GL11.GL_NEAREST);
+ GlStateManager.bindTexture(0);
+
+ GlStateManager.translate(-centerX, -centerY, -100);
+
+ Utils.pushGuiScale(-1);
+ }
+
+ GlStateManager.translate(centerX, centerY, 100);
+
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmChromaBorder.value) {
+ int colour = SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBorderColour.value);
+
+ Gui.drawRect(-mapCenterX-2, -mapCenterY-2, -mapCenterX, -mapCenterY,
+ colour); //topleft
+ Gui.drawRect(-mapCenterX-2, mapCenterY+2, -mapCenterX, mapCenterY,
+ SpecialColour.rotateHue(colour, -180)); //bottomleft
+ Gui.drawRect(mapCenterX, -mapCenterY-2, mapCenterX+2, mapCenterY,
+ SpecialColour.rotateHue(colour, -180)); //topright
+ Gui.drawRect(mapCenterX, mapCenterY, mapCenterX+2, mapCenterY+2,
+ colour); //bottomright
+
+ for(int i=0; i<20; i++) {
+ int start1 = SpecialColour.rotateHue(colour, -9*i);
+ int start2 = SpecialColour.rotateHue(colour, -9*i-9);
+ int end1 = SpecialColour.rotateHue(colour, -180-9*i);
+ int end2 = SpecialColour.rotateHue(colour, -180-9*i-9);
+
+ Utils.drawGradientRect(-mapCenterX-2, -mapCenterY+(int)(mapSizeY*(i/20f)), -mapCenterX,
+ -mapCenterY+(int)(mapSizeY*((i+1)/20f)), start1, start2); //left
+ Utils.drawGradientRect(mapCenterX, -mapCenterY+(int)(mapSizeX*(i/20f)), mapCenterX+2,
+ -mapCenterY+(int)(mapSizeX*((i+1)/20f)),
+ end1, end2); //right
+ Utils.drawGradientRectHorz(-mapCenterX+(int)(mapSizeX*(i/20f)), -mapCenterY-2,
+ -mapCenterX+(int)(mapSizeX*((i+1)/20f)), -mapCenterY, start1, start2); //top
+ Utils.drawGradientRectHorz(-mapCenterX+(int)(mapSizeX*(i/20f)),
+ mapCenterY, -mapCenterX+(int)(mapSizeX*((i+1)/20f)), mapCenterY+2,
+ end1, end2); //bottom
}
+
+ } else {
+ Gui.drawRect(-mapCenterX-2, -mapCenterY, -mapCenterX, mapCenterY,
+ SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBorderColour.value)); //left
+ Gui.drawRect(mapCenterX, -mapCenterY, mapCenterX+2, mapCenterY,
+ SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBorderColour.value)); //right
+ Gui.drawRect(-mapCenterX-2, -mapCenterY-2, mapCenterX+2, -mapCenterY,
+ SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBorderColour.value)); //top
+ Gui.drawRect(-mapCenterX-2, mapCenterY, mapCenterX+2, mapCenterY+2,
+ SpecialColour.specialToChromaRGB(NotEnoughUpdates.INSTANCE.manager.config.dmBorderColour.value)); //bottom
+ }
+
+ String sizeId = borderSizeOption == 0 ? "small" : borderSizeOption == 2 ? "large" : "medium";
+
+ ResourceLocation rl = new ResourceLocation("notenoughupdates:dungeon_map/borders/"+sizeId+"/"+
+ NotEnoughUpdates.INSTANCE.manager.config.dmBorderStyle.value.intValue()+".png");
+ if(Minecraft.getMinecraft().getTextureManager().getTexture(rl) != TextureUtil.missingTexture) {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(rl);
+ GlStateManager.color(1, 1, 1, 1);
+
+ int size = borderSizeOption == 0 ? 165 : borderSizeOption == 2 ? 300 : 220;
+ Utils.drawTexturedRect(-size/2, -size/2, size, size, GL11.GL_NEAREST);
}
- x -= minRoomX*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE);
- y -= minRoomY*(RENDER_ROOM_SIZE+RENDER_CONN_SIZE);
-
- GlStateManager.pushMatrix();
- GlStateManager.translate(x, y, -0.02F);
- GlStateManager.rotate(angle, 0.0F, 0.0F, 1.0F);
- GlStateManager.scale(4.0F, 4.0F, 3.0F);
- GlStateManager.translate(-0.125F, 0.125F, 0.0F);
- worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
- worldrenderer.pos(-1.0D, 1.0D, 10+((float)k * -0.001F)).tex(minU, minV).endVertex();
- worldrenderer.pos(1.0D, 1.0D, 10+((float)k * -0.001F)).tex(minU+1/4f, minV).endVertex();
- worldrenderer.pos(1.0D, -1.0D, 10+((float)k * -0.001F)).tex(minU+1/4f, minV+1/4f).endVertex();
- worldrenderer.pos(-1.0D, -1.0D, 10+((float)k * -0.001F)).tex(minU, minV+1/4f).endVertex();
- tessellator.draw();
- GlStateManager.popMatrix();
- k--;
- }
-
- GlStateManager.rotate(rotation-180, 0, 0, 1);
- GlStateManager.translate(-centerX, -centerY, 0);
- GlStateManager.popMatrix();
+ GlStateManager.translate(-centerX, -centerY, -100);
+ } catch(Exception e) {
+ e.printStackTrace();
+ Minecraft.getMinecraft().entityRenderer.setupOverlayRendering();
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(true);
+ }
+
+ Utils.pushGuiScale(-1);
+
+ GlStateManager.enableBlend();
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+ GlStateManager.enableDepth();
}
@@ -409,6 +828,7 @@ public class DungeonMap {
}
for(int k=0; k<4; k++) {
+ Color colour = null;
int totalFilled = 0;
for(int i=0; i<roomSize; i++) {
@@ -431,8 +851,22 @@ public class DungeonMap {
}
if(x > 0 && y > 0 && x < colourMap.length && y < colourMap[x].length) {
- if(colourMap[x][y].equals(room.colour)) {
- totalFilled++;
+ Color pixel = colourMap[x][y];
+ if(pixel.getAlpha() > 40) {
+ if(colour == null) {
+ colour = pixel;
+ totalFilled = 1;
+ } else {
+ if(colour.equals(pixel)) {
+ totalFilled++;
+ } else {
+ totalFilled--;
+ if(totalFilled <= 0) {
+ colour = pixel;
+ totalFilled = 1;
+ }
+ }
+ }
}
}
}
@@ -446,24 +880,24 @@ public class DungeonMap {
type = RoomConnectionType.CORRIDOR;
}
if(k == 0) {
- room.up = new RoomConnection(type, room.colour);
+ room.up = new RoomConnection(type, colour);
} else if(k == 1) {
- room.right = new RoomConnection(type, room.colour);
+ room.right = new RoomConnection(type, colour);
} else if(k == 2) {
- room.down = new RoomConnection(type, room.colour);
+ room.down = new RoomConnection(type, colour);
} else {
- room.left = new RoomConnection(type, room.colour);
+ room.left = new RoomConnection(type, colour);
}
}
+ int x = startRoomX + roomOffset.x*(roomSize+connectorSize) + roomSize + connectorSize/2;
+ int y = startRoomY + roomOffset.y*(roomSize+connectorSize) + roomSize + connectorSize/2;
+
room.fillCorner = false;
- if(room.left.type == RoomConnectionType.ROOM_DIVIDER && room.up.type == RoomConnectionType.ROOM_DIVIDER) {
- RoomOffset upleft = new RoomOffset(roomOffset.x-1, roomOffset.y-1);
- if(roomMap.containsKey(upleft)) {
- Room upleftRoom = roomMap.get(upleft);
- if(upleftRoom.right.type == RoomConnectionType.ROOM_DIVIDER && upleftRoom.down.type == RoomConnectionType.ROOM_DIVIDER) {
- room.fillCorner = true;
- }
+ if(x > 0 && y > 0 && x < colourMap.length && y < colourMap[x].length) {
+ Color pixel = colourMap[x][y];
+ if(pixel.equals(room.colour)) {
+ room.fillCorner = true;
}
}
}
@@ -478,7 +912,7 @@ public class DungeonMap {
int x = startRoomX + neighbor.x*(roomSize+connectorSize);
int y = startRoomY + neighbor.y*(roomSize+connectorSize);
- if(x > 0 && y > 0 && x+roomSize < colourMap.length && y+roomSize < colourMap[x].length) {
+ if(x >= 0 && y >= 0 && x+roomSize < colourMap.length && y+roomSize < colourMap[x].length) {
if(colourMap[x][y].getAlpha() > 100) {
roomMap.put(neighbor, new Room());
loadNeighbors(neighbor);
@@ -499,33 +933,6 @@ public class DungeonMap {
}
}
- class MapDecoration {
- MapPosition position;
- int id;
- float angle;
-
- public MapDecoration(MapPosition position, int id, float angle) {
- this.position = position;
- this.id = id;
- this.angle = angle;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- MapDecoration that = (MapDecoration) o;
- return id == that.id &&
- Float.compare(that.angle, angle) == 0 &&
- Objects.equals(position, that.position);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(position, id, angle);
- }
- }
-
private class MapPosition {
public float roomOffsetX;
public float connOffsetX;
@@ -533,6 +940,8 @@ public class DungeonMap {
public float roomOffsetY;
public float connOffsetY;
+ public float rotation;
+
public MapPosition(float roomOffsetX, float connOffsetX, float roomOffsetY, float connOffsetY) {
this.roomOffsetX = roomOffsetX;
this.connOffsetX = connOffsetX;
@@ -541,11 +950,11 @@ public class DungeonMap {
}
public float getRenderX() {
- return roomOffsetX*RENDER_ROOM_SIZE + connOffsetX*RENDER_CONN_SIZE;
+ return roomOffsetX*getRenderRoomSize() + connOffsetX*getRenderConnSize();
}
public float getRenderY() {
- return roomOffsetY*RENDER_ROOM_SIZE + connOffsetY*RENDER_CONN_SIZE;
+ return roomOffsetY*getRenderRoomSize() + connOffsetY*getRenderConnSize();
}
@Override
@@ -556,28 +965,374 @@ public class DungeonMap {
return Float.compare(that.roomOffsetX, roomOffsetX) == 0 &&
Float.compare(that.connOffsetX, connOffsetX) == 0 &&
Float.compare(that.roomOffsetY, roomOffsetY) == 0 &&
- Float.compare(that.connOffsetY, connOffsetY) == 0;
+ Float.compare(that.connOffsetY, connOffsetY) == 0 &&
+ Float.compare(that.rotation, rotation) == 0;
}
@Override
public int hashCode() {
- return Objects.hash(roomOffsetX, connOffsetX, roomOffsetY, connOffsetY);
+ return Objects.hash(roomOffsetX, connOffsetX, roomOffsetY, connOffsetY, rotation);
+ }
+ }
+
+ private long lastClearCache = 0;
+ public void renderMap(int centerX, int centerY, Color[][] colourMap, Map<String, Vec4b> mapDecorations,
+ int roomSizeBlocks, Set<String> actualPlayers, boolean usePlayerPositions) {
+ if(!NotEnoughUpdates.INSTANCE.manager.config.dmEnable.value) return;
+ if(colourMap == null) return;
+ if(colourMap.length != 128) return;
+ if(colourMap[0].length != 128) return;
+ this.colourMap = colourMap;
+
+ if(System.currentTimeMillis() - lastClearCache > 1000) {
+ roomMap.clear();
+ startRoomX = -1;
+ startRoomY = -1;
+ connectorSize = -1;
+ roomSize = -1;
+ borderRadiusCache.clear();
+
+ lastClearCache = System.currentTimeMillis();
+ }
+
+ if(startRoomX < 0 || startRoomY < 0 || roomSize <= 0) {
+ for(int x=0; x<colourMap.length; x++) {
+ for(int y=0; y<colourMap[x].length; y++) {
+ Color c = colourMap[x][y];
+ if(c.getAlpha() > 80) {
+ if(startRoomX < 0 && startRoomY < 0 && c.getRed() == 0 && c.getGreen() == 124 && c.getBlue() == 0) {
+ roomSize = 0;
+ out:
+ for(int xd=0; xd<=20; xd++) {
+ for(int yd=0; yd<=20; yd++) {
+ if(x+xd >= colourMap.length || y+yd >= colourMap[x+xd].length) continue;
+ Color c2 = colourMap[x+xd][y+yd];
+
+ if(c2.getGreen() != 124 || c2.getAlpha() <= 80) {
+ if(xd < 10 && yd < 10) {
+ break out;
+ }
+ } else {
+ roomSize = Math.max(roomSize, Math.min(xd+1, yd+1));
+ }
+ if(xd == 20 && yd == 20) {
+ if(roomSize == 0) roomSize = 20;
+ startRoomX = x;
+ startRoomY = y;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if(connectorSize <= 0) {
+ for(int i=0; i<roomSize; i++) {
+ for(int k=0; k<4; k++) {
+ for(int j=1; j<8; j++) {
+ int x;
+ int y;
+
+ if(k == 0) {
+ x = startRoomX+i;
+ y = startRoomY-j;
+ } else if(k == 1) {
+ x = startRoomX+roomSize+j-1;
+ y = startRoomY+i;
+ } else if(k == 2) {
+ x = startRoomX+i;
+ y = startRoomY+roomSize+j-1;
+ } else {
+ x = startRoomX-j;
+ y = startRoomY+i;
+ }
+
+ if(x > 0 && y > 0 && x < colourMap.length && y < colourMap[x].length) {
+ if(colourMap[x][y].getAlpha() > 80) {
+ if(j == 1) {
+ break;
+ }
+ connectorSize = Math.min(connectorSize, j-1);
+ }
+ }
+ }
+ }
+ }
+
+ if(connectorSize <= 0) {
+ connectorSize = 4;
+ }
+ }
+
+ for(EntityPlayer player : Minecraft.getMinecraft().theWorld.playerEntities) {
+ if(player instanceof AbstractClientPlayer && actualPlayers.contains(player.getName())) {
+ AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
+ ResourceLocation skin = aplayer.getLocationSkin();
+ if(skin != DefaultPlayerSkin.getDefaultSkin(aplayer.getUniqueID())) {
+ playerSkinMap.put(player.getName(), skin);
+ }
+ }
+ }
+
+ playerEntityMapPositions.clear();
+ if(usePlayerPositions) {
+ for(EntityPlayer player : Minecraft.getMinecraft().theWorld.playerEntities) {
+ if(actualPlayers.contains(player.getName())) {
+ float roomX = (float)player.posX / (roomSizeBlocks+1);
+ float roomY = (float)player.posZ / (roomSizeBlocks+1);
+
+ float playerRoomOffsetX = (float) Math.floor(roomX);
+ float playerConnOffsetX = (float) Math.floor(roomX);
+ float playerRoomOffsetY = (float) Math.floor(roomY);
+ float playerConnOffsetY = (float) Math.floor(roomY);
+
+ float roomXInBlocks = (float)player.posX % (roomSizeBlocks+1);
+ if(roomXInBlocks < 2) { //0,1
+ playerConnOffsetX -= 2/5f-roomXInBlocks/5f;
+ } else if(roomXInBlocks > roomSizeBlocks-2) { //31,30,29
+ playerRoomOffsetX++;
+ playerConnOffsetX += (roomXInBlocks - (roomSizeBlocks-2))/5f;
+ } else {
+ playerRoomOffsetX += (roomXInBlocks-2) / (roomSizeBlocks-4);
+ }
+
+ float roomYInBlocks = (float)player.posZ % (roomSizeBlocks+1);
+ if(roomYInBlocks < 2) { //0,1
+ playerConnOffsetY -= 2/5f-roomYInBlocks/5f;
+ } else if(roomYInBlocks > roomSizeBlocks-2) { //31,30,29
+ playerRoomOffsetY++;
+ playerConnOffsetY += (roomYInBlocks - (roomSizeBlocks-2))/5f;
+ } else {
+ playerRoomOffsetY += (roomYInBlocks-2) / (roomSizeBlocks-4);
+ }
+
+ playerRoomOffsetX -= startRoomX/(roomSize+connectorSize);
+ playerRoomOffsetY -= startRoomY/(roomSize+connectorSize);
+ playerConnOffsetX -= startRoomX/(roomSize+connectorSize);
+ playerConnOffsetY -= startRoomY/(roomSize+connectorSize);
+
+ MapPosition pos = new MapPosition(playerRoomOffsetX, playerConnOffsetX, playerRoomOffsetY, playerConnOffsetY);
+ pos.rotation = player.rotationYawHead % 360;
+ if(pos.rotation < 0) pos.rotation += 360;
+ playerEntityMapPositions.put(player.getName(), pos);
+ }
+ }
+ }
+
+ loadNeighbors(new RoomOffset(0, 0));
+ updateRoomColours();
+ for(RoomOffset offset : roomMap.keySet()) {
+ updateRoomConnections(offset);
+ }
+
+ if(mapDecorations != null && mapDecorations.size() > 0) {
+ List<MapPosition> positions = new ArrayList<>();
+ for (Vec4b vec4b : mapDecorations.values()) {
+ float x = (float) vec4b.func_176112_b() / 2.0F + 64.0F;
+ float y = (float) vec4b.func_176113_c() / 2.0F + 64.0F;
+
+ x = Math.max(0, Math.min(160, x));
+ y = Math.max(0, Math.min(160, y));
+
+ float deltaX = x - startRoomX;
+ float deltaY = y - startRoomY;
+
+ float roomsOffsetX = (int) Math.floor(deltaX / (roomSize + connectorSize));
+ float connOffsetX = (int) Math.floor(deltaX / (roomSize + connectorSize));
+ float xRemainder = deltaX % (roomSize + connectorSize);
+ if (Math.abs(xRemainder) > roomSize) {
+ roomsOffsetX += Math.copySign(1, xRemainder);
+ connOffsetX += Math.copySign(1, xRemainder) * (Math.abs(xRemainder) - roomSize) / connectorSize;
+ } else {
+ roomsOffsetX += xRemainder / roomSize;
+ }
+ if (deltaX < 0 && xRemainder != 0) {
+ roomsOffsetX++;
+ connOffsetX++;
+ }
+ float roomsOffsetY = (int) Math.floor(deltaY / (roomSize + connectorSize));
+ float connOffsetY = (int) Math.floor(deltaY / (roomSize + connectorSize));
+ float yRemainder = deltaY % (roomSize + connectorSize);
+ if (Math.abs(yRemainder) > roomSize) {
+ roomsOffsetY += Math.copySign(1, yRemainder);
+ connOffsetY += Math.copySign(1, yRemainder) * (Math.abs(yRemainder) - roomSize) / connectorSize;
+ } else {
+ roomsOffsetY += yRemainder / roomSize;
+ }
+ if (deltaY < 0 && yRemainder != 0) {
+ roomsOffsetY++;
+ connOffsetY++;
+ }
+
+ float angle = (float) (vec4b.func_176111_d() * 360) / 16.0F;
+
+ MapPosition pos = new MapPosition(roomsOffsetX, connOffsetX, roomsOffsetY, connOffsetY);
+ pos.rotation = angle % 360;
+ if(pos.rotation < 0) pos.rotation += 360;
+ positions.add(pos);
+ }
+
+ //System.out.println(playerMarkerMapPositions.size() + ":" + positions.size());
+ boolean different = playerMarkerMapPositions.size() != positions.size();
+
+ if (!different) {
+ for (MapPosition pos : playerMarkerMapPositions.values()) {
+ if (!positions.contains(pos)) {
+ different = true;
+ break;
+ }
+ }
+ }
+
+ if(different && positions.size() > 0) {
+ lastLastDecorationsMillis = lastDecorationsMillis;
+ lastDecorationsMillis = System.currentTimeMillis();
+
+ playerMarkerMapPositionsLast.clear();
+ for (Map.Entry<String, MapPosition> entry : playerMarkerMapPositions.entrySet()) {
+ playerMarkerMapPositionsLast.put(entry.getKey(), entry.getValue());
+ }
+ playerMarkerMapPositions.clear();
+
+ Set<String> foundPlayers = new HashSet<>();
+ for (Map.Entry<String, MapPosition> entry : playerEntityMapPositions.entrySet()) {
+ playerMarkerMapPositions.put(entry.getKey(), entry.getValue());
+ playerMarkerMapPositionsLast.put(entry.getKey(), entry.getValue());
+ foundPlayers.add(entry.getKey());
+ }
+
+ HashMap<String, HashMap<Integer, Float>> distanceMap = new HashMap<>();
+ for (Map.Entry<String, MapPosition> entry : playerMarkerMapPositionsLast.entrySet()) {
+ HashMap<Integer, Float> deltaDists = new HashMap<>();
+ for (int i = 0; i < positions.size(); i++) {
+ float dx = entry.getValue().getRenderX() - positions.get(i).getRenderX();
+ float dy = entry.getValue().getRenderY() - positions.get(i).getRenderY();
+ deltaDists.put(i, dx * dx + dy * dy);
+ }
+ distanceMap.put(entry.getKey(), deltaDists);
+ }
+
+ List<String> playerList = new ArrayList<>(playerMarkerMapPositionsLast.keySet());
+ List<List<String>> playerPermutations = permutations(playerList);
+
+ //if(playerPermutations.size() > 0 || playerMarkerMapPositionsLast.size() > 0)
+ // System.out.println("Perm Size: " + playerPermutations.size() + " from " + playerMarkerMapPositionsLast.size());
+
+ List<Integer> finalUsedIndexes = new ArrayList<>();
+ if (playerPermutations.size() > 0) {
+ HashMap<String, Integer> smallestPermutation = null;
+ float smallestTotalDistance = 0;
+
+ for (List<String> permutation : playerPermutations) {
+ HashMap<String, Integer> usedIndexes = new HashMap<>();
+
+ float totalDistance = 0;
+ for (String player : permutation) {
+ int smallestIndex = -1;
+ float smallestDist = 0;
+ for (Map.Entry<Integer, Float> entry : distanceMap.get(player).entrySet()) {
+ if (!usedIndexes.containsValue(entry.getKey())) {
+ if (smallestIndex == -1 || entry.getValue() < smallestDist) {
+ smallestIndex = entry.getKey();
+ smallestDist = entry.getValue();
+ }
+ }
+ }
+ if (smallestIndex != -1) {
+ usedIndexes.put(player, smallestIndex);
+ totalDistance += smallestDist;
+ }
+ }
+
+ if (smallestPermutation == null || totalDistance < smallestTotalDistance) {
+ smallestPermutation = usedIndexes;
+ smallestTotalDistance = totalDistance;
+ }
+ }
+
+ //System.out.println("--- PERM START ---");
+ for (Map.Entry<String, Integer> entry : smallestPermutation.entrySet()) {
+ //System.out.println(entry.getKey() + ":" + entry.getValue() + " : Total dist: " + smallestTotalDistance);
+ finalUsedIndexes.add(entry.getValue());
+ playerMarkerMapPositions.put(entry.getKey(), positions.get(entry.getValue()));
+ }
+ }
+
+ List<Integer> nonUsedIndexes = new ArrayList<>();
+ for(int i=0; i<positions.size(); i++) {
+ if(!finalUsedIndexes.contains(i)) {
+ nonUsedIndexes.add(i);
+ }
+ }
+
+ for(String missingPlayer : actualPlayers) {
+ if(!playerList.contains(missingPlayer)) {
+ if(nonUsedIndexes.isEmpty()) break;
+ playerMarkerMapPositions.put(missingPlayer, positions.get(nonUsedIndexes.get(0)));
+ nonUsedIndexes.remove(0);
+ }
+ }
+ }
+ } else if(mapDecorations == null) {
+ playerMarkerMapPositions.clear();
+ playerMarkerMapPositionsLast.clear();
+
+ for (Map.Entry<String, MapPosition> entry : playerEntityMapPositions.entrySet()) {
+ playerMarkerMapPositions.put(entry.getKey(), entry.getValue());
+ }
+ }
+
+ if(!roomMap.isEmpty() && startRoomX >= 0 && startRoomY >= 0) {
+ render(centerX, centerY);
+ }
+
+ this.colourMap = colourMap;
+ }
+
+ @SubscribeEvent(priority=EventPriority.HIGH)
+ public void onRenderOverlayPre(RenderGameOverlayEvent.Pre event) {
+ if(event.type == RenderGameOverlayEvent.ElementType.ALL) {
+ if(NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.value > 0.1) {
+ blurBackground();
+ }
+ GlStateManager.enableBlend();
+ GlStateManager.enableTexture2D();
}
}
@SubscribeEvent
public void onRenderOverlay(RenderGameOverlayEvent event) {
if(event.type == RenderGameOverlayEvent.ElementType.ALL) {
+ if(SBInfo.getInstance().getLocation() == null || !SBInfo.getInstance().getLocation().equals("dungeon")) {
+ return;
+ }
+
ItemStack stack = Minecraft.getMinecraft().thePlayer.inventory.mainInventory[8];
- if(NotEnoughUpdates.INSTANCE.colourMap != null || (stack != null && stack.getItem() instanceof ItemMap)) {
- if(NotEnoughUpdates.INSTANCE.colourMap != null) {
- colourMap = NotEnoughUpdates.INSTANCE.colourMap;
+ boolean holdingBow = stack != null && stack.getItem() == Items.arrow;
+ if(holdingBow || (stack != null && stack.getItem() instanceof ItemMap)) {
+ Map<String, Vec4b> decorations = null;
+
+ Color[][] colourMap = new Color[128][128];
+ if(holdingBow) {
+ for(int x=0; x<128; x++) {
+ for(int y=0; y<128; y++) {
+ if(this.colourMap != null && this.colourMap[x][y] != null) {
+ colourMap[x][y] = this.colourMap[x][y];
+ } else {
+ colourMap[x][y] = new Color(0, true);
+ }
+ }
+ }
} else {
ItemMap map = (ItemMap) stack.getItem();
MapData mapData = map.getMapData(stack, Minecraft.getMinecraft().theWorld);
if(mapData == null) return;
+ decorations = mapData.mapDecorations;
+
for (int i = 0; i < 16384; ++i) {
int x = i % 128;
int y = i / 128;
@@ -593,80 +1348,10 @@ public class DungeonMap {
colourMap[x][y] = c;
}
-
- //mapData.
}
- roomMap.clear();
- startRoomX = -1;
- startRoomY = -1;
- connectorSize = 5;
- roomSize = 0;
-
- for(int x=0; x<colourMap.length; x++) {
- for(int y=0; y<colourMap[x].length; y++) {
- Color c = colourMap[x][y];
- if(c.getAlpha() > 80) {
- if(startRoomX < 0 && startRoomY < 0 && c.getRed() == 0 && c.getGreen() == 124 && c.getBlue() == 0) {
- roomSize = 0;
- out:
- for(int xd=0; xd<=20; xd++) {
- for(int yd=0; yd<=20; yd++) {
- if(x+xd >= colourMap.length || y+yd >= colourMap[x+xd].length) continue;
- Color c2 = colourMap[x+xd][y+yd];
-
- if(c2.getGreen() != 124 || c2.getAlpha() <= 80) {
- if(xd < 10 && yd < 10) {
- break out;
- }
- } else {
- roomSize = Math.max(roomSize, Math.min(xd+1, yd+1));
- }
- if(xd == 20 && yd == 20) {
- if(roomSize == 0) roomSize = 20;
- startRoomX = x;
- startRoomY = y;
- }
- }
- }
- }
- }
- }
- }
-
- for(int i=0; i<roomSize; i++) {
- for(int k=0; k<4; k++) {
- for(int j=1; j<8; j++) {
- int x;
- int y;
-
- if(k == 0) {
- x = startRoomX+i;
- y = startRoomY-j;
- } else if(k == 1) {
- x = startRoomX+roomSize+j-1;
- y = startRoomY+i;
- } else if(k == 2) {
- x = startRoomX+i;
- y = startRoomY+roomSize+j-1;
- } else {
- x = startRoomX-j;
- y = startRoomY+i;
- }
-
- if(x > 0 && y > 0 && x < colourMap.length && y < colourMap[x].length) {
- if(colourMap[x][y].getAlpha() > 80) {
- if(j == 1) {
- break;
- }
- connectorSize = Math.min(connectorSize, j-1);
- }
- }
- }
- }
- }
-
- List<Integer> dists = new ArrayList<>();
+ int roomSizeBlocks = 31;
+ /*List<Integer> dists = new ArrayList<>();
int currentBlockCount = 0;
for(int i=0; i<300; i++) {
IBlockState state = Minecraft.getMinecraft().theWorld.getBlockState(new BlockPos(0, 99, i));
@@ -677,7 +1362,6 @@ public class DungeonMap {
currentBlockCount++;
}
}
- //roomSizeBlocks = 7;
currentBlockCount = 0;
for(int i=0; i<300; i++) {
IBlockState state = Minecraft.getMinecraft().theWorld.getBlockState(new BlockPos(i, 99, 0));
@@ -700,163 +1384,151 @@ public class DungeonMap {
}
}
}
- if(mostCommonDist != -1) roomSizeBlocks = Math.max(31, mostCommonDist);
- if(Keyboard.isKeyDown(Keyboard.KEY_N)) System.out.println(roomSizeBlocks + ":" + dists.size());
+ if(mostCommonDist > 31) roomSizeBlocks = mostCommonDist;*/
Set<String> actualPlayers = new HashSet<>();
for(ScorePlayerTeam team : Minecraft.getMinecraft().thePlayer.getWorldScoreboard().getTeams()) {
if(team.getTeamName().startsWith("a")) {
- for(String player : team.getMembershipCollection()) {
- actualPlayers.add(player.toLowerCase());
- }
+ actualPlayers.addAll(team.getMembershipCollection());
}
}
- playerMapPositions.clear();
- for(EntityPlayer player : Minecraft.getMinecraft().theWorld.playerEntities) {
- if(actualPlayers.isEmpty() || actualPlayers.contains(player.getName().toLowerCase())) {
- float roomX = (float)player.posX / (roomSizeBlocks+1);
- float roomY = (float)player.posZ / (roomSizeBlocks+1);
-
- float playerRoomOffsetX = (float) Math.floor(roomX);
- float playerConnOffsetX = (float) Math.floor(roomX);
- float playerRoomOffsetY = (float) Math.floor(roomY);
- float playerConnOffsetY = (float) Math.floor(roomY);
-
- float roomXInBlocks = (float)player.posX % (roomSizeBlocks+1);
- if(roomXInBlocks < 2) { //0,1
- playerConnOffsetX -= roomXInBlocks/5f;
- } else if(roomXInBlocks > roomSizeBlocks-3) { //31,30,29
- playerRoomOffsetX++;
- playerConnOffsetX += (roomXInBlocks - (roomSizeBlocks-3))/5f;
- } else {
- playerRoomOffsetX += (roomXInBlocks-2) / (roomSizeBlocks-5);
- }
-
- float roomYInBlocks = (float)player.posZ % (roomSizeBlocks+1);
- if(roomYInBlocks < 2) { //0,1
- playerConnOffsetY -= roomYInBlocks/5f;
- } else if(roomYInBlocks > roomSizeBlocks-3) { //31,30,29
- playerRoomOffsetY++;
- playerConnOffsetY += (roomYInBlocks - (roomSizeBlocks-3))/5f;
- } else {
- playerRoomOffsetY += (roomYInBlocks-2) / (roomSizeBlocks-5);
- }
+ renderMap((int)(NotEnoughUpdates.INSTANCE.manager.config.dmCenterX.value/100*Minecraft.getMinecraft().displayWidth/2),
+ (int)(NotEnoughUpdates.INSTANCE.manager.config.dmCenterY.value/100*Minecraft.getMinecraft().displayHeight/2),
+ colourMap, decorations, roomSizeBlocks, actualPlayers, true);
+ }
+ }
+ }
- playerRoomOffsetX -= startRoomX/(roomSize+connectorSize);
- playerRoomOffsetY -= startRoomY/(roomSize+connectorSize);
- playerConnOffsetX -= startRoomX/(roomSize+connectorSize);
- playerConnOffsetY -= startRoomY/(roomSize+connectorSize);
+ public List<List<String>> permutations(List<String> values) {
+ List<List<String>> permutations = new ArrayList<>();
- playerMapPositions.put(player, new MapPosition(playerRoomOffsetX, playerConnOffsetX, playerRoomOffsetY, playerConnOffsetY));
- }
- }
+ if(values.size() == 1) {
+ permutations.add(values);
+ return permutations;
+ }
- loadNeighbors(new RoomOffset(0, 0));
- updateRoomColours();
- for(RoomOffset offset : roomMap.keySet()) {
- updateRoomConnections(offset);
+ for(String first : values) {
+ List<String> newList = new ArrayList<>();
+ for(String val : values) {
+ if(!val.equals(first)) {
+ newList.add(val);
}
+ }
- if(NotEnoughUpdates.INSTANCE.colourMap == null) {
- ItemMap map = (ItemMap) stack.getItem();
- MapData mapData = map.getMapData(stack, Minecraft.getMinecraft().theWorld);
-
- if(mapData.mapDecorations.size() > 0) {
- boolean different = mapData.mapDecorations.size() != decorations.size();
-
- List<MapDecoration> decorationsNew = new ArrayList<>();
-
- for (Vec4b vec4b : mapData.mapDecorations.values()) {
- byte b0 = vec4b.func_176110_a();
-
- float x = (float)vec4b.func_176112_b() / 2.0F + 64.0F;
- float y = (float)vec4b.func_176113_c() / 2.0F + 64.0F;
-
- float deltaX = x - startRoomX;
- float deltaY = y - startRoomY;
-
- float roomsOffsetX = (int)Math.floor(deltaX / (roomSize+connectorSize));
- float connOffsetX = (int)Math.floor(deltaX / (roomSize+connectorSize));
- float xRemainder = deltaX % (roomSize+connectorSize);
- if(Math.abs(xRemainder) > roomSize) {
- roomsOffsetX++;
- connOffsetX += (xRemainder-roomSize)/connectorSize;
- } else {
- roomsOffsetX += xRemainder/roomSize;
- }
- if(deltaX < 0) {
- roomsOffsetX++;
- connOffsetX++;
- }
- float roomsOffsetY = (int)Math.floor(deltaY / (roomSize+connectorSize));
- float connOffsetY = (int)Math.floor(deltaY / (roomSize+connectorSize));
- float yRemainder = deltaY % (roomSize+connectorSize);
- if(Math.abs(yRemainder) > roomSize) {
- roomsOffsetY++;
- connOffsetY += Math.abs(yRemainder-roomSize)/connectorSize;
- } else {
- roomsOffsetY += yRemainder/roomSize;
- }
- if(deltaY < 0) {
- roomsOffsetY++;
- connOffsetY++;
- }
-
- float angle = (float)(vec4b.func_176111_d() * 360) / 16.0F;
-
- MapDecoration decoration = new MapDecoration(new MapPosition(roomsOffsetX, connOffsetX, roomsOffsetY, connOffsetY), (int)b0, angle);
- if(!different && !decorations.contains(decoration)) {
- different = true;
- }
- decorationsNew.add(decoration);
- }
+ for(List<String> list2 : permutations(newList)) {
+ List<String> perm = new ArrayList<>();
+ perm.add(first);
+ perm.addAll(list2);
+ permutations.add(perm);
+ }
+ }
- if(different) {
- lastDecorations.clear();
+ return permutations;
+ }
- for(int i=0; i<decorations.size() && i<decorationsNew.size(); i++) {
- MapDecoration match = decorationsNew.get(i);
+ Shader blurShaderHorz = null;
+ Framebuffer blurOutputHorz = null;
+ Shader blurShaderVert = null;
+ Framebuffer blurOutputVert = null;
+
+ /**
+ * Creates a projection matrix that projects from our coordinate space [0->width; 0->height] to OpenGL coordinate
+ * space [-1 -> 1; 1 -> -1] (Note: flipped y-axis).
+ *
+ * This is so that we can render to and from the framebuffer in a way that is familiar to us, instead of needing to
+ * apply scales and translations manually.
+ */
+ private Matrix4f createProjectionMatrix(int width, int height) {
+ Matrix4f projMatrix = new Matrix4f();
+ projMatrix.setIdentity();
+ projMatrix.m00 = 2.0F / (float)width;
+ projMatrix.m11 = 2.0F / (float)(-height);
+ projMatrix.m22 = -0.0020001999F;
+ projMatrix.m33 = 1.0F;
+ projMatrix.m03 = -1.0F;
+ projMatrix.m13 = 1.0F;
+ projMatrix.m23 = -1.0001999F;
+ return projMatrix;
+ }
- float lowestDistSq = 999;
- MapDecoration closest = null;
+ private double lastBgBlurFactor = -1;
+ private void blurBackground() {
+ if(!OpenGlHelper.isFramebufferEnabled()) return;
- for(int j=0; j<decorations.size(); j++) {
- MapDecoration old = decorations.get(j);
+ int width = Minecraft.getMinecraft().displayWidth;
+ int height = Minecraft.getMinecraft().displayHeight;
- if(old.id != match.id) continue;
+ if(blurOutputHorz == null) {
+ blurOutputHorz = new Framebuffer(width, height, false);
+ blurOutputHorz.setFramebufferFilter(GL11.GL_NEAREST);
+ }
+ if(blurOutputVert == null) {
+ blurOutputVert = new Framebuffer(width, height, false);
+ blurOutputVert.setFramebufferFilter(GL11.GL_NEAREST);
+ }
+ if(blurOutputHorz.framebufferWidth != width || blurOutputHorz.framebufferHeight != height) {
+ blurOutputHorz.createBindFramebuffer(width, height);
+ blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
+ if(blurOutputVert.framebufferWidth != width || blurOutputVert.framebufferHeight != height) {
+ blurOutputVert.createBindFramebuffer(width, height);
+ blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
- float xOff = (old.position.roomOffsetX*RENDER_ROOM_SIZE+old.position.connOffsetX*RENDER_CONN_SIZE) -
- (match.position.roomOffsetX*RENDER_ROOM_SIZE+match.position.connOffsetX*RENDER_CONN_SIZE);
- float yOff = (old.position.roomOffsetY*RENDER_ROOM_SIZE+old.position.connOffsetY*RENDER_CONN_SIZE) -
- (match.position.roomOffsetY*RENDER_ROOM_SIZE+match.position.connOffsetY*RENDER_CONN_SIZE);
- float distSq = xOff*xOff + yOff*yOff;
- if(distSq < lowestDistSq) {
- lowestDistSq = distSq;
- closest = old;
- }
- }
+ if(blurShaderHorz == null) {
+ try {
+ blurShaderHorz = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
+ Minecraft.getMinecraft().getFramebuffer(), blurOutputHorz);
+ blurShaderHorz.getShaderManager().getShaderUniform("BlurDir").set(1, 0);
+ blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
+ } catch(Exception e) { }
+ }
+ if(blurShaderVert == null) {
+ try {
+ blurShaderVert = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
+ blurOutputHorz, blurOutputVert);
+ blurShaderVert.getShaderManager().getShaderUniform("BlurDir").set(0, 1);
+ blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
+ } catch(Exception e) { }
+ }
+ if(blurShaderHorz != null && blurShaderVert != null) {
+ float blur = NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.value.floatValue();
+ if(blur != lastBgBlurFactor) {
+ blurShaderHorz.getShaderManager().getShaderUniform("Radius").set((float)blur);
+ blurShaderVert.getShaderManager().getShaderUniform("Radius").set((float)blur);
+ lastBgBlurFactor = blur;
+ }
+ GL11.glPushMatrix();
+ blurShaderHorz.loadShader(0);
+ blurShaderVert.loadShader(0);
+ GlStateManager.enableDepth();
+ GL11.glPopMatrix();
- if(closest != null) {
- lastDecorations.add(closest);
- }
- }
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
+ }
- decorations.clear();
- decorations.addAll(decorationsNew);
+ /**
+ * Renders a subsection of the blurred framebuffer on to the corresponding section of the screen.
+ * Essentially, this method will "blur" the background inside the bounds specified by [x->x+blurWidth, y->y+blurHeight]
+ */
+ public void renderBlurredBackground(int width, int height, int x, int y, int blurWidth, int blurHeight) {
+ if(!OpenGlHelper.isFramebufferEnabled()) return;
- lastLastDecorationsMillis = lastDecorationsMillis;
- lastDecorationsMillis = System.currentTimeMillis();
- }
- }
+ if(blurOutputVert == null) return;
- }
+ float uMin = x/(float)width;
+ float uMax = (x+blurWidth)/(float)width;
+ float vMin = (height-y)/(float)height;
+ float vMax = (height-y-blurHeight)/(float)height;
- if(!roomMap.isEmpty()) {
- render();
- }
- }
- }
+ blurOutputVert.bindFramebufferTexture();
+ GlStateManager.color(1f, 1f, 1f, 1f);
+ Utils.drawTexturedRectNoBlend(x, y, blurWidth, blurHeight, uMin, uMax, vMin, vMax, GL11.GL_LINEAR);
+ blurOutputVert.unbindFramebufferTexture();
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java b/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java
new file mode 100644
index 00000000..a08b27bc
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/GuiButtonItem.java
@@ -0,0 +1,93 @@
+package io.github.moulberry.notenoughupdates;
+
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.GuiButton;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.RenderHelper;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagList;
+import net.minecraft.nbt.NBTTagString;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
+
+public class GuiButtonItem extends GuiButton
+{
+ private static final ResourceLocation TEXTURE = new ResourceLocation("dummy:textures/gui/blank.png");
+ private ItemStack itemStack;
+ private String customName;
+
+ public GuiButtonItem(int buttonID, int xPos, int yPos, ItemStack itemStack)
+ {
+ this(buttonID, xPos, yPos, xPos, itemStack, itemStack.getDisplayName());
+ }
+
+ public GuiButtonItem(int buttonID, int xPos, int yPos, int potionX, ItemStack itemStack)
+ {
+ this(buttonID, xPos, yPos, potionX, itemStack, itemStack.getDisplayName());
+ }
+
+ public GuiButtonItem(int buttonID, int xPos, int yPos, ItemStack itemStack, String customName)
+ {
+ this(buttonID, xPos, yPos, xPos, itemStack, customName);
+ }
+
+ public GuiButtonItem(int buttonID, int xPos, int yPos, int potionX, ItemStack itemStack, String customName)
+ {
+ super(buttonID, xPos, yPos, 18, 18, "");
+ this.itemStack = itemStack;
+ this.customName = customName;
+ }
+
+ @Override
+ public void drawButton(Minecraft mc, int mouseX, int mouseY)
+ {
+ boolean flag = mouseX >= this.xPosition && mouseY >= this.yPosition && mouseX < this.xPosition + this.width && mouseY < this.yPosition + this.height;
+
+ if (this.visible)
+ {
+ if (this.itemStack.getItem() == Items.nether_star)
+ {
+ ItemStack skyBlockMenu = this.itemStack.copy();
+ NBTTagList list = new NBTTagList();
+ skyBlockMenu.setStackDisplayName("SkyBlock Menu");
+ list.appendTag(new NBTTagString(EnumChatFormatting.GRAY + "View all of your SkyBlock"));
+ skyBlockMenu.getTagCompound().getCompoundTag("display").setTag("Lore", list);
+ this.itemStack = skyBlockMenu;
+ }
+
+ mc.getTextureManager().bindTexture(TEXTURE);
+ GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
+ Gui.drawModalRectWithCustomSizedTexture(this.xPosition, this.yPosition, flag ? 18 : 0, 0, this.width, this.height, 36, 18);
+
+ GlStateManager.enableDepth();
+ GlStateManager.enableRescaleNormal();
+ GlStateManager.enableBlend();
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+ RenderHelper.enableGUIStandardItemLighting();
+ GlStateManager.enableLighting();
+ mc.getRenderItem().renderItemAndEffectIntoGUI(this.itemStack, this.xPosition + 1, this.yPosition + 1);
+ }
+ }
+
+ public String getName()
+ {
+ return this.customName;
+ }
+
+ public ItemStack getItemStack()
+ {
+ return this.itemStack;
+ }
+
+ public void setName(String name)
+ {
+ this.customName = name;
+ }
+
+ public void setItemStack(ItemStack itemStack)
+ {
+ this.itemStack = itemStack;
+ }
+} \ No newline at end of file
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java b/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java
new file mode 100644
index 00000000..5bc4b6ee
--- /dev/null
+++ b/src/main/java/io/github/moulberry/notenoughupdates/GuiDungeonMapEditor.java
@@ -0,0 +1,754 @@
+package io.github.moulberry.notenoughupdates;
+
+import io.github.moulberry.notenoughupdates.infopanes.SettingsInfoPane;
+import io.github.moulberry.notenoughupdates.itemeditor.GuiElementTextField;
+import io.github.moulberry.notenoughupdates.options.Options;
+import io.github.moulberry.notenoughupdates.profileviewer.GuiProfileViewer;
+import io.github.moulberry.notenoughupdates.util.SpecialColour;
+import io.github.moulberry.notenoughupdates.util.Utils;
+import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.Gui;
+import net.minecraft.client.gui.GuiScreen;
+import net.minecraft.client.gui.ScaledResolution;
+import net.minecraft.client.renderer.GlStateManager;
+import net.minecraft.client.renderer.OpenGlHelper;
+import net.minecraft.client.renderer.texture.DynamicTexture;
+import net.minecraft.client.shader.Framebuffer;
+import net.minecraft.client.shader.Shader;
+import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.Matrix4f;
+import net.minecraft.util.ResourceLocation;
+import net.minecraft.util.Vec4b;
+import org.lwjgl.input.Keyboard;
+import org.lwjgl.input.Mouse;
+import org.lwjgl.opengl.GL11;
+
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.IOException;
+import java.util.*;
+import java.util.List;
+
+import static io.github.moulberry.notenoughupdates.GuiTextures.*;
+import static io.github.moulberry.notenoughupdates.GuiTextures.colour_selector_dot;
+
+public class GuiDungeonMapEditor extends GuiScreen {
+
+ public static final ResourceLocation BACKGROUND = new ResourceLocation("notenoughupdates:dungeon_map/editor/background.png");
+ public static final ResourceLocation BUTTON = new ResourceLocation("notenoughupdates:button.png");
+ private static final DungeonMap demoMap = new DungeonMap();
+
+ private int sizeX;
+ private int sizeY;
+ private int guiLeft;
+ private int guiTop;
+
+ private List<Button> buttons = new ArrayList<>();
+
+ private static final int colourEditorBG = new Color(80, 80, 80, 220).getRGB();
+ private static ResourceLocation colourPickerLocation = new ResourceLocation("notenoughupdates:dynamic/colourpicker");
+ private static ResourceLocation colourPickerBarValueLocation = new ResourceLocation("notenoughupdates:dynamic/colourpickervalue");
+ private static ResourceLocation colourPickerBarOpacityLocation = new ResourceLocation("notenoughupdates:dynamic/colourpickeropacity");
+
+ private GuiElementTextField hexField = new GuiElementTextField("",
+ GuiElementTextField.SCALE_TEXT | GuiElementTextField.FORCE_CAPS | GuiElementTextField.NO_SPACE);
+
+ private GuiElementTextField xField = new GuiElementTextField("", GuiElementTextField.NUM_ONLY | GuiElementTextField.NO_SPACE);
+ private GuiElementTextField yField = new GuiElementTextField("", GuiElementTextField.NUM_ONLY | GuiElementTextField.NO_SPACE);
+ private GuiElementTextField blurField = new GuiElementTextField("", GuiElementTextField.NUM_ONLY | GuiElementTextField.NO_SPACE);
+ private ColourEditor activeColourEditor = null;
+
+ private class ColourEditor {
+ public int x;
+ public int y;
+ public Options.Option<String> option;
+ public String special;
+
+ public ColourEditor(int x, int y, Options.Option<String> option, String special) {
+ this.x = x;
+ this.y = y;
+ this.option = option;
+ this.special = special;
+ }
+ }
+
+ class Button {
+ private int id;
+ private int x;
+ private int y;
+ private String text;
+ private Color colour = new Color(-1, true);
+
+ public Button(int id, int x, int y, String text) {
+ this.id = id;
+ this.x = x;
+ this.y = y;
+ this.text = text;
+ }
+
+ public void render() {
+ if(text == null) return;
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(BUTTON);
+ if(isButtonPressed(id)) {
+ GlStateManager.color(colour.getRed()*0.85f/255f, colour.getGreen()*0.85f/255f,
+ colour.getBlue()*0.85f/255f, 1);
+ Utils.drawTexturedRect(guiLeft+x, guiTop+y, 48, 16, 1, 0, 1, 0, GL11.GL_NEAREST);
+ } else {
+ GlStateManager.color(colour.getRed()/255f, colour.getGreen()/255f, colour.getBlue()/255f, 1);
+ Utils.drawTexturedRect(guiLeft+x, guiTop+y, 48, 16, GL11.GL_NEAREST);
+ }
+
+ if(text.length() > 0) {
+ Utils.drawStringCenteredScaledMaxWidth(text, Minecraft.getMinecraft().fontRendererObj , guiLeft+x+24, guiTop+y+8, false, 39, 0xFF000000);
+ }
+ }
+
+ }
+
+ public GuiDungeonMapEditor() {
+ //Map Border Size
+ buttons.add(new Button(0, 6, 37, "Small"));
+ buttons.add(new Button(1, 52, 37, "Medium"));
+ buttons.add(new Button(2, 98, 37, "Large"));
+
+ //Map Rooms Size
+ buttons.add(new Button(3, 6, 67, "Small"));
+ buttons.add(new Button(4, 52, 67, "Medium"));
+ buttons.add(new Button(5, 98, 67, "Large"));
+
+ //Map Border Styles
+ buttons.add(new Button(6, 6, 97, "Default"));
+ buttons.add(new Button(7, 52, 97, "Custom"));
+ buttons.add(new Button(8, 98, 97, "Stone"));
+ buttons.add(new Button(9, 6, 116, "Wood"));
+ buttons.add(new Button(10, 52, 116, "Rustic(S)"));
+ buttons.add(new Button(11, 98, 116, "Rustic(C)"));
+ buttons.add(new Button(12, 6, 135, "Fade"));
+ buttons.add(new Button(13, 52, 135, "Ribbons"));
+ buttons.add(new Button(14, 98, 135, "Paper"));
+ buttons.add(new Button(15, 6, 154, "Crimson"));
+ buttons.add(new Button(16, 52, 154, "Ornate"));
+ buttons.add(new Button(17, 98, 154, "Dragon"));
+
+ //Dungeon Map
+ buttons.add(new Button(18, 20+139, 36, "Yes/No"));
+ //Center
+ buttons.add(new Button(19, 84+139, 36, "Player/Map"));
+ //Rotate
+ buttons.add(new Button(20, 20+139, 65, "Player/No Rotate"));
+ //Icon Style
+ buttons.add(new Button(21, 84+139, 65, "Default/Heads"));
+ //Check Orient
+ buttons.add(new Button(22, 20+139, 94, "Normal/Reorient"));
+ //Check Center
+ buttons.add(new Button(23, 84+139, 94, "Yes/No"));
+ //Interpolation
+ buttons.add(new Button(24, 20+139, 123, "Yes/No"));
+ //Compatibility
+ buttons.add(new Button(25, 84+139, 123, "Normal/No SHD/No FB/SHD"));
+
+ //Background
+ buttons.add(new Button(26, 20+139, 152, ""));
+ //Border
+ buttons.add(new Button(27, 84+139, 152, ""));
+
+ //Compatibility
+ buttons.add(new Button(28, 84+139, 181, "Normal/Scroll"));
+
+ xField.setText(String.valueOf(NotEnoughUpdates.INSTANCE.manager.config.dmCenterX.value));
+ yField.setText(String.valueOf(NotEnoughUpdates.INSTANCE.manager.config.dmCenterY.value));
+ blurField.setText(String.valueOf(NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.value));
+ }
+
+ private void showColourEditor(int mouseX, int mouseY, Options.Option<String> option, String special) {
+ activeColourEditor = new ColourEditor(mouseX, mouseY, option, special);
+ hexField.otherComponentClick();
+ }
+
+ @Override
+ public void drawScreen(int mouseX, int mouseY, float partialTicks) {
+ ScaledResolution scaledResolution = Utils.pushGuiScale(2);
+ this.width = scaledResolution.getScaledWidth();
+ this.height = scaledResolution.getScaledHeight();
+
+ this.sizeX = 431;
+ this.sizeY = 237;
+ this.guiLeft = (this.width - this.sizeX) / 2;
+ this.guiTop = (this.height-this.sizeY)/2;
+
+ super.drawScreen(mouseX, mouseY, partialTicks);
+ drawDefaultBackground();
+
+ blurBackground();
+ renderBlurredBackground(width, height, guiLeft+2, guiTop+2, sizeX-4, sizeY-4);
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(BACKGROUND);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(guiLeft, guiTop, sizeX, sizeY, GL11.GL_NEAREST);
+
+ Minecraft.getMinecraft().fontRendererObj.drawString("NEU Dungeon Map Editor", guiLeft+8, guiTop+6, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Map Border Size", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+76, guiTop+30, false, 137, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Map Rooms Size", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+76, guiTop+60, false, 137, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Map Border Style", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+76, guiTop+90, false, 137, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Dungeon Map", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+30, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Center", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+30, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Rotate", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+59, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Icon Style", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+59, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Check Orient", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+88, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Check Center", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+88, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Interpolation", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+117, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Compatibility", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+117, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("Background", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+146, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Border", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+146, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("BG Blur", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+175, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Chroma Type", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+175, false, 60, 0xFFB4B4B4);
+
+ Utils.drawStringCenteredScaledMaxWidth("X (%)", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+44+139, guiTop+204, false, 60, 0xFFB4B4B4);
+ Utils.drawStringCenteredScaledMaxWidth("Y (%)", Minecraft.getMinecraft().fontRendererObj,
+ guiLeft+108+139, guiTop+204, false, 60, 0xFFB4B4B4);
+
+ Options options = NotEnoughUpdates.INSTANCE.manager.config;
+ buttons.get(18).text = options.dmEnable.value ? "Enabled" : "Disabled";
+ buttons.get(19).text = options.dmCenterPlayer.value ? "Player" : "Map";
+ buttons.get(20).text = options.dmRotatePlayer.value ? "Player" : "No Rotate";
+ buttons.get(21).text = options.dmPlayerHeads.value <= 0 ? "Default" : options.dmPlayerHeads.value >= 3 ? "SmallHeads" :
+ options.dmPlayerHeads.value == 1 ? "Heads" : "ScaledHeads";
+ buttons.get(22).text = options.dmOrientCheck.value ? "Orient" : "Default";
+ buttons.get(23).text = options.dmCenterCheck.value ? "Center" : "Default";
+ buttons.get(24).text = options.dmPlayerInterp.value ? "Interp" : "No Interp";
+ buttons.get(25).text = options.dmCompat.value <= 0 ? "Normal" : options.dmCompat.value >= 2 ? "No FB/SHD" : "No SHD";
+
+ buttons.get(26).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBackgroundColour.value));
+ buttons.get(27).colour = new Color(SpecialColour.specialToChromaRGB(options.dmBorderColour.value));
+
+ buttons.get(28).text = options.dmChromaBorder.value ? "Scroll" : "Normal";
+
+ blurField.setSize(48, 16);
+ xField.setSize(48, 16);
+ yField.setSize(48, 16);
+ blurField.render(guiLeft+20+139, guiTop+181);
+ xField.render(guiLeft+20+139, guiTop+210);
+ yField.render(guiLeft+84+139, guiTop+210);
+
+ Map<String, Vec4b> decorations = new HashMap<>();
+ Vec4b vec4b = new Vec4b((byte)3, (byte)(((50)-64)*2), (byte)(((40)-64)*2), (byte)((60)*16/360));
+ decorations.put(Minecraft.getMinecraft().thePlayer.getName(), vec4b);
+
+ HashSet<String> players = new HashSet<>();
+ players.add(Minecraft.getMinecraft().thePlayer.getName());
+ GlStateManager.color(1, 1, 1, 1);
+
+ demoMap.renderMap(guiLeft+357, guiTop+125, NotEnoughUpdates.INSTANCE.colourMap, decorations, 0,
+ players, false);
+
+ for(Button button : buttons) {
+ button.render();
+ }
+
+ if(activeColourEditor != null) {
+ Gui.drawRect(activeColourEditor.x, activeColourEditor.y, activeColourEditor.x+119, activeColourEditor.y+89, colourEditorBG);
+
+ int currentColour = SpecialColour.specialToSimpleRGB(activeColourEditor.special);
+ Color c = new Color(currentColour, true);
+ float[] hsv = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
+
+ BufferedImage bufferedImage = new BufferedImage(256, 256, BufferedImage.TYPE_INT_ARGB);
+ for(int x=0; x<256; x++) {
+ for(int y=0; y<256; y++) {
+ float radius = (float) Math.sqrt(((x-128)*(x-128)+(y-128)*(y-128))/16384f);
+ float angle = (float) Math.toDegrees(Math.atan((128-x)/(y-128+1E-5))+Math.PI/2);
+ if(y < 128) angle += 180;
+ if(radius <= 1) {
+ int rgb = Color.getHSBColor(angle/360f, (float)Math.pow(radius, 1.5f), hsv[2]).getRGB();
+ bufferedImage.setRGB(x, y, rgb);
+ }
+ }
+ }
+
+ BufferedImage bufferedImageValue = new BufferedImage(10, 64, BufferedImage.TYPE_INT_ARGB);
+ for(int x=0; x<10; x++) {
+ for(int y=0; y<64; y++) {
+ if((x == 0 || x == 9) && (y == 0 || y == 63)) continue;
+
+ int rgb = Color.getHSBColor(hsv[0], hsv[1], (64-y)/64f).getRGB();
+ bufferedImageValue.setRGB(x, y, rgb);
+ }
+ }
+
+ BufferedImage bufferedImageOpacity = new BufferedImage(10, 64, BufferedImage.TYPE_INT_ARGB);
+ for(int x=0; x<10; x++) {
+ for(int y=0; y<64; y++) {
+ if((x == 0 || x == 9) && (y == 0 || y == 63)) continue;
+
+ int rgb = (currentColour & 0x00FFFFFF) | (Math.min(255, (64-y)*4) << 24);
+ bufferedImageOpacity.setRGB(x, y, rgb);
+ }
+ }
+
+ float selradius = (float) Math.pow(hsv[1], 1/1.5f)*32;
+ int selx = (int)(Math.cos(Math.toRadians(hsv[0]*360))*selradius);
+ int sely = (int)(Math.sin(Math.toRadians(hsv[0]*360))*selradius);
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colour_selector_bar_alpha);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5+10+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+
+ Minecraft.getMinecraft().getTextureManager().loadTexture(colourPickerBarValueLocation, new DynamicTexture(bufferedImageValue));
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colourPickerBarValueLocation);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+
+ Minecraft.getMinecraft().getTextureManager().loadTexture(colourPickerBarOpacityLocation, new DynamicTexture(bufferedImageOpacity));
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colourPickerBarOpacityLocation);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5+10+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+
+ int chromaSpeed = SpecialColour.getSpeed(activeColourEditor.special);
+ int currentColourChroma = SpecialColour.specialToChromaRGB(activeColourEditor.special);
+ Color cChroma = new Color(currentColourChroma, true);
+ float hsvChroma[] = Color.RGBtoHSB(cChroma.getRed(), cChroma.getGreen(), cChroma.getBlue(), null);
+
+ if(chromaSpeed > 0) {
+ Gui.drawRect(activeColourEditor.x+5+64+5+10+5+10+5+1, activeColourEditor.y+5+1,
+ activeColourEditor.x+5+64+5+10+5+10+5+10-1, activeColourEditor.y+5+64-1,
+ Color.HSBtoRGB(hsvChroma[0], 0.8f, 0.8f));
+ } else {
+ Gui.drawRect(activeColourEditor.x+5+64+5+10+5+10+5+1, activeColourEditor.y+5+27+1,
+ activeColourEditor.x+5+64+5+10+5+10+5+10-1, activeColourEditor.y+5+37-1,
+ Color.HSBtoRGB((hsvChroma[0]+(System.currentTimeMillis()-SpecialColour.startTime)/1000f)%1, 0.8f, 0.8f));
+ }
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colour_selector_bar);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5+10+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+
+ if(chromaSpeed > 0) {
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5+10+5+10+5, activeColourEditor.y+5, 10, 64, GL11.GL_NEAREST);
+ } else {
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colour_selector_chroma);
+ Utils.drawTexturedRect(activeColourEditor.x+5+64+5+10+5+10+5, activeColourEditor.y+5+27, 10, 10, GL11.GL_NEAREST);
+ }
+
+ Gui.drawRect(activeColourEditor.x+5+64+5, activeColourEditor.y+5+64-(int)(64*hsv[2]),
+ activeColourEditor.x+5+64+5+10, activeColourEditor.y+5+64-(int)(64*hsv[2])+1, 0xFF000000);
+ Gui.drawRect(activeColourEditor.x+5+64+5+10+5, activeColourEditor.y+5+64-c.getAlpha()/4,
+ activeColourEditor.x+5+64+5+10+5+10, activeColourEditor.y+5+64-c.getAlpha()/4-1, 0xFF000000);
+ if(chromaSpeed > 0) {
+ Gui.drawRect(activeColourEditor.x+5+64+5+10+5+10+5,
+ activeColourEditor.y+5+64-(int)(chromaSpeed/255f*64),
+ activeColourEditor.x+5+64+5+10+5+10+5+10,
+ activeColourEditor.y+5+64-(int)(chromaSpeed/255f*64)+1, 0xFF000000);
+ }
+
+ Minecraft.getMinecraft().getTextureManager().loadTexture(colourPickerLocation, new DynamicTexture(bufferedImage));
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colourPickerLocation);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5, activeColourEditor.y+5, 64, 64, GL11.GL_NEAREST);
+
+ Minecraft.getMinecraft().getTextureManager().bindTexture(colour_selector_dot);
+ GlStateManager.color(1, 1, 1, 1);
+ Utils.drawTexturedRect(activeColourEditor.x+5+32+selx-4, activeColourEditor.y+5+32+sely-4, 8, 8, GL11.GL_NEAREST);
+
+ Utils.drawStringCenteredScaledMaxWidth(EnumChatFormatting.GRAY.toString()+Math.round(hsv[2]*100)+"",
+ Minecraft.getMinecraft().fontRendererObj,
+ activeColourEditor.x+5+64+5+5-(Math.round(hsv[2]*100)==100?1:0), activeColourEditor.y+5+64+5+5, true, 13, -1);
+ Utils.drawStringCenteredScaledMaxWidth(EnumChatFormatting.GRAY.toString()+Math.round(c.getAlpha()/255f*100)+"",
+ Minecraft.getMinecraft().fontRendererObj,
+ activeColourEditor.x+5+64+5+15+5, activeColourEditor.y+5+64+5+5, true, 13, -1);
+ if(chromaSpeed > 0) {
+ Utils.drawStringCenteredScaledMaxWidth(EnumChatFormatting.GRAY.toString()+(int)SpecialColour.getSecondsForSpeed(chromaSpeed)+"s",
+ Minecraft.getMinecraft().fontRendererObj,
+ activeColourEditor.x+5+64+5+30+6, activeColourEditor.y+5+64+5+5, true, 13, -1);
+ }
+
+ hexField.setSize(48, 10);
+ if(!hexField.getFocus()) hexField.setText(Integer.toHexString(c.getRGB() & 0xFFFFFF).toUpperCase());
+
+ StringBuilder sb = new StringBuilder(EnumChatFormatting.GRAY+"#");
+ for(int i=0; i<6-hexField.getText().length(); i++) {
+ sb.append("0");
+ }
+ sb.append(EnumChatFormatting.WHITE);
+
+ hexField.setPrependText(sb.toString());
+ hexField.render(activeColourEditor.x+5+8, activeColourEditor.y+5+64+5);
+ }
+
+ Utils.pushGuiScale(-1);
+ }
+
+ @Override
+ protected void mouseClicked(int mouseX, int mouseY, int mouseButton) {
+ for(Button button : buttons) {
+ if(mouseX >= guiLeft+button.x && mouseX <= guiLeft+button.x+48 &&
+ mouseY >= guiTop+button.y && mouseY <= guiTop+button.y+16) {
+ buttonClicked(mouseX, mouseY, button.id);
+
+ xField.otherComponentClick();
+ yField.otherComponentClick();
+ blurField.otherComponentClick();
+ return;
+ }
+ }
+
+
+ if(mouseY > guiTop+181 && mouseY < guiTop+181+16) {
+ if(mouseX > guiLeft+20+139 && mouseX < guiLeft+20+139+48) {
+ blurField.mouseClicked(mouseX, mouseY, mouseButton);
+ xField.otherComponentClick();
+ yField.otherComponentClick();
+ return;
+ }
+ } else if(mouseY > guiTop+210 && mouseY < guiTop+210+16) {
+ if(mouseX > guiLeft+20+139 && mouseX < guiLeft+20+139+48) {
+ xField.mouseClicked(mouseX, mouseY, mouseButton);
+ yField.otherComponentClick();
+ blurField.otherComponentClick();
+ return;
+ } else if(mouseX > guiLeft+84+139 && mouseX < guiLeft+84+139+48) {
+ yField.mouseClicked(mouseX, mouseY, mouseButton);
+ xField.otherComponentClick();
+ blurField.otherComponentClick();
+ return;
+ }
+ }
+
+ blurField.otherComponentClick();
+ xField.otherComponentClick();
+ yField.otherComponentClick();
+ }
+
+ @Override
+ public void handleMouseInput() throws IOException {
+ super.handleMouseInput();
+
+ int mouseX = Mouse.getEventX() * this.width / this.mc.displayWidth;
+ int mouseY = this.height - Mouse.getEventY() * this.height / this.mc.displayHeight - 1;
+ if(activeColourEditor != null && (Mouse.isButtonDown(0) || Mouse.isButtonDown(1))) {
+ if(mouseX >= activeColourEditor.x && mouseX <= activeColourEditor.x+119) {
+ if(mouseY >= activeColourEditor.y && mouseY <= activeColourEditor.y+89) {
+ if(Mouse.getEventButtonState()) {
+ if(mouseX > activeColourEditor.x+5+8 && mouseX < activeColourEditor.x+5+8+48) {
+ if(mouseY > activeColourEditor.y+5+64+5 && mouseY < activeColourEditor.y+5+64+5+10) {
+ hexField.mouseClicked(mouseX, mouseY, Mouse.getEventButton());
+ Utils.pushGuiScale(-1);
+ return;
+ }
+ }
+ }
+ hexField.otherComponentClick();
+
+ int currentColour = SpecialColour.specialToSimpleRGB(activeColourEditor.special);
+ Color c = new Color(currentColour, true);
+ float[] hsv = Color.RGBtoHSB(c.getRed(), c.getGreen(), c.getBlue(), null);
+
+ int xWheel = mouseX - activeColourEditor.x - 5;
+ int yWheel = mouseY - activeColourEditor.y - 5;
+
+ if(xWheel > 0 && xWheel < 64) {
+ if(yWheel > 0 && yWheel < 64) {
+ float radius = (float) Math.sqrt(((xWheel-32)*(xWheel-32)+(yWheel-32)*(yWheel-32))/1024f);
+ float angle = (float) Math.toDegrees(Math.atan((32-xWheel)/(yWheel-32+1E-5))+Math.PI/2);
+ if(yWheel < 32) angle += 180;
+
+ int rgb = Color.getHSBColor(angle/360f, (float)Math.pow(Math.min(1, radius), 1.5f), hsv[2]).getRGB();
+ activeColourEditor.special = SpecialColour.special(SpecialColour.getSpeed(activeColourEditor.special), c.getAlpha(), rgb);
+ activeColourEditor.option.value = (String) activeColourEditor.special;
+ }
+ }
+
+ int xValue = mouseX - (activeColourEditor.x+5+64+5);
+ int y = mouseY - activeColourEditor.y - 5;
+
+ if(y > -5 && y <= 69) {
+ y = Math.max(0, Math.min(64, y));
+ if(xValue > 0 && xValue < 10) {
+ int rgb = Color.getHSBColor(hsv[0], hsv[1], 1-y/64f).getRGB();
+ activeColourEditor.special = SpecialColour.special(SpecialColour.getSpeed(activeColourEditor.special), c.getAlpha(), rgb);
+ activeColourEditor.option.value = activeColourEditor.special;
+ }
+
+ int xOpacity = mouseX - (activeColourEditor.x+5+64+5+10+5);
+
+ if(xOpacity > 0 && xOpacity < 10) {
+ activeColourEditor.special = SpecialColour.special(SpecialColour.getSpeed(activeColourEditor.special),
+ 255-(int)(y/64f*255), currentColour);
+ activeColourEditor.option.value = activeColourEditor.special;
+ }
+ }
+
+ int chromaSpeed = SpecialColour.getSpeed(activeColourEditor.special);
+
+ int xChroma = mouseX - (activeColourEditor.x+5+64+5+10+5+10+5);
+ if(xChroma > 0 && xChroma < 10) {
+ if(chromaSpeed > 0) {
+ if(y > -5 && y <= 69) {
+ y = Math.max(0, Math.min(64, y));
+ activeColourEditor.special = SpecialColour.special(255-Math.round(y/64f*255), c.getAlpha(), currentColour);
+ activeColourEditor.option.value = activeColourEditor.special;
+ }
+ } else if(mouseY > activeColourEditor.y+5+27 && mouseY < activeColourEditor.y+5+37) {
+ activeColourEditor.special = SpecialColour.special(200, c.getAlpha(), currentColour);
+ activeColourEditor.option.value = activeColourEditor.special;
+ }
+ }
+
+ Utils.pushGuiScale(-1);
+ return;
+ }
+ }
+ if(Mouse.getEventButtonState()) {
+ activeColourEditor = null;
+ hexField.otherComponentClick();
+ }
+ }
+ }
+
+ @Override
+ public void handleKeyboardInput() throws IOException {
+ super.handleKeyboardInput();
+
+ if(activeColourEditor != null && hexField.getFocus()) {
+ String old = hexField.getText();
+
+ hexField.keyTyped(Keyboard.getEventCharacter(), Keyboard.getEventKey());
+
+ if(hexField.getText().length() > 6) {
+ hexField.setText(old);
+ } else {
+ try {
+ String text = hexField.getText().toLowerCase();
+
+ int rgb = Integer.parseInt(text, 16);
+ int alpha = (SpecialColour.specialToSimpleRGB(activeColourEditor.special) >> 24) & 0xFF;
+ activeColourEditor.special = SpecialColour.special(SpecialColour.getSpeed(activeColourEditor.special), alpha, rgb);
+ activeColourEditor.option.value = activeColourEditor.special;
+ } catch(Exception e) {};
+ }
+ }
+ }
+
+ @Override
+ protected void keyTyped(char typedChar, int keyCode) throws IOException {
+ super.keyTyped(typedChar, keyCode);
+
+ if(xField.getFocus()) {
+ xField.keyTyped(typedChar, keyCode);
+
+ try {
+ xField.setCustomBorderColour(-1);
+ NotEnoughUpdates.INSTANCE.manager.config.dmCenterX.setValue(xField.getText());
+ } catch(Exception e) {
+ xField.setCustomBorderColour(Color.RED.getRGB());
+ }
+ } else if(yField.getFocus()) {
+ yField.keyTyped(typedChar, keyCode);
+
+ try {
+ yField.setCustomBorderColour(-1);
+ NotEnoughUpdates.INSTANCE.manager.config.dmCenterY.setValue(yField.getText());
+ } catch(Exception e) {
+ yField.setCustomBorderColour(Color.RED.getRGB());
+ }
+ } else if(blurField.getFocus()) {
+ blurField.keyTyped(typedChar, keyCode);
+
+ try {
+ blurField.setCustomBorderColour(-1);
+ NotEnoughUpdates.INSTANCE.manager.config.dmBackgroundBlur.setValue(blurField.getText());
+ } catch(Exception e) {
+ blurField.setCustomBorderColour(Color.RED.getRGB());
+ }
+ }
+ }
+
+ private void buttonClicked(int mouseX, int mouseY, int id) {
+ Options options = NotEnoughUpdates.INSTANCE.manager.config;
+ switch (id) {
+ case 0:
+ options.dmBorderSize.value = 0.0; break;
+ case 1:
+ options.dmBorderSize.value = 1.0; break;
+ case 2:
+ options.dmBorderSize.value = 2.0; break;
+ case 3:
+ options.dmRoomSize.value = 0.0; break;
+ case 4:
+ options.dmRoomSize.value = 1.0; break;
+ case 5:
+ options.dmRoomSize.value = 2.0; break;
+ case 18:
+ options.dmEnable.value = !options.dmEnable.value; break;
+ case 19:
+ options.dmCenterPlayer.value = !options.dmCenterPlayer.value; break;
+ case 20:
+ options.dmRotatePlayer.value = !options.dmRotatePlayer.value; break;
+ case 21:
+ options.dmPlayerHeads.value++;
+ if(options.dmPlayerHeads.value > 3) options.dmPlayerHeads.value = 0.0;break;
+ case 22:
+ options.dmOrientCheck.value = !options.dmOrientCheck.value; break;
+ case 23:
+ options.dmCenterCheck.value = !options.dmCenterCheck.value; break;
+ case 24:
+ options.dmPlayerInterp.value = !options.dmPlayerInterp.value; break;
+ case 25:
+ options.dmCompat.value++;
+ if(options.dmCompat.value > 2) options.dmCompat.value = 0.0;
+ break;
+ case 26:
+ showColourEditor(mouseX, mouseY, options.dmBackgroundColour, options.dmBackgroundColour.value); break;
+ case 27:
+ showColourEditor(mouseX, mouseY, options.dmBorderColour, options.dmBorderColour.value); break;
+ case 28:
+ options.dmChromaBorder.value = !options.dmChromaBorder.value; break;
+ default:
+ if(id >= 6 && id <= 17) {
+ options.dmBorderStyle.value = (double)id-6; break;
+ }
+ }
+ try { NotEnoughUpdates.INSTANCE.manager.saveConfig(); } catch(IOException ignored) {};
+
+ }
+
+ private boolean isButtonPressed(int id) {
+ Options options = NotEnoughUpdates.INSTANCE.manager.config;
+ if(id >= 0 && id <= 2) {
+ return options.dmBorderSize.value == id;
+ } else if(id >= 3 && id <= 5) {
+ return options.dmRoomSize.value == id-3;
+ } else if(id >= 6 && id <= 17) {
+ return options.dmBorderStyle.value == id-6;
+ }
+ return false;
+ }
+
+ Shader blurShaderHorz = null;
+ Framebuffer blurOutputHorz = null;
+ Shader blurShaderVert = null;
+ Framebuffer blurOutputVert = null;
+
+ /**
+ * Creates a projection matrix that projects from our coordinate space [0->width; 0->height] to OpenGL coordinate
+ * space [-1 -> 1; 1 -> -1] (Note: flipped y-axis).
+ *
+ * This is so that we can render to and from the framebuffer in a way that is familiar to us, instead of needing to
+ * apply scales and translations manually.
+ */
+ private Matrix4f createProjectionMatrix(int width, int height) {
+ Matrix4f projMatrix = new Matrix4f();
+ projMatrix.setIdentity();
+ projMatrix.m00 = 2.0F / (float)width;
+ projMatrix.m11 = 2.0F / (float)(-height);
+ projMatrix.m22 = -0.0020001999F;
+ projMatrix.m33 = 1.0F;
+ projMatrix.m03 = -1.0F;
+ projMatrix.m13 = 1.0F;
+ projMatrix.m23 = -1.0001999F;
+ return projMatrix;
+ }
+
+ private double lastBgBlurFactor = -1;
+ private void blurBackground() {
+ if(!OpenGlHelper.isFramebufferEnabled()) return;
+
+ int width = Minecraft.getMinecraft().displayWidth;
+ int height = Minecraft.getMinecraft().displayHeight;
+
+ if(blurOutputHorz == null) {
+ blurOutputHorz = new Framebuffer(width, height, false);
+ blurOutputHorz.setFramebufferFilter(GL11.GL_NEAREST);
+ }
+ if(blurOutputVert == null) {
+ blurOutputVert = new Framebuffer(width, height, false);
+ blurOutputVert.setFramebufferFilter(GL11.GL_NEAREST);
+ }
+ if(blurOutputHorz.framebufferWidth != width || blurOutputHorz.framebufferHeight != height) {
+ blurOutputHorz.createBindFramebuffer(width, height);
+ blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
+ if(blurOutputVert.framebufferWidth != width || blurOutputVert.framebufferHeight != height) {
+ blurOutputVert.createBindFramebuffer(width, height);
+ blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
+
+ if(blurShaderHorz == null) {
+ try {
+ blurShaderHorz = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
+ Minecraft.getMinecraft().getFramebuffer(), blurOutputHorz);
+ blurShaderHorz.getShaderManager().getShaderUniform("BlurDir").set(1, 0);
+ blurShaderHorz.setProjectionMatrix(createProjectionMatrix(width, height));
+ } catch(Exception e) { }
+ }
+ if(blurShaderVert == null) {
+ try {
+ blurShaderVert = new Shader(Minecraft.getMinecraft().getResourceManager(), "blur",
+ blurOutputHorz, blurOutputVert);
+ blurShaderVert.getShaderManager().getShaderUniform("BlurDir").set(0, 1);
+ blurShaderVert.setProjectionMatrix(createProjectionMatrix(width, height));
+ } catch(Exception e) { }
+ }
+ if(blurShaderHorz != null && blurShaderVert != null) {
+ if(15 != lastBgBlurFactor) {
+ blurShaderHorz.getShaderManager().getShaderUniform("Radius").set((float)15);
+ blurShaderVert.getShaderManager().getShaderUniform("Radius").set((float)15);
+ lastBgBlurFactor = 15;
+ }
+ GL11.glPushMatrix();
+ blurShaderHorz.loadShader(0);
+ blurShaderVert.loadShader(0);
+ GlStateManager.enableDepth();
+ GL11.glPopMatrix();
+
+ Minecraft.getMinecraft().getFramebuffer().bindFramebuffer(false);
+ }
+ }
+
+ /**
+ * Renders a subsection of the blurred framebuffer on to the corresponding section of the screen.
+ * Essentially, this method will "blur" the background inside the bounds specified by [x->x+blurWidth, y->y+blurHeight]
+ */
+ public void renderBlurredBackground(int width, int height, int x, int y, int blurWidth, int blurHeight) {
+ if(!OpenGlHelper.isFramebufferEnabled()) return;
+
+ float uMin = x/(float)width;
+ float uMax = (x+blurWidth)/(float)width;
+ float vMin = (height-y)/(float)height;
+ float vMax = (height-y-blurHeight)/(float)height;
+
+ blurOutputVert.bindFramebufferTexture();
+ GlStateManager.color(1f, 1f, 1f, 1f);
+ //Utils.setScreen(width*f, height*f, f);
+ Utils.drawTexturedRect(x, y, blurWidth, blurHeight, uMin, uMax, vMin, vMax);
+ //Utils.setScreen(width, height, f);
+ blurOutputVert.unbindFramebufferTexture();
+ }
+
+}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
index fe31ce01..fee96152 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/NotEnoughUpdates.java
@@ -688,14 +688,39 @@ public class NotEnoughUpdates {
public Color[][] colourMap = null;
SimpleCommand neumapCommand = new SimpleCommand("neumap", new SimpleCommand.ProcessCommandRunnable() {
public void processCommand(ICommandSender sender, String[] args) {
+ if(colourMap == null) {
+ try {
+ BufferedReader reader = new BufferedReader(new InputStreamReader(Minecraft.getMinecraft().getResourceManager().getResource(
+ new ResourceLocation("notenoughupdates:maps/F1Full.json")).getInputStream(), StandardCharsets.UTF_8));
+ JsonObject json = NotEnoughUpdates.INSTANCE.manager.gson.fromJson(reader, JsonObject.class);
+
+ colourMap = new Color[128][128];
+ for(int x=0; x<128; x++) {
+ for(int y=0; y<128; y++) {
+ colourMap[x][y] = new Color(0, 0, 0, 0);
+ }
+ }
+ for(Map.Entry<String, JsonElement> entry : json.entrySet()) {
+ int x = Integer.parseInt(entry.getKey().split(":")[0]);
+ int y = Integer.parseInt(entry.getKey().split(":")[1]);
+
+ colourMap[x][y] = new Color(entry.getValue().getAsInt(), true);
+ }
+ } catch(Exception ignored) { }
+ }
+
+ if(!manager.config.dev.value) {
+ openGui = new GuiDungeonMapEditor();
+ return;
+ }
+
if(args.length == 1 && args[0].equals("reset")) {
colourMap = null;
return;
}
if(args.length != 2) {
- Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.RED+
- "Dev feature if you don't know how to use then don't use it 4Head."));
+ openGui = new GuiDungeonMapEditor();
return;
}
@@ -734,10 +759,13 @@ public class NotEnoughUpdates {
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(EnumChatFormatting.GREEN+
"Saved to file."));
}
+
+ return;
}
if(args[0].equals("load")) {
JsonObject json = manager.getJsonFromFile(new File(manager.configLocation, "maps/"+args[1]+".json"));
+
colourMap = new Color[128][128];
for(int x=0; x<128; x++) {
for(int y=0; y<128; y++) {
@@ -750,7 +778,11 @@ public class NotEnoughUpdates {
colourMap[x][y] = new Color(entry.getValue().getAsInt(), true);
}
+
+ return;
}
+
+ openGui = new GuiDungeonMapEditor();
}
});
@@ -811,7 +843,8 @@ public class NotEnoughUpdates {
MinecraftForge.EVENT_BUS.register(new SBGamemodes());
MinecraftForge.EVENT_BUS.register(SBInfo.getInstance());
MinecraftForge.EVENT_BUS.register(CustomItemEffects.INSTANCE);
- //MinecraftForge.EVENT_BUS.register(new DungeonMap());
+ MinecraftForge.EVENT_BUS.register(new DungeonMap());
+ MinecraftForge.EVENT_BUS.register(new DumymMod());
//MinecraftForge.EVENT_BUS.register(new BetterPortals());
IResourceManager resourceManager = Minecraft.getMinecraft().getResourceManager();
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java b/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
index 92d95e74..4530fc6e 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/auction/APIManager.java
@@ -317,8 +317,10 @@ public class APIManager {
if(disable != null && disable.get("auctions").getAsBoolean()) return;
while(!pagesToDownload.isEmpty()) {
- int page = pagesToDownload.pop();
- getPageFromAPI(page);
+ try {
+ int page = pagesToDownload.pop();
+ getPageFromAPI(page);
+ } catch(NoSuchElementException ignored) {} //Weird race condition?
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java b/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java
index 81be2204..d570843a 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/gamemodes/SBGamemodes.java
@@ -246,6 +246,8 @@ public class SBGamemodes {
public void onTick(TickEvent.ClientTickEvent event) {
if(getGamemode() == null || !NotEnoughUpdates.INSTANCE.hasSkyblockScoreboard()) return;
+ boolean inDungeons = SBInfo.getInstance().getLocation() != null && SBInfo.getInstance().getLocation().equals("dungeon");
+
if("Your Island".equals(SBInfo.getInstance().location) &&
(EnumChatFormatting.YELLOW+"Break a log").equals(SBInfo.getInstance().objective)) {
getGamemode().locked = false;
@@ -291,7 +293,7 @@ public class SBGamemodes {
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(
EnumChatFormatting.AQUA+"(Use "+EnumChatFormatting.YELLOW+"/neugamemodes"+
EnumChatFormatting.AQUA+" if you would like to use fairy souls)"));
- } else if(ironmanMode.isBanned(containerName)) {
+ } else if(!inDungeons && ironmanMode.isBanned(containerName)) {
Minecraft.getMinecraft().thePlayer.closeScreen();
Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText(""));
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
index 62d12062..f6ce41dd 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/options/Options.java
@@ -1,6 +1,7 @@
package io.github.moulberry.notenoughupdates.options;
import com.google.gson.*;
+import io.github.moulberry.notenoughupdates.GuiDungeonMapEditor;
import io.github.moulberry.notenoughupdates.GuiEnchantColour;
import io.github.moulberry.notenoughupdates.NEUOverlayPlacements;
import io.github.moulberry.notenoughupdates.NotEnoughUpdates;
@@ -392,6 +393,93 @@ public class Options {
false,
"enchantColours", CAT_ALL);
+ //Dungeon Map Options
+ public Option<Double> dmBorderSize = new Option(
+ 1.0,
+ "dmBorderSize",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmRoomSize = new Option(
+ 1.0,
+ "dmRoomSize",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmBorderStyle = new Option(
+ 0.0,
+ "dmBorderStyle",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmEnable = new Option(
+ true,
+ "dmEnable",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmCenterPlayer = new Option(
+ false,
+ "dmCenterPlayer",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmRotatePlayer = new Option(
+ true,
+ "dmCenterPlayer",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmOrientCheck = new Option(
+ true,
+ "dmOrientCheck",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmCenterCheck = new Option(
+ false,
+ "dmOrientCheck",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmPlayerHeads = new Option(
+ 0.0,
+ "dmPlayerHeads",
+ false,
+ "", CAT_ALL);
+ public Option<Boolean> dmPlayerInterp = new Option(
+ true,
+ "dmPlayerInterp",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmCompat = new Option(
+ 0.0,
+ "dmCompat",
+ false,
+ "", CAT_ALL);
+ public Option<String> dmBackgroundColour = new Option(
+ "00:170:75:75:75",
+ "dmBackgroundColour",
+ false,
+ "", FLAG_COLOUR, CAT_ALL);
+ public Option<String> dmBorderColour = new Option(
+ "00:0:0:0:0",
+ "dmBorderColour",
+ false,
+ "", FLAG_COLOUR, CAT_ALL);
+ public Option<Boolean> dmChromaBorder = new Option(
+ false,
+ "dmChromaBorder",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmBackgroundBlur = new Option(
+ 3.0,
+ "dmBackgroundBlur",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmCenterX = new Option(
+ 8.5,
+ "dmCenterX",
+ false,
+ "", CAT_ALL);
+ public Option<Double> dmCenterY = new Option(
+ 15.0,
+ "dmCenterY",
+ false,
+ "", CAT_ALL);
+
private ArrayList<String> createDefaultQuickCommands() {
ArrayList<String> arr = new ArrayList<>();
arr.add("/warp home:Warp Home:eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzljODg4MWU0MjkxNWE5ZDI5YmI2MWExNmZiMjZkMDU5OTEzMjA0ZDI2NWRmNWI0MzliM2Q3OTJhY2Q1NiJ9fX0=");
@@ -436,10 +524,14 @@ public class Options {
Minecraft.getMinecraft().displayGuiScreen(new NEUOverlayPlacements());
}));
-
buttons.add(new Button("Edit Enchant Colours", "Allows you to change the colour of any enchant at any level.", () -> {
Minecraft.getMinecraft().displayGuiScreen(new GuiEnchantColour());
}));
+
+
+ buttons.add(new Button("Edit Dungeon Map", "Allows you to configure the NEU dungeon map.", () -> {
+ Minecraft.getMinecraft().displayGuiScreen(new GuiDungeonMapEditor());
+ }));
}
public List<Button> getButtons() {
@@ -608,13 +700,15 @@ public class Options {
for (Field f : Options.class.getDeclaredFields()) {
try {
- if (((Option) f.get(oDefault)).value instanceof List) {
+ if (((Option<?>) f.get(oDefault)).value instanceof List) {
//If the default size of the list is greater than the loaded size, use the default value.
//if(((List<?>)((Option)f.get(oDefault)).value).size() > ((List<?>)((Option)f.get(oLoad)).value).size()) {
// continue;
//}
}
- ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ if(((Option<?>) f.get(oDefault)).value.getClass().isAssignableFrom(((Option<?>) f.get(oLoad)).value.getClass())) {
+ ((Option) f.get(oDefault)).value = ((Option) f.get(oLoad)).value;
+ }
} catch (Exception e) {
}
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
index e1ee32f6..5223e127 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/PlayerStats.java
@@ -213,7 +213,10 @@ public class PlayerStats {
Stats skillBonus = getSkillBonus(skillInfo);
Stats petBonus = getPetBonus(profile);
- if(fairyBonus == null || skillBonus == null || petBonus == null) return null;
+ if(fairyBonus == null || skillBonus == null || petBonus == null) {
+ System.out.println(petBonus);
+ return null;
+ }
passiveBonuses.add(fairyBonus);
passiveBonuses.add(skillBonus);
@@ -493,7 +496,9 @@ public class PlayerStats {
Stats armorBonuses = getItemBonuses(false, armor);
Stats talismanBonuses = getItemBonuses(true, inventory, talisman_bag);
- if(passiveBonuses == null || armorBonuses == null || talismanBonuses == null) return null;
+ if(passiveBonuses == null || armorBonuses == null || talismanBonuses == null) {
+ return null;
+ }
Stats stats = getBaseStats().add(passiveBonuses).add(armorBonuses).add(talismanBonuses);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
index 007ab7a9..e4ab29d2 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/profileviewer/ProfileViewer.java
@@ -914,9 +914,11 @@ public class ProfileViewer {
}
public PlayerStats.Stats getStats(String profileId) {
- if(stats.get(profileId) != null) return stats.get(profileId);
+ //if(stats.get(profileId) != null) return stats.get(profileId);
JsonObject profileInfo = getProfileInformation(profileId);
- if(profileInfo == null) return null;
+ if(profileInfo == null) {
+ return null;
+ }
PlayerStats.Stats stats = PlayerStats.getStats(getSkillInfo(profileId), getInventoryInfo(profileId), getCollectionInfo(profileId), profileInfo);
this.stats.put(profileId, stats);
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
index 4f8ab5ce..f70d3a3c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Constants.java
@@ -4,7 +4,7 @@ import com.google.gson.JsonObject;
public class Constants {
- public static final JsonObject BONUSES = Utils.getConstant("enchants");
+ public static final JsonObject BONUSES = Utils.getConstant("bonuses");
public static final JsonObject DISABLE = Utils.getConstant("disable");
public static final JsonObject ENCHANTS = Utils.getConstant("enchants");
public static final JsonObject LEVELING = Utils.getConstant("leveling");
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java b/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
index 9ec6da3e..5bcd23c3 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/SpecialColour.java
@@ -77,5 +77,19 @@ public class SpecialColour {
return (a & 0xFF) << 24 | (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF);
}
+ public static int rotateHue(int argb, int degrees) {
+ int a = (argb >> 24) & 0xFF;
+ int r = (argb >> 16) & 0xFF;
+ int g = (argb >> 8) & 0xFF;
+ int b = (argb) & 0xFF;
+
+ float[] hsv = Color.RGBtoHSB(r, g, b, null);
+
+ hsv[0] += degrees/360f;
+ hsv[0] %= 1;
+
+ return (a & 0xFF) << 24 | (Color.HSBtoRGB(hsv[0], hsv[1], hsv[2]) & 0x00FFFFFF);
+ }
+
}
diff --git a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
index 04bad54f..f732779c 100644
--- a/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
+++ b/src/main/java/io/github/moulberry/notenoughupdates/util/Utils.java
@@ -420,6 +420,33 @@ public class Utils {
GlStateManager.disableBlend();
}
+ public static void drawTexturedRectNoBlend(float x, float y, float width, float height, float uMin, float uMax, float vMin, float vMax, int filter) {
+ GlStateManager.enableTexture2D();
+
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, filter);
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, filter);
+
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX);
+ worldrenderer
+ .pos(x, y+height, 0.0D)
+ .tex(uMin, vMax).endVertex();
+ worldrenderer
+ .pos(x+width, y+height, 0.0D)
+ .tex(uMax, vMax).endVertex();
+ worldrenderer
+ .pos(x+width, y, 0.0D)
+ .tex(uMax, vMin).endVertex();
+ worldrenderer
+ .pos(x, y, 0.0D)
+ .tex(uMin, vMin).endVertex();
+ tessellator.draw();
+
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MIN_FILTER, GL11.GL_NEAREST);
+ GL11.glTexParameteri(GL11.GL_TEXTURE_2D, GL11.GL_TEXTURE_MAG_FILTER, GL11.GL_NEAREST);
+ }
+
public static ItemStack createItemStack(Item item, String displayname, String... lore) {
return createItemStack(item, displayname, 0, lore);
}
@@ -620,6 +647,34 @@ public class Utils {
GlStateManager.enableTexture2D();
}
+ public static void drawGradientRectHorz(int left, int top, int right, int bottom, int startColor, int endColor) {
+ float f = (float)(startColor >> 24 & 255) / 255.0F;
+ float f1 = (float)(startColor >> 16 & 255) / 255.0F;
+ float f2 = (float)(startColor >> 8 & 255) / 255.0F;
+ float f3 = (float)(startColor & 255) / 255.0F;
+ float f4 = (float)(endColor >> 24 & 255) / 255.0F;
+ float f5 = (float)(endColor >> 16 & 255) / 255.0F;
+ float f6 = (float)(endColor >> 8 & 255) / 255.0F;
+ float f7 = (float)(endColor & 255) / 255.0F;
+ GlStateManager.disableTexture2D();
+ GlStateManager.enableBlend();
+ GlStateManager.disableAlpha();
+ GlStateManager.tryBlendFuncSeparate(770, 771, 1, 0);
+ GlStateManager.shadeModel(7425);
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION_COLOR);
+ worldrenderer.pos((double)right, (double)top, 0).color(f5, f6, f7, f4).endVertex();
+ worldrenderer.pos((double)left, (double)top, 0).color(f1, f2, f3, f).endVertex();
+ worldrenderer.pos((double)left, (double)bottom, 0).color(f1, f2, f3, f).endVertex();
+ worldrenderer.pos((double)right, (double)bottom, 0).color(f5, f6, f7, f4).endVertex();
+ tessellator.draw();
+ GlStateManager.shadeModel(7424);
+ GlStateManager.disableBlend();
+ GlStateManager.enableAlpha();
+ GlStateManager.enableTexture2D();
+ }
+
public static void drawHoveringText(List<String> textLines, final int mouseX, final int mouseY, final int screenWidth, final int screenHeight, final int maxTextWidth, FontRenderer font) {
drawHoveringText(textLines, mouseX, mouseY, screenWidth, screenHeight, maxTextWidth, font, true);
}
@@ -910,4 +965,34 @@ public class Utils {
GlStateManager.enableTexture2D();
}
+ public static void drawRectNoBlend(int left, int top, int right, int bottom, int color) {
+ if (left < right) {
+ int i = left;
+ left = right;
+ right = i;
+ }
+
+ if (top < bottom) {
+ int j = top;
+ top = bottom;
+ bottom = j;
+ }
+
+ float f3 = (float)(color >> 24 & 255) / 255.0F;
+ float f = (float)(color >> 16 & 255) / 255.0F;
+ float f1 = (float)(color >> 8 & 255) / 255.0F;
+ float f2 = (float)(color & 255) / 255.0F;
+ Tessellator tessellator = Tessellator.getInstance();
+ WorldRenderer worldrenderer = tessellator.getWorldRenderer();
+ GlStateManager.disableTexture2D();
+ GlStateManager.color(f, f1, f2, f3);
+ worldrenderer.begin(7, DefaultVertexFormats.POSITION);
+ worldrenderer.pos((double)left, (double)bottom, 0.0D).endVertex();
+ worldrenderer.pos((double)right, (double)bottom, 0.0D).endVertex();
+ worldrenderer.pos((double)right, (double)top, 0.0D).endVertex();
+ worldrenderer.pos((double)left, (double)top, 0.0D).endVertex();
+ tessellator.draw();
+ GlStateManager.enableTexture2D();
+ }
+
}
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/1.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png
new file mode 100644
index 00000000..6cd64ed1
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/10.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png
new file mode 100644
index 00000000..65898e8f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/11.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png
new file mode 100644
index 00000000..6f0daba0
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/2.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png
new file mode 100644
index 00000000..4c123e77
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/3.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png
new file mode 100644
index 00000000..833b9017
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/4.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png
new file mode 100644
index 00000000..93bef87d
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/5.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.png
new file mode 100644
index 00000000..43d71ad1
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/6.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.png
new file mode 100644
index 00000000..054e0e84
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/7.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json
new file mode 100644
index 00000000..b2625fc5
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.21
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png
new file mode 100644
index 00000000..54db6fbc
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/large/8.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png
new file mode 100644
index 00000000..c79eee7f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/map_border_dragon_stone.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/1.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png
new file mode 100644
index 00000000..4f4b1dc7
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/10.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png
new file mode 100644
index 00000000..3730ab57
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/11.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.png
new file mode 100644
index 00000000..3627d35e
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/2.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png
new file mode 100644
index 00000000..68824d04
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/3.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png
new file mode 100644
index 00000000..3b8776e7
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/4.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png
new file mode 100644
index 00000000..3a708494
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/5.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.png
new file mode 100644
index 00000000..149c4117
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/6.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.png
new file mode 100644
index 00000000..8b3ae258
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/7.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json
new file mode 100644
index 00000000..8c12699d
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.22
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png
new file mode 100644
index 00000000..c131badf
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/medium/8.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/1.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png
new file mode 100644
index 00000000..b9bcac1d
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/10.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png
new file mode 100644
index 00000000..2fdbe252
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/11.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.png
new file mode 100644
index 00000000..c1b2e303
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/2.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png
new file mode 100644
index 00000000..fe0ba4b9
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/3.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png
new file mode 100644
index 00000000..bd580c8e
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/4.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json
new file mode 100644
index 00000000..23e86d67
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.25
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png
new file mode 100644
index 00000000..6f2bdc29
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/5.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.png
new file mode 100644
index 00000000..0bf30077
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/6.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.png
new file mode 100644
index 00000000..a060875a
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/7.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json
new file mode 100644
index 00000000..8c12699d
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 0.22
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png
new file mode 100644
index 00000000..5dd06a89
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/8.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json
new file mode 100644
index 00000000..9576ae4f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.json
@@ -0,0 +1,3 @@
+{
+ "radiusSq": 1
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png
new file mode 100644
index 00000000..1d275525
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/small/9.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png
new file mode 100644
index 00000000..3d1c0833
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/borders/steampunk.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corners_default/brown_corner.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corners_default/brown_corner.png
new file mode 100644
index 00000000..23ae39fd
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corners_default/brown_corner.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/brown_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/brown_corridor.png
new file mode 100644
index 00000000..abc06bab
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/brown_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/gray_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/gray_corridor.png
new file mode 100644
index 00000000..78deccbb
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/gray_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/green_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/green_corridor.png
new file mode 100644
index 00000000..8ae999fc
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/green_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/orange_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/orange_corridor.png
new file mode 100644
index 00000000..62515723
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/orange_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/pink_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/pink_corridor.png
new file mode 100644
index 00000000..89dfc4b3
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/pink_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/purple_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/purple_corridor.png
new file mode 100644
index 00000000..a1fcfc83
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/purple_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/red_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/red_corridor.png
new file mode 100644
index 00000000..ec80a4c5
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/red_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/yellow_corridor.png b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/yellow_corridor.png
new file mode 100644
index 00000000..cc10b875
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/corridors_default/yellow_corridor.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/dividers_default/brown_divider.png b/src/main/resources/assets/notenoughupdates/dungeon_map/dividers_default/brown_divider.png
new file mode 100644
index 00000000..30a0357c
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/dividers_default/brown_divider.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/editor/background.png b/src/main/resources/assets/notenoughupdates/dungeon_map/editor/background.png
new file mode 100644
index 00000000..7e8f68ea
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/editor/background.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/dungeon_map/rooms_default/orange_room.png b/src/main/resources/assets/notenoughupdates/dungeon_map/rooms_default/orange_room.png
new file mode 100644
index 00000000..5e32636a
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/dungeon_map/rooms_default/orange_room.png
Binary files differ
diff --git a/src/main/resources/assets/notenoughupdates/maps/F1Full.json b/src/main/resources/assets/notenoughupdates/maps/F1Full.json
new file mode 100644
index 00000000..44d72fc8
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/maps/F1Full.json
@@ -0,0 +1,16386 @@
+{
+ "0:0": 268435456,
+ "1:0": 402653184,
+ "2:0": 268435456,
+ "3:0": 402653184,
+ "4:0": 268435456,
+ "5:0": 402653184,
+ "6:0": 268435456,
+ "7:0": 402653184,
+ "8:0": 268435456,
+ "9:0": 402653184,
+ "10:0": 268435456,
+ "11:0": 402653184,
+ "12:0": 268435456,
+ "13:0": 402653184,
+ "14:0": 268435456,
+ "15:0": 402653184,
+ "16:0": 268435456,
+ "17:0": 402653184,
+ "18:0": 268435456,
+ "19:0": 402653184,
+ "20:0": 268435456,
+ "21:0": 402653184,
+ "22:0": 268435456,
+ "23:0": 402653184,
+ "24:0": 268435456,
+ "25:0": 402653184,
+ "26:0": 268435456,
+ "27:0": 402653184,
+ "28:0": 268435456,
+ "29:0": 402653184,
+ "30:0": 268435456,
+ "31:0": 402653184,
+ "32:0": 268435456,
+ "33:0": 402653184,
+ "34:0": 268435456,
+ "35:0": 402653184,
+ "36:0": 268435456,
+ "37:0": 402653184,
+ "38:0": 268435456,
+ "39:0": 402653184,
+ "40:0": 268435456,
+ "41:0": 402653184,
+ "42:0": 268435456,
+ "43:0": 402653184,
+ "44:0": 268435456,
+ "45:0": 402653184,
+ "46:0": 268435456,
+ "47:0": 402653184,
+ "48:0": 268435456,
+ "49:0": 402653184,
+ "50:0": 268435456,
+ "51:0": 402653184,
+ "52:0": 268435456,
+ "53:0": 402653184,
+ "54:0": 268435456,
+ "55:0": 402653184,
+ "56:0": 268435456,
+ "57:0": 402653184,
+ "58:0": 268435456,
+ "59:0": 402653184,
+ "60:0": 268435456,
+ "61:0": 402653184,
+ "62:0": 268435456,
+ "63:0": 402653184,
+ "64:0": 268435456,
+ "65:0": 402653184,
+ "66:0": 268435456,
+ "67:0": 402653184,
+ "68:0": 268435456,
+ "69:0": 402653184,
+ "70:0": 268435456,
+ "71:0": 402653184,
+ "72:0": 268435456,
+ "73:0": 402653184,
+ "74:0": 268435456,
+ "75:0": 402653184,
+ "76:0": 268435456,
+ "77:0": 402653184,
+ "78:0": 268435456,
+ "79:0": 402653184,
+ "80:0": 268435456,
+ "81:0": 402653184,
+ "82:0": 268435456,
+ "83:0": 402653184,
+ "84:0": 268435456,
+ "85:0": 402653184,
+ "86:0": 268435456,
+ "87:0": 402653184,
+ "88:0": 268435456,
+ "89:0": 402653184,
+ "90:0": 268435456,
+ "91:0": 402653184,
+ "92:0": 268435456,
+ "93:0": 402653184,
+ "94:0": 268435456,
+ "95:0": 402653184,
+ "96:0": 268435456,
+ "97:0": 402653184,
+ "98:0": 268435456,
+ "99:0": 402653184,
+ "100:0": 268435456,
+ "101:0": 402653184,
+ "102:0": 268435456,
+ "103:0": 402653184,
+ "104:0": 268435456,
+ "105:0": 402653184,
+ "106:0": 268435456,
+ "107:0": 402653184,
+ "108:0": 268435456,
+ "109:0": 402653184,
+ "110:0": 268435456,
+ "111:0": 402653184,
+ "112:0": 268435456,
+ "113:0": 402653184,
+ "114:0": 268435456,
+ "115:0": 402653184,
+ "116:0": 268435456,
+ "117:0": 402653184,
+ "118:0": 268435456,
+ "119:0": 402653184,
+ "120:0": 268435456,
+ "121:0": 402653184,
+ "122:0": 268435456,
+ "123:0": 402653184,
+ "124:0": 268435456,
+ "125:0": 402653184,
+ "126:0": 268435456,
+ "127:0": 402653184,
+ "0:1": 402653184,
+ "1:1": 268435456,
+ "2:1": 402653184,
+ "3:1": 268435456,
+ "4:1": 402653184,
+ "5:1": 268435456,
+ "6:1": 402653184,
+ "7:1": 268435456,
+ "8:1": 402653184,
+ "9:1": 268435456,
+ "10:1": 402653184,
+ "11:1": 268435456,
+ "12:1": 402653184,
+ "13:1": 268435456,
+ "14:1": 402653184,
+ "15:1": 268435456,
+ "16:1": 402653184,
+ "17:1": 268435456,
+ "18:1": 402653184,
+ "19:1": 268435456,
+ "20:1": 402653184,
+ "21:1": 268435456,
+ "22:1": 402653184,
+ "23:1": 268435456,
+ "24:1": 402653184,
+ "25:1": 268435456,
+ "26:1": 402653184,
+ "27:1": 268435456,
+ "28:1": 402653184,
+ "29:1": 268435456,
+ "30:1": 402653184,
+ "31:1": 268435456,
+ "32:1": 402653184,
+ "33:1": 268435456,
+ "34:1": 402653184,
+ "35:1": 268435456,
+ "36:1": 402653184,
+ "37:1": 268435456,
+ "38:1": 402653184,
+ "39:1": 268435456,
+ "40:1": 402653184,
+ "41:1": 268435456,
+ "42:1": 402653184,
+ "43:1": 268435456,
+ "44:1": 402653184,
+ "45:1": 268435456,
+ "46:1": 402653184,
+ "47:1": 268435456,
+ "48:1": 402653184,
+ "49:1": 268435456,
+ "50:1": 402653184,
+ "51:1": 268435456,
+ "52:1": 402653184,
+ "53:1": 268435456,
+ "54:1": 402653184,
+ "55:1": 268435456,
+ "56:1": 402653184,
+ "57:1": 268435456,
+ "58:1": 402653184,
+ "59:1": 268435456,
+ "60:1": 402653184,
+ "61:1": 268435456,
+ "62:1": 402653184,
+ "63:1": 268435456,
+ "64:1": 402653184,
+ "65:1": 268435456,
+ "66:1": 402653184,
+ "67:1": 268435456,
+ "68:1": 402653184,
+ "69:1": 268435456,
+ "70:1": 402653184,
+ "71:1": 268435456,
+ "72:1": 402653184,
+ "73:1": 268435456,
+ "74:1": 402653184,
+ "75:1": 268435456,
+ "76:1": 402653184,
+ "77:1": 268435456,
+ "78:1": 402653184,
+ "79:1": 268435456,
+ "80:1": 402653184,
+ "81:1": 268435456,
+ "82:1": 402653184,
+ "83:1": 268435456,
+ "84:1": 402653184,
+ "85:1": 268435456,
+ "86:1": 402653184,
+ "87:1": 268435456,
+ "88:1": 402653184,
+ "89:1": 268435456,
+ "90:1": 402653184,
+ "91:1": 268435456,
+ "92:1": 402653184,
+ "93:1": 268435456,
+ "94:1": 402653184,
+ "95:1": 268435456,
+ "96:1": 402653184,
+ "97:1": 268435456,
+ "98:1": 402653184,
+ "99:1": 268435456,
+ "100:1": 402653184,
+ "101:1": 268435456,
+ "102:1": 402653184,
+ "103:1": 268435456,
+ "104:1": 402653184,
+ "105:1": 268435456,
+ "106:1": 402653184,
+ "107:1": 268435456,
+ "108:1": 402653184,
+ "109:1": 268435456,
+ "110:1": 402653184,
+ "111:1": 268435456,
+ "112:1": 402653184,
+ "113:1": 268435456,
+ "114:1": 402653184,
+ "115:1": 268435456,
+ "116:1": 402653184,
+ "117:1": 268435456,
+ "118:1": 402653184,
+ "119:1": 268435456,
+ "120:1": 402653184,
+ "121:1": 268435456,
+ "122:1": 402653184,
+ "123:1": 268435456,
+ "124:1": 402653184,
+ "125:1": 268435456,
+ "126:1": 402653184,
+ "127:1": 268435456,
+ "0:2": 268435456,
+ "1:2": 402653184,
+ "2:2": 268435456,
+ "3:2": 402653184,
+ "4:2": 268435456,
+ "5:2": 402653184,
+ "6:2": 268435456,
+ "7:2": 402653184,
+ "8:2": 268435456,
+ "9:2": 402653184,
+ "10:2": 268435456,
+ "11:2": 402653184,
+ "12:2": 268435456,
+ "13:2": 402653184,
+ "14:2": 268435456,
+ "15:2": 402653184,
+ "16:2": 268435456,
+ "17:2": 402653184,
+ "18:2": 268435456,
+ "19:2": 402653184,
+ "20:2": 268435456,
+ "21:2": 402653184,
+ "22:2": 268435456,
+ "23:2": 402653184,
+ "24:2": 268435456,
+ "25:2": 402653184,
+ "26:2": 268435456,
+ "27:2": 402653184,
+ "28:2": 268435456,
+ "29:2": 402653184,
+ "30:2": 268435456,
+ "31:2": 402653184,
+ "32:2": 268435456,
+ "33:2": 402653184,
+ "34:2": 268435456,
+ "35:2": 402653184,
+ "36:2": 268435456,
+ "37:2": 402653184,
+ "38:2": 268435456,
+ "39:2": 402653184,
+ "40:2": 268435456,
+ "41:2": 402653184,
+ "42:2": 268435456,
+ "43:2": 402653184,
+ "44:2": 268435456,
+ "45:2": 402653184,
+ "46:2": 268435456,
+ "47:2": 402653184,
+ "48:2": 268435456,
+ "49:2": 402653184,
+ "50:2": 268435456,
+ "51:2": 402653184,
+ "52:2": 268435456,
+ "53:2": 402653184,
+ "54:2": 268435456,
+ "55:2": 402653184,
+ "56:2": 268435456,
+ "57:2": 402653184,
+ "58:2": 268435456,
+ "59:2": 402653184,
+ "60:2": 268435456,
+ "61:2": 402653184,
+ "62:2": 268435456,
+ "63:2": 402653184,
+ "64:2": 268435456,
+ "65:2": 402653184,
+ "66:2": 268435456,
+ "67:2": 402653184,
+ "68:2": 268435456,
+ "69:2": 402653184,
+ "70:2": 268435456,
+ "71:2": 402653184,
+ "72:2": 268435456,
+ "73:2": 402653184,
+ "74:2": 268435456,
+ "75:2": 402653184,
+ "76:2": 268435456,
+ "77:2": 402653184,
+ "78:2": 268435456,
+ "79:2": 402653184,
+ "80:2": 268435456,
+ "81:2": 402653184,
+ "82:2": 268435456,
+ "83:2": 402653184,
+ "84:2": 268435456,
+ "85:2": 402653184,
+ "86:2": 268435456,
+ "87:2": 402653184,
+ "88:2": 268435456,
+ "89:2": 402653184,
+ "90:2": 268435456,
+ "91:2": 402653184,
+ "92:2": 268435456,
+ "93:2": 402653184,
+ "94:2": 268435456,
+ "95:2": 402653184,
+ "96:2": 268435456,
+ "97:2": 402653184,
+ "98:2": 268435456,
+ "99:2": 402653184,
+ "100:2": 268435456,
+ "101:2": 402653184,
+ "102:2": 268435456,
+ "103:2": 402653184,
+ "104:2": 268435456,
+ "105:2": 402653184,
+ "106:2": 268435456,
+ "107:2": 402653184,
+ "108:2": 268435456,
+ "109:2": 402653184,
+ "110:2": 268435456,
+ "111:2": 402653184,
+ "112:2": 268435456,
+ "113:2": 402653184,
+ "114:2": 268435456,
+ "115:2": 402653184,
+ "116:2": 268435456,
+ "117:2": 402653184,
+ "118:2": 268435456,
+ "119:2": 402653184,
+ "120:2": 268435456,
+ "121:2": 402653184,
+ "122:2": 268435456,
+ "123:2": 402653184,
+ "124:2": 268435456,
+ "125:2": 402653184,
+ "126:2": 268435456,
+ "127:2": 402653184,
+ "0:3": 402653184,
+ "1:3": 268435456,
+ "2:3": 402653184,
+ "3:3": 268435456,
+ "4:3": 402653184,
+ "5:3": 268435456,
+ "6:3": 402653184,
+ "7:3": 268435456,
+ "8:3": 402653184,
+ "9:3": 268435456,
+ "10:3": 402653184,
+ "11:3": 268435456,
+ "12:3": 402653184,
+ "13:3": 268435456,
+ "14:3": 402653184,
+ "15:3": 268435456,
+ "16:3": 402653184,
+ "17:3": 268435456,
+ "18:3": 402653184,
+ "19:3": 268435456,
+ "20:3": 402653184,
+ "21:3": 268435456,
+ "22:3": 402653184,
+ "23:3": 268435456,
+ "24:3": 402653184,
+ "25:3": 268435456,
+ "26:3": 402653184,
+ "27:3": 268435456,
+ "28:3": 402653184,
+ "29:3": 268435456,
+ "30:3": 402653184,
+ "31:3": 268435456,
+ "32:3": 402653184,
+ "33:3": 268435456,
+ "34:3": 402653184,
+ "35:3": 268435456,
+ "36:3": 402653184,
+ "37:3": 268435456,
+ "38:3": 402653184,
+ "39:3": 268435456,
+ "40:3": 402653184,
+ "41:3": 268435456,
+ "42:3": 402653184,
+ "43:3": 268435456,
+ "44:3": 402653184,
+ "45:3": 268435456,
+ "46:3": 402653184,
+ "47:3": 268435456,
+ "48:3": 402653184,
+ "49:3": 268435456,
+ "50:3": 402653184,
+ "51:3": 268435456,
+ "52:3": 402653184,
+ "53:3": 268435456,
+ "54:3": 402653184,
+ "55:3": 268435456,
+ "56:3": 402653184,
+ "57:3": 268435456,
+ "58:3": 402653184,
+ "59:3": 268435456,
+ "60:3": 402653184,
+ "61:3": 268435456,
+ "62:3": 402653184,
+ "63:3": 268435456,
+ "64:3": 402653184,
+ "65:3": 268435456,
+ "66:3": 402653184,
+ "67:3": 268435456,
+ "68:3": 402653184,
+ "69:3": 268435456,
+ "70:3": 402653184,
+ "71:3": 268435456,
+ "72:3": 402653184,
+ "73:3": 268435456,
+ "74:3": 402653184,
+ "75:3": 268435456,
+ "76:3": 402653184,
+ "77:3": 268435456,
+ "78:3": 402653184,
+ "79:3": 268435456,
+ "80:3": 402653184,
+ "81:3": 268435456,
+ "82:3": 402653184,
+ "83:3": 268435456,
+ "84:3": 402653184,
+ "85:3": 268435456,
+ "86:3": 402653184,
+ "87:3": 268435456,
+ "88:3": 402653184,
+ "89:3": 268435456,
+ "90:3": 402653184,
+ "91:3": 268435456,
+ "92:3": 402653184,
+ "93:3": 268435456,
+ "94:3": 402653184,
+ "95:3": 268435456,
+ "96:3": 402653184,
+ "97:3": 268435456,
+ "98:3": 402653184,
+ "99:3": 268435456,
+ "100:3": 402653184,
+ "101:3": 268435456,
+ "102:3": 402653184,
+ "103:3": 268435456,
+ "104:3": 402653184,
+ "105:3": 268435456,
+ "106:3": 402653184,
+ "107:3": 268435456,
+ "108:3": 402653184,
+ "109:3": 268435456,
+ "110:3": 402653184,
+ "111:3": 268435456,
+ "112:3": 402653184,
+ "113:3": 268435456,
+ "114:3": 402653184,
+ "115:3": 268435456,
+ "116:3": 402653184,
+ "117:3": 268435456,
+ "118:3": 402653184,
+ "119:3": 268435456,
+ "120:3": 402653184,
+ "121:3": 268435456,
+ "122:3": 402653184,
+ "123:3": 268435456,
+ "124:3": 402653184,
+ "125:3": 268435456,
+ "126:3": 402653184,
+ "127:3": 268435456,
+ "0:4": 268435456,
+ "1:4": 402653184,
+ "2:4": 268435456,
+ "3:4": 402653184,
+ "4:4": 268435456,
+ "5:4": 402653184,
+ "6:4": 268435456,
+ "7:4": 402653184,
+ "8:4": 268435456,
+ "9:4": 402653184,
+ "10:4": 268435456,
+ "11:4": 402653184,
+ "12:4": 268435456,
+ "13:4": 402653184,
+ "14:4": 268435456,
+ "15:4": 402653184,
+ "16:4": 268435456,
+ "17:4": 402653184,
+ "18:4": 268435456,
+ "19:4": 402653184,
+ "20:4": 268435456,
+ "21:4": 402653184,
+ "22:4": 268435456,
+ "23:4": 402653184,
+ "24:4": 268435456,
+ "25:4": 402653184,
+ "26:4": 268435456,
+ "27:4": 402653184,
+ "28:4": 268435456,
+ "29:4": 402653184,
+ "30:4": 268435456,
+ "31:4": 402653184,
+ "32:4": 268435456,
+ "33:4": 402653184,
+ "34:4": 268435456,
+ "35:4": 402653184,
+ "36:4": 268435456,
+ "37:4": 402653184,
+ "38:4": 268435456,
+ "39:4": 402653184,
+ "40:4": 268435456,
+ "41:4": 402653184,
+ "42:4": 268435456,
+ "43:4": 402653184,
+ "44:4": 268435456,
+ "45:4": 402653184,
+ "46:4": 268435456,
+ "47:4": 402653184,
+ "48:4": 268435456,
+ "49:4": 402653184,
+ "50:4": 268435456,
+ "51:4": 402653184,
+ "52:4": 268435456,
+ "53:4": 402653184,
+ "54:4": 268435456,
+ "55:4": 402653184,
+ "56:4": 268435456,
+ "57:4": 402653184,
+ "58:4": 268435456,
+ "59:4": 402653184,
+ "60:4": 268435456,
+ "61:4": 402653184,
+ "62:4": 268435456,
+ "63:4": 402653184,
+ "64:4": 268435456,
+ "65:4": 402653184,
+ "66:4": 268435456,
+ "67:4": 402653184,
+ "68:4": 268435456,
+ "69:4": 402653184,
+ "70:4": 268435456,
+ "71:4": 402653184,
+ "72:4": 268435456,
+ "73:4": 402653184,
+ "74:4": 268435456,
+ "75:4": 402653184,
+ "76:4": 268435456,
+ "77:4": 402653184,
+ "78:4": 268435456,
+ "79:4": 402653184,
+ "80:4": 268435456,
+ "81:4": 402653184,
+ "82:4": 268435456,
+ "83:4": 402653184,
+ "84:4": 268435456,
+ "85:4": 402653184,
+ "86:4": 268435456,
+ "87:4": 402653184,
+ "88:4": 268435456,
+ "89:4": 402653184,
+ "90:4": 268435456,
+ "91:4": 402653184,
+ "92:4": 268435456,
+ "93:4": 402653184,
+ "94:4": 268435456,
+ "95:4": 402653184,
+ "96:4": 268435456,
+ "97:4": 402653184,
+ "98:4": 268435456,
+ "99:4": 402653184,
+ "100:4": 268435456,
+ "101:4": 402653184,
+ "102:4": 268435456,
+ "103:4": 402653184,
+ "104:4": 268435456,
+ "105:4": 402653184,
+ "106:4": 268435456,
+ "107:4": 402653184,
+ "108:4": 268435456,
+ "109:4": 402653184,
+ "110:4": 268435456,
+ "111:4": 402653184,
+ "112:4": 268435456,
+ "113:4": 402653184,
+ "114:4": 268435456,
+ "115:4": 402653184,
+ "116:4": 268435456,
+ "117:4": 402653184,
+ "118:4": 268435456,
+ "119:4": 402653184,
+ "120:4": 268435456,
+ "121:4": 402653184,
+ "122:4": 268435456,
+ "123:4": 402653184,
+ "124:4": 268435456,
+ "125:4": 402653184,
+ "126:4": 268435456,
+ "127:4": 402653184,
+ "0:5": 402653184,
+ "1:5": 268435456,
+ "2:5": 402653184,
+ "3:5": 268435456,
+ "4:5": 402653184,
+ "5:5": 268435456,
+ "6:5": 402653184,
+ "7:5": 268435456,
+ "8:5": 402653184,
+ "9:5": 268435456,
+ "10:5": 402653184,
+ "11:5": 268435456,
+ "12:5": 402653184,
+ "13:5": 268435456,
+ "14:5": 402653184,
+ "15:5": 268435456,
+ "16:5": 402653184,
+ "17:5": 268435456,
+ "18:5": 402653184,
+ "19:5": 268435456,
+ "20:5": 402653184,
+ "21:5": 268435456,
+ "22:5": 402653184,
+ "23:5": 268435456,
+ "24:5": 402653184,
+ "25:5": 268435456,
+ "26:5": 402653184,
+ "27:5": 268435456,
+ "28:5": 402653184,
+ "29:5": 268435456,
+ "30:5": 402653184,
+ "31:5": 268435456,
+ "32:5": 402653184,
+ "33:5": 268435456,
+ "34:5": 402653184,
+ "35:5": 268435456,
+ "36:5": 402653184,
+ "37:5": 268435456,
+ "38:5": 402653184,
+ "39:5": 268435456,
+ "40:5": 402653184,
+ "41:5": 268435456,
+ "42:5": 402653184,
+ "43:5": 268435456,
+ "44:5": 402653184,
+ "45:5": 268435456,
+ "46:5": 402653184,
+ "47:5": 268435456,
+ "48:5": 402653184,
+ "49:5": 268435456,
+ "50:5": 402653184,
+ "51:5": 268435456,
+ "52:5": 402653184,
+ "53:5": 268435456,
+ "54:5": 402653184,
+ "55:5": 268435456,
+ "56:5": 402653184,
+ "57:5": 268435456,
+ "58:5": 402653184,
+ "59:5": 268435456,
+ "60:5": 402653184,
+ "61:5": 268435456,
+ "62:5": 402653184,
+ "63:5": 268435456,
+ "64:5": 402653184,
+ "65:5": 268435456,
+ "66:5": 402653184,
+ "67:5": 268435456,
+ "68:5": 402653184,
+ "69:5": 268435456,
+ "70:5": 402653184,
+ "71:5": 268435456,
+ "72:5": 402653184,
+ "73:5": 268435456,
+ "74:5": 402653184,
+ "75:5": 268435456,
+ "76:5": 402653184,
+ "77:5": 268435456,
+ "78:5": 402653184,
+ "79:5": 268435456,
+ "80:5": 402653184,
+ "81:5": 268435456,
+ "82:5": 402653184,
+ "83:5": 268435456,
+ "84:5": 402653184,
+ "85:5": 268435456,
+ "86:5": 402653184,
+ "87:5": 268435456,
+ "88:5": 402653184,
+ "89:5": 268435456,
+ "90:5": 402653184,
+ "91:5": 268435456,
+ "92:5": 402653184,
+ "93:5": 268435456,
+ "94:5": 402653184,
+ "95:5": 268435456,
+ "96:5": 402653184,
+ "97:5": 268435456,
+ "98:5": 402653184,
+ "99:5": 268435456,
+ "100:5": 402653184,
+ "101:5": 268435456,
+ "102:5": 402653184,
+ "103:5": 268435456,
+ "104:5": 402653184,
+ "105:5": 268435456,
+ "106:5": 402653184,
+ "107:5": 268435456,
+ "108:5": 402653184,
+ "109:5": 268435456,
+ "110:5": 402653184,
+ "111:5": 268435456,
+ "112:5": 402653184,
+ "113:5": 268435456,
+ "114:5": 402653184,
+ "115:5": 268435456,
+ "116:5": 402653184,
+ "117:5": 268435456,
+ "118:5": 402653184,
+ "119:5": 268435456,
+ "120:5": 402653184,
+ "121:5": 268435456,
+ "122:5": 402653184,
+ "123:5": 268435456,
+ "124:5": 402653184,
+ "125:5": 268435456,
+ "126:5": 402653184,
+ "127:5": 268435456,
+ "0:6": 268435456,
+ "1:6": 402653184,
+ "2:6": 268435456,
+ "3:6": 402653184,
+ "4:6": 268435456,
+ "5:6": 402653184,
+ "6:6": 268435456,
+ "7:6": 402653184,
+ "8:6": 268435456,
+ "9:6": 402653184,
+ "10:6": 268435456,
+ "11:6": 402653184,
+ "12:6": 268435456,
+ "13:6": 402653184,
+ "14:6": 268435456,
+ "15:6": 402653184,
+ "16:6": 268435456,
+ "17:6": 402653184,
+ "18:6": 268435456,
+ "19:6": 402653184,
+ "20:6": 268435456,
+ "21:6": 402653184,
+ "22:6": 268435456,
+ "23:6": 402653184,
+ "24:6": 268435456,
+ "25:6": 402653184,
+ "26:6": 268435456,
+ "27:6": 402653184,
+ "28:6": 268435456,
+ "29:6": 402653184,
+ "30:6": 268435456,
+ "31:6": 402653184,
+ "32:6": 268435456,
+ "33:6": 402653184,
+ "34:6": 268435456,
+ "35:6": 402653184,
+ "36:6": 268435456,
+ "37:6": 402653184,
+ "38:6": 268435456,
+ "39:6": 402653184,
+ "40:6": 268435456,
+ "41:6": 402653184,
+ "42:6": 268435456,
+ "43:6": 402653184,
+ "44:6": 268435456,
+ "45:6": 402653184,
+ "46:6": 268435456,
+ "47:6": 402653184,
+ "48:6": 268435456,
+ "49:6": 402653184,
+ "50:6": 268435456,
+ "51:6": 402653184,
+ "52:6": 268435456,
+ "53:6": 402653184,
+ "54:6": 268435456,
+ "55:6": 402653184,
+ "56:6": 268435456,
+ "57:6": 402653184,
+ "58:6": 268435456,
+ "59:6": 402653184,
+ "60:6": 268435456,
+ "61:6": 402653184,
+ "62:6": 268435456,
+ "63:6": 402653184,
+ "64:6": 268435456,
+ "65:6": 402653184,
+ "66:6": 268435456,
+ "67:6": 402653184,
+ "68:6": 268435456,
+ "69:6": 402653184,
+ "70:6": 268435456,
+ "71:6": 402653184,
+ "72:6": 268435456,
+ "73:6": 402653184,
+ "74:6": 268435456,
+ "75:6": 402653184,
+ "76:6": 268435456,
+ "77:6": 402653184,
+ "78:6": 268435456,
+ "79:6": 402653184,
+ "80:6": 268435456,
+ "81:6": 402653184,
+ "82:6": 268435456,
+ "83:6": 402653184,
+ "84:6": 268435456,
+ "85:6": 402653184,
+ "86:6": 268435456,
+ "87:6": 402653184,
+ "88:6": 268435456,
+ "89:6": 402653184,
+ "90:6": 268435456,
+ "91:6": 402653184,
+ "92:6": 268435456,
+ "93:6": 402653184,
+ "94:6": 268435456,
+ "95:6": 402653184,
+ "96:6": 268435456,
+ "97:6": 402653184,
+ "98:6": 268435456,
+ "99:6": 402653184,
+ "100:6": 268435456,
+ "101:6": 402653184,
+ "102:6": 268435456,
+ "103:6": 402653184,
+ "104:6": 268435456,
+ "105:6": 402653184,
+ "106:6": 268435456,
+ "107:6": 402653184,
+ "108:6": 268435456,
+ "109:6": 402653184,
+ "110:6": 268435456,
+ "111:6": 402653184,
+ "112:6": 268435456,
+ "113:6": 402653184,
+ "114:6": 268435456,
+ "115:6": 402653184,
+ "116:6": 268435456,
+ "117:6": 402653184,
+ "118:6": 268435456,
+ "119:6": 402653184,
+ "120:6": 268435456,
+ "121:6": 402653184,
+ "122:6": 268435456,
+ "123:6": 402653184,
+ "124:6": 268435456,
+ "125:6": 402653184,
+ "126:6": 268435456,
+ "127:6": 402653184,
+ "0:7": 402653184,
+ "1:7": 268435456,
+ "2:7": 402653184,
+ "3:7": 268435456,
+ "4:7": 402653184,
+ "5:7": 268435456,
+ "6:7": 402653184,
+ "7:7": 268435456,
+ "8:7": 402653184,
+ "9:7": 268435456,
+ "10:7": 402653184,
+ "11:7": 268435456,
+ "12:7": 402653184,
+ "13:7": 268435456,
+ "14:7": 402653184,
+ "15:7": 268435456,
+ "16:7": 402653184,
+ "17:7": 268435456,
+ "18:7": 402653184,
+ "19:7": 268435456,
+ "20:7": 402653184,
+ "21:7": 268435456,
+ "22:7": 402653184,
+ "23:7": 268435456,
+ "24:7": 402653184,
+ "25:7": 268435456,
+ "26:7": 402653184,
+ "27:7": 268435456,
+ "28:7": 402653184,
+ "29:7": 268435456,
+ "30:7": 402653184,
+ "31:7": 268435456,
+ "32:7": 402653184,
+ "33:7": 268435456,
+ "34:7": 402653184,
+ "35:7": 268435456,
+ "36:7": 402653184,
+ "37:7": 268435456,
+ "38:7": 402653184,
+ "39:7": 268435456,
+ "40:7": 402653184,
+ "41:7": 268435456,
+ "42:7": 402653184,
+ "43:7": 268435456,
+ "44:7": 402653184,
+ "45:7": 268435456,
+ "46:7": 402653184,
+ "47:7": 268435456,
+ "48:7": 402653184,
+ "49:7": 268435456,
+ "50:7": 402653184,
+ "51:7": 268435456,
+ "52:7": 402653184,
+ "53:7": 268435456,
+ "54:7": 402653184,
+ "55:7": 268435456,
+ "56:7": 402653184,
+ "57:7": 268435456,
+ "58:7": 402653184,
+ "59:7": 268435456,
+ "60:7": 402653184,
+ "61:7": 268435456,
+ "62:7": 402653184,
+ "63:7": 268435456,
+ "64:7": 402653184,
+ "65:7": 268435456,
+ "66:7": 402653184,
+ "67:7": 268435456,
+ "68:7": 402653184,
+ "69:7": 268435456,
+ "70:7": 402653184,
+ "71:7": 268435456,
+ "72:7": 402653184,
+ "73:7": 268435456,
+ "74:7": 402653184,
+ "75:7": 268435456,
+ "76:7": 402653184,
+ "77:7": 268435456,
+ "78:7": 402653184,
+ "79:7": 268435456,
+ "80:7": 402653184,
+ "81:7": 268435456,
+ "82:7": 402653184,
+ "83:7": 268435456,
+ "84:7": 402653184,
+ "85:7": 268435456,
+ "86:7": 402653184,
+ "87:7": 268435456,
+ "88:7": 402653184,
+ "89:7": 268435456,
+ "90:7": 402653184,
+ "91:7": 268435456,
+ "92:7": 402653184,
+ "93:7": 268435456,
+ "94:7": 402653184,
+ "95:7": 268435456,
+ "96:7": 402653184,
+ "97:7": 268435456,
+ "98:7": 402653184,
+ "99:7": 268435456,
+ "100:7": 402653184,
+ "101:7": 268435456,
+ "102:7": 402653184,
+ "103:7": 268435456,
+ "104:7": 402653184,
+ "105:7": 268435456,
+ "106:7": 402653184,
+ "107:7": 268435456,
+ "108:7": 402653184,
+ "109:7": 268435456,
+ "110:7": 402653184,
+ "111:7": 268435456,
+ "112:7": 402653184,
+ "113:7": 268435456,
+ "114:7": 402653184,
+ "115:7": 268435456,
+ "116:7": 402653184,
+ "117:7": 268435456,
+ "118:7": 402653184,
+ "119:7": 268435456,
+ "120:7": 402653184,
+ "121:7": 268435456,
+ "122:7": 402653184,
+ "123:7": 268435456,
+ "124:7": 402653184,
+ "125:7": 268435456,
+ "126:7": 402653184,
+ "127:7": 268435456,
+ "0:8": 268435456,
+ "1:8": 402653184,
+ "2:8": 268435456,
+ "3:8": 402653184,
+ "4:8": 268435456,
+ "5:8": 402653184,
+ "6:8": 268435456,
+ "7:8": 402653184,
+ "8:8": 268435456,
+ "9:8": 402653184,
+ "10:8": 268435456,
+ "11:8": 402653184,
+ "12:8": 268435456,
+ "13:8": 402653184,
+ "14:8": 268435456,
+ "15:8": 402653184,
+ "16:8": 268435456,
+ "17:8": 402653184,
+ "18:8": 268435456,
+ "19:8": 402653184,
+ "20:8": 268435456,
+ "21:8": 402653184,
+ "22:8": 268435456,
+ "23:8": 402653184,
+ "24:8": 268435456,
+ "25:8": 402653184,
+ "26:8": 268435456,
+ "27:8": 402653184,
+ "28:8": 268435456,
+ "29:8": 402653184,
+ "30:8": 268435456,
+ "31:8": 402653184,
+ "32:8": 268435456,
+ "33:8": 402653184,
+ "34:8": 268435456,
+ "35:8": 402653184,
+ "36:8": 268435456,
+ "37:8": 402653184,
+ "38:8": 268435456,
+ "39:8": 402653184,
+ "40:8": 268435456,
+ "41:8": 402653184,
+ "42:8": 268435456,
+ "43:8": 402653184,
+ "44:8": 268435456,
+ "45:8": 402653184,
+ "46:8": 268435456,
+ "47:8": 402653184,
+ "48:8": 268435456,
+ "49:8": 402653184,
+ "50:8": 268435456,
+ "51:8": 402653184,
+ "52:8": 268435456,
+ "53:8": 402653184,
+ "54:8": 268435456,
+ "55:8": 402653184,
+ "56:8": 268435456,
+ "57:8": 402653184,
+ "58:8": 268435456,
+ "59:8": 402653184,
+ "60:8": 268435456,
+ "61:8": 402653184,
+ "62:8": 268435456,
+ "63:8": 402653184,
+ "64:8": 268435456,
+ "65:8": 402653184,
+ "66:8": 268435456,
+ "67:8": 402653184,
+ "68:8": 268435456,
+ "69:8": 402653184,
+ "70:8": 268435456,
+ "71:8": 402653184,
+ "72:8": 268435456,
+ "73:8": 402653184,
+ "74:8": 268435456,
+ "75:8": 402653184,
+ "76:8": 268435456,
+ "77:8": 402653184,
+ "78:8": 268435456,
+ "79:8": 402653184,
+ "80:8": 268435456,
+ "81:8": 402653184,
+ "82:8": 268435456,
+ "83:8": 402653184,
+ "84:8": 268435456,
+ "85:8": 402653184,
+ "86:8": 268435456,
+ "87:8": 402653184,
+ "88:8": 268435456,
+ "89:8": 402653184,
+ "90:8": 268435456,
+ "91:8": 402653184,
+ "92:8": 268435456,
+ "93:8": 402653184,
+ "94:8": 268435456,
+ "95:8": 402653184,
+ "96:8": 268435456,
+ "97:8": 402653184,
+ "98:8": 268435456,
+ "99:8": 402653184,
+ "100:8": 268435456,
+ "101:8": 402653184,
+ "102:8": 268435456,
+ "103:8": 402653184,
+ "104:8": 268435456,
+ "105:8": 402653184,
+ "106:8": 268435456,
+ "107:8": 402653184,
+ "108:8": 268435456,
+ "109:8": 402653184,
+ "110:8": 268435456,
+ "111:8": 402653184,
+ "112:8": 268435456,
+ "113:8": 402653184,
+ "114:8": 268435456,
+ "115:8": 402653184,
+ "116:8": 268435456,
+ "117:8": 402653184,
+ "118:8": 268435456,
+ "119:8": 402653184,
+ "120:8": 268435456,
+ "121:8": 402653184,
+ "122:8": 268435456,
+ "123:8": 402653184,
+ "124:8": 268435456,
+ "125:8": 402653184,
+ "126:8": 268435456,
+ "127:8": 402653184,
+ "0:9": 402653184,
+ "1:9": 268435456,
+ "2:9": 402653184,
+ "3:9": 268435456,
+ "4:9": 402653184,
+ "5:9": 268435456,
+ "6:9": 402653184,
+ "7:9": 268435456,
+ "8:9": 402653184,
+ "9:9": 268435456,
+ "10:9": 402653184,
+ "11:9": 268435456,
+ "12:9": 402653184,
+ "13:9": 268435456,
+ "14:9": 402653184,
+ "15:9": 268435456,
+ "16:9": 402653184,
+ "17:9": 268435456,
+ "18:9": 402653184,
+ "19:9": 268435456,
+ "20:9": 402653184,
+ "21:9": 268435456,
+ "22:9": 402653184,
+ "23:9": 268435456,
+ "24:9": 402653184,
+ "25:9": 268435456,
+ "26:9": 402653184,
+ "27:9": 268435456,
+ "28:9": 402653184,
+ "29:9": 268435456,
+ "30:9": 402653184,
+ "31:9": 268435456,
+ "32:9": 402653184,
+ "33:9": 268435456,
+ "34:9": 402653184,
+ "35:9": 268435456,
+ "36:9": 402653184,
+ "37:9": 268435456,
+ "38:9": 402653184,
+ "39:9": 268435456,
+ "40:9": 402653184,
+ "41:9": 268435456,
+ "42:9": 402653184,
+ "43:9": 268435456,
+ "44:9": 402653184,
+ "45:9": 268435456,
+ "46:9": 402653184,
+ "47:9": 268435456,
+ "48:9": 402653184,
+ "49:9": 268435456,
+ "50:9": 402653184,
+ "51:9": 268435456,
+ "52:9": 402653184,
+ "53:9": 268435456,
+ "54:9": 402653184,
+ "55:9": 268435456,
+ "56:9": 402653184,
+ "57:9": 268435456,
+ "58:9": 402653184,
+ "59:9": 268435456,
+ "60:9": 402653184,
+ "61:9": 268435456,
+ "62:9": 402653184,
+ "63:9": 268435456,
+ "64:9": 402653184,
+ "65:9": 268435456,
+ "66:9": 402653184,
+ "67:9": 268435456,
+ "68:9": 402653184,
+ "69:9": 268435456,
+ "70:9": 402653184,
+ "71:9": 268435456,
+ "72:9": 402653184,
+ "73:9": 268435456,
+ "74:9": 402653184,
+ "75:9": 268435456,
+ "76:9": 402653184,
+ "77:9": 268435456,
+ "78:9": 402653184,
+ "79:9": 268435456,
+ "80:9": 402653184,
+ "81:9": 268435456,
+ "82:9": 402653184,
+ "83:9": 268435456,
+ "84:9": 402653184,
+ "85:9": 268435456,
+ "86:9": 402653184,
+ "87:9": 268435456,
+ "88:9": 402653184,
+ "89:9": 268435456,
+ "90:9": 402653184,
+ "91:9": 268435456,
+ "92:9": 402653184,
+ "93:9": 268435456,
+ "94:9": 402653184,
+ "95:9": 268435456,
+ "96:9": 402653184,
+ "97:9": 268435456,
+ "98:9": 402653184,
+ "99:9": 268435456,
+ "100:9": 402653184,
+ "101:9": 268435456,
+ "102:9": 402653184,
+ "103:9": 268435456,
+ "104:9": 402653184,
+ "105:9": 268435456,
+ "106:9": 402653184,
+ "107:9": 268435456,
+ "108:9": 402653184,
+ "109:9": 268435456,
+ "110:9": 402653184,
+ "111:9": 268435456,
+ "112:9": 402653184,
+ "113:9": 268435456,
+ "114:9": 402653184,
+ "115:9": 268435456,
+ "116:9": 402653184,
+ "117:9": 268435456,
+ "118:9": 402653184,
+ "119:9": 268435456,
+ "120:9": 402653184,
+ "121:9": 268435456,
+ "122:9": 402653184,
+ "123:9": 268435456,
+ "124:9": 402653184,
+ "125:9": 268435456,
+ "126:9": 402653184,
+ "127:9": 268435456,
+ "0:10": 268435456,
+ "1:10": 402653184,
+ "2:10": 268435456,
+ "3:10": 402653184,
+ "4:10": 268435456,
+ "5:10": 402653184,
+ "6:10": 268435456,
+ "7:10": 402653184,
+ "8:10": 268435456,
+ "9:10": 402653184,
+ "10:10": 268435456,
+ "11:10": 402653184,
+ "12:10": 268435456,
+ "13:10": 402653184,
+ "14:10": 268435456,
+ "15:10": 402653184,
+ "16:10": 268435456,
+ "17:10": 402653184,
+ "18:10": 268435456,
+ "19:10": 402653184,
+ "20:10": 268435456,
+ "21:10": 402653184,
+ "22:10": 268435456,
+ "23:10": 402653184,
+ "24:10": 268435456,
+ "25:10": 402653184,
+ "26:10": 268435456,
+ "27:10": 402653184,
+ "28:10": 268435456,
+ "29:10": 402653184,
+ "30:10": 268435456,
+ "31:10": 402653184,
+ "32:10": 268435456,
+ "33:10": 402653184,
+ "34:10": 268435456,
+ "35:10": 402653184,
+ "36:10": 268435456,
+ "37:10": 402653184,
+ "38:10": 268435456,
+ "39:10": 402653184,
+ "40:10": 268435456,
+ "41:10": 402653184,
+ "42:10": 268435456,
+ "43:10": 402653184,
+ "44:10": 268435456,
+ "45:10": 402653184,
+ "46:10": 268435456,
+ "47:10": 402653184,
+ "48:10": 268435456,
+ "49:10": 402653184,
+ "50:10": 268435456,
+ "51:10": 402653184,
+ "52:10": 268435456,
+ "53:10": 402653184,
+ "54:10": 268435456,
+ "55:10": 402653184,
+ "56:10": 268435456,
+ "57:10": 402653184,
+ "58:10": 268435456,
+ "59:10": 402653184,
+ "60:10": 268435456,
+ "61:10": 402653184,
+ "62:10": 268435456,
+ "63:10": 402653184,
+ "64:10": 268435456,
+ "65:10": 402653184,
+ "66:10": 268435456,
+ "67:10": 402653184,
+ "68:10": 268435456,
+ "69:10": 402653184,
+ "70:10": 268435456,
+ "71:10": 402653184,
+ "72:10": 268435456,
+ "73:10": 402653184,
+ "74:10": 268435456,
+ "75:10": 402653184,
+ "76:10": 268435456,
+ "77:10": 402653184,
+ "78:10": 268435456,
+ "79:10": 402653184,
+ "80:10": 268435456,
+ "81:10": 402653184,
+ "82:10": 268435456,
+ "83:10": 402653184,
+ "84:10": 268435456,
+ "85:10": 402653184,
+ "86:10": 268435456,
+ "87:10": 402653184,
+ "88:10": 268435456,
+ "89:10": 402653184,
+ "90:10": 268435456,
+ "91:10": 402653184,
+ "92:10": 268435456,
+ "93:10": 402653184,
+ "94:10": 268435456,
+ "95:10": 402653184,
+ "96:10": 268435456,
+ "97:10": 402653184,
+ "98:10": 268435456,
+ "99:10": 402653184,
+ "100:10": 268435456,
+ "101:10": 402653184,
+ "102:10": 268435456,
+ "103:10": 402653184,
+ "104:10": 268435456,
+ "105:10": 402653184,
+ "106:10": 268435456,
+ "107:10": 402653184,
+ "108:10": 268435456,
+ "109:10": 402653184,
+ "110:10": 268435456,
+ "111:10": 402653184,
+ "112:10": 268435456,
+ "113:10": 402653184,
+ "114:10": 268435456,
+ "115:10": 402653184,
+ "116:10": 268435456,
+ "117:10": 402653184,
+ "118:10": 268435456,
+ "119:10": 402653184,
+ "120:10": 268435456,
+ "121:10": 402653184,
+ "122:10": 268435456,
+ "123:10": 402653184,
+ "124:10": 268435456,
+ "125:10": 402653184,
+ "126:10": 268435456,
+ "127:10": 402653184,
+ "0:11": 402653184,
+ "1:11": 268435456,
+ "2:11": 402653184,
+ "3:11": 268435456,
+ "4:11": 402653184,
+ "5:11": 268435456,
+ "6:11": 402653184,
+ "7:11": 268435456,
+ "8:11": 402653184,
+ "9:11": 268435456,
+ "10:11": 402653184,
+ "11:11": 268435456,
+ "12:11": 402653184,
+ "13:11": 268435456,
+ "14:11": 402653184,
+ "15:11": 268435456,
+ "16:11": 402653184,
+ "17:11": 268435456,
+ "18:11": 402653184,
+ "19:11": 268435456,
+ "20:11": 402653184,
+ "21:11": 268435456,
+ "22:11": -9288933,
+ "23:11": -9288933,
+ "24:11": -9288933,
+ "25:11": -9288933,
+ "26:11": -9288933,
+ "27:11": -9288933,
+ "28:11": -9288933,
+ "29:11": -9288933,
+ "30:11": -9288933,
+ "31:11": -9288933,
+ "32:11": -9288933,
+ "33:11": -9288933,
+ "34:11": -9288933,
+ "35:11": -9288933,
+ "36:11": -9288933,
+ "37:11": -9288933,
+ "38:11": -9288933,
+ "39:11": -9288933,
+ "40:11": -9288933,
+ "41:11": -9288933,
+ "42:11": -9288933,
+ "43:11": -9288933,
+ "44:11": -9288933,
+ "45:11": -9288933,
+ "46:11": -9288933,
+ "47:11": -9288933,
+ "48:11": -9288933,
+ "49:11": -9288933,
+ "50:11": -9288933,
+ "51:11": -9288933,
+ "52:11": -9288933,
+ "53:11": -9288933,
+ "54:11": -9288933,
+ "55:11": -9288933,
+ "56:11": -9288933,
+ "57:11": -9288933,
+ "58:11": -9288933,
+ "59:11": -9288933,
+ "60:11": -9288933,
+ "61:11": -9288933,
+ "62:11": 402653184,
+ "63:11": 268435456,
+ "64:11": 402653184,
+ "65:11": 268435456,
+ "66:11": -16745472,
+ "67:11": -16745472,
+ "68:11": -16745472,
+ "69:11": -16745472,
+ "70:11": -16745472,
+ "71:11": -16745472,
+ "72:11": -16745472,
+ "73:11": -16745472,
+ "74:11": -16745472,
+ "75:11": -16745472,
+ "76:11": -16745472,
+ "77:11": -16745472,
+ "78:11": -16745472,
+ "79:11": -16745472,
+ "80:11": -16745472,
+ "81:11": -16745472,
+ "82:11": -16745472,
+ "83:11": -16745472,
+ "84:11": 402653184,
+ "85:11": 268435456,
+ "86:11": 402653184,
+ "87:11": 268435456,
+ "88:11": -9288933,
+ "89:11": -9288933,
+ "90:11": -9288933,
+ "91:11": -9288933,
+ "92:11": -9288933,
+ "93:11": -9288933,
+ "94:11": -9288933,
+ "95:11": -9288933,
+ "96:11": -9288933,
+ "97:11": -9288933,
+ "98:11": -9288933,
+ "99:11": -9288933,
+ "100:11": -9288933,
+ "101:11": -9288933,
+ "102:11": -9288933,
+ "103:11": -9288933,
+ "104:11": -9288933,
+ "105:11": -9288933,
+ "106:11": 402653184,
+ "107:11": 268435456,
+ "108:11": 402653184,
+ "109:11": 268435456,
+ "110:11": 402653184,
+ "111:11": 268435456,
+ "112:11": 402653184,
+ "113:11": 268435456,
+ "114:11": 402653184,
+ "115:11": 268435456,
+ "116:11": 402653184,
+ "117:11": 268435456,
+ "118:11": 402653184,
+ "119:11": 268435456,
+ "120:11": 402653184,
+ "121:11": 268435456,
+ "122:11": 402653184,
+ "123:11": 268435456,
+ "124:11": 402653184,
+ "125:11": 268435456,
+ "126:11": 402653184,
+ "127:11": 268435456,
+ "0:12": 268435456,
+ "1:12": 402653184,
+ "2:12": 268435456,
+ "3:12": 402653184,
+ "4:12": 268435456,
+ "5:12": 402653184,
+ "6:12": 268435456,
+ "7:12": 402653184,
+ "8:12": 268435456,
+ "9:12": 402653184,
+ "10:12": 268435456,
+ "11:12": 402653184,
+ "12:12": 268435456,
+ "13:12": 402653184,
+ "14:12": 268435456,
+ "15:12": 402653184,
+ "16:12": 268435456,
+ "17:12": 402653184,
+ "18:12": 268435456,
+ "19:12": 402653184,
+ "20:12": 268435456,
+ "21:12": 402653184,
+ "22:12": -9288933,
+ "23:12": -9288933,
+ "24:12": -9288933,
+ "25:12": -9288933,
+ "26:12": -9288933,
+ "27:12": -9288933,
+ "28:12": -9288933,
+ "29:12": -9288933,
+ "30:12": -9288933,
+ "31:12": -9288933,
+ "32:12": -9288933,
+ "33:12": -9288933,
+ "34:12": -9288933,
+ "35:12": -9288933,
+ "36:12": -9288933,
+ "37:12": -9288933,
+ "38:12": -9288933,
+ "39:12": -9288933,
+ "40:12": -9288933,
+ "41:12": -9288933,
+ "42:12": -9288933,
+ "43:12": -9288933,
+ "44:12": -9288933,
+ "45:12": -9288933,
+ "46:12": -9288933,
+ "47:12": -9288933,
+ "48:12": -9288933,
+ "49:12": -9288933,
+ "50:12": -9288933,
+ "51:12": -9288933,
+ "52:12": -9288933,
+ "53:12": -9288933,
+ "54:12": -9288933,
+ "55:12": -9288933,
+ "56:12": -9288933,
+ "57:12": -9288933,
+ "58:12": -9288933,
+ "59:12": -9288933,
+ "60:12": -9288933,
+ "61:12": -9288933,
+ "62:12": 268435456,
+ "63:12": 402653184,
+ "64:12": 268435456,
+ "65:12": 402653184,
+ "66:12": -16745472,
+ "67:12": -16745472,
+ "68:12": -16745472,
+ "69:12": -16745472,
+ "70:12": -16745472,
+ "71:12": -16745472,
+ "72:12": -16745472,
+ "73:12": -16745472,
+ "74:12": -16745472,
+ "75:12": -16745472,
+ "76:12": -16745472,
+ "77:12": -16745472,
+ "78:12": -16745472,
+ "79:12": -16745472,
+ "80:12": -16745472,
+ "81:12": -16745472,
+ "82:12": -16745472,
+ "83:12": -16745472,
+ "84:12": 268435456,
+ "85:12": 402653184,
+ "86:12": 268435456,
+ "87:12": 402653184,
+ "88:12": -9288933,
+ "89:12": -9288933,
+ "90:12": -9288933,
+ "91:12": -9288933,
+ "92:12": -9288933,
+ "93:12": -9288933,
+ "94:12": -9288933,
+ "95:12": -9288933,
+ "96:12": -9288933,
+ "97:12": -9288933,
+ "98:12": -9288933,
+ "99:12": -9288933,
+ "100:12": -9288933,
+ "101:12": -9288933,
+ "102:12": -9288933,
+ "103:12": -9288933,
+ "104:12": -9288933,
+ "105:12": -9288933,
+ "106:12": 268435456,
+ "107:12": 402653184,
+ "108:12": 268435456,
+ "109:12": 402653184,
+ "110:12": 268435456,
+ "111:12": 402653184,
+ "112:12": 268435456,
+ "113:12": 402653184,
+ "114:12": 268435456,
+ "115:12": 402653184,
+ "116:12": 268435456,
+ "117:12": 402653184,
+ "118:12": 268435456,
+ "119:12": 402653184,
+ "120:12": 268435456,
+ "121:12": 402653184,
+ "122:12": 268435456,
+ "123:12": 402653184,
+ "124:12": 268435456,
+ "125:12": 402653184,
+ "126:12": 268435456,
+ "127:12": 402653184,
+ "0:13": 402653184,
+ "1:13": 268435456,
+ "2:13": 402653184,
+ "3:13": 268435456,
+ "4:13": 402653184,
+ "5:13": 268435456,
+ "6:13": 402653184,
+ "7:13": 268435456,
+ "8:13": 402653184,
+ "9:13": 268435456,
+ "10:13": 402653184,
+ "11:13": 268435456,
+ "12:13": 402653184,
+ "13:13": 268435456,
+ "14:13": 402653184,
+ "15:13": 268435456,
+ "16:13": 402653184,
+ "17:13": 268435456,
+ "18:13": 402653184,
+ "19:13": 268435456,
+ "20:13": 402653184,
+ "21:13": 268435456,
+ "22:13": -9288933,
+ "23:13": -9288933,
+ "24:13": -9288933,
+ "25:13": -9288933,
+ "26:13": -9288933,
+ "27:13": -9288933,
+ "28:13": -9288933,
+ "29:13": -9288933,
+ "30:13": -9288933,
+ "31:13": -9288933,
+ "32:13": -9288933,
+ "33:13": -9288933,
+ "34:13": -9288933,
+ "35:13": -9288933,
+ "36:13": -9288933,
+ "37:13": -9288933,
+ "38:13": -9288933,
+ "39:13": -9288933,
+ "40:13": -9288933,
+ "41:13": -9288933,
+ "42:13": -9288933,
+ "43:13": -9288933,
+ "44:13": -9288933,
+ "45:13": -9288933,
+ "46:13": -9288933,
+ "47:13": -9288933,
+ "48:13": -9288933,
+ "49:13": -9288933,
+ "50:13": -9288933,
+ "51:13": -9288933,
+ "52:13": -9288933,
+ "53:13": -9288933,
+ "54:13": -9288933,
+ "55:13": -9288933,
+ "56:13": -9288933,
+ "57:13": -9288933,
+ "58:13": -9288933,
+ "59:13": -9288933,
+ "60:13": -9288933,
+ "61:13": -9288933,
+ "62:13": 402653184,
+ "63:13": 268435456,
+ "64:13": 402653184,
+ "65:13": 268435456,
+ "66:13": -16745472,
+ "67:13": -16745472,
+ "68:13": -16745472,
+ "69:13": -16745472,
+ "70:13": -16745472,
+ "71:13": -16745472,
+ "72:13": -16745472,
+ "73:13": -16745472,
+ "74:13": -16745472,
+ "75:13": -16745472,
+ "76:13": -16745472,
+ "77:13": -16745472,
+ "78:13": -16745472,
+ "79:13": -16745472,
+ "80:13": -16745472,
+ "81:13": -16745472,
+ "82:13": -16745472,
+ "83:13": -16745472,
+ "84:13": 402653184,
+ "85:13": 268435456,
+ "86:13": 402653184,
+ "87:13": 268435456,
+ "88:13": -9288933,
+ "89:13": -9288933,
+ "90:13": -9288933,
+ "91:13": -9288933,
+ "92:13": -9288933,
+ "93:13": -9288933,
+ "94:13": -9288933,
+ "95:13": -9288933,
+ "96:13": -9288933,
+ "97:13": -9288933,
+ "98:13": -9288933,
+ "99:13": -9288933,
+ "100:13": -9288933,
+ "101:13": -9288933,
+ "102:13": -9288933,
+ "103:13": -9288933,
+ "104:13": -9288933,
+ "105:13": -9288933,
+ "106:13": 402653184,
+ "107:13": 268435456,
+ "108:13": 402653184,
+ "109:13": 268435456,
+ "110:13": 402653184,
+ "111:13": 268435456,
+ "112:13": 402653184,
+ "113:13": 268435456,
+ "114:13": 402653184,
+ "115:13": 268435456,
+ "116:13": 402653184,
+ "117:13": 268435456,
+ "118:13": 402653184,
+ "119:13": 268435456,
+ "120:13": 402653184,
+ "121:13": 268435456,
+ "122:13": 402653184,
+ "123:13": 268435456,
+ "124:13": 402653184,
+ "125:13": 268435456,
+ "126:13": 402653184,
+ "127:13": 268435456,
+ "0:14": 268435456,
+ "1:14": 402653184,
+ "2:14": 268435456,
+ "3:14": 402653184,
+ "4:14": 268435456,
+ "5:14": 402653184,
+ "6:14": 268435456,
+ "7:14": 402653184,
+ "8:14": 268435456,
+ "9:14": 402653184,
+ "10:14": 268435456,
+ "11:14": 402653184,
+ "12:14": 268435456,
+ "13:14": 402653184,
+ "14:14": 268435456,
+ "15:14": 402653184,
+ "16:14": 268435456,
+ "17:14": 402653184,
+ "18:14": 268435456,
+ "19:14": 402653184,
+ "20:14": 268435456,
+ "21:14": 402653184,
+ "22:14": -9288933,
+ "23:14": -9288933,
+ "24:14": -9288933,
+ "25:14": -9288933,
+ "26:14": -9288933,
+ "27:14": -9288933,
+ "28:14": -9288933,
+ "29:14": -9288933,
+ "30:14": -9288933,
+ "31:14": -9288933,
+ "32:14": -9288933,
+ "33:14": -9288933,
+ "34:14": -9288933,
+ "35:14": -9288933,
+ "36:14": -9288933,
+ "37:14": -9288933,
+ "38:14": -9288933,
+ "39:14": -9288933,
+ "40:14": -9288933,
+ "41:14": -9288933,
+ "42:14": -9288933,
+ "43:14": -9288933,
+ "44:14": -9288933,
+ "45:14": -9288933,
+ "46:14": -9288933,
+ "47:14": -9288933,
+ "48:14": -9288933,
+ "49:14": -9288933,
+ "50:14": -9288933,
+ "51:14": -9288933,
+ "52:14": -9288933,
+ "53:14": -9288933,
+ "54:14": -9288933,
+ "55:14": -9288933,
+ "56:14": -9288933,
+ "57:14": -9288933,
+ "58:14": -9288933,
+ "59:14": -9288933,
+ "60:14": -9288933,
+ "61:14": -9288933,
+ "62:14": 268435456,
+ "63:14": 402653184,
+ "64:14": 268435456,
+ "65:14": 402653184,
+ "66:14": -16745472,
+ "67:14": -16745472,
+ "68:14": -16745472,
+ "69:14": -16745472,
+ "70:14": -16745472,
+ "71:14": -16745472,
+ "72:14": -16745472,
+ "73:14": -16745472,
+ "74:14": -16745472,
+ "75:14": -16745472,
+ "76:14": -16745472,
+ "77:14": -16745472,
+ "78:14": -16745472,
+ "79:14": -16745472,
+ "80:14": -16745472,
+ "81:14": -16745472,
+ "82:14": -16745472,
+ "83:14": -16745472,
+ "84:14": 268435456,
+ "85:14": 402653184,
+ "86:14": 268435456,
+ "87:14": 402653184,
+ "88:14": -9288933,
+ "89:14": -9288933,
+ "90:14": -9288933,
+ "91:14": -9288933,
+ "92:14": -9288933,
+ "93:14": -9288933,
+ "94:14": -9288933,
+ "95:14": -9288933,
+ "96:14": -9288933,
+ "97:14": -9288933,
+ "98:14": -9288933,
+ "99:14": -9288933,
+ "100:14": -9288933,
+ "101:14": -9288933,
+ "102:14": -9288933,
+ "103:14": -9288933,
+ "104:14": -9288933,
+ "105:14": -9288933,
+ "106:14": 268435456,
+ "107:14": 402653184,
+ "108:14": 268435456,
+ "109:14": 402653184,
+ "110:14": 268435456,
+ "111:14": 402653184,
+ "112:14": 268435456,
+ "113:14": 402653184,
+ "114:14": 268435456,
+ "115:14": 402653184,
+ "116:14": 268435456,
+ "117:14": 402653184,
+ "118:14": 268435456,
+ "119:14": 402653184,
+ "120:14": 268435456,
+ "121:14": 402653184,
+ "122:14": 268435456,
+ "123:14": 402653184,
+ "124:14": 268435456,
+ "125:14": 402653184,
+ "126:14": 268435456,
+ "127:14": 402653184,
+ "0:15": 402653184,
+ "1:15": 268435456,
+ "2:15": 402653184,
+ "3:15": 268435456,
+ "4:15": 402653184,
+ "5:15": 268435456,
+ "6:15": 402653184,
+ "7:15": 268435456,
+ "8:15": 402653184,
+ "9:15": 268435456,
+ "10:15": 402653184,
+ "11:15": 268435456,
+ "12:15": 402653184,
+ "13:15": 268435456,
+ "14:15": 402653184,
+ "15:15": 268435456,
+ "16:15": 402653184,
+ "17:15": 268435456,
+ "18:15": 402653184,
+ "19:15": 268435456,
+ "20:15": 402653184,
+ "21:15": 268435456,
+ "22:15": -9288933,
+ "23:15": -9288933,
+ "24:15": -9288933,
+ "25:15": -9288933,
+ "26:15": -9288933,
+ "27:15": -9288933,
+ "28:15": -9288933,
+ "29:15": -9288933,
+ "30:15": -9288933,
+ "31:15": -9288933,
+ "32:15": -9288933,
+ "33:15": -9288933,
+ "34:15": -9288933,
+ "35:15": -9288933,
+ "36:15": -9288933,
+ "37:15": -9288933,
+ "38:15": -9288933,
+ "39:15": -9288933,
+ "40:15": -9288933,
+ "41:15": -9288933,
+ "42:15": -9288933,
+ "43:15": -9288933,
+ "44:15": -9288933,
+ "45:15": -9288933,
+ "46:15": -9288933,
+ "47:15": -9288933,
+ "48:15": -9288933,
+ "49:15": -9288933,
+ "50:15": -9288933,
+ "51:15": -9288933,
+ "52:15": -9288933,
+ "53:15": -9288933,
+ "54:15": -9288933,
+ "55:15": -9288933,
+ "56:15": -9288933,
+ "57:15": -9288933,
+ "58:15": -9288933,
+ "59:15": -9288933,
+ "60:15": -9288933,
+ "61:15": -9288933,
+ "62:15": 402653184,
+ "63:15": 268435456,
+ "64:15": 402653184,
+ "65:15": 268435456,
+ "66:15": -16745472,
+ "67:15": -16745472,
+ "68:15": -16745472,
+ "69:15": -16745472,
+ "70:15": -16745472,
+ "71:15": -16745472,
+ "72:15": -16745472,
+ "73:15": -16745472,
+ "74:15": -16745472,
+ "75:15": -16745472,
+ "76:15": -16745472,
+ "77:15": -16745472,
+ "78:15": -16745472,
+ "79:15": -16745472,
+ "80:15": -16745472,
+ "81:15": -16745472,
+ "82:15": -16745472,
+ "83:15": -16745472,
+ "84:15": 402653184,
+ "85:15": 268435456,
+ "86:15": 402653184,
+ "87:15": 268435456,
+ "88:15": -9288933,
+ "89:15": -9288933,
+ "90:15": -9288933,
+ "91:15": -9288933,
+ "92:15": -9288933,
+ "93:15": -9288933,
+ "94:15": -9288933,
+ "95:15": -9288933,
+ "96:15": -9288933,
+ "97:15": -9288933,
+ "98:15": -9288933,
+ "99:15": -9288933,
+ "100:15": -9288933,
+ "101:15": -9288933,
+ "102:15": -9288933,
+ "103:15": -9288933,
+ "104:15": -9288933,
+ "105:15": -9288933,
+ "106:15": 402653184,
+ "107:15": 268435456,
+ "108:15": 402653184,
+ "109:15": 268435456,
+ "110:15": 402653184,
+ "111:15": 268435456,
+ "112:15": 402653184,
+ "113:15": 268435456,
+ "114:15": 402653184,
+ "115:15": 268435456,
+ "116:15": 402653184,
+ "117:15": 268435456,
+ "118:15": 402653184,
+ "119:15": 268435456,
+ "120:15": 402653184,
+ "121:15": 268435456,
+ "122:15": 402653184,
+ "123:15": 268435456,
+ "124:15": 402653184,
+ "125:15": 268435456,
+ "126:15": 402653184,
+ "127:15": 268435456,
+ "0:16": 268435456,
+ "1:16": 402653184,
+ "2:16": 268435456,
+ "3:16": 402653184,
+ "4:16": 268435456,
+ "5:16": 402653184,
+ "6:16": 268435456,
+ "7:16": 402653184,
+ "8:16": 268435456,
+ "9:16": 402653184,
+ "10:16": 268435456,
+ "11:16": 402653184,
+ "12:16": 268435456,
+ "13:16": 402653184,
+ "14:16": 268435456,
+ "15:16": 402653184,
+ "16:16": 268435456,
+ "17:16": 402653184,
+ "18:16": 268435456,
+ "19:16": 402653184,
+ "20:16": 268435456,
+ "21:16": 402653184,
+ "22:16": -9288933,
+ "23:16": -9288933,
+ "24:16": -9288933,
+ "25:16": -9288933,
+ "26:16": -9288933,
+ "27:16": -9288933,
+ "28:16": -9288933,
+ "29:16": -9288933,
+ "30:16": -9288933,
+ "31:16": -9288933,
+ "32:16": -9288933,
+ "33:16": -9288933,
+ "34:16": -9288933,
+ "35:16": -9288933,
+ "36:16": -9288933,
+ "37:16": -9288933,
+ "38:16": -9288933,
+ "39:16": -9288933,
+ "40:16": -9288933,
+ "41:16": -9288933,
+ "42:16": -9288933,
+ "43:16": -9288933,
+ "44:16": -9288933,
+ "45:16": -9288933,
+ "46:16": -9288933,
+ "47:16": -9288933,
+ "48:16": -9288933,
+ "49:16": -9288933,
+ "50:16": -9288933,
+ "51:16": -9288933,
+ "52:16": -9288933,
+ "53:16": -9288933,
+ "54:16": -9288933,
+ "55:16": -9288933,
+ "56:16": -9288933,
+ "57:16": -9288933,
+ "58:16": -9288933,
+ "59:16": -9288933,
+ "60:16": -9288933,
+ "61:16": -9288933,
+ "62:16": 268435456,
+ "63:16": 402653184,
+ "64:16": 268435456,
+ "65:16": 402653184,
+ "66:16": -16745472,
+ "67:16": -16745472,
+ "68:16": -16745472,
+ "69:16": -16745472,
+ "70:16": -16745472,
+ "71:16": -16745472,
+ "72:16": -16745472,
+ "73:16": -16745472,
+ "74:16": -16745472,
+ "75:16": -16745472,
+ "76:16": -16745472,
+ "77:16": -16745472,
+ "78:16": -16745472,
+ "79:16": -16745472,
+ "80:16": -16745472,
+ "81:16": -16745472,
+ "82:16": -16745472,
+ "83:16": -16745472,
+ "84:16": 268435456,
+ "85:16": 402653184,
+ "86:16": 268435456,
+ "87:16": 402653184,
+ "88:16": -9288933,
+ "89:16": -9288933,
+ "90:16": -9288933,
+ "91:16": -9288933,
+ "92:16": -9288933,
+ "93:16": -9288933,
+ "94:16": -9288933,
+ "95:16": -9288933,
+ "96:16": -9288933,
+ "97:16": -9288933,
+ "98:16": -9288933,
+ "99:16": -9288933,
+ "100:16": -9288933,
+ "101:16": -9288933,
+ "102:16": -9288933,
+ "103:16": -9288933,
+ "104:16": -9288933,
+ "105:16": -9288933,
+ "106:16": 268435456,
+ "107:16": 402653184,
+ "108:16": 268435456,
+ "109:16": 402653184,
+ "110:16": 268435456,
+ "111:16": 402653184,
+ "112:16": 268435456,
+ "113:16": 402653184,
+ "114:16": 268435456,
+ "115:16": 402653184,
+ "116:16": 268435456,
+ "117:16": 402653184,
+ "118:16": 268435456,
+ "119:16": 402653184,
+ "120:16": 268435456,
+ "121:16": 402653184,
+ "122:16": 268435456,
+ "123:16": 402653184,
+ "124:16": 268435456,
+ "125:16": 402653184,
+ "126:16": 268435456,
+ "127:16": 402653184,
+ "0:17": 402653184,
+ "1:17": 268435456,
+ "2:17": 402653184,
+ "3:17": 268435456,
+ "4:17": 402653184,
+ "5:17": 268435456,
+ "6:17": 402653184,
+ "7:17": 268435456,
+ "8:17": 402653184,
+ "9:17": 268435456,
+ "10:17": 402653184,
+ "11:17": 268435456,
+ "12:17": 402653184,
+ "13:17": 268435456,
+ "14:17": 402653184,
+ "15:17": 268435456,
+ "16:17": 402653184,
+ "17:17": 268435456,
+ "18:17": 402653184,
+ "19:17": 268435456,
+ "20:17": 402653184,
+ "21:17": 268435456,
+ "22:17": -9288933,
+ "23:17": -9288933,
+ "24:17": -9288933,
+ "25:17": -9288933,
+ "26:17": -9288933,
+ "27:17": -9288933,
+ "28:17": -9288933,
+ "29:17": -9288933,
+ "30:17": -9288933,
+ "31:17": -9288933,
+ "32:17": -9288933,
+ "33:17": -9288933,
+ "34:17": -9288933,
+ "35:17": -9288933,
+ "36:17": -9288933,
+ "37:17": -9288933,
+ "38:17": -9288933,
+ "39:17": -9288933,
+ "40:17": -9288933,
+ "41:17": -9288933,
+ "42:17": -9288933,
+ "43:17": -9288933,
+ "44:17": -9288933,
+ "45:17": -9288933,
+ "46:17": -9288933,
+ "47:17": -9288933,
+ "48:17": -9288933,
+ "49:17": -9288933,
+ "50:17": -9288933,
+ "51:17": -9288933,
+ "52:17": -9288933,
+ "53:17": -9288933,
+ "54:17": -9288933,
+ "55:17": -9288933,
+ "56:17": -9288933,
+ "57:17": -9288933,
+ "58:17": -9288933,
+ "59:17": -9288933,
+ "60:17": -9288933,
+ "61:17": -9288933,
+ "62:17": -9288933,
+ "63:17": -9288933,
+ "64:17": -9288933,
+ "65:17": -9288933,
+ "66:17": -16745472,
+ "67:17": -16745472,
+ "68:17": -16745472,
+ "69:17": -16745472,
+ "70:17": -16745472,
+ "71:17": -16745472,
+ "72:17": -16745472,
+ "73:17": -16745472,
+ "74:17": -16745472,
+ "75:17": -16745472,
+ "76:17": -16745472,
+ "77:17": -16745472,
+ "78:17": -16745472,
+ "79:17": -16745472,
+ "80:17": -16745472,
+ "81:17": -16745472,
+ "82:17": -16745472,
+ "83:17": -16745472,
+ "84:17": 402653184,
+ "85:17": 268435456,
+ "86:17": 402653184,
+ "87:17": 268435456,
+ "88:17": -9288933,
+ "89:17": -9288933,
+ "90:17": -9288933,
+ "91:17": -9288933,
+ "92:17": -9288933,
+ "93:17": -9288933,
+ "94:17": -9288933,
+ "95:17": -9288933,
+ "96:17": -9288933,
+ "97:17": -9288933,
+ "98:17": -9288933,
+ "99:17": -9288933,
+ "100:17": -9288933,
+ "101:17": -9288933,
+ "102:17": -9288933,
+ "103:17": -9288933,
+ "104:17": -9288933,
+ "105:17": -9288933,
+ "106:17": 402653184,
+ "107:17": 268435456,
+ "108:17": 402653184,
+ "109:17": 268435456,
+ "110:17": 402653184,
+ "111:17": 268435456,
+ "112:17": 402653184,
+ "113:17": 268435456,
+ "114:17": 402653184,
+ "115:17": 268435456,
+ "116:17": 402653184,
+ "117:17": 268435456,
+ "118:17": 402653184,
+ "119:17": 268435456,
+ "120:17": 402653184,
+ "121:17": 268435456,
+ "122:17": 402653184,
+ "123:17": 268435456,
+ "124:17": 402653184,
+ "125:17": 268435456,
+ "126:17": 402653184,
+ "127:17": 268435456,
+ "0:18": 268435456,
+ "1:18": 402653184,
+ "2:18": 268435456,
+ "3:18": 402653184,
+ "4:18": 268435456,
+ "5:18": 402653184,
+ "6:18": 268435456,
+ "7:18": 402653184,
+ "8:18": 268435456,
+ "9:18": 402653184,
+ "10:18": 268435456,
+ "11:18": 402653184,
+ "12:18": 268435456,
+ "13:18": 402653184,
+ "14:18": 268435456,
+ "15:18": 402653184,
+ "16:18": 268435456,
+ "17:18": 402653184,
+ "18:18": 268435456,
+ "19:18": 402653184,
+ "20:18": 268435456,
+ "21:18": 402653184,
+ "22:18": -9288933,
+ "23:18": -9288933,
+ "24:18": -9288933,
+ "25:18": -9288933,
+ "26:18": -9288933,
+ "27:18": -9288933,
+ "28:18": -9288933,
+ "29:18": -9288933,
+ "30:18": -9288933,
+ "31:18": -9288933,
+ "32:18": -1,
+ "33:18": -1,
+ "34:18": -1,
+ "35:18": -9288933,
+ "36:18": -9288933,
+ "37:18": -9288933,
+ "38:18": -9288933,
+ "39:18": -9288933,
+ "40:18": -9288933,
+ "41:18": -9288933,
+ "42:18": -9288933,
+ "43:18": -9288933,
+ "44:18": -9288933,
+ "45:18": -9288933,
+ "46:18": -9288933,
+ "47:18": -9288933,
+ "48:18": -9288933,
+ "49:18": -9288933,
+ "50:18": -9288933,
+ "51:18": -9288933,
+ "52:18": -9288933,
+ "53:18": -9288933,
+ "54:18": -9288933,
+ "55:18": -9288933,
+ "56:18": -9288933,
+ "57:18": -9288933,
+ "58:18": -9288933,
+ "59:18": -9288933,
+ "60:18": -9288933,
+ "61:18": -9288933,
+ "62:18": -9288933,
+ "63:18": -9288933,
+ "64:18": -9288933,
+ "65:18": -9288933,
+ "66:18": -16745472,
+ "67:18": -16745472,
+ "68:18": -16745472,
+ "69:18": -16745472,
+ "70:18": -16745472,
+ "71:18": -16745472,
+ "72:18": -16745472,
+ "73:18": -16745472,
+ "74:18": -16745472,
+ "75:18": -16745472,
+ "76:18": -16745472,
+ "77:18": -16745472,
+ "78:18": -16745472,
+ "79:18": -16745472,
+ "80:18": -16745472,
+ "81:18": -16745472,
+ "82:18": -16745472,
+ "83:18": -16745472,
+ "84:18": 268435456,
+ "85:18": 402653184,
+ "86:18": 268435456,
+ "87:18": 402653184,
+ "88:18": -9288933,
+ "89:18": -9288933,
+ "90:18": -9288933,
+ "91:18": -9288933,
+ "92:18": -9288933,
+ "93:18": -9288933,
+ "94:18": -9288933,
+ "95:18": -9288933,
+ "96:18": -9288933,
+ "97:18": -9288933,
+ "98:18": -1,
+ "99:18": -1,
+ "100:18": -1,
+ "101:18": -9288933,
+ "102:18": -9288933,
+ "103:18": -9288933,
+ "104:18": -9288933,
+ "105:18": -9288933,
+ "106:18": 268435456,
+ "107:18": 402653184,
+ "108:18": 268435456,
+ "109:18": 402653184,
+ "110:18": 268435456,
+ "111:18": 402653184,
+ "112:18": 268435456,
+ "113:18": 402653184,
+ "114:18": 268435456,
+ "115:18": 402653184,
+ "116:18": 268435456,
+ "117:18": 402653184,
+ "118:18": 268435456,
+ "119:18": 402653184,
+ "120:18": 268435456,
+ "121:18": 402653184,
+ "122:18": 268435456,
+ "123:18": 402653184,
+ "124:18": 268435456,
+ "125:18": 402653184,
+ "126:18": 268435456,
+ "127:18": 402653184,
+ "0:19": 402653184,
+ "1:19": 268435456,
+ "2:19": 402653184,
+ "3:19": 268435456,
+ "4:19": 402653184,
+ "5:19": 268435456,
+ "6:19": 402653184,
+ "7:19": 268435456,
+ "8:19": 402653184,
+ "9:19": 268435456,
+ "10:19": 402653184,
+ "11:19": 268435456,
+ "12:19": 402653184,
+ "13:19": 268435456,
+ "14:19": 402653184,
+ "15:19": 268435456,
+ "16:19": 402653184,
+ "17:19": 268435456,
+ "18:19": 402653184,
+ "19:19": 268435456,
+ "20:19": 402653184,
+ "21:19": 268435456,
+ "22:19": -9288933,
+ "23:19": -9288933,
+ "24:19": -9288933,
+ "25:19": -9288933,
+ "26:19": -9288933,
+ "27:19": -9288933,
+ "28:19": -9288933,
+ "29:19": -9288933,
+ "30:19": -9288933,
+ "31:19": -1,
+ "32:19": -1,
+ "33:19": -1,
+ "34:19": -9288933,
+ "35:19": -9288933,
+ "36:19": -9288933,
+ "37:19": -9288933,
+ "38:19": -9288933,
+ "39:19": -9288933,
+ "40:19": -9288933,
+ "41:19": -9288933,
+ "42:19": -9288933,
+ "43:19": -9288933,
+ "44:19": -9288933,
+ "45:19": -9288933,
+ "46:19": -9288933,
+ "47:19": -9288933,
+ "48:19": -9288933,
+ "49:19": -9288933,
+ "50:19": -9288933,
+ "51:19": -9288933,
+ "52:19": -9288933,
+ "53:19": -9288933,
+ "54:19": -9288933,
+ "55:19": -9288933,
+ "56:19": -9288933,
+ "57:19": -9288933,
+ "58:19": -9288933,
+ "59:19": -9288933,
+ "60:19": -9288933,
+ "61:19": -9288933,
+ "62:19": -9288933,
+ "63:19": -9288933,
+ "64:19": -9288933,
+ "65:19": -9288933,
+ "66:19": -16745472,
+ "67:19": -16745472,
+ "68:19": -16745472,
+ "69:19": -16745472,
+ "70:19": -16745472,
+ "71:19": -16745472,
+ "72:19": -16745472,
+ "73:19": -16745472,
+ "74:19": -16745472,
+ "75:19": -16745472,
+ "76:19": -16745472,
+ "77:19": -16745472,
+ "78:19": -16745472,
+ "79:19": -16745472,
+ "80:19": -16745472,
+ "81:19": -16745472,
+ "82:19": -16745472,
+ "83:19": -16745472,
+ "84:19": 402653184,
+ "85:19": 268435456,
+ "86:19": 402653184,
+ "87:19": 268435456,
+ "88:19": -9288933,
+ "89:19": -9288933,
+ "90:19": -9288933,
+ "91:19": -9288933,
+ "92:19": -9288933,
+ "93:19": -9288933,
+ "94:19": -9288933,
+ "95:19": -9288933,
+ "96:19": -9288933,
+ "97:19": -1,
+ "98:19": -1,
+ "99:19": -1,
+ "100:19": -9288933,
+ "101:19": -9288933,
+ "102:19": -9288933,
+ "103:19": -9288933,
+ "104:19": -9288933,
+ "105:19": -9288933,
+ "106:19": 402653184,
+ "107:19": 268435456,
+ "108:19": 402653184,
+ "109:19": 268435456,
+ "110:19": 402653184,
+ "111:19": 268435456,
+ "112:19": 402653184,
+ "113:19": 268435456,
+ "114:19": 402653184,
+ "115:19": 268435456,
+ "116:19": 402653184,
+ "117:19": 268435456,
+ "118:19": 402653184,
+ "119:19": 268435456,
+ "120:19": 402653184,
+ "121:19": 268435456,
+ "122:19": 402653184,
+ "123:19": 268435456,
+ "124:19": 402653184,
+ "125:19": 268435456,
+ "126:19": 402653184,
+ "127:19": 268435456,
+ "0:20": 268435456,
+ "1:20": 402653184,
+ "2:20": 268435456,
+ "3:20": 402653184,
+ "4:20": 268435456,
+ "5:20": 402653184,
+ "6:20": 268435456,
+ "7:20": 402653184,
+ "8:20": 268435456,
+ "9:20": 402653184,
+ "10:20": 268435456,
+ "11:20": 402653184,
+ "12:20": 268435456,
+ "13:20": 402653184,
+ "14:20": 268435456,
+ "15:20": 402653184,
+ "16:20": 268435456,
+ "17:20": 402653184,
+ "18:20": 268435456,
+ "19:20": 402653184,
+ "20:20": 268435456,
+ "21:20": 402653184,
+ "22:20": -9288933,
+ "23:20": -9288933,
+ "24:20": -9288933,
+ "25:20": -9288933,
+ "26:20": -9288933,
+ "27:20": -9288933,
+ "28:20": -9288933,
+ "29:20": -9288933,
+ "30:20": -9288933,
+ "31:20": -1,
+ "32:20": -1,
+ "33:20": -9288933,
+ "34:20": -9288933,
+ "35:20": -9288933,
+ "36:20": -9288933,
+ "37:20": -9288933,
+ "38:20": -9288933,
+ "39:20": -9288933,
+ "40:20": -9288933,
+ "41:20": -9288933,
+ "42:20": -9288933,
+ "43:20": -9288933,
+ "44:20": -9288933,
+ "45:20": -9288933,
+ "46:20": -9288933,
+ "47:20": -9288933,
+ "48:20": -9288933,
+ "49:20": -9288933,
+ "50:20": -9288933,
+ "51:20": -9288933,
+ "52:20": -9288933,
+ "53:20": -9288933,
+ "54:20": -9288933,
+ "55:20": -9288933,
+ "56:20": -9288933,
+ "57:20": -9288933,
+ "58:20": -9288933,
+ "59:20": -9288933,
+ "60:20": -9288933,
+ "61:20": -9288933,
+ "62:20": -9288933,
+ "63:20": -9288933,
+ "64:20": -9288933,
+ "65:20": -9288933,
+ "66:20": -16745472,
+ "67:20": -16745472,
+ "68:20": -16745472,
+ "69:20": -16745472,
+ "70:20": -16745472,
+ "71:20": -16745472,
+ "72:20": -16745472,
+ "73:20": -16745472,
+ "74:20": -16745472,
+ "75:20": -16745472,
+ "76:20": -16745472,
+ "77:20": -16745472,
+ "78:20": -16745472,
+ "79:20": -16745472,
+ "80:20": -16745472,
+ "81:20": -16745472,
+ "82:20": -16745472,
+ "83:20": -16745472,
+ "84:20": 268435456,
+ "85:20": 402653184,
+ "86:20": 268435456,
+ "87:20": 402653184,
+ "88:20": -9288933,
+ "89:20": -9288933,
+ "90:20": -9288933,
+ "91:20": -9288933,
+ "92:20": -9288933,
+ "93:20": -9288933,
+ "94:20": -9288933,
+ "95:20": -9288933,
+ "96:20": -9288933,
+ "97:20": -1,
+ "98:20": -1,
+ "99:20": -9288933,
+ "100:20": -9288933,
+ "101:20": -9288933,
+ "102:20": -9288933,
+ "103:20": -9288933,
+ "104:20": -9288933,
+ "105:20": -9288933,
+ "106:20": 268435456,
+ "107:20": 402653184,
+ "108:20": 268435456,
+ "109:20": 402653184,
+ "110:20": 268435456,
+ "111:20": 402653184,
+ "112:20": 268435456,
+ "113:20": 402653184,
+ "114:20": 268435456,
+ "115:20": 402653184,
+ "116:20": 268435456,
+ "117:20": 402653184,
+ "118:20": 268435456,
+ "119:20": 402653184,
+ "120:20": 268435456,
+ "121:20": 402653184,
+ "122:20": 268435456,
+ "123:20": 402653184,
+ "124:20": 268435456,
+ "125:20": 402653184,
+ "126:20": 268435456,
+ "127:20": 402653184,
+ "0:21": 402653184,
+ "1:21": 268435456,
+ "2:21": 402653184,
+ "3:21": 268435456,
+ "4:21": 402653184,
+ "5:21": 268435456,
+ "6:21": 402653184,
+ "7:21": 268435456,
+ "8:21": 402653184,
+ "9:21": 268435456,
+ "10:21": 402653184,
+ "11:21": 268435456,
+ "12:21": 402653184,
+ "13:21": 268435456,
+ "14:21": 402653184,
+ "15:21": 268435456,
+ "16:21": 402653184,
+ "17:21": 268435456,
+ "18:21": 402653184,
+ "19:21": 268435456,
+ "20:21": 402653184,
+ "21:21": 268435456,
+ "22:21": -9288933,
+ "23:21": -9288933,
+ "24:21": -9288933,
+ "25:21": -9288933,
+ "26:21": -9288933,
+ "27:21": -9288933,
+ "28:21": -1,
+ "29:21": -1,
+ "30:21": -9288933,
+ "31:21": -1,
+ "32:21": -1,
+ "33:21": -9288933,
+ "34:21": -9288933,
+ "35:21": -9288933,
+ "36:21": -9288933,
+ "37:21": -9288933,
+ "38:21": -9288933,
+ "39:21": -9288933,
+ "40:21": -9288933,
+ "41:21": -9288933,
+ "42:21": -9288933,
+ "43:21": -9288933,
+ "44:21": -9288933,
+ "45:21": -9288933,
+ "46:21": -9288933,
+ "47:21": -9288933,
+ "48:21": -9288933,
+ "49:21": -9288933,
+ "50:21": -9288933,
+ "51:21": -9288933,
+ "52:21": -9288933,
+ "53:21": -9288933,
+ "54:21": -9288933,
+ "55:21": -9288933,
+ "56:21": -9288933,
+ "57:21": -9288933,
+ "58:21": -9288933,
+ "59:21": -9288933,
+ "60:21": -9288933,
+ "61:21": -9288933,
+ "62:21": -9288933,
+ "63:21": -9288933,
+ "64:21": -9288933,
+ "65:21": -9288933,
+ "66:21": -16745472,
+ "67:21": -16745472,
+ "68:21": -16745472,
+ "69:21": -16745472,
+ "70:21": -16745472,
+ "71:21": -16745472,
+ "72:21": -16745472,
+ "73:21": -16745472,
+ "74:21": -16745472,
+ "75:21": -16745472,
+ "76:21": -16745472,
+ "77:21": -16745472,
+ "78:21": -16745472,
+ "79:21": -16745472,
+ "80:21": -16745472,
+ "81:21": -16745472,
+ "82:21": -16745472,
+ "83:21": -16745472,
+ "84:21": 402653184,
+ "85:21": 268435456,
+ "86:21": 402653184,
+ "87:21": 268435456,
+ "88:21": -9288933,
+ "89:21": -9288933,
+ "90:21": -9288933,
+ "91:21": -9288933,
+ "92:21": -9288933,
+ "93:21": -9288933,
+ "94:21": -1,
+ "95:21": -1,
+ "96:21": -9288933,
+ "97:21": -1,
+ "98:21": -1,
+ "99:21": -9288933,
+ "100:21": -9288933,
+ "101:21": -9288933,
+ "102:21": -9288933,
+ "103:21": -9288933,
+ "104:21": -9288933,
+ "105:21": -9288933,
+ "106:21": 402653184,
+ "107:21": 268435456,
+ "108:21": 402653184,
+ "109:21": 268435456,
+ "110:21": 402653184,
+ "111:21": 268435456,
+ "112:21": 402653184,
+ "113:21": 268435456,
+ "114:21": 402653184,
+ "115:21": 268435456,
+ "116:21": 402653184,
+ "117:21": 268435456,
+ "118:21": 402653184,
+ "119:21": 268435456,
+ "120:21": 402653184,
+ "121:21": 268435456,
+ "122:21": 402653184,
+ "123:21": 268435456,
+ "124:21": 402653184,
+ "125:21": 268435456,
+ "126:21": 402653184,
+ "127:21": 268435456,
+ "0:22": 268435456,
+ "1:22": 402653184,
+ "2:22": 268435456,
+ "3:22": 402653184,
+ "4:22": 268435456,
+ "5:22": 402653184,
+ "6:22": 268435456,
+ "7:22": 402653184,
+ "8:22": 268435456,
+ "9:22": 402653184,
+ "10:22": 268435456,
+ "11:22": 402653184,
+ "12:22": 268435456,
+ "13:22": 402653184,
+ "14:22": 268435456,
+ "15:22": 402653184,
+ "16:22": 268435456,
+ "17:22": 402653184,
+ "18:22": 268435456,
+ "19:22": 402653184,
+ "20:22": 268435456,
+ "21:22": 402653184,
+ "22:22": -9288933,
+ "23:22": -9288933,
+ "24:22": -9288933,
+ "25:22": -9288933,
+ "26:22": -9288933,
+ "27:22": -9288933,
+ "28:22": -9288933,
+ "29:22": -1,
+ "30:22": -1,
+ "31:22": -1,
+ "32:22": -9288933,
+ "33:22": -9288933,
+ "34:22": -9288933,
+ "35:22": -9288933,
+ "36:22": -9288933,
+ "37:22": -9288933,
+ "38:22": -9288933,
+ "39:22": -9288933,
+ "40:22": -9288933,
+ "41:22": -9288933,
+ "42:22": -9288933,
+ "43:22": -9288933,
+ "44:22": -9288933,
+ "45:22": -9288933,
+ "46:22": -9288933,
+ "47:22": -9288933,
+ "48:22": -9288933,
+ "49:22": -9288933,
+ "50:22": -9288933,
+ "51:22": -9288933,
+ "52:22": -9288933,
+ "53:22": -9288933,
+ "54:22": -9288933,
+ "55:22": -9288933,
+ "56:22": -9288933,
+ "57:22": -9288933,
+ "58:22": -9288933,
+ "59:22": -9288933,
+ "60:22": -9288933,
+ "61:22": -9288933,
+ "62:22": -9288933,
+ "63:22": -9288933,
+ "64:22": -9288933,
+ "65:22": -9288933,
+ "66:22": -16745472,
+ "67:22": -16745472,
+ "68:22": -16745472,
+ "69:22": -16745472,
+ "70:22": -16745472,
+ "71:22": -16745472,
+ "72:22": -16745472,
+ "73:22": -16745472,
+ "74:22": -16745472,
+ "75:22": -16745472,
+ "76:22": -16745472,
+ "77:22": -16745472,
+ "78:22": -16745472,
+ "79:22": -16745472,
+ "80:22": -16745472,
+ "81:22": -16745472,
+ "82:22": -16745472,
+ "83:22": -16745472,
+ "84:22": 268435456,
+ "85:22": 402653184,
+ "86:22": 268435456,
+ "87:22": 402653184,
+ "88:22": -9288933,
+ "89:22": -9288933,
+ "90:22": -9288933,
+ "91:22": -9288933,
+ "92:22": -9288933,
+ "93:22": -9288933,
+ "94:22": -9288933,
+ "95:22": -1,
+ "96:22": -1,
+ "97:22": -1,
+ "98:22": -9288933,
+ "99:22": -9288933,
+ "100:22": -9288933,
+ "101:22": -9288933,
+ "102:22": -9288933,
+ "103:22": -9288933,
+ "104:22": -9288933,
+ "105:22": -9288933,
+ "106:22": 268435456,
+ "107:22": 402653184,
+ "108:22": 268435456,
+ "109:22": 402653184,
+ "110:22": 268435456,
+ "111:22": 402653184,
+ "112:22": 268435456,
+ "113:22": 402653184,
+ "114:22": 268435456,
+ "115:22": 402653184,
+ "116:22": 268435456,
+ "117:22": 402653184,
+ "118:22": 268435456,
+ "119:22": 402653184,
+ "120:22": 268435456,
+ "121:22": 402653184,
+ "122:22": 268435456,
+ "123:22": 402653184,
+ "124:22": 268435456,
+ "125:22": 402653184,
+ "126:22": 268435456,
+ "127:22": 402653184,
+ "0:23": 402653184,
+ "1:23": 268435456,
+ "2:23": 402653184,
+ "3:23": 268435456,
+ "4:23": 402653184,
+ "5:23": 268435456,
+ "6:23": 402653184,
+ "7:23": 268435456,
+ "8:23": 402653184,
+ "9:23": 268435456,
+ "10:23": 402653184,
+ "11:23": 268435456,
+ "12:23": 402653184,
+ "13:23": 268435456,
+ "14:23": 402653184,
+ "15:23": 268435456,
+ "16:23": 402653184,
+ "17:23": 268435456,
+ "18:23": 402653184,
+ "19:23": 268435456,
+ "20:23": 402653184,
+ "21:23": 268435456,
+ "22:23": -9288933,
+ "23:23": -9288933,
+ "24:23": -9288933,
+ "25:23": -9288933,
+ "26:23": -9288933,
+ "27:23": -9288933,
+ "28:23": -9288933,
+ "29:23": -1,
+ "30:23": -1,
+ "31:23": -1,
+ "32:23": -9288933,
+ "33:23": -9288933,
+ "34:23": -9288933,
+ "35:23": -9288933,
+ "36:23": -9288933,
+ "37:23": -9288933,
+ "38:23": -9288933,
+ "39:23": -9288933,
+ "40:23": -9288933,
+ "41:23": -9288933,
+ "42:23": -9288933,
+ "43:23": -9288933,
+ "44:23": -9288933,
+ "45:23": -9288933,
+ "46:23": -9288933,
+ "47:23": -9288933,
+ "48:23": -9288933,
+ "49:23": -9288933,
+ "50:23": -9288933,
+ "51:23": -9288933,
+ "52:23": -9288933,
+ "53:23": -9288933,
+ "54:23": -9288933,
+ "55:23": -9288933,
+ "56:23": -9288933,
+ "57:23": -9288933,
+ "58:23": -9288933,
+ "59:23": -9288933,
+ "60:23": -9288933,
+ "61:23": -9288933,
+ "62:23": -9288933,
+ "63:23": -9288933,
+ "64:23": -9288933,
+ "65:23": -9288933,
+ "66:23": -16745472,
+ "67:23": -16745472,
+ "68:23": -16745472,
+ "69:23": -16745472,
+ "70:23": -16745472,
+ "71:23": -16745472,
+ "72:23": -16745472,
+ "73:23": -16745472,
+ "74:23": -16745472,
+ "75:23": -16745472,
+ "76:23": -16745472,
+ "77:23": -16745472,
+ "78:23": -16745472,
+ "79:23": -16745472,
+ "80:23": -16745472,
+ "81:23": -16745472,
+ "82:23": -16745472,
+ "83:23": -16745472,
+ "84:23": 402653184,
+ "85:23": 268435456,
+ "86:23": 402653184,
+ "87:23": 268435456,
+ "88:23": -9288933,
+ "89:23": -9288933,
+ "90:23": -9288933,
+ "91:23": -9288933,
+ "92:23": -9288933,
+ "93:23": -9288933,
+ "94:23": -9288933,
+ "95:23": -1,
+ "96:23": -1,
+ "97:23": -1,
+ "98:23": -9288933,
+ "99:23": -9288933,
+ "100:23": -9288933,
+ "101:23": -9288933,
+ "102:23": -9288933,
+ "103:23": -9288933,
+ "104:23": -9288933,
+ "105:23": -9288933,
+ "106:23": 402653184,
+ "107:23": 268435456,
+ "108:23": 402653184,
+ "109:23": 268435456,
+ "110:23": 402653184,
+ "111:23": 268435456,
+ "112:23": 402653184,
+ "113:23": 268435456,
+ "114:23": 402653184,
+ "115:23": 268435456,
+ "116:23": 402653184,
+ "117:23": 268435456,
+ "118:23": 402653184,
+ "119:23": 268435456,
+ "120:23": 402653184,
+ "121:23": 268435456,
+ "122:23": 402653184,
+ "123:23": 268435456,
+ "124:23": 402653184,
+ "125:23": 268435456,
+ "126:23": 402653184,
+ "127:23": 268435456,
+ "0:24": 268435456,
+ "1:24": 402653184,
+ "2:24": 268435456,
+ "3:24": 402653184,
+ "4:24": 268435456,
+ "5:24": 402653184,
+ "6:24": 268435456,
+ "7:24": 402653184,
+ "8:24": 268435456,
+ "9:24": 402653184,
+ "10:24": 268435456,
+ "11:24": 402653184,
+ "12:24": 268435456,
+ "13:24": 402653184,
+ "14:24": 268435456,
+ "15:24": 402653184,
+ "16:24": 268435456,
+ "17:24": 402653184,
+ "18:24": 268435456,
+ "19:24": 402653184,
+ "20:24": 268435456,
+ "21:24": 402653184,
+ "22:24": -9288933,
+ "23:24": -9288933,
+ "24:24": -9288933,
+ "25:24": -9288933,
+ "26:24": -9288933,
+ "27:24": -9288933,
+ "28:24": -9288933,
+ "29:24": -9288933,
+ "30:24": -9288933,
+ "31:24": -9288933,
+ "32:24": -9288933,
+ "33:24": -9288933,
+ "34:24": -9288933,
+ "35:24": -9288933,
+ "36:24": -9288933,
+ "37:24": -9288933,
+ "38:24": -9288933,
+ "39:24": -9288933,
+ "40:24": -9288933,
+ "41:24": -9288933,
+ "42:24": -9288933,
+ "43:24": -9288933,
+ "44:24": -9288933,
+ "45:24": -9288933,
+ "46:24": -9288933,
+ "47:24": -9288933,
+ "48:24": -9288933,
+ "49:24": -9288933,
+ "50:24": -9288933,
+ "51:24": -9288933,
+ "52:24": -9288933,
+ "53:24": -9288933,
+ "54:24": -9288933,
+ "55:24": -9288933,
+ "56:24": -9288933,
+ "57:24": -9288933,
+ "58:24": -9288933,
+ "59:24": -9288933,
+ "60:24": -9288933,
+ "61:24": -9288933,
+ "62:24": 268435456,
+ "63:24": 402653184,
+ "64:24": 268435456,
+ "65:24": 402653184,
+ "66:24": -16745472,
+ "67:24": -16745472,
+ "68:24": -16745472,
+ "69:24": -16745472,
+ "70:24": -16745472,
+ "71:24": -16745472,
+ "72:24": -16745472,
+ "73:24": -16745472,
+ "74:24": -16745472,
+ "75:24": -16745472,
+ "76:24": -16745472,
+ "77:24": -16745472,
+ "78:24": -16745472,
+ "79:24": -16745472,
+ "80:24": -16745472,
+ "81:24": -16745472,
+ "82:24": -16745472,
+ "83:24": -16745472,
+ "84:24": 268435456,
+ "85:24": 402653184,
+ "86:24": 268435456,
+ "87:24": 402653184,
+ "88:24": -9288933,
+ "89:24": -9288933,
+ "90:24": -9288933,
+ "91:24": -9288933,
+ "92:24": -9288933,
+ "93:24": -9288933,
+ "94:24": -9288933,
+ "95:24": -9288933,
+ "96:24": -9288933,
+ "97:24": -9288933,
+ "98:24": -9288933,
+ "99:24": -9288933,
+ "100:24": -9288933,
+ "101:24": -9288933,
+ "102:24": -9288933,
+ "103:24": -9288933,
+ "104:24": -9288933,
+ "105:24": -9288933,
+ "106:24": 268435456,
+ "107:24": 402653184,
+ "108:24": 268435456,
+ "109:24": 402653184,
+ "110:24": 268435456,
+ "111:24": 402653184,
+ "112:24": 268435456,
+ "113:24": 402653184,
+ "114:24": 268435456,
+ "115:24": 402653184,
+ "116:24": 268435456,
+ "117:24": 402653184,
+ "118:24": 268435456,
+ "119:24": 402653184,
+ "120:24": 268435456,
+ "121:24": 402653184,
+ "122:24": 268435456,
+ "123:24": 402653184,
+ "124:24": 268435456,
+ "125:24": 402653184,
+ "126:24": 268435456,
+ "127:24": 402653184,
+ "0:25": 402653184,
+ "1:25": 268435456,
+ "2:25": 402653184,
+ "3:25": 268435456,
+ "4:25": 402653184,
+ "5:25": 268435456,
+ "6:25": 402653184,
+ "7:25": 268435456,
+ "8:25": 402653184,
+ "9:25": 268435456,
+ "10:25": 402653184,
+ "11:25": 268435456,
+ "12:25": 402653184,
+ "13:25": 268435456,
+ "14:25": 402653184,
+ "15:25": 268435456,
+ "16:25": 402653184,
+ "17:25": 268435456,
+ "18:25": 402653184,
+ "19:25": 268435456,
+ "20:25": 402653184,
+ "21:25": 268435456,
+ "22:25": -9288933,
+ "23:25": -9288933,
+ "24:25": -9288933,
+ "25:25": -9288933,
+ "26:25": -9288933,
+ "27:25": -9288933,
+ "28:25": -9288933,
+ "29:25": -9288933,
+ "30:25": -9288933,
+ "31:25": -9288933,
+ "32:25": -9288933,
+ "33:25": -9288933,
+ "34:25": -9288933,
+ "35:25": -9288933,
+ "36:25": -9288933,
+ "37:25": -9288933,
+ "38:25": -9288933,
+ "39:25": -9288933,
+ "40:25": -9288933,
+ "41:25": -9288933,
+ "42:25": -9288933,
+ "43:25": -9288933,
+ "44:25": -9288933,
+ "45:25": -9288933,
+ "46:25": -9288933,
+ "47:25": -9288933,
+ "48:25": -9288933,
+ "49:25": -9288933,
+ "50:25": -9288933,
+ "51:25": -9288933,
+ "52:25": -9288933,
+ "53:25": -9288933,
+ "54:25": -9288933,
+ "55:25": -9288933,
+ "56:25": -9288933,
+ "57:25": -9288933,
+ "58:25": -9288933,
+ "59:25": -9288933,
+ "60:25": -9288933,
+ "61:25": -9288933,
+ "62:25": 402653184,
+ "63:25": 268435456,
+ "64:25": 402653184,
+ "65:25": 268435456,
+ "66:25": -16745472,
+ "67:25": -16745472,
+ "68:25": -16745472,
+ "69:25": -16745472,
+ "70:25": -16745472,
+ "71:25": -16745472,
+ "72:25": -16745472,
+ "73:25": -16745472,
+ "74:25": -16745472,
+ "75:25": -16745472,
+ "76:25": -16745472,
+ "77:25": -16745472,
+ "78:25": -16745472,
+ "79:25": -16745472,
+ "80:25": -16745472,
+ "81:25": -16745472,
+ "82:25": -16745472,
+ "83:25": -16745472,
+ "84:25": 402653184,
+ "85:25": 268435456,
+ "86:25": 402653184,
+ "87:25": 268435456,
+ "88:25": -9288933,
+ "89:25": -9288933,
+ "90:25": -9288933,
+ "91:25": -9288933,
+ "92:25": -9288933,
+ "93:25": -9288933,
+ "94:25": -9288933,
+ "95:25": -9288933,
+ "96:25": -9288933,
+ "97:25": -9288933,
+ "98:25": -9288933,
+ "99:25": -9288933,
+ "100:25": -9288933,
+ "101:25": -9288933,
+ "102:25": -9288933,
+ "103:25": -9288933,
+ "104:25": -9288933,
+ "105:25": -9288933,
+ "106:25": 402653184,
+ "107:25": 268435456,
+ "108:25": 402653184,
+ "109:25": 268435456,
+ "110:25": 402653184,
+ "111:25": 268435456,
+ "112:25": 402653184,
+ "113:25": 268435456,
+ "114:25": 402653184,
+ "115:25": 268435456,
+ "116:25": 402653184,
+ "117:25": 268435456,
+ "118:25": 402653184,
+ "119:25": 268435456,
+ "120:25": 402653184,
+ "121:25": 268435456,
+ "122:25": 402653184,
+ "123:25": 268435456,
+ "124:25": 402653184,
+ "125:25": 268435456,
+ "126:25": 402653184,
+ "127:25": 268435456,
+ "0:26": 268435456,
+ "1:26": 402653184,
+ "2:26": 268435456,
+ "3:26": 402653184,
+ "4:26": 268435456,
+ "5:26": 402653184,
+ "6:26": 268435456,
+ "7:26": 402653184,
+ "8:26": 268435456,
+ "9:26": 402653184,
+ "10:26": 268435456,
+ "11:26": 402653184,
+ "12:26": 268435456,
+ "13:26": 402653184,
+ "14:26": 268435456,
+ "15:26": 402653184,
+ "16:26": 268435456,
+ "17:26": 402653184,
+ "18:26": 268435456,
+ "19:26": 402653184,
+ "20:26": 268435456,
+ "21:26": 402653184,
+ "22:26": -9288933,
+ "23:26": -9288933,
+ "24:26": -9288933,
+ "25:26": -9288933,
+ "26:26": -9288933,
+ "27:26": -9288933,
+ "28:26": -9288933,
+ "29:26": -9288933,
+ "30:26": -9288933,
+ "31:26": -9288933,
+ "32:26": -9288933,
+ "33:26": -9288933,
+ "34:26": -9288933,
+ "35:26": -9288933,
+ "36:26": -9288933,
+ "37:26": -9288933,
+ "38:26": -9288933,
+ "39:26": -9288933,
+ "40:26": -9288933,
+ "41:26": -9288933,
+ "42:26": -9288933,
+ "43:26": -9288933,
+ "44:26": -9288933,
+ "45:26": -9288933,
+ "46:26": -9288933,
+ "47:26": -9288933,
+ "48:26": -9288933,
+ "49:26": -9288933,
+ "50:26": -9288933,
+ "51:26": -9288933,
+ "52:26": -9288933,
+ "53:26": -9288933,
+ "54:26": -9288933,
+ "55:26": -9288933,
+ "56:26": -9288933,
+ "57:26": -9288933,
+ "58:26": -9288933,
+ "59:26": -9288933,
+ "60:26": -9288933,
+ "61:26": -9288933,
+ "62:26": 268435456,
+ "63:26": 402653184,
+ "64:26": 268435456,
+ "65:26": 402653184,
+ "66:26": -16745472,
+ "67:26": -16745472,
+ "68:26": -16745472,
+ "69:26": -16745472,
+ "70:26": -16745472,
+ "71:26": -16745472,
+ "72:26": -16745472,
+ "73:26": -16745472,
+ "74:26": -16745472,
+ "75:26": -16745472,
+ "76:26": -16745472,
+ "77:26": -16745472,
+ "78:26": -16745472,
+ "79:26": -16745472,
+ "80:26": -16745472,
+ "81:26": -16745472,
+ "82:26": -16745472,
+ "83:26": -16745472,
+ "84:26": 268435456,
+ "85:26": 402653184,
+ "86:26": 268435456,
+ "87:26": 402653184,
+ "88:26": -9288933,
+ "89:26": -9288933,
+ "90:26": -9288933,
+ "91:26": -9288933,
+ "92:26": -9288933,
+ "93:26": -9288933,
+ "94:26": -9288933,
+ "95:26": -9288933,
+ "96:26": -9288933,
+ "97:26": -9288933,
+ "98:26": -9288933,
+ "99:26": -9288933,
+ "100:26": -9288933,
+ "101:26": -9288933,
+ "102:26": -9288933,
+ "103:26": -9288933,
+ "104:26": -9288933,
+ "105:26": -9288933,
+ "106:26": 268435456,
+ "107:26": 402653184,
+ "108:26": 268435456,
+ "109:26": 402653184,
+ "110:26": 268435456,
+ "111:26": 402653184,
+ "112:26": 268435456,
+ "113:26": 402653184,
+ "114:26": 268435456,
+ "115:26": 402653184,
+ "116:26": 268435456,
+ "117:26": 402653184,
+ "118:26": 268435456,
+ "119:26": 402653184,
+ "120:26": 268435456,
+ "121:26": 402653184,
+ "122:26": 268435456,
+ "123:26": 402653184,
+ "124:26": 268435456,
+ "125:26": 402653184,
+ "126:26": 268435456,
+ "127:26": 402653184,
+ "0:27": 402653184,
+ "1:27": 268435456,
+ "2:27": 402653184,
+ "3:27": 268435456,
+ "4:27": 402653184,
+ "5:27": 268435456,
+ "6:27": 402653184,
+ "7:27": 268435456,
+ "8:27": 402653184,
+ "9:27": 268435456,
+ "10:27": 402653184,
+ "11:27": 268435456,
+ "12:27": 402653184,
+ "13:27": 268435456,
+ "14:27": 402653184,
+ "15:27": 268435456,
+ "16:27": 402653184,
+ "17:27": 268435456,
+ "18:27": 402653184,
+ "19:27": 268435456,
+ "20:27": 402653184,
+ "21:27": 268435456,
+ "22:27": -9288933,
+ "23:27": -9288933,
+ "24:27": -9288933,
+ "25:27": -9288933,
+ "26:27": -9288933,
+ "27:27": -9288933,
+ "28:27": -9288933,
+ "29:27": -9288933,
+ "30:27": -9288933,
+ "31:27": -9288933,
+ "32:27": -9288933,
+ "33:27": -9288933,
+ "34:27": -9288933,
+ "35:27": -9288933,
+ "36:27": -9288933,
+ "37:27": -9288933,
+ "38:27": -9288933,
+ "39:27": -9288933,
+ "40:27": -9288933,
+ "41:27": -9288933,
+ "42:27": -9288933,
+ "43:27": -9288933,
+ "44:27": -9288933,
+ "45:27": -9288933,
+ "46:27": -9288933,
+ "47:27": -9288933,
+ "48:27": -9288933,
+ "49:27": -9288933,
+ "50:27": -9288933,
+ "51:27": -9288933,
+ "52:27": -9288933,
+ "53:27": -9288933,
+ "54:27": -9288933,
+ "55:27": -9288933,
+ "56:27": -9288933,
+ "57:27": -9288933,
+ "58:27": -9288933,
+ "59:27": -9288933,
+ "60:27": -9288933,
+ "61:27": -9288933,
+ "62:27": 402653184,
+ "63:27": 268435456,
+ "64:27": 402653184,
+ "65:27": 268435456,
+ "66:27": -16745472,
+ "67:27": -16745472,
+ "68:27": -16745472,
+ "69:27": -16745472,
+ "70:27": -16745472,
+ "71:27": -16745472,
+ "72:27": -16745472,
+ "73:27": -16745472,
+ "74:27": -16745472,
+ "75:27": -16745472,
+ "76:27": -16745472,
+ "77:27": -16745472,
+ "78:27": -16745472,
+ "79:27": -16745472,
+ "80:27": -16745472,
+ "81:27": -16745472,
+ "82:27": -16745472,
+ "83:27": -16745472,
+ "84:27": 402653184,
+ "85:27": 268435456,
+ "86:27": 402653184,
+ "87:27": 268435456,
+ "88:27": -9288933,
+ "89:27": -9288933,
+ "90:27": -9288933,
+ "91:27": -9288933,
+ "92:27": -9288933,
+ "93:27": -9288933,
+ "94:27": -9288933,
+ "95:27": -9288933,
+ "96:27": -9288933,
+ "97:27": -9288933,
+ "98:27": -9288933,
+ "99:27": -9288933,
+ "100:27": -9288933,
+ "101:27": -9288933,
+ "102:27": -9288933,
+ "103:27": -9288933,
+ "104:27": -9288933,
+ "105:27": -9288933,
+ "106:27": 402653184,
+ "107:27": 268435456,
+ "108:27": 402653184,
+ "109:27": 268435456,
+ "110:27": 402653184,
+ "111:27": 268435456,
+ "112:27": 402653184,
+ "113:27": 268435456,
+ "114:27": 402653184,
+ "115:27": 268435456,
+ "116:27": 402653184,
+ "117:27": 268435456,
+ "118:27": 402653184,
+ "119:27": 268435456,
+ "120:27": 402653184,
+ "121:27": 268435456,
+ "122:27": 402653184,
+ "123:27": 268435456,
+ "124:27": 402653184,
+ "125:27": 268435456,
+ "126:27": 402653184,
+ "127:27": 268435456,
+ "0:28": 268435456,
+ "1:28": 402653184,
+ "2:28": 268435456,
+ "3:28": 402653184,
+ "4:28": 268435456,
+ "5:28": 402653184,
+ "6:28": 268435456,
+ "7:28": 402653184,
+ "8:28": 268435456,
+ "9:28": 402653184,
+ "10:28": 268435456,
+ "11:28": 402653184,
+ "12:28": 268435456,
+ "13:28": 402653184,
+ "14:28": 268435456,
+ "15:28": 402653184,
+ "16:28": 268435456,
+ "17:28": 402653184,
+ "18:28": 268435456,
+ "19:28": 402653184,
+ "20:28": 268435456,
+ "21:28": 402653184,
+ "22:28": -9288933,
+ "23:28": -9288933,
+ "24:28": -9288933,
+ "25:28": -9288933,
+ "26:28": -9288933,
+ "27:28": -9288933,
+ "28:28": -9288933,
+ "29:28": -9288933,
+ "30:28": -9288933,
+ "31:28": -9288933,
+ "32:28": -9288933,
+ "33:28": -9288933,
+ "34:28": -9288933,
+ "35:28": -9288933,
+ "36:28": -9288933,
+ "37:28": -9288933,
+ "38:28": -9288933,
+ "39:28": -9288933,
+ "40:28": -9288933,
+ "41:28": -9288933,
+ "42:28": -9288933,
+ "43:28": -9288933,
+ "44:28": -9288933,
+ "45:28": -9288933,
+ "46:28": -9288933,
+ "47:28": -9288933,
+ "48:28": -9288933,
+ "49:28": -9288933,
+ "50:28": -9288933,
+ "51:28": -9288933,
+ "52:28": -9288933,
+ "53:28": -9288933,
+ "54:28": -9288933,
+ "55:28": -9288933,
+ "56:28": -9288933,
+ "57:28": -9288933,
+ "58:28": -9288933,
+ "59:28": -9288933,
+ "60:28": -9288933,
+ "61:28": -9288933,
+ "62:28": 268435456,
+ "63:28": 402653184,
+ "64:28": 268435456,
+ "65:28": 402653184,
+ "66:28": -16745472,
+ "67:28": -16745472,
+ "68:28": -16745472,
+ "69:28": -16745472,
+ "70:28": -16745472,
+ "71:28": -16745472,
+ "72:28": -16745472,
+ "73:28": -16745472,
+ "74:28": -16745472,
+ "75:28": -16745472,
+ "76:28": -16745472,
+ "77:28": -16745472,
+ "78:28": -16745472,
+ "79:28": -16745472,
+ "80:28": -16745472,
+ "81:28": -16745472,
+ "82:28": -16745472,
+ "83:28": -16745472,
+ "84:28": 268435456,
+ "85:28": 402653184,
+ "86:28": 268435456,
+ "87:28": 402653184,
+ "88:28": -9288933,
+ "89:28": -9288933,
+ "90:28": -9288933,
+ "91:28": -9288933,
+ "92:28": -9288933,
+ "93:28": -9288933,
+ "94:28": -9288933,
+ "95:28": -9288933,
+ "96:28": -9288933,
+ "97:28": -9288933,
+ "98:28": -9288933,
+ "99:28": -9288933,
+ "100:28": -9288933,
+ "101:28": -9288933,
+ "102:28": -9288933,
+ "103:28": -9288933,
+ "104:28": -9288933,
+ "105:28": -9288933,
+ "106:28": 268435456,
+ "107:28": 402653184,
+ "108:28": 268435456,
+ "109:28": 402653184,
+ "110:28": 268435456,
+ "111:28": 402653184,
+ "112:28": 268435456,
+ "113:28": 402653184,
+ "114:28": 268435456,
+ "115:28": 402653184,
+ "116:28": 268435456,
+ "117:28": 402653184,
+ "118:28": 268435456,
+ "119:28": 402653184,
+ "120:28": 268435456,
+ "121:28": 402653184,
+ "122:28": 268435456,
+ "123:28": 402653184,
+ "124:28": 268435456,
+ "125:28": 402653184,
+ "126:28": 268435456,
+ "127:28": 402653184,
+ "0:29": 402653184,
+ "1:29": 268435456,
+ "2:29": 402653184,
+ "3:29": 268435456,
+ "4:29": 402653184,
+ "5:29": 268435456,
+ "6:29": 402653184,
+ "7:29": 268435456,
+ "8:29": 402653184,
+ "9:29": 268435456,
+ "10:29": 402653184,
+ "11:29": 268435456,
+ "12:29": 402653184,
+ "13:29": 268435456,
+ "14:29": 402653184,
+ "15:29": 268435456,
+ "16:29": 402653184,
+ "17:29": 268435456,
+ "18:29": 402653184,
+ "19:29": 268435456,
+ "20:29": 402653184,
+ "21:29": 268435456,
+ "22:29": -9288933,
+ "23:29": -9288933,
+ "24:29": -9288933,
+ "25:29": -9288933,
+ "26:29": -9288933,
+ "27:29": -9288933,
+ "28:29": -9288933,
+ "29:29": -9288933,
+ "30:29": -9288933,
+ "31:29": -9288933,
+ "32:29": -9288933,
+ "33:29": -9288933,
+ "34:29": -9288933,
+ "35:29": -9288933,
+ "36:29": -9288933,
+ "37:29": -9288933,
+ "38:29": -9288933,
+ "39:29": -9288933,
+ "40:29": -9288933,
+ "41:29": -9288933,
+ "42:29": -9288933,
+ "43:29": -9288933,
+ "44:29": -9288933,
+ "45:29": -9288933,
+ "46:29": -9288933,
+ "47:29": -9288933,
+ "48:29": -9288933,
+ "49:29": -9288933,
+ "50:29": -9288933,
+ "51:29": -9288933,
+ "52:29": -9288933,
+ "53:29": -9288933,
+ "54:29": -9288933,
+ "55:29": -9288933,
+ "56:29": -9288933,
+ "57:29": -9288933,
+ "58:29": -9288933,
+ "59:29": -9288933,
+ "60:29": -9288933,
+ "61:29": -9288933,
+ "62:29": 402653184,
+ "63:29": 268435456,
+ "64:29": 402653184,
+ "65:29": 268435456,
+ "66:29": 402653184,
+ "67:29": 268435456,
+ "68:29": 402653184,
+ "69:29": 268435456,
+ "70:29": 402653184,
+ "71:29": 268435456,
+ "72:29": 402653184,
+ "73:29": 268435456,
+ "74:29": 402653184,
+ "75:29": 268435456,
+ "76:29": 402653184,
+ "77:29": 268435456,
+ "78:29": 402653184,
+ "79:29": 268435456,
+ "80:29": 402653184,
+ "81:29": 268435456,
+ "82:29": 402653184,
+ "83:29": 268435456,
+ "84:29": 402653184,
+ "85:29": 268435456,
+ "86:29": 402653184,
+ "87:29": 268435456,
+ "88:29": -9288933,
+ "89:29": -9288933,
+ "90:29": -9288933,
+ "91:29": -9288933,
+ "92:29": -9288933,
+ "93:29": -9288933,
+ "94:29": -9288933,
+ "95:29": -9288933,
+ "96:29": -9288933,
+ "97:29": -9288933,
+ "98:29": -9288933,
+ "99:29": -9288933,
+ "100:29": -9288933,
+ "101:29": -9288933,
+ "102:29": -9288933,
+ "103:29": -9288933,
+ "104:29": -9288933,
+ "105:29": -9288933,
+ "106:29": 402653184,
+ "107:29": 268435456,
+ "108:29": 402653184,
+ "109:29": 268435456,
+ "110:29": 402653184,
+ "111:29": 268435456,
+ "112:29": 402653184,
+ "113:29": 268435456,
+ "114:29": 402653184,
+ "115:29": 268435456,
+ "116:29": 402653184,
+ "117:29": 268435456,
+ "118:29": 402653184,
+ "119:29": 268435456,
+ "120:29": 402653184,
+ "121:29": 268435456,
+ "122:29": 402653184,
+ "123:29": 268435456,
+ "124:29": 402653184,
+ "125:29": 268435456,
+ "126:29": 402653184,
+ "127:29": 268435456,
+ "0:30": 268435456,
+ "1:30": 402653184,
+ "2:30": 268435456,
+ "3:30": 402653184,
+ "4:30": 268435456,
+ "5:30": 402653184,
+ "6:30": 268435456,
+ "7:30": 402653184,
+ "8:30": 268435456,
+ "9:30": 402653184,
+ "10:30": 268435456,
+ "11:30": 402653184,
+ "12:30": 268435456,
+ "13:30": 402653184,
+ "14:30": 268435456,
+ "15:30": 402653184,
+ "16:30": 268435456,
+ "17:30": 402653184,
+ "18:30": 268435456,
+ "19:30": 402653184,
+ "20:30": 268435456,
+ "21:30": 402653184,
+ "22:30": -9288933,
+ "23:30": -9288933,
+ "24:30": -9288933,
+ "25:30": -9288933,
+ "26:30": -9288933,
+ "27:30": -9288933,
+ "28:30": -9288933,
+ "29:30": -9288933,
+ "30:30": -9288933,
+ "31:30": -9288933,
+ "32:30": -9288933,
+ "33:30": -9288933,
+ "34:30": -9288933,
+ "35:30": -9288933,
+ "36:30": -9288933,
+ "37:30": -9288933,
+ "38:30": -9288933,
+ "39:30": -9288933,
+ "40:30": -9288933,
+ "41:30": -9288933,
+ "42:30": -9288933,
+ "43:30": -9288933,
+ "44:30": -9288933,
+ "45:30": -9288933,
+ "46:30": -9288933,
+ "47:30": -9288933,
+ "48:30": -9288933,
+ "49:30": -9288933,
+ "50:30": -9288933,
+ "51:30": -9288933,
+ "52:30": -9288933,
+ "53:30": -9288933,
+ "54:30": -9288933,
+ "55:30": -9288933,
+ "56:30": -9288933,
+ "57:30": -9288933,
+ "58:30": -9288933,
+ "59:30": -9288933,
+ "60:30": -9288933,
+ "61:30": -9288933,
+ "62:30": 268435456,
+ "63:30": 402653184,
+ "64:30": 268435456,
+ "65:30": 402653184,
+ "66:30": 268435456,
+ "67:30": 402653184,
+ "68:30": 268435456,
+ "69:30": 402653184,
+ "70:30": 268435456,
+ "71:30": 402653184,
+ "72:30": 268435456,
+ "73:30": 402653184,
+ "74:30": 268435456,
+ "75:30": 402653184,
+ "76:30": 268435456,
+ "77:30": 402653184,
+ "78:30": 268435456,
+ "79:30": 402653184,
+ "80:30": 268435456,
+ "81:30": 402653184,
+ "82:30": 268435456,
+ "83:30": 402653184,
+ "84:30": 268435456,
+ "85:30": 402653184,
+ "86:30": 268435456,
+ "87:30": 402653184,
+ "88:30": -9288933,
+ "89:30": -9288933,
+ "90:30": -9288933,
+ "91:30": -9288933,
+ "92:30": -9288933,
+ "93:30": -9288933,
+ "94:30": -9288933,
+ "95:30": -9288933,
+ "96:30": -9288933,
+ "97:30": -9288933,
+ "98:30": -9288933,
+ "99:30": -9288933,
+ "100:30": -9288933,
+ "101:30": -9288933,
+ "102:30": -9288933,
+ "103:30": -9288933,
+ "104:30": -9288933,
+ "105:30": -9288933,
+ "106:30": 268435456,
+ "107:30": 402653184,
+ "108:30": 268435456,
+ "109:30": 402653184,
+ "110:30": 268435456,
+ "111:30": 402653184,
+ "112:30": 268435456,
+ "113:30": 402653184,
+ "114:30": 268435456,
+ "115:30": 402653184,
+ "116:30": 268435456,
+ "117:30": 402653184,
+ "118:30": 268435456,
+ "119:30": 402653184,
+ "120:30": 268435456,
+ "121:30": 402653184,
+ "122:30": 268435456,
+ "123:30": 402653184,
+ "124:30": 268435456,
+ "125:30": 402653184,
+ "126:30": 268435456,
+ "127:30": 402653184,
+ "0:31": 402653184,
+ "1:31": 268435456,
+ "2:31": 402653184,
+ "3:31": 268435456,
+ "4:31": 402653184,
+ "5:31": 268435456,
+ "6:31": 402653184,
+ "7:31": 268435456,
+ "8:31": 402653184,
+ "9:31": 268435456,
+ "10:31": 402653184,
+ "11:31": 268435456,
+ "12:31": 402653184,
+ "13:31": 268435456,
+ "14:31": 402653184,
+ "15:31": 268435456,
+ "16:31": 402653184,
+ "17:31": 268435456,
+ "18:31": 402653184,
+ "19:31": 268435456,
+ "20:31": 402653184,
+ "21:31": 268435456,
+ "22:31": -9288933,
+ "23:31": -9288933,
+ "24:31": -9288933,
+ "25:31": -9288933,
+ "26:31": -9288933,
+ "27:31": -9288933,
+ "28:31": -9288933,
+ "29:31": -9288933,
+ "30:31": -9288933,
+ "31:31": -9288933,
+ "32:31": -9288933,
+ "33:31": -9288933,
+ "34:31": -9288933,
+ "35:31": -9288933,
+ "36:31": -9288933,
+ "37:31": -9288933,
+ "38:31": -9288933,
+ "39:31": -9288933,
+ "40:31": -9288933,
+ "41:31": -9288933,
+ "42:31": -9288933,
+ "43:31": -9288933,
+ "44:31": -9288933,
+ "45:31": -9288933,
+ "46:31": -9288933,
+ "47:31": -9288933,
+ "48:31": -9288933,
+ "49:31": -9288933,
+ "50:31": -9288933,
+ "51:31": -9288933,
+ "52:31": -9288933,
+ "53:31": -9288933,
+ "54:31": -9288933,
+ "55:31": -9288933,
+ "56:31": -9288933,
+ "57:31": -9288933,
+ "58:31": -9288933,
+ "59:31": -9288933,
+ "60:31": -9288933,
+ "61:31": -9288933,
+ "62:31": 402653184,
+ "63:31": 268435456,
+ "64:31": 402653184,
+ "65:31": 268435456,
+ "66:31": 402653184,
+ "67:31": 268435456,
+ "68:31": 402653184,
+ "69:31": 268435456,
+ "70:31": 402653184,
+ "71:31": 268435456,
+ "72:31": 402653184,
+ "73:31": 268435456,
+ "74:31": 402653184,
+ "75:31": 268435456,
+ "76:31": 402653184,
+ "77:31": 268435456,
+ "78:31": 402653184,
+ "79:31": 268435456,
+ "80:31": 402653184,
+ "81:31": 268435456,
+ "82:31": 402653184,
+ "83:31": 268435456,
+ "84:31": 402653184,
+ "85:31": 268435456,
+ "86:31": 402653184,
+ "87:31": 268435456,
+ "88:31": -9288933,
+ "89:31": -9288933,
+ "90:31": -9288933,
+ "91:31": -9288933,
+ "92:31": -9288933,
+ "93:31": -9288933,
+ "94:31": -9288933,
+ "95:31": -9288933,
+ "96:31": -9288933,
+ "97:31": -9288933,
+ "98:31": -9288933,
+ "99:31": -9288933,
+ "100:31": -9288933,
+ "101:31": -9288933,
+ "102:31": -9288933,
+ "103:31": -9288933,
+ "104:31": -9288933,
+ "105:31": -9288933,
+ "106:31": 402653184,
+ "107:31": 268435456,
+ "108:31": 402653184,
+ "109:31": 268435456,
+ "110:31": 402653184,
+ "111:31": 268435456,
+ "112:31": 402653184,
+ "113:31": 268435456,
+ "114:31": 402653184,
+ "115:31": 268435456,
+ "116:31": 402653184,
+ "117:31": 268435456,
+ "118:31": 402653184,
+ "119:31": 268435456,
+ "120:31": 402653184,
+ "121:31": 268435456,
+ "122:31": 402653184,
+ "123:31": 268435456,
+ "124:31": 402653184,
+ "125:31": 268435456,
+ "126:31": 402653184,
+ "127:31": 268435456,
+ "0:32": 268435456,
+ "1:32": 402653184,
+ "2:32": 268435456,
+ "3:32": 402653184,
+ "4:32": 268435456,
+ "5:32": 402653184,
+ "6:32": 268435456,
+ "7:32": 402653184,
+ "8:32": 268435456,
+ "9:32": 402653184,
+ "10:32": 268435456,
+ "11:32": 402653184,
+ "12:32": 268435456,
+ "13:32": 402653184,
+ "14:32": 268435456,
+ "15:32": 402653184,
+ "16:32": 268435456,
+ "17:32": 402653184,
+ "18:32": 268435456,
+ "19:32": 402653184,
+ "20:32": 268435456,
+ "21:32": 402653184,
+ "22:32": -9288933,
+ "23:32": -9288933,
+ "24:32": -9288933,
+ "25:32": -9288933,
+ "26:32": -9288933,
+ "27:32": -9288933,
+ "28:32": -9288933,
+ "29:32": -9288933,
+ "30:32": -9288933,
+ "31:32": -9288933,
+ "32:32": -9288933,
+ "33:32": -9288933,
+ "34:32": -9288933,
+ "35:32": -9288933,
+ "36:32": -9288933,
+ "37:32": -9288933,
+ "38:32": -9288933,
+ "39:32": -9288933,
+ "40:32": -9288933,
+ "41:32": -9288933,
+ "42:32": -9288933,
+ "43:32": -9288933,
+ "44:32": -9288933,
+ "45:32": -9288933,
+ "46:32": -9288933,
+ "47:32": -9288933,
+ "48:32": -9288933,
+ "49:32": -9288933,
+ "50:32": -9288933,
+ "51:32": -9288933,
+ "52:32": -9288933,
+ "53:32": -9288933,
+ "54:32": -9288933,
+ "55:32": -9288933,
+ "56:32": -9288933,
+ "57:32": -9288933,
+ "58:32": -9288933,
+ "59:32": -9288933,
+ "60:32": -9288933,
+ "61:32": -9288933,
+ "62:32": 268435456,
+ "63:32": 402653184,
+ "64:32": 268435456,
+ "65:32": 402653184,
+ "66:32": 268435456,
+ "67:32": 402653184,
+ "68:32": 268435456,
+ "69:32": 402653184,
+ "70:32": 268435456,
+ "71:32": 402653184,
+ "72:32": 268435456,
+ "73:32": 402653184,
+ "74:32": 268435456,
+ "75:32": 402653184,
+ "76:32": 268435456,
+ "77:32": 402653184,
+ "78:32": 268435456,
+ "79:32": 402653184,
+ "80:32": 268435456,
+ "81:32": 402653184,
+ "82:32": 268435456,
+ "83:32": 402653184,
+ "84:32": 268435456,
+ "85:32": 402653184,
+ "86:32": 268435456,
+ "87:32": 402653184,
+ "88:32": -9288933,
+ "89:32": -9288933,
+ "90:32": -9288933,
+ "91:32": -9288933,
+ "92:32": -9288933,
+ "93:32": -9288933,
+ "94:32": -9288933,
+ "95:32": -9288933,
+ "96:32": -9288933,
+ "97:32": -9288933,
+ "98:32": -9288933,
+ "99:32": -9288933,
+ "100:32": -9288933,
+ "101:32": -9288933,
+ "102:32": -9288933,
+ "103:32": -9288933,
+ "104:32": -9288933,
+ "105:32": -9288933,
+ "106:32": 268435456,
+ "107:32": 402653184,
+ "108:32": 268435456,
+ "109:32": 402653184,
+ "110:32": 268435456,
+ "111:32": 402653184,
+ "112:32": 268435456,
+ "113:32": 402653184,
+ "114:32": 268435456,
+ "115:32": 402653184,
+ "116:32": 268435456,
+ "117:32": 402653184,
+ "118:32": 268435456,
+ "119:32": 402653184,
+ "120:32": 268435456,
+ "121:32": 402653184,
+ "122:32": 268435456,
+ "123:32": 402653184,
+ "124:32": 268435456,
+ "125:32": 402653184,
+ "126:32": 268435456,
+ "127:32": 402653184,
+ "0:33": 402653184,
+ "1:33": 268435456,
+ "2:33": 402653184,
+ "3:33": 268435456,
+ "4:33": 402653184,
+ "5:33": 268435456,
+ "6:33": 402653184,
+ "7:33": 268435456,
+ "8:33": 402653184,
+ "9:33": 268435456,
+ "10:33": 402653184,
+ "11:33": 268435456,
+ "12:33": 402653184,
+ "13:33": 268435456,
+ "14:33": 402653184,
+ "15:33": 268435456,
+ "16:33": 402653184,
+ "17:33": 268435456,
+ "18:33": 402653184,
+ "19:33": 268435456,
+ "20:33": 402653184,
+ "21:33": 268435456,
+ "22:33": -9288933,
+ "23:33": -9288933,
+ "24:33": -9288933,
+ "25:33": -9288933,
+ "26:33": -9288933,
+ "27:33": -9288933,
+ "28:33": -9288933,
+ "29:33": -9288933,
+ "30:33": -9288933,
+ "31:33": -9288933,
+ "32:33": -9288933,
+ "33:33": -9288933,
+ "34:33": -9288933,
+ "35:33": -9288933,
+ "36:33": -9288933,
+ "37:33": -9288933,
+ "38:33": -9288933,
+ "39:33": -9288933,
+ "40:33": -9288933,
+ "41:33": -9288933,
+ "42:33": -9288933,
+ "43:33": -9288933,
+ "44:33": -9288933,
+ "45:33": -9288933,
+ "46:33": -9288933,
+ "47:33": -9288933,
+ "48:33": -9288933,
+ "49:33": -9288933,
+ "50:33": -9288933,
+ "51:33": -9288933,
+ "52:33": -9288933,
+ "53:33": -9288933,
+ "54:33": -9288933,
+ "55:33": -9288933,
+ "56:33": -9288933,
+ "57:33": -9288933,
+ "58:33": -9288933,
+ "59:33": -9288933,
+ "60:33": -9288933,
+ "61:33": -9288933,
+ "62:33": 402653184,
+ "63:33": 268435456,
+ "64:33": 402653184,
+ "65:33": 268435456,
+ "66:33": -9288933,
+ "67:33": -9288933,
+ "68:33": -9288933,
+ "69:33": -9288933,
+ "70:33": -9288933,
+ "71:33": -9288933,
+ "72:33": -9288933,
+ "73:33": -9288933,
+ "74:33": -9288933,
+ "75:33": -9288933,
+ "76:33": -9288933,
+ "77:33": -9288933,
+ "78:33": -9288933,
+ "79:33": -9288933,
+ "80:33": -9288933,
+ "81:33": -9288933,
+ "82:33": -9288933,
+ "83:33": -9288933,
+ "84:33": 402653184,
+ "85:33": 268435456,
+ "86:33": 402653184,
+ "87:33": 268435456,
+ "88:33": -9288933,
+ "89:33": -9288933,
+ "90:33": -9288933,
+ "91:33": -9288933,
+ "92:33": -9288933,
+ "93:33": -9288933,
+ "94:33": -9288933,
+ "95:33": -9288933,
+ "96:33": -9288933,
+ "97:33": -9288933,
+ "98:33": -9288933,
+ "99:33": -9288933,
+ "100:33": -9288933,
+ "101:33": -9288933,
+ "102:33": -9288933,
+ "103:33": -9288933,
+ "104:33": -9288933,
+ "105:33": -9288933,
+ "106:33": 402653184,
+ "107:33": 268435456,
+ "108:33": 402653184,
+ "109:33": 268435456,
+ "110:33": 402653184,
+ "111:33": 268435456,
+ "112:33": 402653184,
+ "113:33": 268435456,
+ "114:33": 402653184,
+ "115:33": 268435456,
+ "116:33": 402653184,
+ "117:33": 268435456,
+ "118:33": 402653184,
+ "119:33": 268435456,
+ "120:33": 402653184,
+ "121:33": 268435456,
+ "122:33": 402653184,
+ "123:33": 268435456,
+ "124:33": 402653184,
+ "125:33": 268435456,
+ "126:33": 402653184,
+ "127:33": 268435456,
+ "0:34": 268435456,
+ "1:34": 402653184,
+ "2:34": 268435456,
+ "3:34": 402653184,
+ "4:34": 268435456,
+ "5:34": 402653184,
+ "6:34": 268435456,
+ "7:34": 402653184,
+ "8:34": 268435456,
+ "9:34": 402653184,
+ "10:34": 268435456,
+ "11:34": 402653184,
+ "12:34": 268435456,
+ "13:34": 402653184,
+ "14:34": 268435456,
+ "15:34": 402653184,
+ "16:34": 268435456,
+ "17:34": 402653184,
+ "18:34": 268435456,
+ "19:34": 402653184,
+ "20:34": 268435456,
+ "21:34": 402653184,
+ "22:34": -9288933,
+ "23:34": -9288933,
+ "24:34": -9288933,
+ "25:34": -9288933,
+ "26:34": -9288933,
+ "27:34": -9288933,
+ "28:34": -9288933,
+ "29:34": -9288933,
+ "30:34": -9288933,
+ "31:34": -9288933,
+ "32:34": -9288933,
+ "33:34": -9288933,
+ "34:34": -9288933,
+ "35:34": -9288933,
+ "36:34": -9288933,
+ "37:34": -9288933,
+ "38:34": -9288933,
+ "39:34": -9288933,
+ "40:34": -9288933,
+ "41:34": -9288933,
+ "42:34": -9288933,
+ "43:34": -9288933,
+ "44:34": -9288933,
+ "45:34": -9288933,
+ "46:34": -9288933,
+ "47:34": -9288933,
+ "48:34": -9288933,
+ "49:34": -9288933,
+ "50:34": -9288933,
+ "51:34": -9288933,
+ "52:34": -9288933,
+ "53:34": -9288933,
+ "54:34": -9288933,
+ "55:34": -9288933,
+ "56:34": -9288933,
+ "57:34": -9288933,
+ "58:34": -9288933,
+ "59:34": -9288933,
+ "60:34": -9288933,
+ "61:34": -9288933,
+ "62:34": 268435456,
+ "63:34": 402653184,
+ "64:34": 268435456,
+ "65:34": 402653184,
+ "66:34": -9288933,
+ "67:34": -9288933,
+ "68:34": -9288933,
+ "69:34": -9288933,
+ "70:34": -9288933,
+ "71:34": -9288933,
+ "72:34": -9288933,
+ "73:34": -9288933,
+ "74:34": -9288933,
+ "75:34": -9288933,
+ "76:34": -9288933,
+ "77:34": -9288933,
+ "78:34": -9288933,
+ "79:34": -9288933,
+ "80:34": -9288933,
+ "81:34": -9288933,
+ "82:34": -9288933,
+ "83:34": -9288933,
+ "84:34": 268435456,
+ "85:34": 402653184,
+ "86:34": 268435456,
+ "87:34": 402653184,
+ "88:34": -9288933,
+ "89:34": -9288933,
+ "90:34": -9288933,
+ "91:34": -9288933,
+ "92:34": -9288933,
+ "93:34": -9288933,
+ "94:34": -9288933,
+ "95:34": -9288933,
+ "96:34": -9288933,
+ "97:34": -9288933,
+ "98:34": -9288933,
+ "99:34": -9288933,
+ "100:34": -9288933,
+ "101:34": -9288933,
+ "102:34": -9288933,
+ "103:34": -9288933,
+ "104:34": -9288933,
+ "105:34": -9288933,
+ "106:34": 268435456,
+ "107:34": 402653184,
+ "108:34": 268435456,
+ "109:34": 402653184,
+ "110:34": 268435456,
+ "111:34": 402653184,
+ "112:34": 268435456,
+ "113:34": 402653184,
+ "114:34": 268435456,
+ "115:34": 402653184,
+ "116:34": 268435456,
+ "117:34": 402653184,
+ "118:34": 268435456,
+ "119:34": 402653184,
+ "120:34": 268435456,
+ "121:34": 402653184,
+ "122:34": 268435456,
+ "123:34": 402653184,
+ "124:34": 268435456,
+ "125:34": 402653184,
+ "126:34": 268435456,
+ "127:34": 402653184,
+ "0:35": 402653184,
+ "1:35": 268435456,
+ "2:35": 402653184,
+ "3:35": 268435456,
+ "4:35": 402653184,
+ "5:35": 268435456,
+ "6:35": 402653184,
+ "7:35": 268435456,
+ "8:35": 402653184,
+ "9:35": 268435456,
+ "10:35": 402653184,
+ "11:35": 268435456,
+ "12:35": 402653184,
+ "13:35": 268435456,
+ "14:35": 402653184,
+ "15:35": 268435456,
+ "16:35": 402653184,
+ "17:35": 268435456,
+ "18:35": 402653184,
+ "19:35": 268435456,
+ "20:35": 402653184,
+ "21:35": 268435456,
+ "22:35": -9288933,
+ "23:35": -9288933,
+ "24:35": -9288933,
+ "25:35": -9288933,
+ "26:35": -9288933,
+ "27:35": -9288933,
+ "28:35": -9288933,
+ "29:35": -9288933,
+ "30:35": -9288933,
+ "31:35": -9288933,
+ "32:35": -9288933,
+ "33:35": -9288933,
+ "34:35": -9288933,
+ "35:35": -9288933,
+ "36:35": -9288933,
+ "37:35": -9288933,
+ "38:35": -9288933,
+ "39:35": -9288933,
+ "40:35": -9288933,
+ "41:35": -9288933,
+ "42:35": -9288933,
+ "43:35": -9288933,
+ "44:35": -9288933,
+ "45:35": -9288933,
+ "46:35": -9288933,
+ "47:35": -9288933,
+ "48:35": -9288933,
+ "49:35": -9288933,
+ "50:35": -9288933,
+ "51:35": -9288933,
+ "52:35": -9288933,
+ "53:35": -9288933,
+ "54:35": -9288933,
+ "55:35": -9288933,
+ "56:35": -9288933,
+ "57:35": -9288933,
+ "58:35": -9288933,
+ "59:35": -9288933,
+ "60:35": -9288933,
+ "61:35": -9288933,
+ "62:35": 402653184,
+ "63:35": 268435456,
+ "64:35": 402653184,
+ "65:35": 268435456,
+ "66:35": -9288933,
+ "67:35": -9288933,
+ "68:35": -9288933,
+ "69:35": -9288933,
+ "70:35": -9288933,
+ "71:35": -9288933,
+ "72:35": -9288933,
+ "73:35": -9288933,
+ "74:35": -9288933,
+ "75:35": -9288933,
+ "76:35": -9288933,
+ "77:35": -9288933,
+ "78:35": -9288933,
+ "79:35": -9288933,
+ "80:35": -9288933,
+ "81:35": -9288933,
+ "82:35": -9288933,
+ "83:35": -9288933,
+ "84:35": 402653184,
+ "85:35": 268435456,
+ "86:35": 402653184,
+ "87:35": 268435456,
+ "88:35": -9288933,
+ "89:35": -9288933,
+ "90:35": -9288933,
+ "91:35": -9288933,
+ "92:35": -9288933,
+ "93:35": -9288933,
+ "94:35": -9288933,
+ "95:35": -9288933,
+ "96:35": -9288933,
+ "97:35": -9288933,
+ "98:35": -9288933,
+ "99:35": -9288933,
+ "100:35": -9288933,
+ "101:35": -9288933,
+ "102:35": -9288933,
+ "103:35": -9288933,
+ "104:35": -9288933,
+ "105:35": -9288933,
+ "106:35": 402653184,
+ "107:35": 268435456,
+ "108:35": 402653184,
+ "109:35": 268435456,
+ "110:35": 402653184,
+ "111:35": 268435456,
+ "112:35": 402653184,
+ "113:35": 268435456,
+ "114:35": 402653184,
+ "115:35": 268435456,
+ "116:35": 402653184,
+ "117:35": 268435456,
+ "118:35": 402653184,
+ "119:35": 268435456,
+ "120:35": 402653184,
+ "121:35": 268435456,
+ "122:35": 402653184,
+ "123:35": 268435456,
+ "124:35": 402653184,
+ "125:35": 268435456,
+ "126:35": 402653184,
+ "127:35": 268435456,
+ "0:36": 268435456,
+ "1:36": 402653184,
+ "2:36": 268435456,
+ "3:36": 402653184,
+ "4:36": 268435456,
+ "5:36": 402653184,
+ "6:36": 268435456,
+ "7:36": 402653184,
+ "8:36": 268435456,
+ "9:36": 402653184,
+ "10:36": 268435456,
+ "11:36": 402653184,
+ "12:36": 268435456,
+ "13:36": 402653184,
+ "14:36": 268435456,
+ "15:36": 402653184,
+ "16:36": 268435456,
+ "17:36": 402653184,
+ "18:36": 268435456,
+ "19:36": 402653184,
+ "20:36": 268435456,
+ "21:36": 402653184,
+ "22:36": -9288933,
+ "23:36": -9288933,
+ "24:36": -9288933,
+ "25:36": -9288933,
+ "26:36": -9288933,
+ "27:36": -9288933,
+ "28:36": -9288933,
+ "29:36": -9288933,
+ "30:36": -9288933,
+ "31:36": -9288933,
+ "32:36": -9288933,
+ "33:36": -9288933,
+ "34:36": -9288933,
+ "35:36": -9288933,
+ "36:36": -9288933,
+ "37:36": -9288933,
+ "38:36": -9288933,
+ "39:36": -9288933,
+ "40:36": -9288933,
+ "41:36": -9288933,
+ "42:36": -9288933,
+ "43:36": -9288933,
+ "44:36": -9288933,
+ "45:36": -9288933,
+ "46:36": -9288933,
+ "47:36": -9288933,
+ "48:36": -9288933,
+ "49:36": -9288933,
+ "50:36": -9288933,
+ "51:36": -9288933,
+ "52:36": -9288933,
+ "53:36": -9288933,
+ "54:36": -9288933,
+ "55:36": -9288933,
+ "56:36": -9288933,
+ "57:36": -9288933,
+ "58:36": -9288933,
+ "59:36": -9288933,
+ "60:36": -9288933,
+ "61:36": -9288933,
+ "62:36": 268435456,
+ "63:36": 402653184,
+ "64:36": 268435456,
+ "65:36": 402653184,
+ "66:36": -9288933,
+ "67:36": -9288933,
+ "68:36": -9288933,
+ "69:36": -9288933,
+ "70:36": -9288933,
+ "71:36": -9288933,
+ "72:36": -9288933,
+ "73:36": -9288933,
+ "74:36": -9288933,
+ "75:36": -9288933,
+ "76:36": -9288933,
+ "77:36": -9288933,
+ "78:36": -9288933,
+ "79:36": -9288933,
+ "80:36": -9288933,
+ "81:36": -9288933,
+ "82:36": -9288933,
+ "83:36": -9288933,
+ "84:36": 268435456,
+ "85:36": 402653184,
+ "86:36": 268435456,
+ "87:36": 402653184,
+ "88:36": -9288933,
+ "89:36": -9288933,
+ "90:36": -9288933,
+ "91:36": -9288933,
+ "92:36": -9288933,
+ "93:36": -9288933,
+ "94:36": -9288933,
+ "95:36": -9288933,
+ "96:36": -9288933,
+ "97:36": -9288933,
+ "98:36": -9288933,
+ "99:36": -9288933,
+ "100:36": -9288933,
+ "101:36": -9288933,
+ "102:36": -9288933,
+ "103:36": -9288933,
+ "104:36": -9288933,
+ "105:36": -9288933,
+ "106:36": 268435456,
+ "107:36": 402653184,
+ "108:36": 268435456,
+ "109:36": 402653184,
+ "110:36": 268435456,
+ "111:36": 402653184,
+ "112:36": 268435456,
+ "113:36": 402653184,
+ "114:36": 268435456,
+ "115:36": 402653184,
+ "116:36": 268435456,
+ "117:36": 402653184,
+ "118:36": 268435456,
+ "119:36": 402653184,
+ "120:36": 268435456,
+ "121:36": 402653184,
+ "122:36": 268435456,
+ "123:36": 402653184,
+ "124:36": 268435456,
+ "125:36": 402653184,
+ "126:36": 268435456,
+ "127:36": 402653184,
+ "0:37": 402653184,
+ "1:37": 268435456,
+ "2:37": 402653184,
+ "3:37": 268435456,
+ "4:37": 402653184,
+ "5:37": 268435456,
+ "6:37": 402653184,
+ "7:37": 268435456,
+ "8:37": 402653184,
+ "9:37": 268435456,
+ "10:37": 402653184,
+ "11:37": 268435456,
+ "12:37": 402653184,
+ "13:37": 268435456,
+ "14:37": 402653184,
+ "15:37": 268435456,
+ "16:37": 402653184,
+ "17:37": 268435456,
+ "18:37": 402653184,
+ "19:37": 268435456,
+ "20:37": 402653184,
+ "21:37": 268435456,
+ "22:37": -9288933,
+ "23:37": -9288933,
+ "24:37": -9288933,
+ "25:37": -9288933,
+ "26:37": -9288933,
+ "27:37": -9288933,
+ "28:37": -9288933,
+ "29:37": -9288933,
+ "30:37": -9288933,
+ "31:37": -9288933,
+ "32:37": -9288933,
+ "33:37": -9288933,
+ "34:37": -9288933,
+ "35:37": -9288933,
+ "36:37": -9288933,
+ "37:37": -9288933,
+ "38:37": -9288933,
+ "39:37": -9288933,
+ "40:37": -9288933,
+ "41:37": -9288933,
+ "42:37": -9288933,
+ "43:37": -9288933,
+ "44:37": -9288933,
+ "45:37": -9288933,
+ "46:37": -9288933,
+ "47:37": -9288933,
+ "48:37": -9288933,
+ "49:37": -9288933,
+ "50:37": -9288933,
+ "51:37": -9288933,
+ "52:37": -9288933,
+ "53:37": -9288933,
+ "54:37": -9288933,
+ "55:37": -9288933,
+ "56:37": -9288933,
+ "57:37": -9288933,
+ "58:37": -9288933,
+ "59:37": -9288933,
+ "60:37": -9288933,
+ "61:37": -9288933,
+ "62:37": 402653184,
+ "63:37": 268435456,
+ "64:37": 402653184,
+ "65:37": 268435456,
+ "66:37": -9288933,
+ "67:37": -9288933,
+ "68:37": -9288933,
+ "69:37": -9288933,
+ "70:37": -9288933,
+ "71:37": -9288933,
+ "72:37": -9288933,
+ "73:37": -9288933,
+ "74:37": -9288933,
+ "75:37": -9288933,
+ "76:37": -9288933,
+ "77:37": -9288933,
+ "78:37": -9288933,
+ "79:37": -9288933,
+ "80:37": -9288933,
+ "81:37": -9288933,
+ "82:37": -9288933,
+ "83:37": -9288933,
+ "84:37": 402653184,
+ "85:37": 268435456,
+ "86:37": 402653184,
+ "87:37": 268435456,
+ "88:37": -9288933,
+ "89:37": -9288933,
+ "90:37": -9288933,
+ "91:37": -9288933,
+ "92:37": -9288933,
+ "93:37": -9288933,
+ "94:37": -9288933,
+ "95:37": -9288933,
+ "96:37": -9288933,
+ "97:37": -9288933,
+ "98:37": -9288933,
+ "99:37": -9288933,
+ "100:37": -9288933,
+ "101:37": -9288933,
+ "102:37": -9288933,
+ "103:37": -9288933,
+ "104:37": -9288933,
+ "105:37": -9288933,
+ "106:37": 402653184,
+ "107:37": 268435456,
+ "108:37": 402653184,
+ "109:37": 268435456,
+ "110:37": 402653184,
+ "111:37": 268435456,
+ "112:37": 402653184,
+ "113:37": 268435456,
+ "114:37": 402653184,
+ "115:37": 268435456,
+ "116:37": 402653184,
+ "117:37": 268435456,
+ "118:37": 402653184,
+ "119:37": 268435456,
+ "120:37": 402653184,
+ "121:37": 268435456,
+ "122:37": 402653184,
+ "123:37": 268435456,
+ "124:37": 402653184,
+ "125:37": 268435456,
+ "126:37": 402653184,
+ "127:37": 268435456,
+ "0:38": 268435456,
+ "1:38": 402653184,
+ "2:38": 268435456,
+ "3:38": 402653184,
+ "4:38": 268435456,
+ "5:38": 402653184,
+ "6:38": 268435456,
+ "7:38": 402653184,
+ "8:38": 268435456,
+ "9:38": 402653184,
+ "10:38": 268435456,
+ "11:38": 402653184,
+ "12:38": 268435456,
+ "13:38": 402653184,
+ "14:38": 268435456,
+ "15:38": 402653184,
+ "16:38": 268435456,
+ "17:38": 402653184,
+ "18:38": 268435456,
+ "19:38": 402653184,
+ "20:38": 268435456,
+ "21:38": 402653184,
+ "22:38": -9288933,
+ "23:38": -9288933,
+ "24:38": -9288933,
+ "25:38": -9288933,
+ "26:38": -9288933,
+ "27:38": -9288933,
+ "28:38": -9288933,
+ "29:38": -9288933,
+ "30:38": -9288933,
+ "31:38": -9288933,
+ "32:38": -9288933,
+ "33:38": -9288933,
+ "34:38": -9288933,
+ "35:38": -9288933,
+ "36:38": -9288933,
+ "37:38": -9288933,
+ "38:38": -9288933,
+ "39:38": -9288933,
+ "40:38": -9288933,
+ "41:38": -9288933,
+ "42:38": -9288933,
+ "43:38": -9288933,
+ "44:38": -9288933,
+ "45:38": -9288933,
+ "46:38": -9288933,
+ "47:38": -9288933,
+ "48:38": -9288933,
+ "49:38": -9288933,
+ "50:38": -9288933,
+ "51:38": -9288933,
+ "52:38": -9288933,
+ "53:38": -9288933,
+ "54:38": -9288933,
+ "55:38": -9288933,
+ "56:38": -9288933,
+ "57:38": -9288933,
+ "58:38": -9288933,
+ "59:38": -9288933,
+ "60:38": -9288933,
+ "61:38": -9288933,
+ "62:38": 268435456,
+ "63:38": 402653184,
+ "64:38": 268435456,
+ "65:38": 402653184,
+ "66:38": -9288933,
+ "67:38": -9288933,
+ "68:38": -9288933,
+ "69:38": -9288933,
+ "70:38": -9288933,
+ "71:38": -9288933,
+ "72:38": -9288933,
+ "73:38": -9288933,
+ "74:38": -9288933,
+ "75:38": -9288933,
+ "76:38": -9288933,
+ "77:38": -9288933,
+ "78:38": -9288933,
+ "79:38": -9288933,
+ "80:38": -9288933,
+ "81:38": -9288933,
+ "82:38": -9288933,
+ "83:38": -9288933,
+ "84:38": 268435456,
+ "85:38": 402653184,
+ "86:38": 268435456,
+ "87:38": 402653184,
+ "88:38": -9288933,
+ "89:38": -9288933,
+ "90:38": -9288933,
+ "91:38": -9288933,
+ "92:38": -9288933,
+ "93:38": -9288933,
+ "94:38": -9288933,
+ "95:38": -9288933,
+ "96:38": -9288933,
+ "97:38": -9288933,
+ "98:38": -9288933,
+ "99:38": -9288933,
+ "100:38": -9288933,
+ "101:38": -9288933,
+ "102:38": -9288933,
+ "103:38": -9288933,
+ "104:38": -9288933,
+ "105:38": -9288933,
+ "106:38": 268435456,
+ "107:38": 402653184,
+ "108:38": 268435456,
+ "109:38": 402653184,
+ "110:38": 268435456,
+ "111:38": 402653184,
+ "112:38": 268435456,
+ "113:38": 402653184,
+ "114:38": 268435456,
+ "115:38": 402653184,
+ "116:38": 268435456,
+ "117:38": 402653184,
+ "118:38": 268435456,
+ "119:38": 402653184,
+ "120:38": 268435456,
+ "121:38": 402653184,
+ "122:38": 268435456,
+ "123:38": 402653184,
+ "124:38": 268435456,
+ "125:38": 402653184,
+ "126:38": 268435456,
+ "127:38": 402653184,
+ "0:39": 402653184,
+ "1:39": 268435456,
+ "2:39": 402653184,
+ "3:39": 268435456,
+ "4:39": 402653184,
+ "5:39": 268435456,
+ "6:39": 402653184,
+ "7:39": 268435456,
+ "8:39": 402653184,
+ "9:39": 268435456,
+ "10:39": 402653184,
+ "11:39": 268435456,
+ "12:39": 402653184,
+ "13:39": 268435456,
+ "14:39": 402653184,
+ "15:39": 268435456,
+ "16:39": 402653184,
+ "17:39": 268435456,
+ "18:39": 402653184,
+ "19:39": 268435456,
+ "20:39": 402653184,
+ "21:39": 268435456,
+ "22:39": -9288933,
+ "23:39": -9288933,
+ "24:39": -9288933,
+ "25:39": -9288933,
+ "26:39": -9288933,
+ "27:39": -9288933,
+ "28:39": -9288933,
+ "29:39": -9288933,
+ "30:39": -9288933,
+ "31:39": -9288933,
+ "32:39": -9288933,
+ "33:39": -9288933,
+ "34:39": -9288933,
+ "35:39": -9288933,
+ "36:39": -9288933,
+ "37:39": -9288933,
+ "38:39": -9288933,
+ "39:39": -9288933,
+ "40:39": -9288933,
+ "41:39": -9288933,
+ "42:39": -9288933,
+ "43:39": -9288933,
+ "44:39": -9288933,
+ "45:39": -9288933,
+ "46:39": -9288933,
+ "47:39": -9288933,
+ "48:39": -9288933,
+ "49:39": -9288933,
+ "50:39": -9288933,
+ "51:39": -9288933,
+ "52:39": -9288933,
+ "53:39": -9288933,
+ "54:39": -9288933,
+ "55:39": -9288933,
+ "56:39": -9288933,
+ "57:39": -9288933,
+ "58:39": -9288933,
+ "59:39": -9288933,
+ "60:39": -9288933,
+ "61:39": -9288933,
+ "62:39": 402653184,
+ "63:39": 268435456,
+ "64:39": 402653184,
+ "65:39": 268435456,
+ "66:39": -9288933,
+ "67:39": -9288933,
+ "68:39": -9288933,
+ "69:39": -9288933,
+ "70:39": -9288933,
+ "71:39": -9288933,
+ "72:39": -9288933,
+ "73:39": -9288933,
+ "74:39": -9288933,
+ "75:39": -9288933,
+ "76:39": -9288933,
+ "77:39": -9288933,
+ "78:39": -9288933,
+ "79:39": -9288933,
+ "80:39": -9288933,
+ "81:39": -9288933,
+ "82:39": -9288933,
+ "83:39": -9288933,
+ "84:39": 402653184,
+ "85:39": 268435456,
+ "86:39": 402653184,
+ "87:39": 268435456,
+ "88:39": -9288933,
+ "89:39": -9288933,
+ "90:39": -9288933,
+ "91:39": -9288933,
+ "92:39": -9288933,
+ "93:39": -9288933,
+ "94:39": -9288933,
+ "95:39": -9288933,
+ "96:39": -9288933,
+ "97:39": -9288933,
+ "98:39": -9288933,
+ "99:39": -9288933,
+ "100:39": -9288933,
+ "101:39": -9288933,
+ "102:39": -9288933,
+ "103:39": -9288933,
+ "104:39": -9288933,
+ "105:39": -9288933,
+ "106:39": 402653184,
+ "107:39": 268435456,
+ "108:39": 402653184,
+ "109:39": 268435456,
+ "110:39": 402653184,
+ "111:39": 268435456,
+ "112:39": 402653184,
+ "113:39": 268435456,
+ "114:39": 402653184,
+ "115:39": 268435456,
+ "116:39": 402653184,
+ "117:39": 268435456,
+ "118:39": 402653184,
+ "119:39": 268435456,
+ "120:39": 402653184,
+ "121:39": 268435456,
+ "122:39": 402653184,
+ "123:39": 268435456,
+ "124:39": 402653184,
+ "125:39": 268435456,
+ "126:39": 402653184,
+ "127:39": 268435456,
+ "0:40": 268435456,
+ "1:40": 402653184,
+ "2:40": 268435456,
+ "3:40": 402653184,
+ "4:40": 268435456,
+ "5:40": 402653184,
+ "6:40": 268435456,
+ "7:40": 402653184,
+ "8:40": 268435456,
+ "9:40": 402653184,
+ "10:40": 268435456,
+ "11:40": 402653184,
+ "12:40": 268435456,
+ "13:40": 402653184,
+ "14:40": 268435456,
+ "15:40": 402653184,
+ "16:40": 268435456,
+ "17:40": 402653184,
+ "18:40": 268435456,
+ "19:40": 402653184,
+ "20:40": 268435456,
+ "21:40": 402653184,
+ "22:40": -9288933,
+ "23:40": -9288933,
+ "24:40": -9288933,
+ "25:40": -9288933,
+ "26:40": -9288933,
+ "27:40": -9288933,
+ "28:40": -9288933,
+ "29:40": -9288933,
+ "30:40": -9288933,
+ "31:40": -9288933,
+ "32:40": -9288933,
+ "33:40": -9288933,
+ "34:40": -9288933,
+ "35:40": -9288933,
+ "36:40": -9288933,
+ "37:40": -9288933,
+ "38:40": -9288933,
+ "39:40": -9288933,
+ "40:40": -9288933,
+ "41:40": -9288933,
+ "42:40": -9288933,
+ "43:40": -9288933,
+ "44:40": -9288933,
+ "45:40": -9288933,
+ "46:40": -9288933,
+ "47:40": -9288933,
+ "48:40": -9288933,
+ "49:40": -9288933,
+ "50:40": -9288933,
+ "51:40": -9288933,
+ "52:40": -9288933,
+ "53:40": -9288933,
+ "54:40": -9288933,
+ "55:40": -9288933,
+ "56:40": -9288933,
+ "57:40": -9288933,
+ "58:40": -9288933,
+ "59:40": -9288933,
+ "60:40": -9288933,
+ "61:40": -9288933,
+ "62:40": 268435456,
+ "63:40": 402653184,
+ "64:40": 268435456,
+ "65:40": 402653184,
+ "66:40": -9288933,
+ "67:40": -9288933,
+ "68:40": -9288933,
+ "69:40": -9288933,
+ "70:40": -9288933,
+ "71:40": -9288933,
+ "72:40": -9288933,
+ "73:40": -9288933,
+ "74:40": -9288933,
+ "75:40": -9288933,
+ "76:40": -1,
+ "77:40": -1,
+ "78:40": -1,
+ "79:40": -9288933,
+ "80:40": -9288933,
+ "81:40": -9288933,
+ "82:40": -9288933,
+ "83:40": -9288933,
+ "84:40": 268435456,
+ "85:40": 402653184,
+ "86:40": 268435456,
+ "87:40": 402653184,
+ "88:40": -9288933,
+ "89:40": -9288933,
+ "90:40": -9288933,
+ "91:40": -9288933,
+ "92:40": -9288933,
+ "93:40": -9288933,
+ "94:40": -9288933,
+ "95:40": -9288933,
+ "96:40": -9288933,
+ "97:40": -9288933,
+ "98:40": -9288933,
+ "99:40": -9288933,
+ "100:40": -9288933,
+ "101:40": -9288933,
+ "102:40": -9288933,
+ "103:40": -9288933,
+ "104:40": -9288933,
+ "105:40": -9288933,
+ "106:40": 268435456,
+ "107:40": 402653184,
+ "108:40": 268435456,
+ "109:40": 402653184,
+ "110:40": 268435456,
+ "111:40": 402653184,
+ "112:40": 268435456,
+ "113:40": 402653184,
+ "114:40": 268435456,
+ "115:40": 402653184,
+ "116:40": 268435456,
+ "117:40": 402653184,
+ "118:40": 268435456,
+ "119:40": 402653184,
+ "120:40": 268435456,
+ "121:40": 402653184,
+ "122:40": 268435456,
+ "123:40": 402653184,
+ "124:40": 268435456,
+ "125:40": 402653184,
+ "126:40": 268435456,
+ "127:40": 402653184,
+ "0:41": 402653184,
+ "1:41": 268435456,
+ "2:41": 402653184,
+ "3:41": 268435456,
+ "4:41": 402653184,
+ "5:41": 268435456,
+ "6:41": 402653184,
+ "7:41": 268435456,
+ "8:41": 402653184,
+ "9:41": 268435456,
+ "10:41": 402653184,
+ "11:41": 268435456,
+ "12:41": 402653184,
+ "13:41": 268435456,
+ "14:41": 402653184,
+ "15:41": 268435456,
+ "16:41": 402653184,
+ "17:41": 268435456,
+ "18:41": 402653184,
+ "19:41": 268435456,
+ "20:41": 402653184,
+ "21:41": 268435456,
+ "22:41": -9288933,
+ "23:41": -9288933,
+ "24:41": -9288933,
+ "25:41": -9288933,
+ "26:41": -9288933,
+ "27:41": -9288933,
+ "28:41": -9288933,
+ "29:41": -9288933,
+ "30:41": -9288933,
+ "31:41": -9288933,
+ "32:41": -9288933,
+ "33:41": -9288933,
+ "34:41": -9288933,
+ "35:41": -9288933,
+ "36:41": -9288933,
+ "37:41": -9288933,
+ "38:41": -9288933,
+ "39:41": -9288933,
+ "40:41": -9288933,
+ "41:41": -9288933,
+ "42:41": -9288933,
+ "43:41": -9288933,
+ "44:41": -9288933,
+ "45:41": -9288933,
+ "46:41": -9288933,
+ "47:41": -9288933,
+ "48:41": -9288933,
+ "49:41": -9288933,
+ "50:41": -9288933,
+ "51:41": -9288933,
+ "52:41": -9288933,
+ "53:41": -9288933,
+ "54:41": -9288933,
+ "55:41": -9288933,
+ "56:41": -9288933,
+ "57:41": -9288933,
+ "58:41": -9288933,
+ "59:41": -9288933,
+ "60:41": -9288933,
+ "61:41": -9288933,
+ "62:41": 402653184,
+ "63:41": 268435456,
+ "64:41": 402653184,
+ "65:41": 268435456,
+ "66:41": -9288933,
+ "67:41": -9288933,
+ "68:41": -9288933,
+ "69:41": -9288933,
+ "70:41": -9288933,
+ "71:41": -9288933,
+ "72:41": -9288933,
+ "73:41": -9288933,
+ "74:41": -9288933,
+ "75:41": -1,
+ "76:41": -1,
+ "77:41": -1,
+ "78:41": -9288933,
+ "79:41": -9288933,
+ "80:41": -9288933,
+ "81:41": -9288933,
+ "82:41": -9288933,
+ "83:41": -9288933,
+ "84:41": 402653184,
+ "85:41": 268435456,
+ "86:41": 402653184,
+ "87:41": 268435456,
+ "88:41": -9288933,
+ "89:41": -9288933,
+ "90:41": -9288933,
+ "91:41": -9288933,
+ "92:41": -9288933,
+ "93:41": -9288933,
+ "94:41": -9288933,
+ "95:41": -9288933,
+ "96:41": -9288933,
+ "97:41": -9288933,
+ "98:41": -9288933,
+ "99:41": -9288933,
+ "100:41": -9288933,
+ "101:41": -9288933,
+ "102:41": -9288933,
+ "103:41": -9288933,
+ "104:41": -9288933,
+ "105:41": -9288933,
+ "106:41": 402653184,
+ "107:41": 268435456,
+ "108:41": 402653184,
+ "109:41": 268435456,
+ "110:41": 402653184,
+ "111:41": 268435456,
+ "112:41": 402653184,
+ "113:41": 268435456,
+ "114:41": 402653184,
+ "115:41": 268435456,
+ "116:41": 402653184,
+ "117:41": 268435456,
+ "118:41": 402653184,
+ "119:41": 268435456,
+ "120:41": 402653184,
+ "121:41": 268435456,
+ "122:41": 402653184,
+ "123:41": 268435456,
+ "124:41": 402653184,
+ "125:41": 268435456,
+ "126:41": 402653184,
+ "127:41": 268435456,
+ "0:42": 268435456,
+ "1:42": 402653184,
+ "2:42": 268435456,
+ "3:42": 402653184,
+ "4:42": 268435456,
+ "5:42": 402653184,
+ "6:42": 268435456,
+ "7:42": 402653184,
+ "8:42": 268435456,
+ "9:42": 402653184,
+ "10:42": 268435456,
+ "11:42": 402653184,
+ "12:42": 268435456,
+ "13:42": 402653184,
+ "14:42": 268435456,
+ "15:42": 402653184,
+ "16:42": 268435456,
+ "17:42": 402653184,
+ "18:42": 268435456,
+ "19:42": 402653184,
+ "20:42": 268435456,
+ "21:42": 402653184,
+ "22:42": -9288933,
+ "23:42": -9288933,
+ "24:42": -9288933,
+ "25:42": -9288933,
+ "26:42": -9288933,
+ "27:42": -9288933,
+ "28:42": -9288933,
+ "29:42": -9288933,
+ "30:42": -9288933,
+ "31:42": -9288933,
+ "32:42": -9288933,
+ "33:42": -9288933,
+ "34:42": -9288933,
+ "35:42": -9288933,
+ "36:42": -9288933,
+ "37:42": -9288933,
+ "38:42": -9288933,
+ "39:42": -9288933,
+ "40:42": -9288933,
+ "41:42": -9288933,
+ "42:42": -9288933,
+ "43:42": -9288933,
+ "44:42": -9288933,
+ "45:42": -9288933,
+ "46:42": -9288933,
+ "47:42": -9288933,
+ "48:42": -9288933,
+ "49:42": -9288933,
+ "50:42": -9288933,
+ "51:42": -9288933,
+ "52:42": -9288933,
+ "53:42": -9288933,
+ "54:42": -9288933,
+ "55:42": -9288933,
+ "56:42": -9288933,
+ "57:42": -9288933,
+ "58:42": -9288933,
+ "59:42": -9288933,
+ "60:42": -9288933,
+ "61:42": -9288933,
+ "62:42": 268435456,
+ "63:42": 402653184,
+ "64:42": 268435456,
+ "65:42": 402653184,
+ "66:42": -9288933,
+ "67:42": -9288933,
+ "68:42": -9288933,
+ "69:42": -9288933,
+ "70:42": -9288933,
+ "71:42": -9288933,
+ "72:42": -9288933,
+ "73:42": -9288933,
+ "74:42": -9288933,
+ "75:42": -1,
+ "76:42": -1,
+ "77:42": -9288933,
+ "78:42": -9288933,
+ "79:42": -9288933,
+ "80:42": -9288933,
+ "81:42": -9288933,
+ "82:42": -9288933,
+ "83:42": -9288933,
+ "84:42": 268435456,
+ "85:42": 402653184,
+ "86:42": 268435456,
+ "87:42": 402653184,
+ "88:42": -9288933,
+ "89:42": -9288933,
+ "90:42": -9288933,
+ "91:42": -9288933,
+ "92:42": -9288933,
+ "93:42": -9288933,
+ "94:42": -9288933,
+ "95:42": -9288933,
+ "96:42": -9288933,
+ "97:42": -9288933,
+ "98:42": -9288933,
+ "99:42": -9288933,
+ "100:42": -9288933,
+ "101:42": -9288933,
+ "102:42": -9288933,
+ "103:42": -9288933,
+ "104:42": -9288933,
+ "105:42": -9288933,
+ "106:42": 268435456,
+ "107:42": 402653184,
+ "108:42": 268435456,
+ "109:42": 402653184,
+ "110:42": 268435456,
+ "111:42": 402653184,
+ "112:42": 268435456,
+ "113:42": 402653184,
+ "114:42": 268435456,
+ "115:42": 402653184,
+ "116:42": 268435456,
+ "117:42": 402653184,
+ "118:42": 268435456,
+ "119:42": 402653184,
+ "120:42": 268435456,
+ "121:42": 402653184,
+ "122:42": 268435456,
+ "123:42": 402653184,
+ "124:42": 268435456,
+ "125:42": 402653184,
+ "126:42": 268435456,
+ "127:42": 402653184,
+ "0:43": 402653184,
+ "1:43": 268435456,
+ "2:43": 402653184,
+ "3:43": 268435456,
+ "4:43": 402653184,
+ "5:43": 268435456,
+ "6:43": 402653184,
+ "7:43": 268435456,
+ "8:43": 402653184,
+ "9:43": 268435456,
+ "10:43": 402653184,
+ "11:43": 268435456,
+ "12:43": 402653184,
+ "13:43": 268435456,
+ "14:43": 402653184,
+ "15:43": 268435456,
+ "16:43": 402653184,
+ "17:43": 268435456,
+ "18:43": 402653184,
+ "19:43": 268435456,
+ "20:43": 402653184,
+ "21:43": 268435456,
+ "22:43": -9288933,
+ "23:43": -9288933,
+ "24:43": -9288933,
+ "25:43": -9288933,
+ "26:43": -9288933,
+ "27:43": -9288933,
+ "28:43": -9288933,
+ "29:43": -9288933,
+ "30:43": -9288933,
+ "31:43": -9288933,
+ "32:43": -9288933,
+ "33:43": -9288933,
+ "34:43": -9288933,
+ "35:43": -9288933,
+ "36:43": -9288933,
+ "37:43": -9288933,
+ "38:43": -9288933,
+ "39:43": -9288933,
+ "40:43": -9288933,
+ "41:43": -9288933,
+ "42:43": -9288933,
+ "43:43": -9288933,
+ "44:43": -9288933,
+ "45:43": -9288933,
+ "46:43": -9288933,
+ "47:43": -9288933,
+ "48:43": -9288933,
+ "49:43": -9288933,
+ "50:43": -9288933,
+ "51:43": -9288933,
+ "52:43": -9288933,
+ "53:43": -9288933,
+ "54:43": -9288933,
+ "55:43": -9288933,
+ "56:43": -9288933,
+ "57:43": -9288933,
+ "58:43": -9288933,
+ "59:43": -9288933,
+ "60:43": -9288933,
+ "61:43": -9288933,
+ "62:43": 402653184,
+ "63:43": 268435456,
+ "64:43": 402653184,
+ "65:43": 268435456,
+ "66:43": -9288933,
+ "67:43": -9288933,
+ "68:43": -9288933,
+ "69:43": -9288933,
+ "70:43": -9288933,
+ "71:43": -9288933,
+ "72:43": -1,
+ "73:43": -1,
+ "74:43": -9288933,
+ "75:43": -1,
+ "76:43": -1,
+ "77:43": -9288933,
+ "78:43": -9288933,
+ "79:43": -9288933,
+ "80:43": -9288933,
+ "81:43": -9288933,
+ "82:43": -9288933,
+ "83:43": -9288933,
+ "84:43": 402653184,
+ "85:43": 268435456,
+ "86:43": 402653184,
+ "87:43": 268435456,
+ "88:43": -9288933,
+ "89:43": -9288933,
+ "90:43": -9288933,
+ "91:43": -9288933,
+ "92:43": -9288933,
+ "93:43": -9288933,
+ "94:43": -9288933,
+ "95:43": -9288933,
+ "96:43": -9288933,
+ "97:43": -9288933,
+ "98:43": -9288933,
+ "99:43": -9288933,
+ "100:43": -9288933,
+ "101:43": -9288933,
+ "102:43": -9288933,
+ "103:43": -9288933,
+ "104:43": -9288933,
+ "105:43": -9288933,
+ "106:43": 402653184,
+ "107:43": 268435456,
+ "108:43": 402653184,
+ "109:43": 268435456,
+ "110:43": 402653184,
+ "111:43": 268435456,
+ "112:43": 402653184,
+ "113:43": 268435456,
+ "114:43": 402653184,
+ "115:43": 268435456,
+ "116:43": 402653184,
+ "117:43": 268435456,
+ "118:43": 402653184,
+ "119:43": 268435456,
+ "120:43": 402653184,
+ "121:43": 268435456,
+ "122:43": 402653184,
+ "123:43": 268435456,
+ "124:43": 402653184,
+ "125:43": 268435456,
+ "126:43": 402653184,
+ "127:43": 268435456,
+ "0:44": 268435456,
+ "1:44": 402653184,
+ "2:44": 268435456,
+ "3:44": 402653184,
+ "4:44": 268435456,
+ "5:44": 402653184,
+ "6:44": 268435456,
+ "7:44": 402653184,
+ "8:44": 268435456,
+ "9:44": 402653184,
+ "10:44": 268435456,
+ "11:44": 402653184,
+ "12:44": 268435456,
+ "13:44": 402653184,
+ "14:44": 268435456,
+ "15:44": 402653184,
+ "16:44": 268435456,
+ "17:44": 402653184,
+ "18:44": 268435456,
+ "19:44": 402653184,
+ "20:44": 268435456,
+ "21:44": 402653184,
+ "22:44": -9288933,
+ "23:44": -9288933,
+ "24:44": -9288933,
+ "25:44": -9288933,
+ "26:44": -9288933,
+ "27:44": -9288933,
+ "28:44": -9288933,
+ "29:44": -9288933,
+ "30:44": -9288933,
+ "31:44": -9288933,
+ "32:44": -9288933,
+ "33:44": -9288933,
+ "34:44": -9288933,
+ "35:44": -9288933,
+ "36:44": -9288933,
+ "37:44": -9288933,
+ "38:44": -9288933,
+ "39:44": -9288933,
+ "40:44": -9288933,
+ "41:44": -9288933,
+ "42:44": -9288933,
+ "43:44": -9288933,
+ "44:44": -9288933,
+ "45:44": -9288933,
+ "46:44": -9288933,
+ "47:44": -9288933,
+ "48:44": -9288933,
+ "49:44": -9288933,
+ "50:44": -9288933,
+ "51:44": -9288933,
+ "52:44": -9288933,
+ "53:44": -9288933,
+ "54:44": -9288933,
+ "55:44": -9288933,
+ "56:44": -9288933,
+ "57:44": -9288933,
+ "58:44": -9288933,
+ "59:44": -9288933,
+ "60:44": -9288933,
+ "61:44": -9288933,
+ "62:44": 268435456,
+ "63:44": 402653184,
+ "64:44": 268435456,
+ "65:44": 402653184,
+ "66:44": -9288933,
+ "67:44": -9288933,
+ "68:44": -9288933,
+ "69:44": -9288933,
+ "70:44": -9288933,
+ "71:44": -9288933,
+ "72:44": -9288933,
+ "73:44": -1,
+ "74:44": -1,
+ "75:44": -1,
+ "76:44": -9288933,
+ "77:44": -9288933,
+ "78:44": -9288933,
+ "79:44": -9288933,
+ "80:44": -9288933,
+ "81:44": -9288933,
+ "82:44": -9288933,
+ "83:44": -9288933,
+ "84:44": 268435456,
+ "85:44": 402653184,
+ "86:44": 268435456,
+ "87:44": 402653184,
+ "88:44": -9288933,
+ "89:44": -9288933,
+ "90:44": -9288933,
+ "91:44": -9288933,
+ "92:44": -9288933,
+ "93:44": -9288933,
+ "94:44": -9288933,
+ "95:44": -9288933,
+ "96:44": -9288933,
+ "97:44": -9288933,
+ "98:44": -9288933,
+ "99:44": -9288933,
+ "100:44": -9288933,
+ "101:44": -9288933,
+ "102:44": -9288933,
+ "103:44": -9288933,
+ "104:44": -9288933,
+ "105:44": -9288933,
+ "106:44": 268435456,
+ "107:44": 402653184,
+ "108:44": 268435456,
+ "109:44": 402653184,
+ "110:44": 268435456,
+ "111:44": 402653184,
+ "112:44": 268435456,
+ "113:44": 402653184,
+ "114:44": 268435456,
+ "115:44": 402653184,
+ "116:44": 268435456,
+ "117:44": 402653184,
+ "118:44": 268435456,
+ "119:44": 402653184,
+ "120:44": 268435456,
+ "121:44": 402653184,
+ "122:44": 268435456,
+ "123:44": 402653184,
+ "124:44": 268435456,
+ "125:44": 402653184,
+ "126:44": 268435456,
+ "127:44": 402653184,
+ "0:45": 402653184,
+ "1:45": 268435456,
+ "2:45": 402653184,
+ "3:45": 268435456,
+ "4:45": 402653184,
+ "5:45": 268435456,
+ "6:45": 402653184,
+ "7:45": 268435456,
+ "8:45": 402653184,
+ "9:45": 268435456,
+ "10:45": 402653184,
+ "11:45": 268435456,
+ "12:45": 402653184,
+ "13:45": 268435456,
+ "14:45": 402653184,
+ "15:45": 268435456,
+ "16:45": 402653184,
+ "17:45": 268435456,
+ "18:45": 402653184,
+ "19:45": 268435456,
+ "20:45": 402653184,
+ "21:45": 268435456,
+ "22:45": -9288933,
+ "23:45": -9288933,
+ "24:45": -9288933,
+ "25:45": -9288933,
+ "26:45": -9288933,
+ "27:45": -9288933,
+ "28:45": -9288933,
+ "29:45": -9288933,
+ "30:45": -9288933,
+ "31:45": -9288933,
+ "32:45": -9288933,
+ "33:45": -9288933,
+ "34:45": -9288933,
+ "35:45": -9288933,
+ "36:45": -9288933,
+ "37:45": -9288933,
+ "38:45": -9288933,
+ "39:45": -9288933,
+ "40:45": -9288933,
+ "41:45": -9288933,
+ "42:45": -9288933,
+ "43:45": -9288933,
+ "44:45": -9288933,
+ "45:45": -9288933,
+ "46:45": -9288933,
+ "47:45": -9288933,
+ "48:45": -9288933,
+ "49:45": -9288933,
+ "50:45": -9288933,
+ "51:45": -9288933,
+ "52:45": -9288933,
+ "53:45": -9288933,
+ "54:45": -9288933,
+ "55:45": -9288933,
+ "56:45": -9288933,
+ "57:45": -9288933,
+ "58:45": -9288933,
+ "59:45": -9288933,
+ "60:45": -9288933,
+ "61:45": -9288933,
+ "62:45": 402653184,
+ "63:45": 268435456,
+ "64:45": 402653184,
+ "65:45": 268435456,
+ "66:45": -9288933,
+ "67:45": -9288933,
+ "68:45": -9288933,
+ "69:45": -9288933,
+ "70:45": -9288933,
+ "71:45": -9288933,
+ "72:45": -9288933,
+ "73:45": -1,
+ "74:45": -1,
+ "75:45": -1,
+ "76:45": -9288933,
+ "77:45": -9288933,
+ "78:45": -9288933,
+ "79:45": -9288933,
+ "80:45": -9288933,
+ "81:45": -9288933,
+ "82:45": -9288933,
+ "83:45": -9288933,
+ "84:45": 402653184,
+ "85:45": 268435456,
+ "86:45": 402653184,
+ "87:45": 268435456,
+ "88:45": -9288933,
+ "89:45": -9288933,
+ "90:45": -9288933,
+ "91:45": -9288933,
+ "92:45": -9288933,
+ "93:45": -9288933,
+ "94:45": -9288933,
+ "95:45": -9288933,
+ "96:45": -9288933,
+ "97:45": -9288933,
+ "98:45": -9288933,
+ "99:45": -9288933,
+ "100:45": -9288933,
+ "101:45": -9288933,
+ "102:45": -9288933,
+ "103:45": -9288933,
+ "104:45": -9288933,
+ "105:45": -9288933,
+ "106:45": 402653184,
+ "107:45": 268435456,
+ "108:45": 402653184,
+ "109:45": 268435456,
+ "110:45": 402653184,
+ "111:45": 268435456,
+ "112:45": 402653184,
+ "113:45": 268435456,
+ "114:45": 402653184,
+ "115:45": 268435456,
+ "116:45": 402653184,
+ "117:45": 268435456,
+ "118:45": 402653184,
+ "119:45": 268435456,
+ "120:45": 402653184,
+ "121:45": 268435456,
+ "122:45": 402653184,
+ "123:45": 268435456,
+ "124:45": 402653184,
+ "125:45": 268435456,
+ "126:45": 402653184,
+ "127:45": 268435456,
+ "0:46": 268435456,
+ "1:46": 402653184,
+ "2:46": 268435456,
+ "3:46": 402653184,
+ "4:46": 268435456,
+ "5:46": 402653184,
+ "6:46": 268435456,
+ "7:46": 402653184,
+ "8:46": 268435456,
+ "9:46": 402653184,
+ "10:46": 268435456,
+ "11:46": 402653184,
+ "12:46": 268435456,
+ "13:46": 402653184,
+ "14:46": 268435456,
+ "15:46": 402653184,
+ "16:46": 268435456,
+ "17:46": 402653184,
+ "18:46": 268435456,
+ "19:46": 402653184,
+ "20:46": 268435456,
+ "21:46": 402653184,
+ "22:46": -9288933,
+ "23:46": -9288933,
+ "24:46": -9288933,
+ "25:46": -9288933,
+ "26:46": -9288933,
+ "27:46": -9288933,
+ "28:46": -9288933,
+ "29:46": -9288933,
+ "30:46": -9288933,
+ "31:46": -9288933,
+ "32:46": -9288933,
+ "33:46": -9288933,
+ "34:46": -9288933,
+ "35:46": -9288933,
+ "36:46": -9288933,
+ "37:46": -9288933,
+ "38:46": -9288933,
+ "39:46": -9288933,
+ "40:46": -9288933,
+ "41:46": -9288933,
+ "42:46": -9288933,
+ "43:46": -9288933,
+ "44:46": -9288933,
+ "45:46": -9288933,
+ "46:46": -9288933,
+ "47:46": -9288933,
+ "48:46": -9288933,
+ "49:46": -9288933,
+ "50:46": -9288933,
+ "51:46": -9288933,
+ "52:46": -9288933,
+ "53:46": -9288933,
+ "54:46": -9288933,
+ "55:46": -9288933,
+ "56:46": -9288933,
+ "57:46": -9288933,
+ "58:46": -9288933,
+ "59:46": -9288933,
+ "60:46": -9288933,
+ "61:46": -9288933,
+ "62:46": 268435456,
+ "63:46": 402653184,
+ "64:46": 268435456,
+ "65:46": 402653184,
+ "66:46": -9288933,
+ "67:46": -9288933,
+ "68:46": -9288933,
+ "69:46": -9288933,
+ "70:46": -9288933,
+ "71:46": -9288933,
+ "72:46": -9288933,
+ "73:46": -9288933,
+ "74:46": -9288933,
+ "75:46": -9288933,
+ "76:46": -9288933,
+ "77:46": -9288933,
+ "78:46": -9288933,
+ "79:46": -9288933,
+ "80:46": -9288933,
+ "81:46": -9288933,
+ "82:46": -9288933,
+ "83:46": -9288933,
+ "84:46": 268435456,
+ "85:46": 402653184,
+ "86:46": 268435456,
+ "87:46": 402653184,
+ "88:46": -9288933,
+ "89:46": -9288933,
+ "90:46": -9288933,
+ "91:46": -9288933,
+ "92:46": -9288933,
+ "93:46": -9288933,
+ "94:46": -9288933,
+ "95:46": -9288933,
+ "96:46": -9288933,
+ "97:46": -9288933,
+ "98:46": -9288933,
+ "99:46": -9288933,
+ "100:46": -9288933,
+ "101:46": -9288933,
+ "102:46": -9288933,
+ "103:46": -9288933,
+ "104:46": -9288933,
+ "105:46": -9288933,
+ "106:46": 268435456,
+ "107:46": 402653184,
+ "108:46": 268435456,
+ "109:46": 402653184,
+ "110:46": 268435456,
+ "111:46": 402653184,
+ "112:46": 268435456,
+ "113:46": 402653184,
+ "114:46": 268435456,
+ "115:46": 402653184,
+ "116:46": 268435456,
+ "117:46": 402653184,
+ "118:46": 268435456,
+ "119:46": 402653184,
+ "120:46": 268435456,
+ "121:46": 402653184,
+ "122:46": 268435456,
+ "123:46": 402653184,
+ "124:46": 268435456,
+ "125:46": 402653184,
+ "126:46": 268435456,
+ "127:46": 402653184,
+ "0:47": 402653184,
+ "1:47": 268435456,
+ "2:47": 402653184,
+ "3:47": 268435456,
+ "4:47": 402653184,
+ "5:47": 268435456,
+ "6:47": 402653184,
+ "7:47": 268435456,
+ "8:47": 402653184,
+ "9:47": 268435456,
+ "10:47": 402653184,
+ "11:47": 268435456,
+ "12:47": 402653184,
+ "13:47": 268435456,
+ "14:47": 402653184,
+ "15:47": 268435456,
+ "16:47": 402653184,
+ "17:47": 268435456,
+ "18:47": 402653184,
+ "19:47": 268435456,
+ "20:47": 402653184,
+ "21:47": 268435456,
+ "22:47": -9288933,
+ "23:47": -9288933,
+ "24:47": -9288933,
+ "25:47": -9288933,
+ "26:47": -9288933,
+ "27:47": -9288933,
+ "28:47": -9288933,
+ "29:47": -9288933,
+ "30:47": -9288933,
+ "31:47": -9288933,
+ "32:47": -9288933,
+ "33:47": -9288933,
+ "34:47": -9288933,
+ "35:47": -9288933,
+ "36:47": -9288933,
+ "37:47": -9288933,
+ "38:47": -9288933,
+ "39:47": -9288933,
+ "40:47": -9288933,
+ "41:47": -9288933,
+ "42:47": -9288933,
+ "43:47": -9288933,
+ "44:47": -9288933,
+ "45:47": -9288933,
+ "46:47": -9288933,
+ "47:47": -9288933,
+ "48:47": -9288933,
+ "49:47": -9288933,
+ "50:47": -9288933,
+ "51:47": -9288933,
+ "52:47": -9288933,
+ "53:47": -9288933,
+ "54:47": -9288933,
+ "55:47": -9288933,
+ "56:47": -9288933,
+ "57:47": -9288933,
+ "58:47": -9288933,
+ "59:47": -9288933,
+ "60:47": -9288933,
+ "61:47": -9288933,
+ "62:47": 402653184,
+ "63:47": 268435456,
+ "64:47": 402653184,
+ "65:47": 268435456,
+ "66:47": -9288933,
+ "67:47": -9288933,
+ "68:47": -9288933,
+ "69:47": -9288933,
+ "70:47": -9288933,
+ "71:47": -9288933,
+ "72:47": -9288933,
+ "73:47": -9288933,
+ "74:47": -9288933,
+ "75:47": -9288933,
+ "76:47": -9288933,
+ "77:47": -9288933,
+ "78:47": -9288933,
+ "79:47": -9288933,
+ "80:47": -9288933,
+ "81:47": -9288933,
+ "82:47": -9288933,
+ "83:47": -9288933,
+ "84:47": 402653184,
+ "85:47": 268435456,
+ "86:47": 402653184,
+ "87:47": 268435456,
+ "88:47": -9288933,
+ "89:47": -9288933,
+ "90:47": -9288933,
+ "91:47": -9288933,
+ "92:47": -9288933,
+ "93:47": -9288933,
+ "94:47": -9288933,
+ "95:47": -9288933,
+ "96:47": -9288933,
+ "97:47": -9288933,
+ "98:47": -9288933,
+ "99:47": -9288933,
+ "100:47": -9288933,
+ "101:47": -9288933,
+ "102:47": -9288933,
+ "103:47": -9288933,
+ "104:47": -9288933,
+ "105:47": -9288933,
+ "106:47": 402653184,
+ "107:47": 268435456,
+ "108:47": 402653184,
+ "109:47": 268435456,
+ "110:47": 402653184,
+ "111:47": 268435456,
+ "112:47": 402653184,
+ "113:47": 268435456,
+ "114:47": 402653184,
+ "115:47": 268435456,
+ "116:47": 402653184,
+ "117:47": 268435456,
+ "118:47": 402653184,
+ "119:47": 268435456,
+ "120:47": 402653184,
+ "121:47": 268435456,
+ "122:47": 402653184,
+ "123:47": 268435456,
+ "124:47": 402653184,
+ "125:47": 268435456,
+ "126:47": 402653184,
+ "127:47": 268435456,
+ "0:48": 268435456,
+ "1:48": 402653184,
+ "2:48": 268435456,
+ "3:48": 402653184,
+ "4:48": 268435456,
+ "5:48": 402653184,
+ "6:48": 268435456,
+ "7:48": 402653184,
+ "8:48": 268435456,
+ "9:48": 402653184,
+ "10:48": 268435456,
+ "11:48": 402653184,
+ "12:48": 268435456,
+ "13:48": 402653184,
+ "14:48": 268435456,
+ "15:48": 402653184,
+ "16:48": 268435456,
+ "17:48": 402653184,
+ "18:48": 268435456,
+ "19:48": 402653184,
+ "20:48": 268435456,
+ "21:48": 402653184,
+ "22:48": -9288933,
+ "23:48": -9288933,
+ "24:48": -9288933,
+ "25:48": -9288933,
+ "26:48": -9288933,
+ "27:48": -9288933,
+ "28:48": -9288933,
+ "29:48": -9288933,
+ "30:48": -9288933,
+ "31:48": -9288933,
+ "32:48": -9288933,
+ "33:48": -9288933,
+ "34:48": -9288933,
+ "35:48": -9288933,
+ "36:48": -9288933,
+ "37:48": -9288933,
+ "38:48": -9288933,
+ "39:48": -9288933,
+ "40:48": -9288933,
+ "41:48": -9288933,
+ "42:48": -9288933,
+ "43:48": -9288933,
+ "44:48": -9288933,
+ "45:48": -9288933,
+ "46:48": -9288933,
+ "47:48": -9288933,
+ "48:48": -9288933,
+ "49:48": -9288933,
+ "50:48": -9288933,
+ "51:48": -9288933,
+ "52:48": -9288933,
+ "53:48": -9288933,
+ "54:48": -9288933,
+ "55:48": -9288933,
+ "56:48": -9288933,
+ "57:48": -9288933,
+ "58:48": -9288933,
+ "59:48": -9288933,
+ "60:48": -9288933,
+ "61:48": -9288933,
+ "62:48": 268435456,
+ "63:48": 402653184,
+ "64:48": 268435456,
+ "65:48": 402653184,
+ "66:48": -9288933,
+ "67:48": -9288933,
+ "68:48": -9288933,
+ "69:48": -9288933,
+ "70:48": -9288933,
+ "71:48": -9288933,
+ "72:48": -9288933,
+ "73:48": -9288933,
+ "74:48": -9288933,
+ "75:48": -9288933,
+ "76:48": -9288933,
+ "77:48": -9288933,
+ "78:48": -9288933,
+ "79:48": -9288933,
+ "80:48": -9288933,
+ "81:48": -9288933,
+ "82:48": -9288933,
+ "83:48": -9288933,
+ "84:48": 268435456,
+ "85:48": 402653184,
+ "86:48": 268435456,
+ "87:48": 402653184,
+ "88:48": -9288933,
+ "89:48": -9288933,
+ "90:48": -9288933,
+ "91:48": -9288933,
+ "92:48": -9288933,
+ "93:48": -9288933,
+ "94:48": -9288933,
+ "95:48": -9288933,
+ "96:48": -9288933,
+ "97:48": -9288933,
+ "98:48": -9288933,
+ "99:48": -9288933,
+ "100:48": -9288933,
+ "101:48": -9288933,
+ "102:48": -9288933,
+ "103:48": -9288933,
+ "104:48": -9288933,
+ "105:48": -9288933,
+ "106:48": 268435456,
+ "107:48": 402653184,
+ "108:48": 268435456,
+ "109:48": 402653184,
+ "110:48": 268435456,
+ "111:48": 402653184,
+ "112:48": 268435456,
+ "113:48": 402653184,
+ "114:48": 268435456,
+ "115:48": 402653184,
+ "116:48": 268435456,
+ "117:48": 402653184,
+ "118:48": 268435456,
+ "119:48": 402653184,
+ "120:48": 268435456,
+ "121:48": 402653184,
+ "122:48": 268435456,
+ "123:48": 402653184,
+ "124:48": 268435456,
+ "125:48": 402653184,
+ "126:48": 268435456,
+ "127:48": 402653184,
+ "0:49": 402653184,
+ "1:49": 268435456,
+ "2:49": 402653184,
+ "3:49": 268435456,
+ "4:49": 402653184,
+ "5:49": 268435456,
+ "6:49": 402653184,
+ "7:49": 268435456,
+ "8:49": 402653184,
+ "9:49": 268435456,
+ "10:49": 402653184,
+ "11:49": 268435456,
+ "12:49": 402653184,
+ "13:49": 268435456,
+ "14:49": 402653184,
+ "15:49": 268435456,
+ "16:49": 402653184,
+ "17:49": 268435456,
+ "18:49": 402653184,
+ "19:49": 268435456,
+ "20:49": 402653184,
+ "21:49": 268435456,
+ "22:49": -9288933,
+ "23:49": -9288933,
+ "24:49": -9288933,
+ "25:49": -9288933,
+ "26:49": -9288933,
+ "27:49": -9288933,
+ "28:49": -9288933,
+ "29:49": -9288933,
+ "30:49": -9288933,
+ "31:49": -9288933,
+ "32:49": -9288933,
+ "33:49": -9288933,
+ "34:49": -9288933,
+ "35:49": -9288933,
+ "36:49": -9288933,
+ "37:49": -9288933,
+ "38:49": -9288933,
+ "39:49": -9288933,
+ "40:49": -9288933,
+ "41:49": -9288933,
+ "42:49": -9288933,
+ "43:49": -9288933,
+ "44:49": -9288933,
+ "45:49": -9288933,
+ "46:49": -9288933,
+ "47:49": -9288933,
+ "48:49": -9288933,
+ "49:49": -9288933,
+ "50:49": -9288933,
+ "51:49": -9288933,
+ "52:49": -9288933,
+ "53:49": -9288933,
+ "54:49": -9288933,
+ "55:49": -9288933,
+ "56:49": -9288933,
+ "57:49": -9288933,
+ "58:49": -9288933,
+ "59:49": -9288933,
+ "60:49": -9288933,
+ "61:49": -9288933,
+ "62:49": 402653184,
+ "63:49": 268435456,
+ "64:49": 402653184,
+ "65:49": 268435456,
+ "66:49": -9288933,
+ "67:49": -9288933,
+ "68:49": -9288933,
+ "69:49": -9288933,
+ "70:49": -9288933,
+ "71:49": -9288933,
+ "72:49": -9288933,
+ "73:49": -9288933,
+ "74:49": -9288933,
+ "75:49": -9288933,
+ "76:49": -9288933,
+ "77:49": -9288933,
+ "78:49": -9288933,
+ "79:49": -9288933,
+ "80:49": -9288933,
+ "81:49": -9288933,
+ "82:49": -9288933,
+ "83:49": -9288933,
+ "84:49": 402653184,
+ "85:49": 268435456,
+ "86:49": 402653184,
+ "87:49": 268435456,
+ "88:49": -9288933,
+ "89:49": -9288933,
+ "90:49": -9288933,
+ "91:49": -9288933,
+ "92:49": -9288933,
+ "93:49": -9288933,
+ "94:49": -9288933,
+ "95:49": -9288933,
+ "96:49": -9288933,
+ "97:49": -9288933,
+ "98:49": -9288933,
+ "99:49": -9288933,
+ "100:49": -9288933,
+ "101:49": -9288933,
+ "102:49": -9288933,
+ "103:49": -9288933,
+ "104:49": -9288933,
+ "105:49": -9288933,
+ "106:49": 402653184,
+ "107:49": 268435456,
+ "108:49": 402653184,
+ "109:49": 268435456,
+ "110:49": 402653184,
+ "111:49": 268435456,
+ "112:49": 402653184,
+ "113:49": 268435456,
+ "114:49": 402653184,
+ "115:49": 268435456,
+ "116:49": 402653184,
+ "117:49": 268435456,
+ "118:49": 402653184,
+ "119:49": 268435456,
+ "120:49": 402653184,
+ "121:49": 268435456,
+ "122:49": 402653184,
+ "123:49": 268435456,
+ "124:49": 402653184,
+ "125:49": 268435456,
+ "126:49": 402653184,
+ "127:49": 268435456,
+ "0:50": 268435456,
+ "1:50": 402653184,
+ "2:50": 268435456,
+ "3:50": 402653184,
+ "4:50": 268435456,
+ "5:50": 402653184,
+ "6:50": 268435456,
+ "7:50": 402653184,
+ "8:50": 268435456,
+ "9:50": 402653184,
+ "10:50": 268435456,
+ "11:50": 402653184,
+ "12:50": 268435456,
+ "13:50": 402653184,
+ "14:50": 268435456,
+ "15:50": 402653184,
+ "16:50": 268435456,
+ "17:50": 402653184,
+ "18:50": 268435456,
+ "19:50": 402653184,
+ "20:50": 268435456,
+ "21:50": 402653184,
+ "22:50": -9288933,
+ "23:50": -9288933,
+ "24:50": -9288933,
+ "25:50": -9288933,
+ "26:50": -9288933,
+ "27:50": -9288933,
+ "28:50": -9288933,
+ "29:50": -9288933,
+ "30:50": -9288933,
+ "31:50": -9288933,
+ "32:50": -9288933,
+ "33:50": -9288933,
+ "34:50": -9288933,
+ "35:50": -9288933,
+ "36:50": -9288933,
+ "37:50": -9288933,
+ "38:50": -9288933,
+ "39:50": -9288933,
+ "40:50": -9288933,
+ "41:50": -9288933,
+ "42:50": -9288933,
+ "43:50": -9288933,
+ "44:50": -9288933,
+ "45:50": -9288933,
+ "46:50": -9288933,
+ "47:50": -9288933,
+ "48:50": -9288933,
+ "49:50": -9288933,
+ "50:50": -9288933,
+ "51:50": -9288933,
+ "52:50": -9288933,
+ "53:50": -9288933,
+ "54:50": -9288933,
+ "55:50": -9288933,
+ "56:50": -9288933,
+ "57:50": -9288933,
+ "58:50": -9288933,
+ "59:50": -9288933,
+ "60:50": -9288933,
+ "61:50": -9288933,
+ "62:50": 268435456,
+ "63:50": 402653184,
+ "64:50": 268435456,
+ "65:50": 402653184,
+ "66:50": -9288933,
+ "67:50": -9288933,
+ "68:50": -9288933,
+ "69:50": -9288933,
+ "70:50": -9288933,
+ "71:50": -9288933,
+ "72:50": -9288933,
+ "73:50": -9288933,
+ "74:50": -9288933,
+ "75:50": -9288933,
+ "76:50": -9288933,
+ "77:50": -9288933,
+ "78:50": -9288933,
+ "79:50": -9288933,
+ "80:50": -9288933,
+ "81:50": -9288933,
+ "82:50": -9288933,
+ "83:50": -9288933,
+ "84:50": 268435456,
+ "85:50": 402653184,
+ "86:50": 268435456,
+ "87:50": 402653184,
+ "88:50": -9288933,
+ "89:50": -9288933,
+ "90:50": -9288933,
+ "91:50": -9288933,
+ "92:50": -9288933,
+ "93:50": -9288933,
+ "94:50": -9288933,
+ "95:50": -9288933,
+ "96:50": -9288933,
+ "97:50": -9288933,
+ "98:50": -9288933,
+ "99:50": -9288933,
+ "100:50": -9288933,
+ "101:50": -9288933,
+ "102:50": -9288933,
+ "103:50": -9288933,
+ "104:50": -9288933,
+ "105:50": -9288933,
+ "106:50": 268435456,
+ "107:50": 402653184,
+ "108:50": 268435456,
+ "109:50": 402653184,
+ "110:50": 268435456,
+ "111:50": 402653184,
+ "112:50": 268435456,
+ "113:50": 402653184,
+ "114:50": 268435456,
+ "115:50": 402653184,
+ "116:50": 268435456,
+ "117:50": 402653184,
+ "118:50": 268435456,
+ "119:50": 402653184,
+ "120:50": 268435456,
+ "121:50": 402653184,
+ "122:50": 268435456,
+ "123:50": 402653184,
+ "124:50": 268435456,
+ "125:50": 402653184,
+ "126:50": 268435456,
+ "127:50": 402653184,
+ "0:51": 402653184,
+ "1:51": 268435456,
+ "2:51": 402653184,
+ "3:51": 268435456,
+ "4:51": 402653184,
+ "5:51": 268435456,
+ "6:51": 402653184,
+ "7:51": 268435456,
+ "8:51": 402653184,
+ "9:51": 268435456,
+ "10:51": 402653184,
+ "11:51": 268435456,
+ "12:51": 402653184,
+ "13:51": 268435456,
+ "14:51": 402653184,
+ "15:51": 268435456,
+ "16:51": 402653184,
+ "17:51": 268435456,
+ "18:51": 402653184,
+ "19:51": 268435456,
+ "20:51": 402653184,
+ "21:51": 268435456,
+ "22:51": 402653184,
+ "23:51": 268435456,
+ "24:51": 402653184,
+ "25:51": 268435456,
+ "26:51": 402653184,
+ "27:51": 268435456,
+ "28:51": 402653184,
+ "29:51": 268435456,
+ "30:51": 402653184,
+ "31:51": 268435456,
+ "32:51": 402653184,
+ "33:51": 268435456,
+ "34:51": 402653184,
+ "35:51": 268435456,
+ "36:51": 402653184,
+ "37:51": 268435456,
+ "38:51": 402653184,
+ "39:51": 268435456,
+ "40:51": 402653184,
+ "41:51": 268435456,
+ "42:51": 402653184,
+ "43:51": 268435456,
+ "44:51": 402653184,
+ "45:51": 268435456,
+ "46:51": 402653184,
+ "47:51": 268435456,
+ "48:51": 402653184,
+ "49:51": 268435456,
+ "50:51": -884827,
+ "51:51": -884827,
+ "52:51": -884827,
+ "53:51": -884827,
+ "54:51": -884827,
+ "55:51": -884827,
+ "56:51": -884827,
+ "57:51": 268435456,
+ "58:51": 402653184,
+ "59:51": 268435456,
+ "60:51": 402653184,
+ "61:51": 268435456,
+ "62:51": 402653184,
+ "63:51": 268435456,
+ "64:51": 402653184,
+ "65:51": 268435456,
+ "66:51": -9288933,
+ "67:51": -9288933,
+ "68:51": -9288933,
+ "69:51": -9288933,
+ "70:51": -9288933,
+ "71:51": -9288933,
+ "72:51": -9288933,
+ "73:51": -9288933,
+ "74:51": -9288933,
+ "75:51": -9288933,
+ "76:51": -9288933,
+ "77:51": -9288933,
+ "78:51": -9288933,
+ "79:51": -9288933,
+ "80:51": -9288933,
+ "81:51": -9288933,
+ "82:51": -9288933,
+ "83:51": -9288933,
+ "84:51": 402653184,
+ "85:51": 268435456,
+ "86:51": 402653184,
+ "87:51": 268435456,
+ "88:51": -9288933,
+ "89:51": -9288933,
+ "90:51": -9288933,
+ "91:51": -9288933,
+ "92:51": -9288933,
+ "93:51": -9288933,
+ "94:51": -9288933,
+ "95:51": -9288933,
+ "96:51": -9288933,
+ "97:51": -9288933,
+ "98:51": -9288933,
+ "99:51": -9288933,
+ "100:51": -9288933,
+ "101:51": -9288933,
+ "102:51": -9288933,
+ "103:51": -9288933,
+ "104:51": -9288933,
+ "105:51": -9288933,
+ "106:51": 402653184,
+ "107:51": 268435456,
+ "108:51": 402653184,
+ "109:51": 268435456,
+ "110:51": 402653184,
+ "111:51": 268435456,
+ "112:51": 402653184,
+ "113:51": 268435456,
+ "114:51": 402653184,
+ "115:51": 268435456,
+ "116:51": 402653184,
+ "117:51": 268435456,
+ "118:51": 402653184,
+ "119:51": 268435456,
+ "120:51": 402653184,
+ "121:51": 268435456,
+ "122:51": 402653184,
+ "123:51": 268435456,
+ "124:51": 402653184,
+ "125:51": 268435456,
+ "126:51": 402653184,
+ "127:51": 268435456,
+ "0:52": 268435456,
+ "1:52": 402653184,
+ "2:52": 268435456,
+ "3:52": 402653184,
+ "4:52": 268435456,
+ "5:52": 402653184,
+ "6:52": 268435456,
+ "7:52": 402653184,
+ "8:52": 268435456,
+ "9:52": 402653184,
+ "10:52": 268435456,
+ "11:52": 402653184,
+ "12:52": 268435456,
+ "13:52": 402653184,
+ "14:52": 268435456,
+ "15:52": 402653184,
+ "16:52": 268435456,
+ "17:52": 402653184,
+ "18:52": 268435456,
+ "19:52": 402653184,
+ "20:52": 268435456,
+ "21:52": 402653184,
+ "22:52": 268435456,
+ "23:52": 402653184,
+ "24:52": 268435456,
+ "25:52": 402653184,
+ "26:52": 268435456,
+ "27:52": 402653184,
+ "28:52": 268435456,
+ "29:52": 402653184,
+ "30:52": 268435456,
+ "31:52": 402653184,
+ "32:52": 268435456,
+ "33:52": 402653184,
+ "34:52": 268435456,
+ "35:52": 402653184,
+ "36:52": 268435456,
+ "37:52": 402653184,
+ "38:52": 268435456,
+ "39:52": 402653184,
+ "40:52": 268435456,
+ "41:52": 402653184,
+ "42:52": 268435456,
+ "43:52": 402653184,
+ "44:52": 268435456,
+ "45:52": 402653184,
+ "46:52": 268435456,
+ "47:52": 402653184,
+ "48:52": 268435456,
+ "49:52": 402653184,
+ "50:52": -884827,
+ "51:52": -884827,
+ "52:52": -884827,
+ "53:52": -884827,
+ "54:52": -884827,
+ "55:52": -884827,
+ "56:52": -884827,
+ "57:52": 402653184,
+ "58:52": 268435456,
+ "59:52": 402653184,
+ "60:52": 268435456,
+ "61:52": 402653184,
+ "62:52": 268435456,
+ "63:52": 402653184,
+ "64:52": 268435456,
+ "65:52": 402653184,
+ "66:52": -9288933,
+ "67:52": -9288933,
+ "68:52": -9288933,
+ "69:52": -9288933,
+ "70:52": -9288933,
+ "71:52": -9288933,
+ "72:52": -9288933,
+ "73:52": -9288933,
+ "74:52": -9288933,
+ "75:52": -9288933,
+ "76:52": -9288933,
+ "77:52": -9288933,
+ "78:52": -9288933,
+ "79:52": -9288933,
+ "80:52": -9288933,
+ "81:52": -9288933,
+ "82:52": -9288933,
+ "83:52": -9288933,
+ "84:52": 268435456,
+ "85:52": 402653184,
+ "86:52": 268435456,
+ "87:52": 402653184,
+ "88:52": -9288933,
+ "89:52": -9288933,
+ "90:52": -9288933,
+ "91:52": -9288933,
+ "92:52": -9288933,
+ "93:52": -9288933,
+ "94:52": -9288933,
+ "95:52": -9288933,
+ "96:52": -9288933,
+ "97:52": -9288933,
+ "98:52": -9288933,
+ "99:52": -9288933,
+ "100:52": -9288933,
+ "101:52": -9288933,
+ "102:52": -9288933,
+ "103:52": -9288933,
+ "104:52": -9288933,
+ "105:52": -9288933,
+ "106:52": 268435456,
+ "107:52": 402653184,
+ "108:52": 268435456,
+ "109:52": 402653184,
+ "110:52": 268435456,
+ "111:52": 402653184,
+ "112:52": 268435456,
+ "113:52": 402653184,
+ "114:52": 268435456,
+ "115:52": 402653184,
+ "116:52": 268435456,
+ "117:52": 402653184,
+ "118:52": 268435456,
+ "119:52": 402653184,
+ "120:52": 268435456,
+ "121:52": 402653184,
+ "122:52": 268435456,
+ "123:52": 402653184,
+ "124:52": 268435456,
+ "125:52": 402653184,
+ "126:52": 268435456,
+ "127:52": 402653184,
+ "0:53": 402653184,
+ "1:53": 268435456,
+ "2:53": 402653184,
+ "3:53": 268435456,
+ "4:53": 402653184,
+ "5:53": 268435456,
+ "6:53": 402653184,
+ "7:53": 268435456,
+ "8:53": 402653184,
+ "9:53": 268435456,
+ "10:53": 402653184,
+ "11:53": 268435456,
+ "12:53": 402653184,
+ "13:53": 268435456,
+ "14:53": 402653184,
+ "15:53": 268435456,
+ "16:53": 402653184,
+ "17:53": 268435456,
+ "18:53": 402653184,
+ "19:53": 268435456,
+ "20:53": 402653184,
+ "21:53": 268435456,
+ "22:53": 402653184,
+ "23:53": 268435456,
+ "24:53": 402653184,
+ "25:53": 268435456,
+ "26:53": 402653184,
+ "27:53": 268435456,
+ "28:53": 402653184,
+ "29:53": 268435456,
+ "30:53": 402653184,
+ "31:53": 268435456,
+ "32:53": 402653184,
+ "33:53": 268435456,
+ "34:53": 402653184,
+ "35:53": 268435456,
+ "36:53": 402653184,
+ "37:53": 268435456,
+ "38:53": 402653184,
+ "39:53": 268435456,
+ "40:53": 402653184,
+ "41:53": 268435456,
+ "42:53": 402653184,
+ "43:53": 268435456,
+ "44:53": 402653184,
+ "45:53": 268435456,
+ "46:53": 402653184,
+ "47:53": 268435456,
+ "48:53": 402653184,
+ "49:53": 268435456,
+ "50:53": -884827,
+ "51:53": -884827,
+ "52:53": -884827,
+ "53:53": -884827,
+ "54:53": -884827,
+ "55:53": -884827,
+ "56:53": -884827,
+ "57:53": 268435456,
+ "58:53": 402653184,
+ "59:53": 268435456,
+ "60:53": 402653184,
+ "61:53": 268435456,
+ "62:53": 402653184,
+ "63:53": 268435456,
+ "64:53": 402653184,
+ "65:53": 268435456,
+ "66:53": -9288933,
+ "67:53": -9288933,
+ "68:53": -9288933,
+ "69:53": -9288933,
+ "70:53": -9288933,
+ "71:53": -9288933,
+ "72:53": -9288933,
+ "73:53": -9288933,
+ "74:53": -9288933,
+ "75:53": -9288933,
+ "76:53": -9288933,
+ "77:53": -9288933,
+ "78:53": -9288933,
+ "79:53": -9288933,
+ "80:53": -9288933,
+ "81:53": -9288933,
+ "82:53": -9288933,
+ "83:53": -9288933,
+ "84:53": 402653184,
+ "85:53": 268435456,
+ "86:53": 402653184,
+ "87:53": 268435456,
+ "88:53": -9288933,
+ "89:53": -9288933,
+ "90:53": -9288933,
+ "91:53": -9288933,
+ "92:53": -9288933,
+ "93:53": -9288933,
+ "94:53": -9288933,
+ "95:53": -9288933,
+ "96:53": -9288933,
+ "97:53": -9288933,
+ "98:53": -9288933,
+ "99:53": -9288933,
+ "100:53": -9288933,
+ "101:53": -9288933,
+ "102:53": -9288933,
+ "103:53": -9288933,
+ "104:53": -9288933,
+ "105:53": -9288933,
+ "106:53": 402653184,
+ "107:53": 268435456,
+ "108:53": 402653184,
+ "109:53": 268435456,
+ "110:53": 402653184,
+ "111:53": 268435456,
+ "112:53": 402653184,
+ "113:53": 268435456,
+ "114:53": 402653184,
+ "115:53": 268435456,
+ "116:53": 402653184,
+ "117:53": 268435456,
+ "118:53": 402653184,
+ "119:53": 268435456,
+ "120:53": 402653184,
+ "121:53": 268435456,
+ "122:53": 402653184,
+ "123:53": 268435456,
+ "124:53": 402653184,
+ "125:53": 268435456,
+ "126:53": 402653184,
+ "127:53": 268435456,
+ "0:54": 268435456,
+ "1:54": 402653184,
+ "2:54": 268435456,
+ "3:54": 402653184,
+ "4:54": 268435456,
+ "5:54": 402653184,
+ "6:54": 268435456,
+ "7:54": 402653184,
+ "8:54": 268435456,
+ "9:54": 402653184,
+ "10:54": 268435456,
+ "11:54": 402653184,
+ "12:54": 268435456,
+ "13:54": 402653184,
+ "14:54": 268435456,
+ "15:54": 402653184,
+ "16:54": 268435456,
+ "17:54": 402653184,
+ "18:54": 268435456,
+ "19:54": 402653184,
+ "20:54": 268435456,
+ "21:54": 402653184,
+ "22:54": 268435456,
+ "23:54": 402653184,
+ "24:54": 268435456,
+ "25:54": 402653184,
+ "26:54": 268435456,
+ "27:54": 402653184,
+ "28:54": 268435456,
+ "29:54": 402653184,
+ "30:54": 268435456,
+ "31:54": 402653184,
+ "32:54": 268435456,
+ "33:54": 402653184,
+ "34:54": 268435456,
+ "35:54": 402653184,
+ "36:54": 268435456,
+ "37:54": 402653184,
+ "38:54": 268435456,
+ "39:54": 402653184,
+ "40:54": 268435456,
+ "41:54": 402653184,
+ "42:54": 268435456,
+ "43:54": 402653184,
+ "44:54": 268435456,
+ "45:54": 402653184,
+ "46:54": 268435456,
+ "47:54": 402653184,
+ "48:54": 268435456,
+ "49:54": 402653184,
+ "50:54": -884827,
+ "51:54": -884827,
+ "52:54": -884827,
+ "53:54": -884827,
+ "54:54": -884827,
+ "55:54": -884827,
+ "56:54": -884827,
+ "57:54": 402653184,
+ "58:54": 268435456,
+ "59:54": 402653184,
+ "60:54": 268435456,
+ "61:54": 402653184,
+ "62:54": 268435456,
+ "63:54": 402653184,
+ "64:54": 268435456,
+ "65:54": 402653184,
+ "66:54": -9288933,
+ "67:54": -9288933,
+ "68:54": -9288933,
+ "69:54": -9288933,
+ "70:54": -9288933,
+ "71:54": -9288933,
+ "72:54": -9288933,
+ "73:54": -9288933,
+ "74:54": -9288933,
+ "75:54": -9288933,
+ "76:54": -9288933,
+ "77:54": -9288933,
+ "78:54": -9288933,
+ "79:54": -9288933,
+ "80:54": -9288933,
+ "81:54": -9288933,
+ "82:54": -9288933,
+ "83:54": -9288933,
+ "84:54": 268435456,
+ "85:54": 402653184,
+ "86:54": 268435456,
+ "87:54": 402653184,
+ "88:54": -9288933,
+ "89:54": -9288933,
+ "90:54": -9288933,
+ "91:54": -9288933,
+ "92:54": -9288933,
+ "93:54": -9288933,
+ "94:54": -9288933,
+ "95:54": -9288933,
+ "96:54": -9288933,
+ "97:54": -9288933,
+ "98:54": -9288933,
+ "99:54": -9288933,
+ "100:54": -9288933,
+ "101:54": -9288933,
+ "102:54": -9288933,
+ "103:54": -9288933,
+ "104:54": -9288933,
+ "105:54": -9288933,
+ "106:54": 268435456,
+ "107:54": 402653184,
+ "108:54": 268435456,
+ "109:54": 402653184,
+ "110:54": 268435456,
+ "111:54": 402653184,
+ "112:54": 268435456,
+ "113:54": 402653184,
+ "114:54": 268435456,
+ "115:54": 402653184,
+ "116:54": 268435456,
+ "117:54": 402653184,
+ "118:54": 268435456,
+ "119:54": 402653184,
+ "120:54": 268435456,
+ "121:54": 402653184,
+ "122:54": 268435456,
+ "123:54": 402653184,
+ "124:54": 268435456,
+ "125:54": 402653184,
+ "126:54": 268435456,
+ "127:54": 402653184,
+ "0:55": 402653184,
+ "1:55": 268435456,
+ "2:55": 402653184,
+ "3:55": 268435456,
+ "4:55": 402653184,
+ "5:55": 268435456,
+ "6:55": 402653184,
+ "7:55": 268435456,
+ "8:55": 402653184,
+ "9:55": 268435456,
+ "10:55": 402653184,
+ "11:55": 268435456,
+ "12:55": 402653184,
+ "13:55": 268435456,
+ "14:55": 402653184,
+ "15:55": 268435456,
+ "16:55": 402653184,
+ "17:55": 268435456,
+ "18:55": 402653184,
+ "19:55": 268435456,
+ "20:55": 402653184,
+ "21:55": 268435456,
+ "22:55": -5092136,
+ "23:55": -5092136,
+ "24:55": -5092136,
+ "25:55": -5092136,
+ "26:55": -5092136,
+ "27:55": -5092136,
+ "28:55": -5092136,
+ "29:55": -5092136,
+ "30:55": -5092136,
+ "31:55": -5092136,
+ "32:55": -5092136,
+ "33:55": -5092136,
+ "34:55": -5092136,
+ "35:55": -5092136,
+ "36:55": -5092136,
+ "37:55": -5092136,
+ "38:55": -5092136,
+ "39:55": -5092136,
+ "40:55": 402653184,
+ "41:55": 268435456,
+ "42:55": 402653184,
+ "43:55": 268435456,
+ "44:55": -884827,
+ "45:55": -884827,
+ "46:55": -884827,
+ "47:55": -884827,
+ "48:55": -884827,
+ "49:55": -884827,
+ "50:55": -884827,
+ "51:55": -884827,
+ "52:55": -884827,
+ "53:55": -884827,
+ "54:55": -884827,
+ "55:55": -884827,
+ "56:55": -884827,
+ "57:55": -884827,
+ "58:55": -884827,
+ "59:55": -884827,
+ "60:55": -884827,
+ "61:55": -884827,
+ "62:55": 402653184,
+ "63:55": 268435456,
+ "64:55": 402653184,
+ "65:55": 268435456,
+ "66:55": -9288933,
+ "67:55": -9288933,
+ "68:55": -9288933,
+ "69:55": -9288933,
+ "70:55": -9288933,
+ "71:55": -9288933,
+ "72:55": -9288933,
+ "73:55": -9288933,
+ "74:55": -9288933,
+ "75:55": -9288933,
+ "76:55": -9288933,
+ "77:55": -9288933,
+ "78:55": -9288933,
+ "79:55": -9288933,
+ "80:55": -9288933,
+ "81:55": -9288933,
+ "82:55": -9288933,
+ "83:55": -9288933,
+ "84:55": 402653184,
+ "85:55": 268435456,
+ "86:55": 402653184,
+ "87:55": 268435456,
+ "88:55": -9288933,
+ "89:55": -9288933,
+ "90:55": -9288933,
+ "91:55": -9288933,
+ "92:55": -9288933,
+ "93:55": -9288933,
+ "94:55": -9288933,
+ "95:55": -9288933,
+ "96:55": -9288933,
+ "97:55": -9288933,
+ "98:55": -9288933,
+ "99:55": -9288933,
+ "100:55": -9288933,
+ "101:55": -9288933,
+ "102:55": -9288933,
+ "103:55": -9288933,
+ "104:55": -9288933,
+ "105:55": -9288933,
+ "106:55": 402653184,
+ "107:55": 268435456,
+ "108:55": 402653184,
+ "109:55": 268435456,
+ "110:55": 402653184,
+ "111:55": 268435456,
+ "112:55": 402653184,
+ "113:55": 268435456,
+ "114:55": 402653184,
+ "115:55": 268435456,
+ "116:55": 402653184,
+ "117:55": 268435456,
+ "118:55": 402653184,
+ "119:55": 268435456,
+ "120:55": 402653184,
+ "121:55": 268435456,
+ "122:55": 402653184,
+ "123:55": 268435456,
+ "124:55": 402653184,
+ "125:55": 268435456,
+ "126:55": 402653184,
+ "127:55": 268435456,
+ "0:56": 268435456,
+ "1:56": 402653184,
+ "2:56": 268435456,
+ "3:56": 402653184,
+ "4:56": 268435456,
+ "5:56": 402653184,
+ "6:56": 268435456,
+ "7:56": 402653184,
+ "8:56": 268435456,
+ "9:56": 402653184,
+ "10:56": 268435456,
+ "11:56": 402653184,
+ "12:56": 268435456,
+ "13:56": 402653184,
+ "14:56": 268435456,
+ "15:56": 402653184,
+ "16:56": 268435456,
+ "17:56": 402653184,
+ "18:56": 268435456,
+ "19:56": 402653184,
+ "20:56": 268435456,
+ "21:56": 402653184,
+ "22:56": -5092136,
+ "23:56": -5092136,
+ "24:56": -5092136,
+ "25:56": -5092136,
+ "26:56": -5092136,
+ "27:56": -5092136,
+ "28:56": -5092136,
+ "29:56": -5092136,
+ "30:56": -5092136,
+ "31:56": -5092136,
+ "32:56": -5092136,
+ "33:56": -5092136,
+ "34:56": -5092136,
+ "35:56": -5092136,
+ "36:56": -5092136,
+ "37:56": -5092136,
+ "38:56": -5092136,
+ "39:56": -5092136,
+ "40:56": 268435456,
+ "41:56": 402653184,
+ "42:56": 268435456,
+ "43:56": 402653184,
+ "44:56": -884827,
+ "45:56": -884827,
+ "46:56": -884827,
+ "47:56": -884827,
+ "48:56": -884827,
+ "49:56": -884827,
+ "50:56": -884827,
+ "51:56": -884827,
+ "52:56": -884827,
+ "53:56": -884827,
+ "54:56": -884827,
+ "55:56": -884827,
+ "56:56": -884827,
+ "57:56": -884827,
+ "58:56": -884827,
+ "59:56": -884827,
+ "60:56": -884827,
+ "61:56": -884827,
+ "62:56": 268435456,
+ "63:56": 402653184,
+ "64:56": 268435456,
+ "65:56": 402653184,
+ "66:56": -9288933,
+ "67:56": -9288933,
+ "68:56": -9288933,
+ "69:56": -9288933,
+ "70:56": -9288933,
+ "71:56": -9288933,
+ "72:56": -9288933,
+ "73:56": -9288933,
+ "74:56": -9288933,
+ "75:56": -9288933,
+ "76:56": -9288933,
+ "77:56": -9288933,
+ "78:56": -9288933,
+ "79:56": -9288933,
+ "80:56": -9288933,
+ "81:56": -9288933,
+ "82:56": -9288933,
+ "83:56": -9288933,
+ "84:56": 268435456,
+ "85:56": 402653184,
+ "86:56": 268435456,
+ "87:56": 402653184,
+ "88:56": -9288933,
+ "89:56": -9288933,
+ "90:56": -9288933,
+ "91:56": -9288933,
+ "92:56": -9288933,
+ "93:56": -9288933,
+ "94:56": -9288933,
+ "95:56": -9288933,
+ "96:56": -9288933,
+ "97:56": -9288933,
+ "98:56": -9288933,
+ "99:56": -9288933,
+ "100:56": -9288933,
+ "101:56": -9288933,
+ "102:56": -9288933,
+ "103:56": -9288933,
+ "104:56": -9288933,
+ "105:56": -9288933,
+ "106:56": 268435456,
+ "107:56": 402653184,
+ "108:56": 268435456,
+ "109:56": 402653184,
+ "110:56": 268435456,
+ "111:56": 402653184,
+ "112:56": 268435456,
+ "113:56": 402653184,
+ "114:56": 268435456,
+ "115:56": 402653184,
+ "116:56": 268435456,
+ "117:56": 402653184,
+ "118:56": 268435456,
+ "119:56": 402653184,
+ "120:56": 268435456,
+ "121:56": 402653184,
+ "122:56": 268435456,
+ "123:56": 402653184,
+ "124:56": 268435456,
+ "125:56": 402653184,
+ "126:56": 268435456,
+ "127:56": 402653184,
+ "0:57": 402653184,
+ "1:57": 268435456,
+ "2:57": 402653184,
+ "3:57": 268435456,
+ "4:57": 402653184,
+ "5:57": 268435456,
+ "6:57": 402653184,
+ "7:57": 268435456,
+ "8:57": 402653184,
+ "9:57": 268435456,
+ "10:57": 402653184,
+ "11:57": 268435456,
+ "12:57": 402653184,
+ "13:57": 268435456,
+ "14:57": 402653184,
+ "15:57": 268435456,
+ "16:57": 402653184,
+ "17:57": 268435456,
+ "18:57": 402653184,
+ "19:57": 268435456,
+ "20:57": 402653184,
+ "21:57": 268435456,
+ "22:57": -5092136,
+ "23:57": -5092136,
+ "24:57": -5092136,
+ "25:57": -5092136,
+ "26:57": -5092136,
+ "27:57": -5092136,
+ "28:57": -5092136,
+ "29:57": -5092136,
+ "30:57": -5092136,
+ "31:57": -5092136,
+ "32:57": -5092136,
+ "33:57": -5092136,
+ "34:57": -5092136,
+ "35:57": -5092136,
+ "36:57": -5092136,
+ "37:57": -5092136,
+ "38:57": -5092136,
+ "39:57": -5092136,
+ "40:57": 402653184,
+ "41:57": 268435456,
+ "42:57": 402653184,
+ "43:57": 268435456,
+ "44:57": -884827,
+ "45:57": -884827,
+ "46:57": -884827,
+ "47:57": -884827,
+ "48:57": -884827,
+ "49:57": -884827,
+ "50:57": -884827,
+ "51:57": -884827,
+ "52:57": -884827,
+ "53:57": -884827,
+ "54:57": -884827,
+ "55:57": -884827,
+ "56:57": -884827,
+ "57:57": -884827,
+ "58:57": -884827,
+ "59:57": -884827,
+ "60:57": -884827,
+ "61:57": -884827,
+ "62:57": 402653184,
+ "63:57": 268435456,
+ "64:57": 402653184,
+ "65:57": 268435456,
+ "66:57": -9288933,
+ "67:57": -9288933,
+ "68:57": -9288933,
+ "69:57": -9288933,
+ "70:57": -9288933,
+ "71:57": -9288933,
+ "72:57": -9288933,
+ "73:57": -9288933,
+ "74:57": -9288933,
+ "75:57": -9288933,
+ "76:57": -9288933,
+ "77:57": -9288933,
+ "78:57": -9288933,
+ "79:57": -9288933,
+ "80:57": -9288933,
+ "81:57": -9288933,
+ "82:57": -9288933,
+ "83:57": -9288933,
+ "84:57": 402653184,
+ "85:57": 268435456,
+ "86:57": 402653184,
+ "87:57": 268435456,
+ "88:57": -9288933,
+ "89:57": -9288933,
+ "90:57": -9288933,
+ "91:57": -9288933,
+ "92:57": -9288933,
+ "93:57": -9288933,
+ "94:57": -9288933,
+ "95:57": -9288933,
+ "96:57": -9288933,
+ "97:57": -9288933,
+ "98:57": -9288933,
+ "99:57": -9288933,
+ "100:57": -9288933,
+ "101:57": -9288933,
+ "102:57": -9288933,
+ "103:57": -9288933,
+ "104:57": -9288933,
+ "105:57": -9288933,
+ "106:57": 402653184,
+ "107:57": 268435456,
+ "108:57": 402653184,
+ "109:57": 268435456,
+ "110:57": 402653184,
+ "111:57": 268435456,
+ "112:57": 402653184,
+ "113:57": 268435456,
+ "114:57": 402653184,
+ "115:57": 268435456,
+ "116:57": 402653184,
+ "117:57": 268435456,
+ "118:57": 402653184,
+ "119:57": 268435456,
+ "120:57": 402653184,
+ "121:57": 268435456,
+ "122:57": 402653184,
+ "123:57": 268435456,
+ "124:57": 402653184,
+ "125:57": 268435456,
+ "126:57": 402653184,
+ "127:57": 268435456,
+ "0:58": 268435456,
+ "1:58": 402653184,
+ "2:58": 268435456,
+ "3:58": 402653184,
+ "4:58": 268435456,
+ "5:58": 402653184,
+ "6:58": 268435456,
+ "7:58": 402653184,
+ "8:58": 268435456,
+ "9:58": 402653184,
+ "10:58": 268435456,
+ "11:58": 402653184,
+ "12:58": 268435456,
+ "13:58": 402653184,
+ "14:58": 268435456,
+ "15:58": 402653184,
+ "16:58": 268435456,
+ "17:58": 402653184,
+ "18:58": 268435456,
+ "19:58": 402653184,
+ "20:58": 268435456,
+ "21:58": 402653184,
+ "22:58": -5092136,
+ "23:58": -5092136,
+ "24:58": -5092136,
+ "25:58": -5092136,
+ "26:58": -5092136,
+ "27:58": -5092136,
+ "28:58": -5092136,
+ "29:58": -5092136,
+ "30:58": -5092136,
+ "31:58": -5092136,
+ "32:58": -5092136,
+ "33:58": -5092136,
+ "34:58": -5092136,
+ "35:58": -5092136,
+ "36:58": -5092136,
+ "37:58": -5092136,
+ "38:58": -5092136,
+ "39:58": -5092136,
+ "40:58": 268435456,
+ "41:58": 402653184,
+ "42:58": 268435456,
+ "43:58": 402653184,
+ "44:58": -884827,
+ "45:58": -884827,
+ "46:58": -884827,
+ "47:58": -884827,
+ "48:58": -884827,
+ "49:58": -884827,
+ "50:58": -884827,
+ "51:58": -884827,
+ "52:58": -884827,
+ "53:58": -884827,
+ "54:58": -884827,
+ "55:58": -884827,
+ "56:58": -884827,
+ "57:58": -884827,
+ "58:58": -884827,
+ "59:58": -884827,
+ "60:58": -884827,
+ "61:58": -884827,
+ "62:58": 268435456,
+ "63:58": 402653184,
+ "64:58": 268435456,
+ "65:58": 402653184,
+ "66:58": -9288933,
+ "67:58": -9288933,
+ "68:58": -9288933,
+ "69:58": -9288933,
+ "70:58": -9288933,
+ "71:58": -9288933,
+ "72:58": -9288933,
+ "73:58": -9288933,
+ "74:58": -9288933,
+ "75:58": -9288933,
+ "76:58": -9288933,
+ "77:58": -9288933,
+ "78:58": -9288933,
+ "79:58": -9288933,
+ "80:58": -9288933,
+ "81:58": -9288933,
+ "82:58": -9288933,
+ "83:58": -9288933,
+ "84:58": 268435456,
+ "85:58": 402653184,
+ "86:58": 268435456,
+ "87:58": 402653184,
+ "88:58": -9288933,
+ "89:58": -9288933,
+ "90:58": -9288933,
+ "91:58": -9288933,
+ "92:58": -9288933,
+ "93:58": -9288933,
+ "94:58": -9288933,
+ "95:58": -9288933,
+ "96:58": -9288933,
+ "97:58": -9288933,
+ "98:58": -9288933,
+ "99:58": -9288933,
+ "100:58": -9288933,
+ "101:58": -9288933,
+ "102:58": -9288933,
+ "103:58": -9288933,
+ "104:58": -9288933,
+ "105:58": -9288933,
+ "106:58": 268435456,
+ "107:58": 402653184,
+ "108:58": 268435456,
+ "109:58": 402653184,
+ "110:58": 268435456,
+ "111:58": 402653184,
+ "112:58": 268435456,
+ "113:58": 402653184,
+ "114:58": 268435456,
+ "115:58": 402653184,
+ "116:58": 268435456,
+ "117:58": 402653184,
+ "118:58": 268435456,
+ "119:58": 402653184,
+ "120:58": 268435456,
+ "121:58": 402653184,
+ "122:58": 268435456,
+ "123:58": 402653184,
+ "124:58": 268435456,
+ "125:58": 402653184,
+ "126:58": 268435456,
+ "127:58": 402653184,
+ "0:59": 402653184,
+ "1:59": 268435456,
+ "2:59": 402653184,
+ "3:59": 268435456,
+ "4:59": 402653184,
+ "5:59": 268435456,
+ "6:59": 402653184,
+ "7:59": 268435456,
+ "8:59": 402653184,
+ "9:59": 268435456,
+ "10:59": 402653184,
+ "11:59": 268435456,
+ "12:59": 402653184,
+ "13:59": 268435456,
+ "14:59": 402653184,
+ "15:59": 268435456,
+ "16:59": 402653184,
+ "17:59": 268435456,
+ "18:59": 402653184,
+ "19:59": 268435456,
+ "20:59": 402653184,
+ "21:59": 268435456,
+ "22:59": -5092136,
+ "23:59": -5092136,
+ "24:59": -5092136,
+ "25:59": -5092136,
+ "26:59": -5092136,
+ "27:59": -5092136,
+ "28:59": -5092136,
+ "29:59": -5092136,
+ "30:59": -5092136,
+ "31:59": -5092136,
+ "32:59": -5092136,
+ "33:59": -5092136,
+ "34:59": -5092136,
+ "35:59": -5092136,
+ "36:59": -5092136,
+ "37:59": -5092136,
+ "38:59": -5092136,
+ "39:59": -5092136,
+ "40:59": 402653184,
+ "41:59": 268435456,
+ "42:59": 402653184,
+ "43:59": 268435456,
+ "44:59": -884827,
+ "45:59": -884827,
+ "46:59": -884827,
+ "47:59": -884827,
+ "48:59": -884827,
+ "49:59": -884827,
+ "50:59": -884827,
+ "51:59": -884827,
+ "52:59": -884827,
+ "53:59": -884827,
+ "54:59": -884827,
+ "55:59": -884827,
+ "56:59": -884827,
+ "57:59": -884827,
+ "58:59": -884827,
+ "59:59": -884827,
+ "60:59": -884827,
+ "61:59": -884827,
+ "62:59": 402653184,
+ "63:59": 268435456,
+ "64:59": 402653184,
+ "65:59": 268435456,
+ "66:59": -9288933,
+ "67:59": -9288933,
+ "68:59": -9288933,
+ "69:59": -9288933,
+ "70:59": -9288933,
+ "71:59": -9288933,
+ "72:59": -9288933,
+ "73:59": -9288933,
+ "74:59": -9288933,
+ "75:59": -9288933,
+ "76:59": -9288933,
+ "77:59": -9288933,
+ "78:59": -9288933,
+ "79:59": -9288933,
+ "80:59": -9288933,
+ "81:59": -9288933,
+ "82:59": -9288933,
+ "83:59": -9288933,
+ "84:59": 402653184,
+ "85:59": 268435456,
+ "86:59": 402653184,
+ "87:59": 268435456,
+ "88:59": -9288933,
+ "89:59": -9288933,
+ "90:59": -9288933,
+ "91:59": -9288933,
+ "92:59": -9288933,
+ "93:59": -9288933,
+ "94:59": -9288933,
+ "95:59": -9288933,
+ "96:59": -9288933,
+ "97:59": -9288933,
+ "98:59": -9288933,
+ "99:59": -9288933,
+ "100:59": -9288933,
+ "101:59": -9288933,
+ "102:59": -9288933,
+ "103:59": -9288933,
+ "104:59": -9288933,
+ "105:59": -9288933,
+ "106:59": 402653184,
+ "107:59": 268435456,
+ "108:59": 402653184,
+ "109:59": 268435456,
+ "110:59": 402653184,
+ "111:59": 268435456,
+ "112:59": 402653184,
+ "113:59": 268435456,
+ "114:59": 402653184,
+ "115:59": 268435456,
+ "116:59": 402653184,
+ "117:59": 268435456,
+ "118:59": 402653184,
+ "119:59": 268435456,
+ "120:59": 402653184,
+ "121:59": 268435456,
+ "122:59": 402653184,
+ "123:59": 268435456,
+ "124:59": 402653184,
+ "125:59": 268435456,
+ "126:59": 402653184,
+ "127:59": 268435456,
+ "0:60": 268435456,
+ "1:60": 402653184,
+ "2:60": 268435456,
+ "3:60": 402653184,
+ "4:60": 268435456,
+ "5:60": 402653184,
+ "6:60": 268435456,
+ "7:60": 402653184,
+ "8:60": 268435456,
+ "9:60": 402653184,
+ "10:60": 268435456,
+ "11:60": 402653184,
+ "12:60": 268435456,
+ "13:60": 402653184,
+ "14:60": 268435456,
+ "15:60": 402653184,
+ "16:60": 268435456,
+ "17:60": 402653184,
+ "18:60": 268435456,
+ "19:60": 402653184,
+ "20:60": 268435456,
+ "21:60": 402653184,
+ "22:60": -5092136,
+ "23:60": -5092136,
+ "24:60": -5092136,
+ "25:60": -5092136,
+ "26:60": -5092136,
+ "27:60": -5092136,
+ "28:60": -5092136,
+ "29:60": -5092136,
+ "30:60": -5092136,
+ "31:60": -5092136,
+ "32:60": -5092136,
+ "33:60": -5092136,
+ "34:60": -5092136,
+ "35:60": -5092136,
+ "36:60": -5092136,
+ "37:60": -5092136,
+ "38:60": -5092136,
+ "39:60": -5092136,
+ "40:60": 268435456,
+ "41:60": 402653184,
+ "42:60": 268435456,
+ "43:60": 402653184,
+ "44:60": -884827,
+ "45:60": -884827,
+ "46:60": -884827,
+ "47:60": -884827,
+ "48:60": -884827,
+ "49:60": -884827,
+ "50:60": -884827,
+ "51:60": -884827,
+ "52:60": -884827,
+ "53:60": -884827,
+ "54:60": -884827,
+ "55:60": -884827,
+ "56:60": -884827,
+ "57:60": -884827,
+ "58:60": -884827,
+ "59:60": -884827,
+ "60:60": -884827,
+ "61:60": -884827,
+ "62:60": 268435456,
+ "63:60": 402653184,
+ "64:60": 268435456,
+ "65:60": 402653184,
+ "66:60": -9288933,
+ "67:60": -9288933,
+ "68:60": -9288933,
+ "69:60": -9288933,
+ "70:60": -9288933,
+ "71:60": -9288933,
+ "72:60": -9288933,
+ "73:60": -9288933,
+ "74:60": -9288933,
+ "75:60": -9288933,
+ "76:60": -9288933,
+ "77:60": -9288933,
+ "78:60": -9288933,
+ "79:60": -9288933,
+ "80:60": -9288933,
+ "81:60": -9288933,
+ "82:60": -9288933,
+ "83:60": -9288933,
+ "84:60": 268435456,
+ "85:60": 402653184,
+ "86:60": 268435456,
+ "87:60": 402653184,
+ "88:60": -9288933,
+ "89:60": -9288933,
+ "90:60": -9288933,
+ "91:60": -9288933,
+ "92:60": -9288933,
+ "93:60": -9288933,
+ "94:60": -9288933,
+ "95:60": -9288933,
+ "96:60": -9288933,
+ "97:60": -9288933,
+ "98:60": -9288933,
+ "99:60": -9288933,
+ "100:60": -9288933,
+ "101:60": -9288933,
+ "102:60": -9288933,
+ "103:60": -9288933,
+ "104:60": -9288933,
+ "105:60": -9288933,
+ "106:60": 268435456,
+ "107:60": 402653184,
+ "108:60": 268435456,
+ "109:60": 402653184,
+ "110:60": 268435456,
+ "111:60": 402653184,
+ "112:60": 268435456,
+ "113:60": 402653184,
+ "114:60": 268435456,
+ "115:60": 402653184,
+ "116:60": 268435456,
+ "117:60": 402653184,
+ "118:60": 268435456,
+ "119:60": 402653184,
+ "120:60": 268435456,
+ "121:60": 402653184,
+ "122:60": 268435456,
+ "123:60": 402653184,
+ "124:60": 268435456,
+ "125:60": 402653184,
+ "126:60": 268435456,
+ "127:60": 402653184,
+ "0:61": 402653184,
+ "1:61": 268435456,
+ "2:61": 402653184,
+ "3:61": 268435456,
+ "4:61": 402653184,
+ "5:61": 268435456,
+ "6:61": 402653184,
+ "7:61": 268435456,
+ "8:61": 402653184,
+ "9:61": 268435456,
+ "10:61": 402653184,
+ "11:61": 268435456,
+ "12:61": 402653184,
+ "13:61": 268435456,
+ "14:61": 402653184,
+ "15:61": 268435456,
+ "16:61": 402653184,
+ "17:61": 268435456,
+ "18:61": 402653184,
+ "19:61": 268435456,
+ "20:61": 402653184,
+ "21:61": 268435456,
+ "22:61": -5092136,
+ "23:61": -5092136,
+ "24:61": -5092136,
+ "25:61": -5092136,
+ "26:61": -5092136,
+ "27:61": -5092136,
+ "28:61": -5092136,
+ "29:61": -5092136,
+ "30:61": -5092136,
+ "31:61": -5092136,
+ "32:61": -5092136,
+ "33:61": -5092136,
+ "34:61": -5092136,
+ "35:61": -5092136,
+ "36:61": -5092136,
+ "37:61": -5092136,
+ "38:61": -5092136,
+ "39:61": -5092136,
+ "40:61": -5092136,
+ "41:61": -5092136,
+ "42:61": -5092136,
+ "43:61": -5092136,
+ "44:61": -884827,
+ "45:61": -884827,
+ "46:61": -884827,
+ "47:61": -884827,
+ "48:61": -884827,
+ "49:61": -884827,
+ "50:61": -884827,
+ "51:61": -884827,
+ "52:61": -884827,
+ "53:61": -884827,
+ "54:61": -884827,
+ "55:61": -884827,
+ "56:61": -884827,
+ "57:61": -884827,
+ "58:61": -884827,
+ "59:61": -884827,
+ "60:61": -884827,
+ "61:61": -884827,
+ "62:61": -9288933,
+ "63:61": -9288933,
+ "64:61": -9288933,
+ "65:61": -9288933,
+ "66:61": -9288933,
+ "67:61": -9288933,
+ "68:61": -9288933,
+ "69:61": -9288933,
+ "70:61": -9288933,
+ "71:61": -9288933,
+ "72:61": -9288933,
+ "73:61": -9288933,
+ "74:61": -9288933,
+ "75:61": -9288933,
+ "76:61": -9288933,
+ "77:61": -9288933,
+ "78:61": -9288933,
+ "79:61": -9288933,
+ "80:61": -9288933,
+ "81:61": -9288933,
+ "82:61": -9288933,
+ "83:61": -9288933,
+ "84:61": -9288933,
+ "85:61": -9288933,
+ "86:61": -9288933,
+ "87:61": -9288933,
+ "88:61": -9288933,
+ "89:61": -9288933,
+ "90:61": -9288933,
+ "91:61": -9288933,
+ "92:61": -9288933,
+ "93:61": -9288933,
+ "94:61": -9288933,
+ "95:61": -9288933,
+ "96:61": -9288933,
+ "97:61": -9288933,
+ "98:61": -9288933,
+ "99:61": -9288933,
+ "100:61": -9288933,
+ "101:61": -9288933,
+ "102:61": -9288933,
+ "103:61": -9288933,
+ "104:61": -9288933,
+ "105:61": -9288933,
+ "106:61": 402653184,
+ "107:61": 268435456,
+ "108:61": 402653184,
+ "109:61": 268435456,
+ "110:61": 402653184,
+ "111:61": 268435456,
+ "112:61": 402653184,
+ "113:61": 268435456,
+ "114:61": 402653184,
+ "115:61": 268435456,
+ "116:61": 402653184,
+ "117:61": 268435456,
+ "118:61": 402653184,
+ "119:61": 268435456,
+ "120:61": 402653184,
+ "121:61": 268435456,
+ "122:61": 402653184,
+ "123:61": 268435456,
+ "124:61": 402653184,
+ "125:61": 268435456,
+ "126:61": 402653184,
+ "127:61": 268435456,
+ "0:62": 268435456,
+ "1:62": 402653184,
+ "2:62": 268435456,
+ "3:62": 402653184,
+ "4:62": 268435456,
+ "5:62": 402653184,
+ "6:62": 268435456,
+ "7:62": 402653184,
+ "8:62": 268435456,
+ "9:62": 402653184,
+ "10:62": 268435456,
+ "11:62": 402653184,
+ "12:62": 268435456,
+ "13:62": 402653184,
+ "14:62": 268435456,
+ "15:62": 402653184,
+ "16:62": 268435456,
+ "17:62": 402653184,
+ "18:62": 268435456,
+ "19:62": 402653184,
+ "20:62": 268435456,
+ "21:62": 402653184,
+ "22:62": -5092136,
+ "23:62": -5092136,
+ "24:62": -5092136,
+ "25:62": -5092136,
+ "26:62": -5092136,
+ "27:62": -5092136,
+ "28:62": -5092136,
+ "29:62": -5092136,
+ "30:62": -5092136,
+ "31:62": -5092136,
+ "32:62": -16745472,
+ "33:62": -16745472,
+ "34:62": -16745472,
+ "35:62": -5092136,
+ "36:62": -5092136,
+ "37:62": -5092136,
+ "38:62": -5092136,
+ "39:62": -5092136,
+ "40:62": -5092136,
+ "41:62": -5092136,
+ "42:62": -5092136,
+ "43:62": -5092136,
+ "44:62": -884827,
+ "45:62": -884827,
+ "46:62": -884827,
+ "47:62": -884827,
+ "48:62": -884827,
+ "49:62": -884827,
+ "50:62": -884827,
+ "51:62": -884827,
+ "52:62": -884827,
+ "53:62": -884827,
+ "54:62": -16745472,
+ "55:62": -16745472,
+ "56:62": -16745472,
+ "57:62": -884827,
+ "58:62": -884827,
+ "59:62": -884827,
+ "60:62": -884827,
+ "61:62": -884827,
+ "62:62": -9288933,
+ "63:62": -9288933,
+ "64:62": -9288933,
+ "65:62": -9288933,
+ "66:62": -9288933,
+ "67:62": -9288933,
+ "68:62": -9288933,
+ "69:62": -9288933,
+ "70:62": -9288933,
+ "71:62": -9288933,
+ "72:62": -9288933,
+ "73:62": -9288933,
+ "74:62": -9288933,
+ "75:62": -9288933,
+ "76:62": -9288933,
+ "77:62": -9288933,
+ "78:62": -9288933,
+ "79:62": -9288933,
+ "80:62": -9288933,
+ "81:62": -9288933,
+ "82:62": -9288933,
+ "83:62": -9288933,
+ "84:62": -9288933,
+ "85:62": -9288933,
+ "86:62": -9288933,
+ "87:62": -9288933,
+ "88:62": -9288933,
+ "89:62": -9288933,
+ "90:62": -9288933,
+ "91:62": -9288933,
+ "92:62": -9288933,
+ "93:62": -9288933,
+ "94:62": -9288933,
+ "95:62": -9288933,
+ "96:62": -9288933,
+ "97:62": -9288933,
+ "98:62": -9288933,
+ "99:62": -9288933,
+ "100:62": -9288933,
+ "101:62": -9288933,
+ "102:62": -9288933,
+ "103:62": -9288933,
+ "104:62": -9288933,
+ "105:62": -9288933,
+ "106:62": 268435456,
+ "107:62": 402653184,
+ "108:62": 268435456,
+ "109:62": 402653184,
+ "110:62": 268435456,
+ "111:62": 402653184,
+ "112:62": 268435456,
+ "113:62": 402653184,
+ "114:62": 268435456,
+ "115:62": 402653184,
+ "116:62": 268435456,
+ "117:62": 402653184,
+ "118:62": 268435456,
+ "119:62": 402653184,
+ "120:62": 268435456,
+ "121:62": 402653184,
+ "122:62": 268435456,
+ "123:62": 402653184,
+ "124:62": 268435456,
+ "125:62": 402653184,
+ "126:62": 268435456,
+ "127:62": 402653184,
+ "0:63": 402653184,
+ "1:63": 268435456,
+ "2:63": 402653184,
+ "3:63": 268435456,
+ "4:63": 402653184,
+ "5:63": 268435456,
+ "6:63": 402653184,
+ "7:63": 268435456,
+ "8:63": 402653184,
+ "9:63": 268435456,
+ "10:63": 402653184,
+ "11:63": 268435456,
+ "12:63": 402653184,
+ "13:63": 268435456,
+ "14:63": 402653184,
+ "15:63": 268435456,
+ "16:63": 402653184,
+ "17:63": 268435456,
+ "18:63": 402653184,
+ "19:63": 268435456,
+ "20:63": 402653184,
+ "21:63": 268435456,
+ "22:63": -5092136,
+ "23:63": -5092136,
+ "24:63": -5092136,
+ "25:63": -5092136,
+ "26:63": -5092136,
+ "27:63": -5092136,
+ "28:63": -5092136,
+ "29:63": -5092136,
+ "30:63": -5092136,
+ "31:63": -16745472,
+ "32:63": -16745472,
+ "33:63": -16745472,
+ "34:63": -5092136,
+ "35:63": -5092136,
+ "36:63": -5092136,
+ "37:63": -5092136,
+ "38:63": -5092136,
+ "39:63": -5092136,
+ "40:63": -5092136,
+ "41:63": -5092136,
+ "42:63": -5092136,
+ "43:63": -5092136,
+ "44:63": -884827,
+ "45:63": -884827,
+ "46:63": -884827,
+ "47:63": -884827,
+ "48:63": -884827,
+ "49:63": -884827,
+ "50:63": -884827,
+ "51:63": -884827,
+ "52:63": -884827,
+ "53:63": -16745472,
+ "54:63": -16745472,
+ "55:63": -16745472,
+ "56:63": -884827,
+ "57:63": -884827,
+ "58:63": -884827,
+ "59:63": -884827,
+ "60:63": -884827,
+ "61:63": -884827,
+ "62:63": -9288933,
+ "63:63": -9288933,
+ "64:63": -9288933,
+ "65:63": -9288933,
+ "66:63": -9288933,
+ "67:63": -9288933,
+ "68:63": -9288933,
+ "69:63": -9288933,
+ "70:63": -9288933,
+ "71:63": -9288933,
+ "72:63": -9288933,
+ "73:63": -9288933,
+ "74:63": -9288933,
+ "75:63": -9288933,
+ "76:63": -9288933,
+ "77:63": -9288933,
+ "78:63": -9288933,
+ "79:63": -9288933,
+ "80:63": -9288933,
+ "81:63": -9288933,
+ "82:63": -9288933,
+ "83:63": -9288933,
+ "84:63": -9288933,
+ "85:63": -9288933,
+ "86:63": -9288933,
+ "87:63": -9288933,
+ "88:63": -9288933,
+ "89:63": -9288933,
+ "90:63": -9288933,
+ "91:63": -9288933,
+ "92:63": -9288933,
+ "93:63": -9288933,
+ "94:63": -9288933,
+ "95:63": -9288933,
+ "96:63": -9288933,
+ "97:63": -9288933,
+ "98:63": -9288933,
+ "99:63": -9288933,
+ "100:63": -9288933,
+ "101:63": -9288933,
+ "102:63": -9288933,
+ "103:63": -9288933,
+ "104:63": -9288933,
+ "105:63": -9288933,
+ "106:63": 402653184,
+ "107:63": 268435456,
+ "108:63": 402653184,
+ "109:63": 268435456,
+ "110:63": 402653184,
+ "111:63": 268435456,
+ "112:63": 402653184,
+ "113:63": 268435456,
+ "114:63": 402653184,
+ "115:63": 268435456,
+ "116:63": 402653184,
+ "117:63": 268435456,
+ "118:63": 402653184,
+ "119:63": 268435456,
+ "120:63": 402653184,
+ "121:63": 268435456,
+ "122:63": 402653184,
+ "123:63": 268435456,
+ "124:63": 402653184,
+ "125:63": 268435456,
+ "126:63": 402653184,
+ "127:63": 268435456,
+ "0:64": 268435456,
+ "1:64": 402653184,
+ "2:64": 268435456,
+ "3:64": 402653184,
+ "4:64": 268435456,
+ "5:64": 402653184,
+ "6:64": 268435456,
+ "7:64": 402653184,
+ "8:64": 268435456,
+ "9:64": 402653184,
+ "10:64": 268435456,
+ "11:64": 402653184,
+ "12:64": 268435456,
+ "13:64": 402653184,
+ "14:64": 268435456,
+ "15:64": 402653184,
+ "16:64": 268435456,
+ "17:64": 402653184,
+ "18:64": 268435456,
+ "19:64": 402653184,
+ "20:64": 268435456,
+ "21:64": 402653184,
+ "22:64": -5092136,
+ "23:64": -5092136,
+ "24:64": -5092136,
+ "25:64": -5092136,
+ "26:64": -5092136,
+ "27:64": -5092136,
+ "28:64": -5092136,
+ "29:64": -5092136,
+ "30:64": -5092136,
+ "31:64": -16745472,
+ "32:64": -16745472,
+ "33:64": -5092136,
+ "34:64": -5092136,
+ "35:64": -5092136,
+ "36:64": -5092136,
+ "37:64": -5092136,
+ "38:64": -5092136,
+ "39:64": -5092136,
+ "40:64": -5092136,
+ "41:64": -5092136,
+ "42:64": -5092136,
+ "43:64": -5092136,
+ "44:64": -884827,
+ "45:64": -884827,
+ "46:64": -884827,
+ "47:64": -884827,
+ "48:64": -884827,
+ "49:64": -884827,
+ "50:64": -884827,
+ "51:64": -884827,
+ "52:64": -884827,
+ "53:64": -16745472,
+ "54:64": -16745472,
+ "55:64": -884827,
+ "56:64": -884827,
+ "57:64": -884827,
+ "58:64": -884827,
+ "59:64": -884827,
+ "60:64": -884827,
+ "61:64": -884827,
+ "62:64": -9288933,
+ "63:64": -9288933,
+ "64:64": -9288933,
+ "65:64": -9288933,
+ "66:64": -9288933,
+ "67:64": -9288933,
+ "68:64": -9288933,
+ "69:64": -9288933,
+ "70:64": -9288933,
+ "71:64": -9288933,
+ "72:64": -9288933,
+ "73:64": -9288933,
+ "74:64": -9288933,
+ "75:64": -9288933,
+ "76:64": -9288933,
+ "77:64": -9288933,
+ "78:64": -9288933,
+ "79:64": -9288933,
+ "80:64": -9288933,
+ "81:64": -9288933,
+ "82:64": -9288933,
+ "83:64": -9288933,
+ "84:64": -9288933,
+ "85:64": -9288933,
+ "86:64": -9288933,
+ "87:64": -9288933,
+ "88:64": -9288933,
+ "89:64": -9288933,
+ "90:64": -9288933,
+ "91:64": -9288933,
+ "92:64": -9288933,
+ "93:64": -9288933,
+ "94:64": -9288933,
+ "95:64": -9288933,
+ "96:64": -9288933,
+ "97:64": -9288933,
+ "98:64": -9288933,
+ "99:64": -9288933,
+ "100:64": -9288933,
+ "101:64": -9288933,
+ "102:64": -9288933,
+ "103:64": -9288933,
+ "104:64": -9288933,
+ "105:64": -9288933,
+ "106:64": 268435456,
+ "107:64": 402653184,
+ "108:64": 268435456,
+ "109:64": 402653184,
+ "110:64": 268435456,
+ "111:64": 402653184,
+ "112:64": 268435456,
+ "113:64": 402653184,
+ "114:64": 268435456,
+ "115:64": 402653184,
+ "116:64": 268435456,
+ "117:64": 402653184,
+ "118:64": 268435456,
+ "119:64": 402653184,
+ "120:64": 268435456,
+ "121:64": 402653184,
+ "122:64": 268435456,
+ "123:64": 402653184,
+ "124:64": 268435456,
+ "125:64": 402653184,
+ "126:64": 268435456,
+ "127:64": 402653184,
+ "0:65": 402653184,
+ "1:65": 268435456,
+ "2:65": 402653184,
+ "3:65": 268435456,
+ "4:65": 402653184,
+ "5:65": 268435456,
+ "6:65": 402653184,
+ "7:65": 268435456,
+ "8:65": 402653184,
+ "9:65": 268435456,
+ "10:65": 402653184,
+ "11:65": 268435456,
+ "12:65": 402653184,
+ "13:65": 268435456,
+ "14:65": 402653184,
+ "15:65": 268435456,
+ "16:65": 402653184,
+ "17:65": 268435456,
+ "18:65": 402653184,
+ "19:65": 268435456,
+ "20:65": 402653184,
+ "21:65": 268435456,
+ "22:65": -5092136,
+ "23:65": -5092136,
+ "24:65": -5092136,
+ "25:65": -5092136,
+ "26:65": -5092136,
+ "27:65": -5092136,
+ "28:65": -16745472,
+ "29:65": -16745472,
+ "30:65": -5092136,
+ "31:65": -16745472,
+ "32:65": -16745472,
+ "33:65": -5092136,
+ "34:65": -5092136,
+ "35:65": -5092136,
+ "36:65": -5092136,
+ "37:65": -5092136,
+ "38:65": -5092136,
+ "39:65": -5092136,
+ "40:65": -5092136,
+ "41:65": -5092136,
+ "42:65": -5092136,
+ "43:65": -5092136,
+ "44:65": -884827,
+ "45:65": -884827,
+ "46:65": -884827,
+ "47:65": -884827,
+ "48:65": -884827,
+ "49:65": -884827,
+ "50:65": -16745472,
+ "51:65": -16745472,
+ "52:65": -884827,
+ "53:65": -16745472,
+ "54:65": -16745472,
+ "55:65": -884827,
+ "56:65": -884827,
+ "57:65": -884827,
+ "58:65": -884827,
+ "59:65": -884827,
+ "60:65": -884827,
+ "61:65": -884827,
+ "62:65": -9288933,
+ "63:65": -9288933,
+ "64:65": -9288933,
+ "65:65": -9288933,
+ "66:65": -9288933,
+ "67:65": -9288933,
+ "68:65": -9288933,
+ "69:65": -9288933,
+ "70:65": -9288933,
+ "71:65": -9288933,
+ "72:65": -9288933,
+ "73:65": -9288933,
+ "74:65": -9288933,
+ "75:65": -9288933,
+ "76:65": -9288933,
+ "77:65": -9288933,
+ "78:65": -9288933,
+ "79:65": -9288933,
+ "80:65": -9288933,
+ "81:65": -9288933,
+ "82:65": -9288933,
+ "83:65": -9288933,
+ "84:65": -9288933,
+ "85:65": -9288933,
+ "86:65": -9288933,
+ "87:65": -9288933,
+ "88:65": -9288933,
+ "89:65": -9288933,
+ "90:65": -9288933,
+ "91:65": -9288933,
+ "92:65": -9288933,
+ "93:65": -9288933,
+ "94:65": -9288933,
+ "95:65": -9288933,
+ "96:65": -9288933,
+ "97:65": -9288933,
+ "98:65": -9288933,
+ "99:65": -9288933,
+ "100:65": -9288933,
+ "101:65": -9288933,
+ "102:65": -9288933,
+ "103:65": -9288933,
+ "104:65": -9288933,
+ "105:65": -9288933,
+ "106:65": 402653184,
+ "107:65": 268435456,
+ "108:65": 402653184,
+ "109:65": 268435456,
+ "110:65": 402653184,
+ "111:65": 268435456,
+ "112:65": 402653184,
+ "113:65": 268435456,
+ "114:65": 402653184,
+ "115:65": 268435456,
+ "116:65": 402653184,
+ "117:65": 268435456,
+ "118:65": 402653184,
+ "119:65": 268435456,
+ "120:65": 402653184,
+ "121:65": 268435456,
+ "122:65": 402653184,
+ "123:65": 268435456,
+ "124:65": 402653184,
+ "125:65": 268435456,
+ "126:65": 402653184,
+ "127:65": 268435456,
+ "0:66": 268435456,
+ "1:66": 402653184,
+ "2:66": 268435456,
+ "3:66": 402653184,
+ "4:66": 268435456,
+ "5:66": 402653184,
+ "6:66": 268435456,
+ "7:66": 402653184,
+ "8:66": 268435456,
+ "9:66": 402653184,
+ "10:66": 268435456,
+ "11:66": 402653184,
+ "12:66": 268435456,
+ "13:66": 402653184,
+ "14:66": 268435456,
+ "15:66": 402653184,
+ "16:66": 268435456,
+ "17:66": 402653184,
+ "18:66": 268435456,
+ "19:66": 402653184,
+ "20:66": 268435456,
+ "21:66": 402653184,
+ "22:66": -5092136,
+ "23:66": -5092136,
+ "24:66": -5092136,
+ "25:66": -5092136,
+ "26:66": -5092136,
+ "27:66": -5092136,
+ "28:66": -5092136,
+ "29:66": -16745472,
+ "30:66": -16745472,
+ "31:66": -16745472,
+ "32:66": -5092136,
+ "33:66": -5092136,
+ "34:66": -5092136,
+ "35:66": -5092136,
+ "36:66": -5092136,
+ "37:66": -5092136,
+ "38:66": -5092136,
+ "39:66": -5092136,
+ "40:66": -5092136,
+ "41:66": -5092136,
+ "42:66": -5092136,
+ "43:66": -5092136,
+ "44:66": -884827,
+ "45:66": -884827,
+ "46:66": -884827,
+ "47:66": -884827,
+ "48:66": -884827,
+ "49:66": -884827,
+ "50:66": -884827,
+ "51:66": -16745472,
+ "52:66": -16745472,
+ "53:66": -16745472,
+ "54:66": -884827,
+ "55:66": -884827,
+ "56:66": -884827,
+ "57:66": -884827,
+ "58:66": -884827,
+ "59:66": -884827,
+ "60:66": -884827,
+ "61:66": -884827,
+ "62:66": -9288933,
+ "63:66": -9288933,
+ "64:66": -9288933,
+ "65:66": -9288933,
+ "66:66": -9288933,
+ "67:66": -9288933,
+ "68:66": -9288933,
+ "69:66": -9288933,
+ "70:66": -9288933,
+ "71:66": -9288933,
+ "72:66": -9288933,
+ "73:66": -9288933,
+ "74:66": -9288933,
+ "75:66": -9288933,
+ "76:66": -9288933,
+ "77:66": -9288933,
+ "78:66": -9288933,
+ "79:66": -9288933,
+ "80:66": -9288933,
+ "81:66": -9288933,
+ "82:66": -9288933,
+ "83:66": -9288933,
+ "84:66": -9288933,
+ "85:66": -9288933,
+ "86:66": -9288933,
+ "87:66": -9288933,
+ "88:66": -9288933,
+ "89:66": -9288933,
+ "90:66": -9288933,
+ "91:66": -9288933,
+ "92:66": -9288933,
+ "93:66": -9288933,
+ "94:66": -9288933,
+ "95:66": -9288933,
+ "96:66": -9288933,
+ "97:66": -9288933,
+ "98:66": -9288933,
+ "99:66": -9288933,
+ "100:66": -9288933,
+ "101:66": -9288933,
+ "102:66": -9288933,
+ "103:66": -9288933,
+ "104:66": -9288933,
+ "105:66": -9288933,
+ "106:66": 268435456,
+ "107:66": 402653184,
+ "108:66": 268435456,
+ "109:66": 402653184,
+ "110:66": 268435456,
+ "111:66": 402653184,
+ "112:66": 268435456,
+ "113:66": 402653184,
+ "114:66": 268435456,
+ "115:66": 402653184,
+ "116:66": 268435456,
+ "117:66": 402653184,
+ "118:66": 268435456,
+ "119:66": 402653184,
+ "120:66": 268435456,
+ "121:66": 402653184,
+ "122:66": 268435456,
+ "123:66": 402653184,
+ "124:66": 268435456,
+ "125:66": 402653184,
+ "126:66": 268435456,
+ "127:66": 402653184,
+ "0:67": 402653184,
+ "1:67": 268435456,
+ "2:67": 402653184,
+ "3:67": 268435456,
+ "4:67": 402653184,
+ "5:67": 268435456,
+ "6:67": 402653184,
+ "7:67": 268435456,
+ "8:67": 402653184,
+ "9:67": 268435456,
+ "10:67": 402653184,
+ "11:67": 268435456,
+ "12:67": 402653184,
+ "13:67": 268435456,
+ "14:67": 402653184,
+ "15:67": 268435456,
+ "16:67": 402653184,
+ "17:67": 268435456,
+ "18:67": 402653184,
+ "19:67": 268435456,
+ "20:67": 402653184,
+ "21:67": 268435456,
+ "22:67": -5092136,
+ "23:67": -5092136,
+ "24:67": -5092136,
+ "25:67": -5092136,
+ "26:67": -5092136,
+ "27:67": -5092136,
+ "28:67": -5092136,
+ "29:67": -16745472,
+ "30:67": -16745472,
+ "31:67": -16745472,
+ "32:67": -5092136,
+ "33:67": -5092136,
+ "34:67": -5092136,
+ "35:67": -5092136,
+ "36:67": -5092136,
+ "37:67": -5092136,
+ "38:67": -5092136,
+ "39:67": -5092136,
+ "40:67": -5092136,
+ "41:67": -5092136,
+ "42:67": -5092136,
+ "43:67": -5092136,
+ "44:67": -884827,
+ "45:67": -884827,
+ "46:67": -884827,
+ "47:67": -884827,
+ "48:67": -884827,
+ "49:67": -884827,
+ "50:67": -884827,
+ "51:67": -16745472,
+ "52:67": -16745472,
+ "53:67": -16745472,
+ "54:67": -884827,
+ "55:67": -884827,
+ "56:67": -884827,
+ "57:67": -884827,
+ "58:67": -884827,
+ "59:67": -884827,
+ "60:67": -884827,
+ "61:67": -884827,
+ "62:67": -9288933,
+ "63:67": -9288933,
+ "64:67": -9288933,
+ "65:67": -9288933,
+ "66:67": -9288933,
+ "67:67": -9288933,
+ "68:67": -9288933,
+ "69:67": -9288933,
+ "70:67": -9288933,
+ "71:67": -9288933,
+ "72:67": -9288933,
+ "73:67": -9288933,
+ "74:67": -9288933,
+ "75:67": -9288933,
+ "76:67": -9288933,
+ "77:67": -9288933,
+ "78:67": -9288933,
+ "79:67": -9288933,
+ "80:67": -9288933,
+ "81:67": -9288933,
+ "82:67": -9288933,
+ "83:67": -9288933,
+ "84:67": -9288933,
+ "85:67": -9288933,
+ "86:67": -9288933,
+ "87:67": -9288933,
+ "88:67": -9288933,
+ "89:67": -9288933,
+ "90:67": -9288933,
+ "91:67": -9288933,
+ "92:67": -9288933,
+ "93:67": -9288933,
+ "94:67": -9288933,
+ "95:67": -9288933,
+ "96:67": -9288933,
+ "97:67": -9288933,
+ "98:67": -9288933,
+ "99:67": -9288933,
+ "100:67": -9288933,
+ "101:67": -9288933,
+ "102:67": -9288933,
+ "103:67": -9288933,
+ "104:67": -9288933,
+ "105:67": -9288933,
+ "106:67": 402653184,
+ "107:67": 268435456,
+ "108:67": 402653184,
+ "109:67": 268435456,
+ "110:67": 402653184,
+ "111:67": 268435456,
+ "112:67": 402653184,
+ "113:67": 268435456,
+ "114:67": 402653184,
+ "115:67": 268435456,
+ "116:67": 402653184,
+ "117:67": 268435456,
+ "118:67": 402653184,
+ "119:67": 268435456,
+ "120:67": 402653184,
+ "121:67": 268435456,
+ "122:67": 402653184,
+ "123:67": 268435456,
+ "124:67": 402653184,
+ "125:67": 268435456,
+ "126:67": 402653184,
+ "127:67": 268435456,
+ "0:68": 268435456,
+ "1:68": 402653184,
+ "2:68": 268435456,
+ "3:68": 402653184,
+ "4:68": 268435456,
+ "5:68": 402653184,
+ "6:68": 268435456,
+ "7:68": 402653184,
+ "8:68": 268435456,
+ "9:68": 402653184,
+ "10:68": 268435456,
+ "11:68": 402653184,
+ "12:68": 268435456,
+ "13:68": 402653184,
+ "14:68": 268435456,
+ "15:68": 402653184,
+ "16:68": 268435456,
+ "17:68": 402653184,
+ "18:68": 268435456,
+ "19:68": 402653184,
+ "20:68": 268435456,
+ "21:68": 402653184,
+ "22:68": -5092136,
+ "23:68": -5092136,
+ "24:68": -5092136,
+ "25:68": -5092136,
+ "26:68": -5092136,
+ "27:68": -5092136,
+ "28:68": -5092136,
+ "29:68": -5092136,
+ "30:68": -5092136,
+ "31:68": -5092136,
+ "32:68": -5092136,
+ "33:68": -5092136,
+ "34:68": -5092136,
+ "35:68": -5092136,
+ "36:68": -5092136,
+ "37:68": -5092136,
+ "38:68": -5092136,
+ "39:68": -5092136,
+ "40:68": 268435456,
+ "41:68": 402653184,
+ "42:68": 268435456,
+ "43:68": 402653184,
+ "44:68": -884827,
+ "45:68": -884827,
+ "46:68": -884827,
+ "47:68": -884827,
+ "48:68": -884827,
+ "49:68": -884827,
+ "50:68": -884827,
+ "51:68": -884827,
+ "52:68": -884827,
+ "53:68": -884827,
+ "54:68": -884827,
+ "55:68": -884827,
+ "56:68": -884827,
+ "57:68": -884827,
+ "58:68": -884827,
+ "59:68": -884827,
+ "60:68": -884827,
+ "61:68": -884827,
+ "62:68": 268435456,
+ "63:68": 402653184,
+ "64:68": 268435456,
+ "65:68": 402653184,
+ "66:68": -9288933,
+ "67:68": -9288933,
+ "68:68": -9288933,
+ "69:68": -9288933,
+ "70:68": -9288933,
+ "71:68": -9288933,
+ "72:68": -9288933,
+ "73:68": -9288933,
+ "74:68": -9288933,
+ "75:68": -9288933,
+ "76:68": -9288933,
+ "77:68": -9288933,
+ "78:68": -9288933,
+ "79:68": -9288933,
+ "80:68": -9288933,
+ "81:68": -9288933,
+ "82:68": -9288933,
+ "83:68": -9288933,
+ "84:68": 268435456,
+ "85:68": 402653184,
+ "86:68": 268435456,
+ "87:68": 402653184,
+ "88:68": -9288933,
+ "89:68": -9288933,
+ "90:68": -9288933,
+ "91:68": -9288933,
+ "92:68": -9288933,
+ "93:68": -9288933,
+ "94:68": -9288933,
+ "95:68": -9288933,
+ "96:68": -9288933,
+ "97:68": -9288933,
+ "98:68": -9288933,
+ "99:68": -9288933,
+ "100:68": -9288933,
+ "101:68": -9288933,
+ "102:68": -9288933,
+ "103:68": -9288933,
+ "104:68": -9288933,
+ "105:68": -9288933,
+ "106:68": 268435456,
+ "107:68": 402653184,
+ "108:68": 268435456,
+ "109:68": 402653184,
+ "110:68": 268435456,
+ "111:68": 402653184,
+ "112:68": 268435456,
+ "113:68": 402653184,
+ "114:68": 268435456,
+ "115:68": 402653184,
+ "116:68": 268435456,
+ "117:68": 402653184,
+ "118:68": 268435456,
+ "119:68": 402653184,
+ "120:68": 268435456,
+ "121:68": 402653184,
+ "122:68": 268435456,
+ "123:68": 402653184,
+ "124:68": 268435456,
+ "125:68": 402653184,
+ "126:68": 268435456,
+ "127:68": 402653184,
+ "0:69": 402653184,
+ "1:69": 268435456,
+ "2:69": 402653184,
+ "3:69": 268435456,
+ "4:69": 402653184,
+ "5:69": 268435456,
+ "6:69": 402653184,
+ "7:69": 268435456,
+ "8:69": 402653184,
+ "9:69": 268435456,
+ "10:69": 402653184,
+ "11:69": 268435456,
+ "12:69": 402653184,
+ "13:69": 268435456,
+ "14:69": 402653184,
+ "15:69": 268435456,
+ "16:69": 402653184,
+ "17:69": 268435456,
+ "18:69": 402653184,
+ "19:69": 268435456,
+ "20:69": 402653184,
+ "21:69": 268435456,
+ "22:69": -5092136,
+ "23:69": -5092136,
+ "24:69": -5092136,
+ "25:69": -5092136,
+ "26:69": -5092136,
+ "27:69": -5092136,
+ "28:69": -5092136,
+ "29:69": -5092136,
+ "30:69": -5092136,
+ "31:69": -5092136,
+ "32:69": -5092136,
+ "33:69": -5092136,
+ "34:69": -5092136,
+ "35:69": -5092136,
+ "36:69": -5092136,
+ "37:69": -5092136,
+ "38:69": -5092136,
+ "39:69": -5092136,
+ "40:69": 402653184,
+ "41:69": 268435456,
+ "42:69": 402653184,
+ "43:69": 268435456,
+ "44:69": -884827,
+ "45:69": -884827,
+ "46:69": -884827,
+ "47:69": -884827,
+ "48:69": -884827,
+ "49:69": -884827,
+ "50:69": -884827,
+ "51:69": -884827,
+ "52:69": -884827,
+ "53:69": -884827,
+ "54:69": -884827,
+ "55:69": -884827,
+ "56:69": -884827,
+ "57:69": -884827,
+ "58:69": -884827,
+ "59:69": -884827,
+ "60:69": -884827,
+ "61:69": -884827,
+ "62:69": 402653184,
+ "63:69": 268435456,
+ "64:69": 402653184,
+ "65:69": 268435456,
+ "66:69": -9288933,
+ "67:69": -9288933,
+ "68:69": -9288933,
+ "69:69": -9288933,
+ "70:69": -9288933,
+ "71:69": -9288933,
+ "72:69": -9288933,
+ "73:69": -9288933,
+ "74:69": -9288933,
+ "75:69": -9288933,
+ "76:69": -9288933,
+ "77:69": -9288933,
+ "78:69": -9288933,
+ "79:69": -9288933,
+ "80:69": -9288933,
+ "81:69": -9288933,
+ "82:69": -9288933,
+ "83:69": -9288933,
+ "84:69": 402653184,
+ "85:69": 268435456,
+ "86:69": 402653184,
+ "87:69": 268435456,
+ "88:69": -9288933,
+ "89:69": -9288933,
+ "90:69": -9288933,
+ "91:69": -9288933,
+ "92:69": -9288933,
+ "93:69": -9288933,
+ "94:69": -9288933,
+ "95:69": -9288933,
+ "96:69": -9288933,
+ "97:69": -9288933,
+ "98:69": -9288933,
+ "99:69": -9288933,
+ "100:69": -9288933,
+ "101:69": -9288933,
+ "102:69": -9288933,
+ "103:69": -9288933,
+ "104:69": -9288933,
+ "105:69": -9288933,
+ "106:69": 402653184,
+ "107:69": 268435456,
+ "108:69": 402653184,
+ "109:69": 268435456,
+ "110:69": 402653184,
+ "111:69": 268435456,
+ "112:69": 402653184,
+ "113:69": 268435456,
+ "114:69": 402653184,
+ "115:69": 268435456,
+ "116:69": 402653184,
+ "117:69": 268435456,
+ "118:69": 402653184,
+ "119:69": 268435456,
+ "120:69": 402653184,
+ "121:69": 268435456,
+ "122:69": 402653184,
+ "123:69": 268435456,
+ "124:69": 402653184,
+ "125:69": 268435456,
+ "126:69": 402653184,
+ "127:69": 268435456,
+ "0:70": 268435456,
+ "1:70": 402653184,
+ "2:70": 268435456,
+ "3:70": 402653184,
+ "4:70": 268435456,
+ "5:70": 402653184,
+ "6:70": 268435456,
+ "7:70": 402653184,
+ "8:70": 268435456,
+ "9:70": 402653184,
+ "10:70": 268435456,
+ "11:70": 402653184,
+ "12:70": 268435456,
+ "13:70": 402653184,
+ "14:70": 268435456,
+ "15:70": 402653184,
+ "16:70": 268435456,
+ "17:70": 402653184,
+ "18:70": 268435456,
+ "19:70": 402653184,
+ "20:70": 268435456,
+ "21:70": 402653184,
+ "22:70": -5092136,
+ "23:70": -5092136,
+ "24:70": -5092136,
+ "25:70": -5092136,
+ "26:70": -5092136,
+ "27:70": -5092136,
+ "28:70": -5092136,
+ "29:70": -5092136,
+ "30:70": -5092136,
+ "31:70": -5092136,
+ "32:70": -5092136,
+ "33:70": -5092136,
+ "34:70": -5092136,
+ "35:70": -5092136,
+ "36:70": -5092136,
+ "37:70": -5092136,
+ "38:70": -5092136,
+ "39:70": -5092136,
+ "40:70": 268435456,
+ "41:70": 402653184,
+ "42:70": 268435456,
+ "43:70": 402653184,
+ "44:70": -884827,
+ "45:70": -884827,
+ "46:70": -884827,
+ "47:70": -884827,
+ "48:70": -884827,
+ "49:70": -884827,
+ "50:70": -884827,
+ "51:70": -884827,
+ "52:70": -884827,
+ "53:70": -884827,
+ "54:70": -884827,
+ "55:70": -884827,
+ "56:70": -884827,
+ "57:70": -884827,
+ "58:70": -884827,
+ "59:70": -884827,
+ "60:70": -884827,
+ "61:70": -884827,
+ "62:70": 268435456,
+ "63:70": 402653184,
+ "64:70": 268435456,
+ "65:70": 402653184,
+ "66:70": -9288933,
+ "67:70": -9288933,
+ "68:70": -9288933,
+ "69:70": -9288933,
+ "70:70": -9288933,
+ "71:70": -9288933,
+ "72:70": -9288933,
+ "73:70": -9288933,
+ "74:70": -9288933,
+ "75:70": -9288933,
+ "76:70": -9288933,
+ "77:70": -9288933,
+ "78:70": -9288933,
+ "79:70": -9288933,
+ "80:70": -9288933,
+ "81:70": -9288933,
+ "82:70": -9288933,
+ "83:70": -9288933,
+ "84:70": 268435456,
+ "85:70": 402653184,
+ "86:70": 268435456,
+ "87:70": 402653184,
+ "88:70": -9288933,
+ "89:70": -9288933,
+ "90:70": -9288933,
+ "91:70": -9288933,
+ "92:70": -9288933,
+ "93:70": -9288933,
+ "94:70": -9288933,
+ "95:70": -9288933,
+ "96:70": -9288933,
+ "97:70": -9288933,
+ "98:70": -9288933,
+ "99:70": -9288933,
+ "100:70": -9288933,
+ "101:70": -9288933,
+ "102:70": -9288933,
+ "103:70": -9288933,
+ "104:70": -9288933,
+ "105:70": -9288933,
+ "106:70": 268435456,
+ "107:70": 402653184,
+ "108:70": 268435456,
+ "109:70": 402653184,
+ "110:70": 268435456,
+ "111:70": 402653184,
+ "112:70": 268435456,
+ "113:70": 402653184,
+ "114:70": 268435456,
+ "115:70": 402653184,
+ "116:70": 268435456,
+ "117:70": 402653184,
+ "118:70": 268435456,
+ "119:70": 402653184,
+ "120:70": 268435456,
+ "121:70": 402653184,
+ "122:70": 268435456,
+ "123:70": 402653184,
+ "124:70": 268435456,
+ "125:70": 402653184,
+ "126:70": 268435456,
+ "127:70": 402653184,
+ "0:71": 402653184,
+ "1:71": 268435456,
+ "2:71": 402653184,
+ "3:71": 268435456,
+ "4:71": 402653184,
+ "5:71": 268435456,
+ "6:71": 402653184,
+ "7:71": 268435456,
+ "8:71": 402653184,
+ "9:71": 268435456,
+ "10:71": 402653184,
+ "11:71": 268435456,
+ "12:71": 402653184,
+ "13:71": 268435456,
+ "14:71": 402653184,
+ "15:71": 268435456,
+ "16:71": 402653184,
+ "17:71": 268435456,
+ "18:71": 402653184,
+ "19:71": 268435456,
+ "20:71": 402653184,
+ "21:71": 268435456,
+ "22:71": -5092136,
+ "23:71": -5092136,
+ "24:71": -5092136,
+ "25:71": -5092136,
+ "26:71": -5092136,
+ "27:71": -5092136,
+ "28:71": -5092136,
+ "29:71": -5092136,
+ "30:71": -5092136,
+ "31:71": -5092136,
+ "32:71": -5092136,
+ "33:71": -5092136,
+ "34:71": -5092136,
+ "35:71": -5092136,
+ "36:71": -5092136,
+ "37:71": -5092136,
+ "38:71": -5092136,
+ "39:71": -5092136,
+ "40:71": 402653184,
+ "41:71": 268435456,
+ "42:71": 402653184,
+ "43:71": 268435456,
+ "44:71": -884827,
+ "45:71": -884827,
+ "46:71": -884827,
+ "47:71": -884827,
+ "48:71": -884827,
+ "49:71": -884827,
+ "50:71": -884827,
+ "51:71": -884827,
+ "52:71": -884827,
+ "53:71": -884827,
+ "54:71": -884827,
+ "55:71": -884827,
+ "56:71": -884827,
+ "57:71": -884827,
+ "58:71": -884827,
+ "59:71": -884827,
+ "60:71": -884827,
+ "61:71": -884827,
+ "62:71": 402653184,
+ "63:71": 268435456,
+ "64:71": 402653184,
+ "65:71": 268435456,
+ "66:71": -9288933,
+ "67:71": -9288933,
+ "68:71": -9288933,
+ "69:71": -9288933,
+ "70:71": -9288933,
+ "71:71": -9288933,
+ "72:71": -9288933,
+ "73:71": -9288933,
+ "74:71": -9288933,
+ "75:71": -9288933,
+ "76:71": -9288933,
+ "77:71": -9288933,
+ "78:71": -9288933,
+ "79:71": -9288933,
+ "80:71": -9288933,
+ "81:71": -9288933,
+ "82:71": -9288933,
+ "83:71": -9288933,
+ "84:71": 402653184,
+ "85:71": 268435456,
+ "86:71": 402653184,
+ "87:71": 268435456,
+ "88:71": -9288933,
+ "89:71": -9288933,
+ "90:71": -9288933,
+ "91:71": -9288933,
+ "92:71": -9288933,
+ "93:71": -9288933,
+ "94:71": -9288933,
+ "95:71": -9288933,
+ "96:71": -9288933,
+ "97:71": -9288933,
+ "98:71": -9288933,
+ "99:71": -9288933,
+ "100:71": -9288933,
+ "101:71": -9288933,
+ "102:71": -9288933,
+ "103:71": -9288933,
+ "104:71": -9288933,
+ "105:71": -9288933,
+ "106:71": 402653184,
+ "107:71": 268435456,
+ "108:71": 402653184,
+ "109:71": 268435456,
+ "110:71": 402653184,
+ "111:71": 268435456,
+ "112:71": 402653184,
+ "113:71": 268435456,
+ "114:71": 402653184,
+ "115:71": 268435456,
+ "116:71": 402653184,
+ "117:71": 268435456,
+ "118:71": 402653184,
+ "119:71": 268435456,
+ "120:71": 402653184,
+ "121:71": 268435456,
+ "122:71": 402653184,
+ "123:71": 268435456,
+ "124:71": 402653184,
+ "125:71": 268435456,
+ "126:71": 402653184,
+ "127:71": 268435456,
+ "0:72": 268435456,
+ "1:72": 402653184,
+ "2:72": 268435456,
+ "3:72": 402653184,
+ "4:72": 268435456,
+ "5:72": 402653184,
+ "6:72": 268435456,
+ "7:72": 402653184,
+ "8:72": 268435456,
+ "9:72": 402653184,
+ "10:72": 268435456,
+ "11:72": 402653184,
+ "12:72": 268435456,
+ "13:72": 402653184,
+ "14:72": 268435456,
+ "15:72": 402653184,
+ "16:72": 268435456,
+ "17:72": 402653184,
+ "18:72": 268435456,
+ "19:72": 402653184,
+ "20:72": 268435456,
+ "21:72": 402653184,
+ "22:72": -5092136,
+ "23:72": -5092136,
+ "24:72": -5092136,
+ "25:72": -5092136,
+ "26:72": -5092136,
+ "27:72": -5092136,
+ "28:72": -5092136,
+ "29:72": -5092136,
+ "30:72": -5092136,
+ "31:72": -5092136,
+ "32:72": -5092136,
+ "33:72": -5092136,
+ "34:72": -5092136,
+ "35:72": -5092136,
+ "36:72": -5092136,
+ "37:72": -5092136,
+ "38:72": -5092136,
+ "39:72": -5092136,
+ "40:72": 268435456,
+ "41:72": 402653184,
+ "42:72": 268435456,
+ "43:72": 402653184,
+ "44:72": -884827,
+ "45:72": -884827,
+ "46:72": -884827,
+ "47:72": -884827,
+ "48:72": -884827,
+ "49:72": -884827,
+ "50:72": -884827,
+ "51:72": -884827,
+ "52:72": -884827,
+ "53:72": -884827,
+ "54:72": -884827,
+ "55:72": -884827,
+ "56:72": -884827,
+ "57:72": -884827,
+ "58:72": -884827,
+ "59:72": -884827,
+ "60:72": -884827,
+ "61:72": -884827,
+ "62:72": 268435456,
+ "63:72": 402653184,
+ "64:72": 268435456,
+ "65:72": 402653184,
+ "66:72": -9288933,
+ "67:72": -9288933,
+ "68:72": -9288933,
+ "69:72": -9288933,
+ "70:72": -9288933,
+ "71:72": -9288933,
+ "72:72": -9288933,
+ "73:72": -9288933,
+ "74:72": -9288933,
+ "75:72": -9288933,
+ "76:72": -9288933,
+ "77:72": -9288933,
+ "78:72": -9288933,
+ "79:72": -9288933,
+ "80:72": -9288933,
+ "81:72": -9288933,
+ "82:72": -9288933,
+ "83:72": -9288933,
+ "84:72": 268435456,
+ "85:72": 402653184,
+ "86:72": 268435456,
+ "87:72": 402653184,
+ "88:72": -9288933,
+ "89:72": -9288933,
+ "90:72": -9288933,
+ "91:72": -9288933,
+ "92:72": -9288933,
+ "93:72": -9288933,
+ "94:72": -9288933,
+ "95:72": -9288933,
+ "96:72": -9288933,
+ "97:72": -9288933,
+ "98:72": -9288933,
+ "99:72": -9288933,
+ "100:72": -9288933,
+ "101:72": -9288933,
+ "102:72": -9288933,
+ "103:72": -9288933,
+ "104:72": -9288933,
+ "105:72": -9288933,
+ "106:72": 268435456,
+ "107:72": 402653184,
+ "108:72": 268435456,
+ "109:72": 402653184,
+ "110:72": 268435456,
+ "111:72": 402653184,
+ "112:72": 268435456,
+ "113:72": 402653184,
+ "114:72": 268435456,
+ "115:72": 402653184,
+ "116:72": 268435456,
+ "117:72": 402653184,
+ "118:72": 268435456,
+ "119:72": 402653184,
+ "120:72": 268435456,
+ "121:72": 402653184,
+ "122:72": 268435456,
+ "123:72": 402653184,
+ "124:72": 268435456,
+ "125:72": 402653184,
+ "126:72": 268435456,
+ "127:72": 402653184,
+ "0:73": 402653184,
+ "1:73": 268435456,
+ "2:73": 402653184,
+ "3:73": 268435456,
+ "4:73": 402653184,
+ "5:73": 268435456,
+ "6:73": 402653184,
+ "7:73": 268435456,
+ "8:73": 402653184,
+ "9:73": 268435456,
+ "10:73": 402653184,
+ "11:73": 268435456,
+ "12:73": 402653184,
+ "13:73": 268435456,
+ "14:73": 402653184,
+ "15:73": 268435456,
+ "16:73": 402653184,
+ "17:73": 268435456,
+ "18:73": 402653184,
+ "19:73": 268435456,
+ "20:73": 402653184,
+ "21:73": 268435456,
+ "22:73": 402653184,
+ "23:73": 268435456,
+ "24:73": 402653184,
+ "25:73": 268435456,
+ "26:73": 402653184,
+ "27:73": 268435456,
+ "28:73": 402653184,
+ "29:73": 268435456,
+ "30:73": 402653184,
+ "31:73": 268435456,
+ "32:73": 402653184,
+ "33:73": 268435456,
+ "34:73": 402653184,
+ "35:73": 268435456,
+ "36:73": 402653184,
+ "37:73": 268435456,
+ "38:73": 402653184,
+ "39:73": 268435456,
+ "40:73": 402653184,
+ "41:73": 268435456,
+ "42:73": 402653184,
+ "43:73": 268435456,
+ "44:73": 402653184,
+ "45:73": 268435456,
+ "46:73": 402653184,
+ "47:73": 268435456,
+ "48:73": 402653184,
+ "49:73": 268435456,
+ "50:73": -9288933,
+ "51:73": -9288933,
+ "52:73": -9288933,
+ "53:73": -9288933,
+ "54:73": -9288933,
+ "55:73": -9288933,
+ "56:73": -9288933,
+ "57:73": 268435456,
+ "58:73": 402653184,
+ "59:73": 268435456,
+ "60:73": 402653184,
+ "61:73": 268435456,
+ "62:73": 402653184,
+ "63:73": 268435456,
+ "64:73": 402653184,
+ "65:73": 268435456,
+ "66:73": 402653184,
+ "67:73": 268435456,
+ "68:73": 402653184,
+ "69:73": 268435456,
+ "70:73": 402653184,
+ "71:73": 268435456,
+ "72:73": 402653184,
+ "73:73": 268435456,
+ "74:73": 402653184,
+ "75:73": 268435456,
+ "76:73": 402653184,
+ "77:73": 268435456,
+ "78:73": 402653184,
+ "79:73": 268435456,
+ "80:73": 402653184,
+ "81:73": 268435456,
+ "82:73": 402653184,
+ "83:73": 268435456,
+ "84:73": 402653184,
+ "85:73": 268435456,
+ "86:73": 402653184,
+ "87:73": 268435456,
+ "88:73": 402653184,
+ "89:73": 268435456,
+ "90:73": 402653184,
+ "91:73": 268435456,
+ "92:73": 402653184,
+ "93:73": 268435456,
+ "94:73": -65536,
+ "95:73": -65536,
+ "96:73": -65536,
+ "97:73": -65536,
+ "98:73": -65536,
+ "99:73": -65536,
+ "100:73": -65536,
+ "101:73": 268435456,
+ "102:73": 402653184,
+ "103:73": 268435456,
+ "104:73": 402653184,
+ "105:73": 268435456,
+ "106:73": 402653184,
+ "107:73": 268435456,
+ "108:73": 402653184,
+ "109:73": 268435456,
+ "110:73": 402653184,
+ "111:73": 268435456,
+ "112:73": 402653184,
+ "113:73": 268435456,
+ "114:73": 402653184,
+ "115:73": 268435456,
+ "116:73": 402653184,
+ "117:73": 268435456,
+ "118:73": 402653184,
+ "119:73": 268435456,
+ "120:73": 402653184,
+ "121:73": 268435456,
+ "122:73": 402653184,
+ "123:73": 268435456,
+ "124:73": 402653184,
+ "125:73": 268435456,
+ "126:73": 402653184,
+ "127:73": 268435456,
+ "0:74": 268435456,
+ "1:74": 402653184,
+ "2:74": 268435456,
+ "3:74": 402653184,
+ "4:74": 268435456,
+ "5:74": 402653184,
+ "6:74": 268435456,
+ "7:74": 402653184,
+ "8:74": 268435456,
+ "9:74": 402653184,
+ "10:74": 268435456,
+ "11:74": 402653184,
+ "12:74": 268435456,
+ "13:74": 402653184,
+ "14:74": 268435456,
+ "15:74": 402653184,
+ "16:74": 268435456,
+ "17:74": 402653184,
+ "18:74": 268435456,
+ "19:74": 402653184,
+ "20:74": 268435456,
+ "21:74": 402653184,
+ "22:74": 268435456,
+ "23:74": 402653184,
+ "24:74": 268435456,
+ "25:74": 402653184,
+ "26:74": 268435456,
+ "27:74": 402653184,
+ "28:74": 268435456,
+ "29:74": 402653184,
+ "30:74": 268435456,
+ "31:74": 402653184,
+ "32:74": 268435456,
+ "33:74": 402653184,
+ "34:74": 268435456,
+ "35:74": 402653184,
+ "36:74": 268435456,
+ "37:74": 402653184,
+ "38:74": 268435456,
+ "39:74": 402653184,
+ "40:74": 268435456,
+ "41:74": 402653184,
+ "42:74": 268435456,
+ "43:74": 402653184,
+ "44:74": 268435456,
+ "45:74": 402653184,
+ "46:74": 268435456,
+ "47:74": 402653184,
+ "48:74": 268435456,
+ "49:74": 402653184,
+ "50:74": -9288933,
+ "51:74": -9288933,
+ "52:74": -9288933,
+ "53:74": -9288933,
+ "54:74": -9288933,
+ "55:74": -9288933,
+ "56:74": -9288933,
+ "57:74": 402653184,
+ "58:74": 268435456,
+ "59:74": 402653184,
+ "60:74": 268435456,
+ "61:74": 402653184,
+ "62:74": 268435456,
+ "63:74": 402653184,
+ "64:74": 268435456,
+ "65:74": 402653184,
+ "66:74": 268435456,
+ "67:74": 402653184,
+ "68:74": 268435456,
+ "69:74": 402653184,
+ "70:74": 268435456,
+ "71:74": 402653184,
+ "72:74": 268435456,
+ "73:74": 402653184,
+ "74:74": 268435456,
+ "75:74": 402653184,
+ "76:74": 268435456,
+ "77:74": 402653184,
+ "78:74": 268435456,
+ "79:74": 402653184,
+ "80:74": 268435456,
+ "81:74": 402653184,
+ "82:74": 268435456,
+ "83:74": 402653184,
+ "84:74": 268435456,
+ "85:74": 402653184,
+ "86:74": 268435456,
+ "87:74": 402653184,
+ "88:74": 268435456,
+ "89:74": 402653184,
+ "90:74": 268435456,
+ "91:74": 402653184,
+ "92:74": 268435456,
+ "93:74": 402653184,
+ "94:74": -65536,
+ "95:74": -65536,
+ "96:74": -65536,
+ "97:74": -65536,
+ "98:74": -65536,
+ "99:74": -65536,
+ "100:74": -65536,
+ "101:74": 402653184,
+ "102:74": 268435456,
+ "103:74": 402653184,
+ "104:74": 268435456,
+ "105:74": 402653184,
+ "106:74": 268435456,
+ "107:74": 402653184,
+ "108:74": 268435456,
+ "109:74": 402653184,
+ "110:74": 268435456,
+ "111:74": 402653184,
+ "112:74": 268435456,
+ "113:74": 402653184,
+ "114:74": 268435456,
+ "115:74": 402653184,
+ "116:74": 268435456,
+ "117:74": 402653184,
+ "118:74": 268435456,
+ "119:74": 402653184,
+ "120:74": 268435456,
+ "121:74": 402653184,
+ "122:74": 268435456,
+ "123:74": 402653184,
+ "124:74": 268435456,
+ "125:74": 402653184,
+ "126:74": 268435456,
+ "127:74": 402653184,
+ "0:75": 402653184,
+ "1:75": 268435456,
+ "2:75": 402653184,
+ "3:75": 268435456,
+ "4:75": 402653184,
+ "5:75": 268435456,
+ "6:75": 402653184,
+ "7:75": 268435456,
+ "8:75": 402653184,
+ "9:75": 268435456,
+ "10:75": 402653184,
+ "11:75": 268435456,
+ "12:75": 402653184,
+ "13:75": 268435456,
+ "14:75": 402653184,
+ "15:75": 268435456,
+ "16:75": 402653184,
+ "17:75": 268435456,
+ "18:75": 402653184,
+ "19:75": 268435456,
+ "20:75": 402653184,
+ "21:75": 268435456,
+ "22:75": 402653184,
+ "23:75": 268435456,
+ "24:75": 402653184,
+ "25:75": 268435456,
+ "26:75": 402653184,
+ "27:75": 268435456,
+ "28:75": 402653184,
+ "29:75": 268435456,
+ "30:75": 402653184,
+ "31:75": 268435456,
+ "32:75": 402653184,
+ "33:75": 268435456,
+ "34:75": 402653184,
+ "35:75": 268435456,
+ "36:75": 402653184,
+ "37:75": 268435456,
+ "38:75": 402653184,
+ "39:75": 268435456,
+ "40:75": 402653184,
+ "41:75": 268435456,
+ "42:75": 402653184,
+ "43:75": 268435456,
+ "44:75": 402653184,
+ "45:75": 268435456,
+ "46:75": 402653184,
+ "47:75": 268435456,
+ "48:75": 402653184,
+ "49:75": 268435456,
+ "50:75": -9288933,
+ "51:75": -9288933,
+ "52:75": -9288933,
+ "53:75": -9288933,
+ "54:75": -9288933,
+ "55:75": -9288933,
+ "56:75": -9288933,
+ "57:75": 268435456,
+ "58:75": 402653184,
+ "59:75": 268435456,
+ "60:75": 402653184,
+ "61:75": 268435456,
+ "62:75": 402653184,
+ "63:75": 268435456,
+ "64:75": 402653184,
+ "65:75": 268435456,
+ "66:75": 402653184,
+ "67:75": 268435456,
+ "68:75": 402653184,
+ "69:75": 268435456,
+ "70:75": 402653184,
+ "71:75": 268435456,
+ "72:75": 402653184,
+ "73:75": 268435456,
+ "74:75": 402653184,
+ "75:75": 268435456,
+ "76:75": 402653184,
+ "77:75": 268435456,
+ "78:75": 402653184,
+ "79:75": 268435456,
+ "80:75": 402653184,
+ "81:75": 268435456,
+ "82:75": 402653184,
+ "83:75": 268435456,
+ "84:75": 402653184,
+ "85:75": 268435456,
+ "86:75": 402653184,
+ "87:75": 268435456,
+ "88:75": 402653184,
+ "89:75": 268435456,
+ "90:75": 402653184,
+ "91:75": 268435456,
+ "92:75": 402653184,
+ "93:75": 268435456,
+ "94:75": -65536,
+ "95:75": -65536,
+ "96:75": -65536,
+ "97:75": -65536,
+ "98:75": -65536,
+ "99:75": -65536,
+ "100:75": -65536,
+ "101:75": 268435456,
+ "102:75": 402653184,
+ "103:75": 268435456,
+ "104:75": 402653184,
+ "105:75": 268435456,
+ "106:75": 402653184,
+ "107:75": 268435456,
+ "108:75": 402653184,
+ "109:75": 268435456,
+ "110:75": 402653184,
+ "111:75": 268435456,
+ "112:75": 402653184,
+ "113:75": 268435456,
+ "114:75": 402653184,
+ "115:75": 268435456,
+ "116:75": 402653184,
+ "117:75": 268435456,
+ "118:75": 402653184,
+ "119:75": 268435456,
+ "120:75": 402653184,
+ "121:75": 268435456,
+ "122:75": 402653184,
+ "123:75": 268435456,
+ "124:75": 402653184,
+ "125:75": 268435456,
+ "126:75": 402653184,
+ "127:75": 268435456,
+ "0:76": 268435456,
+ "1:76": 402653184,
+ "2:76": 268435456,
+ "3:76": 402653184,
+ "4:76": 268435456,
+ "5:76": 402653184,
+ "6:76": 268435456,
+ "7:76": 402653184,
+ "8:76": 268435456,
+ "9:76": 402653184,
+ "10:76": 268435456,
+ "11:76": 402653184,
+ "12:76": 268435456,
+ "13:76": 402653184,
+ "14:76": 268435456,
+ "15:76": 402653184,
+ "16:76": 268435456,
+ "17:76": 402653184,
+ "18:76": 268435456,
+ "19:76": 402653184,
+ "20:76": 268435456,
+ "21:76": 402653184,
+ "22:76": 268435456,
+ "23:76": 402653184,
+ "24:76": 268435456,
+ "25:76": 402653184,
+ "26:76": 268435456,
+ "27:76": 402653184,
+ "28:76": 268435456,
+ "29:76": 402653184,
+ "30:76": 268435456,
+ "31:76": 402653184,
+ "32:76": 268435456,
+ "33:76": 402653184,
+ "34:76": 268435456,
+ "35:76": 402653184,
+ "36:76": 268435456,
+ "37:76": 402653184,
+ "38:76": 268435456,
+ "39:76": 402653184,
+ "40:76": 268435456,
+ "41:76": 402653184,
+ "42:76": 268435456,
+ "43:76": 402653184,
+ "44:76": 268435456,
+ "45:76": 402653184,
+ "46:76": 268435456,
+ "47:76": 402653184,
+ "48:76": 268435456,
+ "49:76": 402653184,
+ "50:76": -9288933,
+ "51:76": -9288933,
+ "52:76": -9288933,
+ "53:76": -9288933,
+ "54:76": -9288933,
+ "55:76": -9288933,
+ "56:76": -9288933,
+ "57:76": 402653184,
+ "58:76": 268435456,
+ "59:76": 402653184,
+ "60:76": 268435456,
+ "61:76": 402653184,
+ "62:76": 268435456,
+ "63:76": 402653184,
+ "64:76": 268435456,
+ "65:76": 402653184,
+ "66:76": 268435456,
+ "67:76": 402653184,
+ "68:76": 268435456,
+ "69:76": 402653184,
+ "70:76": 268435456,
+ "71:76": 402653184,
+ "72:76": 268435456,
+ "73:76": 402653184,
+ "74:76": 268435456,
+ "75:76": 402653184,
+ "76:76": 268435456,
+ "77:76": 402653184,
+ "78:76": 268435456,
+ "79:76": 402653184,
+ "80:76": 268435456,
+ "81:76": 402653184,
+ "82:76": 268435456,
+ "83:76": 402653184,
+ "84:76": 268435456,
+ "85:76": 402653184,
+ "86:76": 268435456,
+ "87:76": 402653184,
+ "88:76": 268435456,
+ "89:76": 402653184,
+ "90:76": 268435456,
+ "91:76": 402653184,
+ "92:76": 268435456,
+ "93:76": 402653184,
+ "94:76": -65536,
+ "95:76": -65536,
+ "96:76": -65536,
+ "97:76": -65536,
+ "98:76": -65536,
+ "99:76": -65536,
+ "100:76": -65536,
+ "101:76": 402653184,
+ "102:76": 268435456,
+ "103:76": 402653184,
+ "104:76": 268435456,
+ "105:76": 402653184,
+ "106:76": 268435456,
+ "107:76": 402653184,
+ "108:76": 268435456,
+ "109:76": 402653184,
+ "110:76": 268435456,
+ "111:76": 402653184,
+ "112:76": 268435456,
+ "113:76": 402653184,
+ "114:76": 268435456,
+ "115:76": 402653184,
+ "116:76": 268435456,
+ "117:76": 402653184,
+ "118:76": 268435456,
+ "119:76": 402653184,
+ "120:76": 268435456,
+ "121:76": 402653184,
+ "122:76": 268435456,
+ "123:76": 402653184,
+ "124:76": 268435456,
+ "125:76": 402653184,
+ "126:76": 268435456,
+ "127:76": 402653184,
+ "0:77": 402653184,
+ "1:77": 268435456,
+ "2:77": 402653184,
+ "3:77": 268435456,
+ "4:77": 402653184,
+ "5:77": 268435456,
+ "6:77": 402653184,
+ "7:77": 268435456,
+ "8:77": 402653184,
+ "9:77": 268435456,
+ "10:77": 402653184,
+ "11:77": 268435456,
+ "12:77": 402653184,
+ "13:77": 268435456,
+ "14:77": 402653184,
+ "15:77": 268435456,
+ "16:77": 402653184,
+ "17:77": 268435456,
+ "18:77": 402653184,
+ "19:77": 268435456,
+ "20:77": 402653184,
+ "21:77": 268435456,
+ "22:77": -9288933,
+ "23:77": -9288933,
+ "24:77": -9288933,
+ "25:77": -9288933,
+ "26:77": -9288933,
+ "27:77": -9288933,
+ "28:77": -9288933,
+ "29:77": -9288933,
+ "30:77": -9288933,
+ "31:77": -9288933,
+ "32:77": -9288933,
+ "33:77": -9288933,
+ "34:77": -9288933,
+ "35:77": -9288933,
+ "36:77": -9288933,
+ "37:77": -9288933,
+ "38:77": -9288933,
+ "39:77": -9288933,
+ "40:77": -9288933,
+ "41:77": -9288933,
+ "42:77": -9288933,
+ "43:77": -9288933,
+ "44:77": -9288933,
+ "45:77": -9288933,
+ "46:77": -9288933,
+ "47:77": -9288933,
+ "48:77": -9288933,
+ "49:77": -9288933,
+ "50:77": -9288933,
+ "51:77": -9288933,
+ "52:77": -9288933,
+ "53:77": -9288933,
+ "54:77": -9288933,
+ "55:77": -9288933,
+ "56:77": -9288933,
+ "57:77": -9288933,
+ "58:77": -9288933,
+ "59:77": -9288933,
+ "60:77": -9288933,
+ "61:77": -9288933,
+ "62:77": 402653184,
+ "63:77": 268435456,
+ "64:77": 402653184,
+ "65:77": 268435456,
+ "66:77": -9288933,
+ "67:77": -9288933,
+ "68:77": -9288933,
+ "69:77": -9288933,
+ "70:77": -9288933,
+ "71:77": -9288933,
+ "72:77": -9288933,
+ "73:77": -9288933,
+ "74:77": -9288933,
+ "75:77": -9288933,
+ "76:77": -9288933,
+ "77:77": -9288933,
+ "78:77": -9288933,
+ "79:77": -9288933,
+ "80:77": -9288933,
+ "81:77": -9288933,
+ "82:77": -9288933,
+ "83:77": -9288933,
+ "84:77": 402653184,
+ "85:77": 268435456,
+ "86:77": 402653184,
+ "87:77": 268435456,
+ "88:77": -65536,
+ "89:77": -65536,
+ "90:77": -65536,
+ "91:77": -65536,
+ "92:77": -65536,
+ "93:77": -65536,
+ "94:77": -65536,
+ "95:77": -65536,
+ "96:77": -65536,
+ "97:77": -65536,
+ "98:77": -65536,
+ "99:77": -65536,
+ "100:77": -65536,
+ "101:77": -65536,
+ "102:77": -65536,
+ "103:77": -65536,
+ "104:77": -65536,
+ "105:77": -65536,
+ "106:77": 402653184,
+ "107:77": 268435456,
+ "108:77": 402653184,
+ "109:77": 268435456,
+ "110:77": 402653184,
+ "111:77": 268435456,
+ "112:77": 402653184,
+ "113:77": 268435456,
+ "114:77": 402653184,
+ "115:77": 268435456,
+ "116:77": 402653184,
+ "117:77": 268435456,
+ "118:77": 402653184,
+ "119:77": 268435456,
+ "120:77": 402653184,
+ "121:77": 268435456,
+ "122:77": 402653184,
+ "123:77": 268435456,
+ "124:77": 402653184,
+ "125:77": 268435456,
+ "126:77": 402653184,
+ "127:77": 268435456,
+ "0:78": 268435456,
+ "1:78": 402653184,
+ "2:78": 268435456,
+ "3:78": 402653184,
+ "4:78": 268435456,
+ "5:78": 402653184,
+ "6:78": 268435456,
+ "7:78": 402653184,
+ "8:78": 268435456,
+ "9:78": 402653184,
+ "10:78": 268435456,
+ "11:78": 402653184,
+ "12:78": 268435456,
+ "13:78": 402653184,
+ "14:78": 268435456,
+ "15:78": 402653184,
+ "16:78": 268435456,
+ "17:78": 402653184,
+ "18:78": 268435456,
+ "19:78": 402653184,
+ "20:78": 268435456,
+ "21:78": 402653184,
+ "22:78": -9288933,
+ "23:78": -9288933,
+ "24:78": -9288933,
+ "25:78": -9288933,
+ "26:78": -9288933,
+ "27:78": -9288933,
+ "28:78": -9288933,
+ "29:78": -9288933,
+ "30:78": -9288933,
+ "31:78": -9288933,
+ "32:78": -9288933,
+ "33:78": -9288933,
+ "34:78": -9288933,
+ "35:78": -9288933,
+ "36:78": -9288933,
+ "37:78": -9288933,
+ "38:78": -9288933,
+ "39:78": -9288933,
+ "40:78": -9288933,
+ "41:78": -9288933,
+ "42:78": -9288933,
+ "43:78": -9288933,
+ "44:78": -9288933,
+ "45:78": -9288933,
+ "46:78": -9288933,
+ "47:78": -9288933,
+ "48:78": -9288933,
+ "49:78": -9288933,
+ "50:78": -9288933,
+ "51:78": -9288933,
+ "52:78": -9288933,
+ "53:78": -9288933,
+ "54:78": -9288933,
+ "55:78": -9288933,
+ "56:78": -9288933,
+ "57:78": -9288933,
+ "58:78": -9288933,
+ "59:78": -9288933,
+ "60:78": -9288933,
+ "61:78": -9288933,
+ "62:78": 268435456,
+ "63:78": 402653184,
+ "64:78": 268435456,
+ "65:78": 402653184,
+ "66:78": -9288933,
+ "67:78": -9288933,
+ "68:78": -9288933,
+ "69:78": -9288933,
+ "70:78": -9288933,
+ "71:78": -9288933,
+ "72:78": -9288933,
+ "73:78": -9288933,
+ "74:78": -9288933,
+ "75:78": -9288933,
+ "76:78": -9288933,
+ "77:78": -9288933,
+ "78:78": -9288933,
+ "79:78": -9288933,
+ "80:78": -9288933,
+ "81:78": -9288933,
+ "82:78": -9288933,
+ "83:78": -9288933,
+ "84:78": 268435456,
+ "85:78": 402653184,
+ "86:78": 268435456,
+ "87:78": 402653184,
+ "88:78": -65536,
+ "89:78": -65536,
+ "90:78": -65536,
+ "91:78": -65536,
+ "92:78": -65536,
+ "93:78": -65536,
+ "94:78": -65536,
+ "95:78": -65536,
+ "96:78": -65536,
+ "97:78": -65536,
+ "98:78": -65536,
+ "99:78": -65536,
+ "100:78": -65536,
+ "101:78": -65536,
+ "102:78": -65536,
+ "103:78": -65536,
+ "104:78": -65536,
+ "105:78": -65536,
+ "106:78": 268435456,
+ "107:78": 402653184,
+ "108:78": 268435456,
+ "109:78": 402653184,
+ "110:78": 268435456,
+ "111:78": 402653184,
+ "112:78": 268435456,
+ "113:78": 402653184,
+ "114:78": 268435456,
+ "115:78": 402653184,
+ "116:78": 268435456,
+ "117:78": 402653184,
+ "118:78": 268435456,
+ "119:78": 402653184,
+ "120:78": 268435456,
+ "121:78": 402653184,
+ "122:78": 268435456,
+ "123:78": 402653184,
+ "124:78": 268435456,
+ "125:78": 402653184,
+ "126:78": 268435456,
+ "127:78": 402653184,
+ "0:79": 402653184,
+ "1:79": 268435456,
+ "2:79": 402653184,
+ "3:79": 268435456,
+ "4:79": 402653184,
+ "5:79": 268435456,
+ "6:79": 402653184,
+ "7:79": 268435456,
+ "8:79": 402653184,
+ "9:79": 268435456,
+ "10:79": 402653184,
+ "11:79": 268435456,
+ "12:79": 402653184,
+ "13:79": 268435456,
+ "14:79": 402653184,
+ "15:79": 268435456,
+ "16:79": 402653184,
+ "17:79": 268435456,
+ "18:79": 402653184,
+ "19:79": 268435456,
+ "20:79": 402653184,
+ "21:79": 268435456,
+ "22:79": -9288933,
+ "23:79": -9288933,
+ "24:79": -9288933,
+ "25:79": -9288933,
+ "26:79": -9288933,
+ "27:79": -9288933,
+ "28:79": -9288933,
+ "29:79": -9288933,
+ "30:79": -9288933,
+ "31:79": -9288933,
+ "32:79": -9288933,
+ "33:79": -9288933,
+ "34:79": -9288933,
+ "35:79": -9288933,
+ "36:79": -9288933,
+ "37:79": -9288933,
+ "38:79": -9288933,
+ "39:79": -9288933,
+ "40:79": -9288933,
+ "41:79": -9288933,
+ "42:79": -9288933,
+ "43:79": -9288933,
+ "44:79": -9288933,
+ "45:79": -9288933,
+ "46:79": -9288933,
+ "47:79": -9288933,
+ "48:79": -9288933,
+ "49:79": -9288933,
+ "50:79": -9288933,
+ "51:79": -9288933,
+ "52:79": -9288933,
+ "53:79": -9288933,
+ "54:79": -9288933,
+ "55:79": -9288933,
+ "56:79": -9288933,
+ "57:79": -9288933,
+ "58:79": -9288933,
+ "59:79": -9288933,
+ "60:79": -9288933,
+ "61:79": -9288933,
+ "62:79": 402653184,
+ "63:79": 268435456,
+ "64:79": 402653184,
+ "65:79": 268435456,
+ "66:79": -9288933,
+ "67:79": -9288933,
+ "68:79": -9288933,
+ "69:79": -9288933,
+ "70:79": -9288933,
+ "71:79": -9288933,
+ "72:79": -9288933,
+ "73:79": -9288933,
+ "74:79": -9288933,
+ "75:79": -9288933,
+ "76:79": -9288933,
+ "77:79": -9288933,
+ "78:79": -9288933,
+ "79:79": -9288933,
+ "80:79": -9288933,
+ "81:79": -9288933,
+ "82:79": -9288933,
+ "83:79": -9288933,
+ "84:79": 402653184,
+ "85:79": 268435456,
+ "86:79": 402653184,
+ "87:79": 268435456,
+ "88:79": -65536,
+ "89:79": -65536,
+ "90:79": -65536,
+ "91:79": -65536,
+ "92:79": -65536,
+ "93:79": -65536,
+ "94:79": -65536,
+ "95:79": -65536,
+ "96:79": -65536,
+ "97:79": -65536,
+ "98:79": -65536,
+ "99:79": -65536,
+ "100:79": -65536,
+ "101:79": -65536,
+ "102:79": -65536,
+ "103:79": -65536,
+ "104:79": -65536,
+ "105:79": -65536,
+ "106:79": 402653184,
+ "107:79": 268435456,
+ "108:79": 402653184,
+ "109:79": 268435456,
+ "110:79": 402653184,
+ "111:79": 268435456,
+ "112:79": 402653184,
+ "113:79": 268435456,
+ "114:79": 402653184,
+ "115:79": 268435456,
+ "116:79": 402653184,
+ "117:79": 268435456,
+ "118:79": 402653184,
+ "119:79": 268435456,
+ "120:79": 402653184,
+ "121:79": 268435456,
+ "122:79": 402653184,
+ "123:79": 268435456,
+ "124:79": 402653184,
+ "125:79": 268435456,
+ "126:79": 402653184,
+ "127:79": 268435456,
+ "0:80": 268435456,
+ "1:80": 402653184,
+ "2:80": 268435456,
+ "3:80": 402653184,
+ "4:80": 268435456,
+ "5:80": 402653184,
+ "6:80": 268435456,
+ "7:80": 402653184,
+ "8:80": 268435456,
+ "9:80": 402653184,
+ "10:80": 268435456,
+ "11:80": 402653184,
+ "12:80": 268435456,
+ "13:80": 402653184,
+ "14:80": 268435456,
+ "15:80": 402653184,
+ "16:80": 268435456,
+ "17:80": 402653184,
+ "18:80": 268435456,
+ "19:80": 402653184,
+ "20:80": 268435456,
+ "21:80": 402653184,
+ "22:80": -9288933,
+ "23:80": -9288933,
+ "24:80": -9288933,
+ "25:80": -9288933,
+ "26:80": -9288933,
+ "27:80": -9288933,
+ "28:80": -9288933,
+ "29:80": -9288933,
+ "30:80": -9288933,
+ "31:80": -9288933,
+ "32:80": -9288933,
+ "33:80": -9288933,
+ "34:80": -9288933,
+ "35:80": -9288933,
+ "36:80": -9288933,
+ "37:80": -9288933,
+ "38:80": -9288933,
+ "39:80": -9288933,
+ "40:80": -9288933,
+ "41:80": -9288933,
+ "42:80": -9288933,
+ "43:80": -9288933,
+ "44:80": -9288933,
+ "45:80": -9288933,
+ "46:80": -9288933,
+ "47:80": -9288933,
+ "48:80": -9288933,
+ "49:80": -9288933,
+ "50:80": -9288933,
+ "51:80": -9288933,
+ "52:80": -9288933,
+ "53:80": -9288933,
+ "54:80": -9288933,
+ "55:80": -9288933,
+ "56:80": -9288933,
+ "57:80": -9288933,
+ "58:80": -9288933,
+ "59:80": -9288933,
+ "60:80": -9288933,
+ "61:80": -9288933,
+ "62:80": 268435456,
+ "63:80": 402653184,
+ "64:80": 268435456,
+ "65:80": 402653184,
+ "66:80": -9288933,
+ "67:80": -9288933,
+ "68:80": -9288933,
+ "69:80": -9288933,
+ "70:80": -9288933,
+ "71:80": -9288933,
+ "72:80": -9288933,
+ "73:80": -9288933,
+ "74:80": -9288933,
+ "75:80": -9288933,
+ "76:80": -9288933,
+ "77:80": -9288933,
+ "78:80": -9288933,
+ "79:80": -9288933,
+ "80:80": -9288933,
+ "81:80": -9288933,
+ "82:80": -9288933,
+ "83:80": -9288933,
+ "84:80": 268435456,
+ "85:80": 402653184,
+ "86:80": 268435456,
+ "87:80": 402653184,
+ "88:80": -65536,
+ "89:80": -65536,
+ "90:80": -65536,
+ "91:80": -65536,
+ "92:80": -65536,
+ "93:80": -65536,
+ "94:80": -65536,
+ "95:80": -65536,
+ "96:80": -65536,
+ "97:80": -65536,
+ "98:80": -65536,
+ "99:80": -65536,
+ "100:80": -65536,
+ "101:80": -65536,
+ "102:80": -65536,
+ "103:80": -65536,
+ "104:80": -65536,
+ "105:80": -65536,
+ "106:80": 268435456,
+ "107:80": 402653184,
+ "108:80": 268435456,
+ "109:80": 402653184,
+ "110:80": 268435456,
+ "111:80": 402653184,
+ "112:80": 268435456,
+ "113:80": 402653184,
+ "114:80": 268435456,
+ "115:80": 402653184,
+ "116:80": 268435456,
+ "117:80": 402653184,
+ "118:80": 268435456,
+ "119:80": 402653184,
+ "120:80": 268435456,
+ "121:80": 402653184,
+ "122:80": 268435456,
+ "123:80": 402653184,
+ "124:80": 268435456,
+ "125:80": 402653184,
+ "126:80": 268435456,
+ "127:80": 402653184,
+ "0:81": 402653184,
+ "1:81": 268435456,
+ "2:81": 402653184,
+ "3:81": 268435456,
+ "4:81": 402653184,
+ "5:81": 268435456,
+ "6:81": 402653184,
+ "7:81": 268435456,
+ "8:81": 402653184,
+ "9:81": 268435456,
+ "10:81": 402653184,
+ "11:81": 268435456,
+ "12:81": 402653184,
+ "13:81": 268435456,
+ "14:81": 402653184,
+ "15:81": 268435456,
+ "16:81": 402653184,
+ "17:81": 268435456,
+ "18:81": 402653184,
+ "19:81": 268435456,
+ "20:81": 402653184,
+ "21:81": 268435456,
+ "22:81": -9288933,
+ "23:81": -9288933,
+ "24:81": -9288933,
+ "25:81": -9288933,
+ "26:81": -9288933,
+ "27:81": -9288933,
+ "28:81": -9288933,
+ "29:81": -9288933,
+ "30:81": -9288933,
+ "31:81": -9288933,
+ "32:81": -9288933,
+ "33:81": -9288933,
+ "34:81": -9288933,
+ "35:81": -9288933,
+ "36:81": -9288933,
+ "37:81": -9288933,
+ "38:81": -9288933,
+ "39:81": -9288933,
+ "40:81": -9288933,
+ "41:81": -9288933,
+ "42:81": -9288933,
+ "43:81": -9288933,
+ "44:81": -9288933,
+ "45:81": -9288933,
+ "46:81": -9288933,
+ "47:81": -9288933,
+ "48:81": -9288933,
+ "49:81": -9288933,
+ "50:81": -9288933,
+ "51:81": -9288933,
+ "52:81": -9288933,
+ "53:81": -9288933,
+ "54:81": -9288933,
+ "55:81": -9288933,
+ "56:81": -9288933,
+ "57:81": -9288933,
+ "58:81": -9288933,
+ "59:81": -9288933,
+ "60:81": -9288933,
+ "61:81": -9288933,
+ "62:81": 402653184,
+ "63:81": 268435456,
+ "64:81": 402653184,
+ "65:81": 268435456,
+ "66:81": -9288933,
+ "67:81": -9288933,
+ "68:81": -9288933,
+ "69:81": -9288933,
+ "70:81": -9288933,
+ "71:81": -9288933,
+ "72:81": -9288933,
+ "73:81": -9288933,
+ "74:81": -9288933,
+ "75:81": -9288933,
+ "76:81": -9288933,
+ "77:81": -9288933,
+ "78:81": -9288933,
+ "79:81": -9288933,
+ "80:81": -9288933,
+ "81:81": -9288933,
+ "82:81": -9288933,
+ "83:81": -9288933,
+ "84:81": 402653184,
+ "85:81": 268435456,
+ "86:81": 402653184,
+ "87:81": 268435456,
+ "88:81": -65536,
+ "89:81": -65536,
+ "90:81": -65536,
+ "91:81": -65536,
+ "92:81": -65536,
+ "93:81": -65536,
+ "94:81": -65536,
+ "95:81": -65536,
+ "96:81": -65536,
+ "97:81": -65536,
+ "98:81": -65536,
+ "99:81": -65536,
+ "100:81": -65536,
+ "101:81": -65536,
+ "102:81": -65536,
+ "103:81": -65536,
+ "104:81": -65536,
+ "105:81": -65536,
+ "106:81": 402653184,
+ "107:81": 268435456,
+ "108:81": 402653184,
+ "109:81": 268435456,
+ "110:81": 402653184,
+ "111:81": 268435456,
+ "112:81": 402653184,
+ "113:81": 268435456,
+ "114:81": 402653184,
+ "115:81": 268435456,
+ "116:81": 402653184,
+ "117:81": 268435456,
+ "118:81": 402653184,
+ "119:81": 268435456,
+ "120:81": 402653184,
+ "121:81": 268435456,
+ "122:81": 402653184,
+ "123:81": 268435456,
+ "124:81": 402653184,
+ "125:81": 268435456,
+ "126:81": 402653184,
+ "127:81": 268435456,
+ "0:82": 268435456,
+ "1:82": 402653184,
+ "2:82": 268435456,
+ "3:82": 402653184,
+ "4:82": 268435456,
+ "5:82": 402653184,
+ "6:82": 268435456,
+ "7:82": 402653184,
+ "8:82": 268435456,
+ "9:82": 402653184,
+ "10:82": 268435456,
+ "11:82": 402653184,
+ "12:82": 268435456,
+ "13:82": 402653184,
+ "14:82": 268435456,
+ "15:82": 402653184,
+ "16:82": 268435456,
+ "17:82": 402653184,
+ "18:82": 268435456,
+ "19:82": 402653184,
+ "20:82": 268435456,
+ "21:82": 402653184,
+ "22:82": -9288933,
+ "23:82": -9288933,
+ "24:82": -9288933,
+ "25:82": -9288933,
+ "26:82": -9288933,
+ "27:82": -9288933,
+ "28:82": -9288933,
+ "29:82": -9288933,
+ "30:82": -9288933,
+ "31:82": -9288933,
+ "32:82": -9288933,
+ "33:82": -9288933,
+ "34:82": -9288933,
+ "35:82": -9288933,
+ "36:82": -9288933,
+ "37:82": -9288933,
+ "38:82": -9288933,
+ "39:82": -9288933,
+ "40:82": -9288933,
+ "41:82": -9288933,
+ "42:82": -9288933,
+ "43:82": -9288933,
+ "44:82": -9288933,
+ "45:82": -9288933,
+ "46:82": -9288933,
+ "47:82": -9288933,
+ "48:82": -9288933,
+ "49:82": -9288933,
+ "50:82": -9288933,
+ "51:82": -9288933,
+ "52:82": -9288933,
+ "53:82": -9288933,
+ "54:82": -9288933,
+ "55:82": -9288933,
+ "56:82": -9288933,
+ "57:82": -9288933,
+ "58:82": -9288933,
+ "59:82": -9288933,
+ "60:82": -9288933,
+ "61:82": -9288933,
+ "62:82": 268435456,
+ "63:82": 402653184,
+ "64:82": 268435456,
+ "65:82": 402653184,
+ "66:82": -9288933,
+ "67:82": -9288933,
+ "68:82": -9288933,
+ "69:82": -9288933,
+ "70:82": -9288933,
+ "71:82": -9288933,
+ "72:82": -9288933,
+ "73:82": -9288933,
+ "74:82": -9288933,
+ "75:82": -9288933,
+ "76:82": -9288933,
+ "77:82": -9288933,
+ "78:82": -9288933,
+ "79:82": -9288933,
+ "80:82": -9288933,
+ "81:82": -9288933,
+ "82:82": -9288933,
+ "83:82": -9288933,
+ "84:82": 268435456,
+ "85:82": 402653184,
+ "86:82": 268435456,
+ "87:82": 402653184,
+ "88:82": -65536,
+ "89:82": -65536,
+ "90:82": -65536,
+ "91:82": -65536,
+ "92:82": -65536,
+ "93:82": -65536,
+ "94:82": -65536,
+ "95:82": -65536,
+ "96:82": -65536,
+ "97:82": -65536,
+ "98:82": -65536,
+ "99:82": -65536,
+ "100:82": -65536,
+ "101:82": -65536,
+ "102:82": -65536,
+ "103:82": -65536,
+ "104:82": -65536,
+ "105:82": -65536,
+ "106:82": 268435456,
+ "107:82": 402653184,
+ "108:82": 268435456,
+ "109:82": 402653184,
+ "110:82": 268435456,
+ "111:82": 402653184,
+ "112:82": 268435456,
+ "113:82": 402653184,
+ "114:82": 268435456,
+ "115:82": 402653184,
+ "116:82": 268435456,
+ "117:82": 402653184,
+ "118:82": 268435456,
+ "119:82": 402653184,
+ "120:82": 268435456,
+ "121:82": 402653184,
+ "122:82": 268435456,
+ "123:82": 402653184,
+ "124:82": 268435456,
+ "125:82": 402653184,
+ "126:82": 268435456,
+ "127:82": 402653184,
+ "0:83": 402653184,
+ "1:83": 268435456,
+ "2:83": 402653184,
+ "3:83": 268435456,
+ "4:83": 402653184,
+ "5:83": 268435456,
+ "6:83": 402653184,
+ "7:83": 268435456,
+ "8:83": 402653184,
+ "9:83": 268435456,
+ "10:83": 402653184,
+ "11:83": 268435456,
+ "12:83": 402653184,
+ "13:83": 268435456,
+ "14:83": 402653184,
+ "15:83": 268435456,
+ "16:83": 402653184,
+ "17:83": 268435456,
+ "18:83": 402653184,
+ "19:83": 268435456,
+ "20:83": 402653184,
+ "21:83": 268435456,
+ "22:83": -9288933,
+ "23:83": -9288933,
+ "24:83": -9288933,
+ "25:83": -9288933,
+ "26:83": -9288933,
+ "27:83": -9288933,
+ "28:83": -9288933,
+ "29:83": -9288933,
+ "30:83": -9288933,
+ "31:83": -9288933,
+ "32:83": -9288933,
+ "33:83": -9288933,
+ "34:83": -9288933,
+ "35:83": -9288933,
+ "36:83": -9288933,
+ "37:83": -9288933,
+ "38:83": -9288933,
+ "39:83": -9288933,
+ "40:83": -9288933,
+ "41:83": -9288933,
+ "42:83": -9288933,
+ "43:83": -9288933,
+ "44:83": -9288933,
+ "45:83": -9288933,
+ "46:83": -9288933,
+ "47:83": -9288933,
+ "48:83": -9288933,
+ "49:83": -9288933,
+ "50:83": -9288933,
+ "51:83": -9288933,
+ "52:83": -9288933,
+ "53:83": -9288933,
+ "54:83": -9288933,
+ "55:83": -9288933,
+ "56:83": -9288933,
+ "57:83": -9288933,
+ "58:83": -9288933,
+ "59:83": -9288933,
+ "60:83": -9288933,
+ "61:83": -9288933,
+ "62:83": -9288933,
+ "63:83": -9288933,
+ "64:83": -9288933,
+ "65:83": -9288933,
+ "66:83": -9288933,
+ "67:83": -9288933,
+ "68:83": -9288933,
+ "69:83": -9288933,
+ "70:83": -9288933,
+ "71:83": -9288933,
+ "72:83": -9288933,
+ "73:83": -9288933,
+ "74:83": -9288933,
+ "75:83": -9288933,
+ "76:83": -9288933,
+ "77:83": -9288933,
+ "78:83": -9288933,
+ "79:83": -9288933,
+ "80:83": -9288933,
+ "81:83": -9288933,
+ "82:83": -9288933,
+ "83:83": -9288933,
+ "84:83": 402653184,
+ "85:83": 268435456,
+ "86:83": 402653184,
+ "87:83": 268435456,
+ "88:83": -65536,
+ "89:83": -65536,
+ "90:83": -65536,
+ "91:83": -65536,
+ "92:83": -65536,
+ "93:83": -65536,
+ "94:83": -65536,
+ "95:83": -65536,
+ "96:83": -65536,
+ "97:83": -65536,
+ "98:83": -65536,
+ "99:83": -65536,
+ "100:83": -65536,
+ "101:83": -65536,
+ "102:83": -65536,
+ "103:83": -65536,
+ "104:83": -65536,
+ "105:83": -65536,
+ "106:83": 402653184,
+ "107:83": 268435456,
+ "108:83": 402653184,
+ "109:83": 268435456,
+ "110:83": 402653184,
+ "111:83": 268435456,
+ "112:83": 402653184,
+ "113:83": 268435456,
+ "114:83": 402653184,
+ "115:83": 268435456,
+ "116:83": 402653184,
+ "117:83": 268435456,
+ "118:83": 402653184,
+ "119:83": 268435456,
+ "120:83": 402653184,
+ "121:83": 268435456,
+ "122:83": 402653184,
+ "123:83": 268435456,
+ "124:83": 402653184,
+ "125:83": 268435456,
+ "126:83": 402653184,
+ "127:83": 268435456,
+ "0:84": 268435456,
+ "1:84": 402653184,
+ "2:84": 268435456,
+ "3:84": 402653184,
+ "4:84": 268435456,
+ "5:84": 402653184,
+ "6:84": 268435456,
+ "7:84": 402653184,
+ "8:84": 268435456,
+ "9:84": 402653184,
+ "10:84": 268435456,
+ "11:84": 402653184,
+ "12:84": 268435456,
+ "13:84": 402653184,
+ "14:84": 268435456,
+ "15:84": 402653184,
+ "16:84": 268435456,
+ "17:84": 402653184,
+ "18:84": 268435456,
+ "19:84": 402653184,
+ "20:84": 268435456,
+ "21:84": 402653184,
+ "22:84": -9288933,
+ "23:84": -9288933,
+ "24:84": -9288933,
+ "25:84": -9288933,
+ "26:84": -9288933,
+ "27:84": -9288933,
+ "28:84": -9288933,
+ "29:84": -9288933,
+ "30:84": -9288933,
+ "31:84": -9288933,
+ "32:84": -1,
+ "33:84": -1,
+ "34:84": -1,
+ "35:84": -9288933,
+ "36:84": -9288933,
+ "37:84": -9288933,
+ "38:84": -9288933,
+ "39:84": -9288933,
+ "40:84": -9288933,
+ "41:84": -9288933,
+ "42:84": -9288933,
+ "43:84": -9288933,
+ "44:84": -9288933,
+ "45:84": -9288933,
+ "46:84": -9288933,
+ "47:84": -9288933,
+ "48:84": -9288933,
+ "49:84": -9288933,
+ "50:84": -9288933,
+ "51:84": -9288933,
+ "52:84": -9288933,
+ "53:84": -9288933,
+ "54:84": -9288933,
+ "55:84": -9288933,
+ "56:84": -9288933,
+ "57:84": -9288933,
+ "58:84": -9288933,
+ "59:84": -9288933,
+ "60:84": -9288933,
+ "61:84": -9288933,
+ "62:84": -9288933,
+ "63:84": -9288933,
+ "64:84": -9288933,
+ "65:84": -9288933,
+ "66:84": -9288933,
+ "67:84": -9288933,
+ "68:84": -9288933,
+ "69:84": -9288933,
+ "70:84": -9288933,
+ "71:84": -9288933,
+ "72:84": -9288933,
+ "73:84": -9288933,
+ "74:84": -9288933,
+ "75:84": -9288933,
+ "76:84": -16745472,
+ "77:84": -16745472,
+ "78:84": -16745472,
+ "79:84": -9288933,
+ "80:84": -9288933,
+ "81:84": -9288933,
+ "82:84": -9288933,
+ "83:84": -9288933,
+ "84:84": 268435456,
+ "85:84": 402653184,
+ "86:84": 268435456,
+ "87:84": 402653184,
+ "88:84": -65536,
+ "89:84": -65536,
+ "90:84": -65536,
+ "91:84": -65536,
+ "92:84": -65536,
+ "93:84": -65536,
+ "94:84": -65536,
+ "95:84": -65536,
+ "96:84": -65536,
+ "97:84": -65536,
+ "98:84": -65536,
+ "99:84": -65536,
+ "100:84": -65536,
+ "101:84": -65536,
+ "102:84": -65536,
+ "103:84": -65536,
+ "104:84": -65536,
+ "105:84": -65536,
+ "106:84": 268435456,
+ "107:84": 402653184,
+ "108:84": 268435456,
+ "109:84": 402653184,
+ "110:84": 268435456,
+ "111:84": 402653184,
+ "112:84": 268435456,
+ "113:84": 402653184,
+ "114:84": 268435456,
+ "115:84": 402653184,
+ "116:84": 268435456,
+ "117:84": 402653184,
+ "118:84": 268435456,
+ "119:84": 402653184,
+ "120:84": 268435456,
+ "121:84": 402653184,
+ "122:84": 268435456,
+ "123:84": 402653184,
+ "124:84": 268435456,
+ "125:84": 402653184,
+ "126:84": 268435456,
+ "127:84": 402653184,
+ "0:85": 402653184,
+ "1:85": 268435456,
+ "2:85": 402653184,
+ "3:85": 268435456,
+ "4:85": 402653184,
+ "5:85": 268435456,
+ "6:85": 402653184,
+ "7:85": 268435456,
+ "8:85": 402653184,
+ "9:85": 268435456,
+ "10:85": 402653184,
+ "11:85": 268435456,
+ "12:85": 402653184,
+ "13:85": 268435456,
+ "14:85": 402653184,
+ "15:85": 268435456,
+ "16:85": 402653184,
+ "17:85": 268435456,
+ "18:85": 402653184,
+ "19:85": 268435456,
+ "20:85": 402653184,
+ "21:85": 268435456,
+ "22:85": -9288933,
+ "23:85": -9288933,
+ "24:85": -9288933,
+ "25:85": -9288933,
+ "26:85": -9288933,
+ "27:85": -9288933,
+ "28:85": -9288933,
+ "29:85": -9288933,
+ "30:85": -9288933,
+ "31:85": -1,
+ "32:85": -1,
+ "33:85": -1,
+ "34:85": -9288933,
+ "35:85": -9288933,
+ "36:85": -9288933,
+ "37:85": -9288933,
+ "38:85": -9288933,
+ "39:85": -9288933,
+ "40:85": -9288933,
+ "41:85": -9288933,
+ "42:85": -9288933,
+ "43:85": -9288933,
+ "44:85": -9288933,
+ "45:85": -9288933,
+ "46:85": -9288933,
+ "47:85": -9288933,
+ "48:85": -9288933,
+ "49:85": -9288933,
+ "50:85": -9288933,
+ "51:85": -9288933,
+ "52:85": -9288933,
+ "53:85": -9288933,
+ "54:85": -9288933,
+ "55:85": -9288933,
+ "56:85": -9288933,
+ "57:85": -9288933,
+ "58:85": -9288933,
+ "59:85": -9288933,
+ "60:85": -9288933,
+ "61:85": -9288933,
+ "62:85": -9288933,
+ "63:85": -9288933,
+ "64:85": -9288933,
+ "65:85": -9288933,
+ "66:85": -9288933,
+ "67:85": -9288933,
+ "68:85": -9288933,
+ "69:85": -9288933,
+ "70:85": -9288933,
+ "71:85": -9288933,
+ "72:85": -9288933,
+ "73:85": -9288933,
+ "74:85": -9288933,
+ "75:85": -16745472,
+ "76:85": -16745472,
+ "77:85": -16745472,
+ "78:85": -9288933,
+ "79:85": -9288933,
+ "80:85": -9288933,
+ "81:85": -9288933,
+ "82:85": -9288933,
+ "83:85": -9288933,
+ "84:85": 402653184,
+ "85:85": 268435456,
+ "86:85": 402653184,
+ "87:85": 268435456,
+ "88:85": -65536,
+ "89:85": -65536,
+ "90:85": -65536,
+ "91:85": -65536,
+ "92:85": -65536,
+ "93:85": -65536,
+ "94:85": -65536,
+ "95:85": -65536,
+ "96:85": -65536,
+ "97:85": -65536,
+ "98:85": -65536,
+ "99:85": -65536,
+ "100:85": -65536,
+ "101:85": -65536,
+ "102:85": -65536,
+ "103:85": -65536,
+ "104:85": -65536,
+ "105:85": -65536,
+ "106:85": 402653184,
+ "107:85": 268435456,
+ "108:85": 402653184,
+ "109:85": 268435456,
+ "110:85": 402653184,
+ "111:85": 268435456,
+ "112:85": 402653184,
+ "113:85": 268435456,
+ "114:85": 402653184,
+ "115:85": 268435456,
+ "116:85": 402653184,
+ "117:85": 268435456,
+ "118:85": 402653184,
+ "119:85": 268435456,
+ "120:85": 402653184,
+ "121:85": 268435456,
+ "122:85": 402653184,
+ "123:85": 268435456,
+ "124:85": 402653184,
+ "125:85": 268435456,
+ "126:85": 402653184,
+ "127:85": 268435456,
+ "0:86": 268435456,
+ "1:86": 402653184,
+ "2:86": 268435456,
+ "3:86": 402653184,
+ "4:86": 268435456,
+ "5:86": 402653184,
+ "6:86": 268435456,
+ "7:86": 402653184,
+ "8:86": 268435456,
+ "9:86": 402653184,
+ "10:86": 268435456,
+ "11:86": 402653184,
+ "12:86": 268435456,
+ "13:86": 402653184,
+ "14:86": 268435456,
+ "15:86": 402653184,
+ "16:86": 268435456,
+ "17:86": 402653184,
+ "18:86": 268435456,
+ "19:86": 402653184,
+ "20:86": 268435456,
+ "21:86": 402653184,
+ "22:86": -9288933,
+ "23:86": -9288933,
+ "24:86": -9288933,
+ "25:86": -9288933,
+ "26:86": -9288933,
+ "27:86": -9288933,
+ "28:86": -9288933,
+ "29:86": -9288933,
+ "30:86": -9288933,
+ "31:86": -1,
+ "32:86": -1,
+ "33:86": -9288933,
+ "34:86": -9288933,
+ "35:86": -9288933,
+ "36:86": -9288933,
+ "37:86": -9288933,
+ "38:86": -9288933,
+ "39:86": -9288933,
+ "40:86": -9288933,
+ "41:86": -9288933,
+ "42:86": -9288933,
+ "43:86": -9288933,
+ "44:86": -9288933,
+ "45:86": -9288933,
+ "46:86": -9288933,
+ "47:86": -9288933,
+ "48:86": -9288933,
+ "49:86": -9288933,
+ "50:86": -9288933,
+ "51:86": -9288933,
+ "52:86": -9288933,
+ "53:86": -9288933,
+ "54:86": -9288933,
+ "55:86": -9288933,
+ "56:86": -9288933,
+ "57:86": -9288933,
+ "58:86": -9288933,
+ "59:86": -9288933,
+ "60:86": -9288933,
+ "61:86": -9288933,
+ "62:86": -9288933,
+ "63:86": -9288933,
+ "64:86": -9288933,
+ "65:86": -9288933,
+ "66:86": -9288933,
+ "67:86": -9288933,
+ "68:86": -9288933,
+ "69:86": -9288933,
+ "70:86": -9288933,
+ "71:86": -9288933,
+ "72:86": -9288933,
+ "73:86": -9288933,
+ "74:86": -9288933,
+ "75:86": -16745472,
+ "76:86": -16745472,
+ "77:86": -9288933,
+ "78:86": -9288933,
+ "79:86": -9288933,
+ "80:86": -9288933,
+ "81:86": -9288933,
+ "82:86": -9288933,
+ "83:86": -9288933,
+ "84:86": 268435456,
+ "85:86": 402653184,
+ "86:86": 268435456,
+ "87:86": 402653184,
+ "88:86": -65536,
+ "89:86": -65536,
+ "90:86": -65536,
+ "91:86": -65536,
+ "92:86": -65536,
+ "93:86": -65536,
+ "94:86": -65536,
+ "95:86": -65536,
+ "96:86": -65536,
+ "97:86": -65536,
+ "98:86": -65536,
+ "99:86": -65536,
+ "100:86": -65536,
+ "101:86": -65536,
+ "102:86": -65536,
+ "103:86": -65536,
+ "104:86": -65536,
+ "105:86": -65536,
+ "106:86": 268435456,
+ "107:86": 402653184,
+ "108:86": 268435456,
+ "109:86": 402653184,
+ "110:86": 268435456,
+ "111:86": 402653184,
+ "112:86": 268435456,
+ "113:86": 402653184,
+ "114:86": 268435456,
+ "115:86": 402653184,
+ "116:86": 268435456,
+ "117:86": 402653184,
+ "118:86": 268435456,
+ "119:86": 402653184,
+ "120:86": 268435456,
+ "121:86": 402653184,
+ "122:86": 268435456,
+ "123:86": 402653184,
+ "124:86": 268435456,
+ "125:86": 402653184,
+ "126:86": 268435456,
+ "127:86": 402653184,
+ "0:87": 402653184,
+ "1:87": 268435456,
+ "2:87": 402653184,
+ "3:87": 268435456,
+ "4:87": 402653184,
+ "5:87": 268435456,
+ "6:87": 402653184,
+ "7:87": 268435456,
+ "8:87": 402653184,
+ "9:87": 268435456,
+ "10:87": 402653184,
+ "11:87": 268435456,
+ "12:87": 402653184,
+ "13:87": 268435456,
+ "14:87": 402653184,
+ "15:87": 268435456,
+ "16:87": 402653184,
+ "17:87": 268435456,
+ "18:87": 402653184,
+ "19:87": 268435456,
+ "20:87": 402653184,
+ "21:87": 268435456,
+ "22:87": -9288933,
+ "23:87": -9288933,
+ "24:87": -9288933,
+ "25:87": -9288933,
+ "26:87": -9288933,
+ "27:87": -9288933,
+ "28:87": -1,
+ "29:87": -1,
+ "30:87": -9288933,
+ "31:87": -1,
+ "32:87": -1,
+ "33:87": -9288933,
+ "34:87": -9288933,
+ "35:87": -9288933,
+ "36:87": -9288933,
+ "37:87": -9288933,
+ "38:87": -9288933,
+ "39:87": -9288933,
+ "40:87": -9288933,
+ "41:87": -9288933,
+ "42:87": -9288933,
+ "43:87": -9288933,
+ "44:87": -9288933,
+ "45:87": -9288933,
+ "46:87": -9288933,
+ "47:87": -9288933,
+ "48:87": -9288933,
+ "49:87": -9288933,
+ "50:87": -9288933,
+ "51:87": -9288933,
+ "52:87": -9288933,
+ "53:87": -9288933,
+ "54:87": -9288933,
+ "55:87": -9288933,
+ "56:87": -9288933,
+ "57:87": -9288933,
+ "58:87": -9288933,
+ "59:87": -9288933,
+ "60:87": -9288933,
+ "61:87": -9288933,
+ "62:87": -9288933,
+ "63:87": -9288933,
+ "64:87": -9288933,
+ "65:87": -9288933,
+ "66:87": -9288933,
+ "67:87": -9288933,
+ "68:87": -9288933,
+ "69:87": -9288933,
+ "70:87": -9288933,
+ "71:87": -9288933,
+ "72:87": -16745472,
+ "73:87": -16745472,
+ "74:87": -9288933,
+ "75:87": -16745472,
+ "76:87": -16745472,
+ "77:87": -9288933,
+ "78:87": -9288933,
+ "79:87": -9288933,
+ "80:87": -9288933,
+ "81:87": -9288933,
+ "82:87": -9288933,
+ "83:87": -9288933,
+ "84:87": 402653184,
+ "85:87": 268435456,
+ "86:87": 402653184,
+ "87:87": 268435456,
+ "88:87": -65536,
+ "89:87": -65536,
+ "90:87": -65536,
+ "91:87": -65536,
+ "92:87": -65536,
+ "93:87": -65536,
+ "94:87": -65536,
+ "95:87": -65536,
+ "96:87": -65536,
+ "97:87": -65536,
+ "98:87": -65536,
+ "99:87": -65536,
+ "100:87": -65536,
+ "101:87": -65536,
+ "102:87": -65536,
+ "103:87": -65536,
+ "104:87": -65536,
+ "105:87": -65536,
+ "106:87": 402653184,
+ "107:87": 268435456,
+ "108:87": 402653184,
+ "109:87": 268435456,
+ "110:87": 402653184,
+ "111:87": 268435456,
+ "112:87": 402653184,
+ "113:87": 268435456,
+ "114:87": 402653184,
+ "115:87": 268435456,
+ "116:87": 402653184,
+ "117:87": 268435456,
+ "118:87": 402653184,
+ "119:87": 268435456,
+ "120:87": 402653184,
+ "121:87": 268435456,
+ "122:87": 402653184,
+ "123:87": 268435456,
+ "124:87": 402653184,
+ "125:87": 268435456,
+ "126:87": 402653184,
+ "127:87": 268435456,
+ "0:88": 268435456,
+ "1:88": 402653184,
+ "2:88": 268435456,
+ "3:88": 402653184,
+ "4:88": 268435456,
+ "5:88": 402653184,
+ "6:88": 268435456,
+ "7:88": 402653184,
+ "8:88": 268435456,
+ "9:88": 402653184,
+ "10:88": 268435456,
+ "11:88": 402653184,
+ "12:88": 268435456,
+ "13:88": 402653184,
+ "14:88": 268435456,
+ "15:88": 402653184,
+ "16:88": 268435456,
+ "17:88": 402653184,
+ "18:88": 268435456,
+ "19:88": 402653184,
+ "20:88": 268435456,
+ "21:88": 402653184,
+ "22:88": -9288933,
+ "23:88": -9288933,
+ "24:88": -9288933,
+ "25:88": -9288933,
+ "26:88": -9288933,
+ "27:88": -9288933,
+ "28:88": -9288933,
+ "29:88": -1,
+ "30:88": -1,
+ "31:88": -1,
+ "32:88": -9288933,
+ "33:88": -9288933,
+ "34:88": -9288933,
+ "35:88": -9288933,
+ "36:88": -9288933,
+ "37:88": -9288933,
+ "38:88": -9288933,
+ "39:88": -9288933,
+ "40:88": -9288933,
+ "41:88": -9288933,
+ "42:88": -9288933,
+ "43:88": -9288933,
+ "44:88": -9288933,
+ "45:88": -9288933,
+ "46:88": -9288933,
+ "47:88": -9288933,
+ "48:88": -9288933,
+ "49:88": -9288933,
+ "50:88": -9288933,
+ "51:88": -9288933,
+ "52:88": -9288933,
+ "53:88": -9288933,
+ "54:88": -9288933,
+ "55:88": -9288933,
+ "56:88": -9288933,
+ "57:88": -9288933,
+ "58:88": -9288933,
+ "59:88": -9288933,
+ "60:88": -9288933,
+ "61:88": -9288933,
+ "62:88": -9288933,
+ "63:88": -9288933,
+ "64:88": -9288933,
+ "65:88": -9288933,
+ "66:88": -9288933,
+ "67:88": -9288933,
+ "68:88": -9288933,
+ "69:88": -9288933,
+ "70:88": -9288933,
+ "71:88": -9288933,
+ "72:88": -9288933,
+ "73:88": -16745472,
+ "74:88": -16745472,
+ "75:88": -16745472,
+ "76:88": -9288933,
+ "77:88": -9288933,
+ "78:88": -9288933,
+ "79:88": -9288933,
+ "80:88": -9288933,
+ "81:88": -9288933,
+ "82:88": -9288933,
+ "83:88": -9288933,
+ "84:88": 268435456,
+ "85:88": 402653184,
+ "86:88": 268435456,
+ "87:88": 402653184,
+ "88:88": -65536,
+ "89:88": -65536,
+ "90:88": -65536,
+ "91:88": -65536,
+ "92:88": -65536,
+ "93:88": -65536,
+ "94:88": -65536,
+ "95:88": -65536,
+ "96:88": -65536,
+ "97:88": -65536,
+ "98:88": -65536,
+ "99:88": -65536,
+ "100:88": -65536,
+ "101:88": -65536,
+ "102:88": -65536,
+ "103:88": -65536,
+ "104:88": -65536,
+ "105:88": -65536,
+ "106:88": 268435456,
+ "107:88": 402653184,
+ "108:88": 268435456,
+ "109:88": 402653184,
+ "110:88": 268435456,
+ "111:88": 402653184,
+ "112:88": 268435456,
+ "113:88": 402653184,
+ "114:88": 268435456,
+ "115:88": 402653184,
+ "116:88": 268435456,
+ "117:88": 402653184,
+ "118:88": 268435456,
+ "119:88": 402653184,
+ "120:88": 268435456,
+ "121:88": 402653184,
+ "122:88": 268435456,
+ "123:88": 402653184,
+ "124:88": 268435456,
+ "125:88": 402653184,
+ "126:88": 268435456,
+ "127:88": 402653184,
+ "0:89": 402653184,
+ "1:89": 268435456,
+ "2:89": 402653184,
+ "3:89": 268435456,
+ "4:89": 402653184,
+ "5:89": 268435456,
+ "6:89": 402653184,
+ "7:89": 268435456,
+ "8:89": 402653184,
+ "9:89": 268435456,
+ "10:89": 402653184,
+ "11:89": 268435456,
+ "12:89": 402653184,
+ "13:89": 268435456,
+ "14:89": 402653184,
+ "15:89": 268435456,
+ "16:89": 402653184,
+ "17:89": 268435456,
+ "18:89": 402653184,
+ "19:89": 268435456,
+ "20:89": 402653184,
+ "21:89": 268435456,
+ "22:89": -9288933,
+ "23:89": -9288933,
+ "24:89": -9288933,
+ "25:89": -9288933,
+ "26:89": -9288933,
+ "27:89": -9288933,
+ "28:89": -9288933,
+ "29:89": -1,
+ "30:89": -1,
+ "31:89": -1,
+ "32:89": -9288933,
+ "33:89": -9288933,
+ "34:89": -9288933,
+ "35:89": -9288933,
+ "36:89": -9288933,
+ "37:89": -9288933,
+ "38:89": -9288933,
+ "39:89": -9288933,
+ "40:89": -9288933,
+ "41:89": -9288933,
+ "42:89": -9288933,
+ "43:89": -9288933,
+ "44:89": -9288933,
+ "45:89": -9288933,
+ "46:89": -9288933,
+ "47:89": -9288933,
+ "48:89": -9288933,
+ "49:89": -9288933,
+ "50:89": -9288933,
+ "51:89": -9288933,
+ "52:89": -9288933,
+ "53:89": -9288933,
+ "54:89": -9288933,
+ "55:89": -9288933,
+ "56:89": -9288933,
+ "57:89": -9288933,
+ "58:89": -9288933,
+ "59:89": -9288933,
+ "60:89": -9288933,
+ "61:89": -9288933,
+ "62:89": -9288933,
+ "63:89": -9288933,
+ "64:89": -9288933,
+ "65:89": -9288933,
+ "66:89": -9288933,
+ "67:89": -9288933,
+ "68:89": -9288933,
+ "69:89": -9288933,
+ "70:89": -9288933,
+ "71:89": -9288933,
+ "72:89": -9288933,
+ "73:89": -16745472,
+ "74:89": -16745472,
+ "75:89": -16745472,
+ "76:89": -9288933,
+ "77:89": -9288933,
+ "78:89": -9288933,
+ "79:89": -9288933,
+ "80:89": -9288933,
+ "81:89": -9288933,
+ "82:89": -9288933,
+ "83:89": -9288933,
+ "84:89": 402653184,
+ "85:89": 268435456,
+ "86:89": 402653184,
+ "87:89": 268435456,
+ "88:89": -65536,
+ "89:89": -65536,
+ "90:89": -65536,
+ "91:89": -65536,
+ "92:89": -65536,
+ "93:89": -65536,
+ "94:89": -65536,
+ "95:89": -65536,
+ "96:89": -65536,
+ "97:89": -65536,
+ "98:89": -65536,
+ "99:89": -65536,
+ "100:89": -65536,
+ "101:89": -65536,
+ "102:89": -65536,
+ "103:89": -65536,
+ "104:89": -65536,
+ "105:89": -65536,
+ "106:89": 402653184,
+ "107:89": 268435456,
+ "108:89": 402653184,
+ "109:89": 268435456,
+ "110:89": 402653184,
+ "111:89": 268435456,
+ "112:89": 402653184,
+ "113:89": 268435456,
+ "114:89": 402653184,
+ "115:89": 268435456,
+ "116:89": 402653184,
+ "117:89": 268435456,
+ "118:89": 402653184,
+ "119:89": 268435456,
+ "120:89": 402653184,
+ "121:89": 268435456,
+ "122:89": 402653184,
+ "123:89": 268435456,
+ "124:89": 402653184,
+ "125:89": 268435456,
+ "126:89": 402653184,
+ "127:89": 268435456,
+ "0:90": 268435456,
+ "1:90": 402653184,
+ "2:90": 268435456,
+ "3:90": 402653184,
+ "4:90": 268435456,
+ "5:90": 402653184,
+ "6:90": 268435456,
+ "7:90": 402653184,
+ "8:90": 268435456,
+ "9:90": 402653184,
+ "10:90": 268435456,
+ "11:90": 402653184,
+ "12:90": 268435456,
+ "13:90": 402653184,
+ "14:90": 268435456,
+ "15:90": 402653184,
+ "16:90": 268435456,
+ "17:90": 402653184,
+ "18:90": 268435456,
+ "19:90": 402653184,
+ "20:90": 268435456,
+ "21:90": 402653184,
+ "22:90": -9288933,
+ "23:90": -9288933,
+ "24:90": -9288933,
+ "25:90": -9288933,
+ "26:90": -9288933,
+ "27:90": -9288933,
+ "28:90": -9288933,
+ "29:90": -9288933,
+ "30:90": -9288933,
+ "31:90": -9288933,
+ "32:90": -9288933,
+ "33:90": -9288933,
+ "34:90": -9288933,
+ "35:90": -9288933,
+ "36:90": -9288933,
+ "37:90": -9288933,
+ "38:90": -9288933,
+ "39:90": -9288933,
+ "40:90": -9288933,
+ "41:90": -9288933,
+ "42:90": -9288933,
+ "43:90": -9288933,
+ "44:90": -9288933,
+ "45:90": -9288933,
+ "46:90": -9288933,
+ "47:90": -9288933,
+ "48:90": -9288933,
+ "49:90": -9288933,
+ "50:90": -9288933,
+ "51:90": -9288933,
+ "52:90": -9288933,
+ "53:90": -9288933,
+ "54:90": -9288933,
+ "55:90": -9288933,
+ "56:90": -9288933,
+ "57:90": -9288933,
+ "58:90": -9288933,
+ "59:90": -9288933,
+ "60:90": -9288933,
+ "61:90": -9288933,
+ "62:90": 268435456,
+ "63:90": 402653184,
+ "64:90": 268435456,
+ "65:90": 402653184,
+ "66:90": -9288933,
+ "67:90": -9288933,
+ "68:90": -9288933,
+ "69:90": -9288933,
+ "70:90": -9288933,
+ "71:90": -9288933,
+ "72:90": -9288933,
+ "73:90": -9288933,
+ "74:90": -9288933,
+ "75:90": -9288933,
+ "76:90": -9288933,
+ "77:90": -9288933,
+ "78:90": -9288933,
+ "79:90": -9288933,
+ "80:90": -9288933,
+ "81:90": -9288933,
+ "82:90": -9288933,
+ "83:90": -9288933,
+ "84:90": 268435456,
+ "85:90": 402653184,
+ "86:90": 268435456,
+ "87:90": 402653184,
+ "88:90": -65536,
+ "89:90": -65536,
+ "90:90": -65536,
+ "91:90": -65536,
+ "92:90": -65536,
+ "93:90": -65536,
+ "94:90": -65536,
+ "95:90": -65536,
+ "96:90": -65536,
+ "97:90": -65536,
+ "98:90": -65536,
+ "99:90": -65536,
+ "100:90": -65536,
+ "101:90": -65536,
+ "102:90": -65536,
+ "103:90": -65536,
+ "104:90": -65536,
+ "105:90": -65536,
+ "106:90": 268435456,
+ "107:90": 402653184,
+ "108:90": 268435456,
+ "109:90": 402653184,
+ "110:90": 268435456,
+ "111:90": 402653184,
+ "112:90": 268435456,
+ "113:90": 402653184,
+ "114:90": 268435456,
+ "115:90": 402653184,
+ "116:90": 268435456,
+ "117:90": 402653184,
+ "118:90": 268435456,
+ "119:90": 402653184,
+ "120:90": 268435456,
+ "121:90": 402653184,
+ "122:90": 268435456,
+ "123:90": 402653184,
+ "124:90": 268435456,
+ "125:90": 402653184,
+ "126:90": 268435456,
+ "127:90": 402653184,
+ "0:91": 402653184,
+ "1:91": 268435456,
+ "2:91": 402653184,
+ "3:91": 268435456,
+ "4:91": 402653184,
+ "5:91": 268435456,
+ "6:91": 402653184,
+ "7:91": 268435456,
+ "8:91": 402653184,
+ "9:91": 268435456,
+ "10:91": 402653184,
+ "11:91": 268435456,
+ "12:91": 402653184,
+ "13:91": 268435456,
+ "14:91": 402653184,
+ "15:91": 268435456,
+ "16:91": 402653184,
+ "17:91": 268435456,
+ "18:91": 402653184,
+ "19:91": 268435456,
+ "20:91": 402653184,
+ "21:91": 268435456,
+ "22:91": -9288933,
+ "23:91": -9288933,
+ "24:91": -9288933,
+ "25:91": -9288933,
+ "26:91": -9288933,
+ "27:91": -9288933,
+ "28:91": -9288933,
+ "29:91": -9288933,
+ "30:91": -9288933,
+ "31:91": -9288933,
+ "32:91": -9288933,
+ "33:91": -9288933,
+ "34:91": -9288933,
+ "35:91": -9288933,
+ "36:91": -9288933,
+ "37:91": -9288933,
+ "38:91": -9288933,
+ "39:91": -9288933,
+ "40:91": -9288933,
+ "41:91": -9288933,
+ "42:91": -9288933,
+ "43:91": -9288933,
+ "44:91": -9288933,
+ "45:91": -9288933,
+ "46:91": -9288933,
+ "47:91": -9288933,
+ "48:91": -9288933,
+ "49:91": -9288933,
+ "50:91": -9288933,
+ "51:91": -9288933,
+ "52:91": -9288933,
+ "53:91": -9288933,
+ "54:91": -9288933,
+ "55:91": -9288933,
+ "56:91": -9288933,
+ "57:91": -9288933,
+ "58:91": -9288933,
+ "59:91": -9288933,
+ "60:91": -9288933,
+ "61:91": -9288933,
+ "62:91": 402653184,
+ "63:91": 268435456,
+ "64:91": 402653184,
+ "65:91": 268435456,
+ "66:91": -9288933,
+ "67:91": -9288933,
+ "68:91": -9288933,
+ "69:91": -9288933,
+ "70:91": -9288933,
+ "71:91": -9288933,
+ "72:91": -9288933,
+ "73:91": -9288933,
+ "74:91": -9288933,
+ "75:91": -9288933,
+ "76:91": -9288933,
+ "77:91": -9288933,
+ "78:91": -9288933,
+ "79:91": -9288933,
+ "80:91": -9288933,
+ "81:91": -9288933,
+ "82:91": -9288933,
+ "83:91": -9288933,
+ "84:91": 402653184,
+ "85:91": 268435456,
+ "86:91": 402653184,
+ "87:91": 268435456,
+ "88:91": -65536,
+ "89:91": -65536,
+ "90:91": -65536,
+ "91:91": -65536,
+ "92:91": -65536,
+ "93:91": -65536,
+ "94:91": -65536,
+ "95:91": -65536,
+ "96:91": -65536,
+ "97:91": -65536,
+ "98:91": -65536,
+ "99:91": -65536,
+ "100:91": -65536,
+ "101:91": -65536,
+ "102:91": -65536,
+ "103:91": -65536,
+ "104:91": -65536,
+ "105:91": -65536,
+ "106:91": 402653184,
+ "107:91": 268435456,
+ "108:91": 402653184,
+ "109:91": 268435456,
+ "110:91": 402653184,
+ "111:91": 268435456,
+ "112:91": 402653184,
+ "113:91": 268435456,
+ "114:91": 402653184,
+ "115:91": 268435456,
+ "116:91": 402653184,
+ "117:91": 268435456,
+ "118:91": 402653184,
+ "119:91": 268435456,
+ "120:91": 402653184,
+ "121:91": 268435456,
+ "122:91": 402653184,
+ "123:91": 268435456,
+ "124:91": 402653184,
+ "125:91": 268435456,
+ "126:91": 402653184,
+ "127:91": 268435456,
+ "0:92": 268435456,
+ "1:92": 402653184,
+ "2:92": 268435456,
+ "3:92": 402653184,
+ "4:92": 268435456,
+ "5:92": 402653184,
+ "6:92": 268435456,
+ "7:92": 402653184,
+ "8:92": 268435456,
+ "9:92": 402653184,
+ "10:92": 268435456,
+ "11:92": 402653184,
+ "12:92": 268435456,
+ "13:92": 402653184,
+ "14:92": 268435456,
+ "15:92": 402653184,
+ "16:92": 268435456,
+ "17:92": 402653184,
+ "18:92": 268435456,
+ "19:92": 402653184,
+ "20:92": 268435456,
+ "21:92": 402653184,
+ "22:92": -9288933,
+ "23:92": -9288933,
+ "24:92": -9288933,
+ "25:92": -9288933,
+ "26:92": -9288933,
+ "27:92": -9288933,
+ "28:92": -9288933,
+ "29:92": -9288933,
+ "30:92": -9288933,
+ "31:92": -9288933,
+ "32:92": -9288933,
+ "33:92": -9288933,
+ "34:92": -9288933,
+ "35:92": -9288933,
+ "36:92": -9288933,
+ "37:92": -9288933,
+ "38:92": -9288933,
+ "39:92": -9288933,
+ "40:92": -9288933,
+ "41:92": -9288933,
+ "42:92": -9288933,
+ "43:92": -9288933,
+ "44:92": -9288933,
+ "45:92": -9288933,
+ "46:92": -9288933,
+ "47:92": -9288933,
+ "48:92": -9288933,
+ "49:92": -9288933,
+ "50:92": -9288933,
+ "51:92": -9288933,
+ "52:92": -9288933,
+ "53:92": -9288933,
+ "54:92": -9288933,
+ "55:92": -9288933,
+ "56:92": -9288933,
+ "57:92": -9288933,
+ "58:92": -9288933,
+ "59:92": -9288933,
+ "60:92": -9288933,
+ "61:92": -9288933,
+ "62:92": 268435456,
+ "63:92": 402653184,
+ "64:92": 268435456,
+ "65:92": 402653184,
+ "66:92": -9288933,
+ "67:92": -9288933,
+ "68:92": -9288933,
+ "69:92": -9288933,
+ "70:92": -9288933,
+ "71:92": -9288933,
+ "72:92": -9288933,
+ "73:92": -9288933,
+ "74:92": -9288933,
+ "75:92": -9288933,
+ "76:92": -9288933,
+ "77:92": -9288933,
+ "78:92": -9288933,
+ "79:92": -9288933,
+ "80:92": -9288933,
+ "81:92": -9288933,
+ "82:92": -9288933,
+ "83:92": -9288933,
+ "84:92": 268435456,
+ "85:92": 402653184,
+ "86:92": 268435456,
+ "87:92": 402653184,
+ "88:92": -65536,
+ "89:92": -65536,
+ "90:92": -65536,
+ "91:92": -65536,
+ "92:92": -65536,
+ "93:92": -65536,
+ "94:92": -65536,
+ "95:92": -65536,
+ "96:92": -65536,
+ "97:92": -65536,
+ "98:92": -65536,
+ "99:92": -65536,
+ "100:92": -65536,
+ "101:92": -65536,
+ "102:92": -65536,
+ "103:92": -65536,
+ "104:92": -65536,
+ "105:92": -65536,
+ "106:92": 268435456,
+ "107:92": 402653184,
+ "108:92": 268435456,
+ "109:92": 402653184,
+ "110:92": 268435456,
+ "111:92": 402653184,
+ "112:92": 268435456,
+ "113:92": 402653184,
+ "114:92": 268435456,
+ "115:92": 402653184,
+ "116:92": 268435456,
+ "117:92": 402653184,
+ "118:92": 268435456,
+ "119:92": 402653184,
+ "120:92": 268435456,
+ "121:92": 402653184,
+ "122:92": 268435456,
+ "123:92": 402653184,
+ "124:92": 268435456,
+ "125:92": 402653184,
+ "126:92": 268435456,
+ "127:92": 402653184,
+ "0:93": 402653184,
+ "1:93": 268435456,
+ "2:93": 402653184,
+ "3:93": 268435456,
+ "4:93": 402653184,
+ "5:93": 268435456,
+ "6:93": 402653184,
+ "7:93": 268435456,
+ "8:93": 402653184,
+ "9:93": 268435456,
+ "10:93": 402653184,
+ "11:93": 268435456,
+ "12:93": 402653184,
+ "13:93": 268435456,
+ "14:93": 402653184,
+ "15:93": 268435456,
+ "16:93": 402653184,
+ "17:93": 268435456,
+ "18:93": 402653184,
+ "19:93": 268435456,
+ "20:93": 402653184,
+ "21:93": 268435456,
+ "22:93": -9288933,
+ "23:93": -9288933,
+ "24:93": -9288933,
+ "25:93": -9288933,
+ "26:93": -9288933,
+ "27:93": -9288933,
+ "28:93": -9288933,
+ "29:93": -9288933,
+ "30:93": -9288933,
+ "31:93": -9288933,
+ "32:93": -9288933,
+ "33:93": -9288933,
+ "34:93": -9288933,
+ "35:93": -9288933,
+ "36:93": -9288933,
+ "37:93": -9288933,
+ "38:93": -9288933,
+ "39:93": -9288933,
+ "40:93": -9288933,
+ "41:93": -9288933,
+ "42:93": -9288933,
+ "43:93": -9288933,
+ "44:93": -9288933,
+ "45:93": -9288933,
+ "46:93": -9288933,
+ "47:93": -9288933,
+ "48:93": -9288933,
+ "49:93": -9288933,
+ "50:93": -9288933,
+ "51:93": -9288933,
+ "52:93": -9288933,
+ "53:93": -9288933,
+ "54:93": -9288933,
+ "55:93": -9288933,
+ "56:93": -9288933,
+ "57:93": -9288933,
+ "58:93": -9288933,
+ "59:93": -9288933,
+ "60:93": -9288933,
+ "61:93": -9288933,
+ "62:93": 402653184,
+ "63:93": 268435456,
+ "64:93": 402653184,
+ "65:93": 268435456,
+ "66:93": -9288933,
+ "67:93": -9288933,
+ "68:93": -9288933,
+ "69:93": -9288933,
+ "70:93": -9288933,
+ "71:93": -9288933,
+ "72:93": -9288933,
+ "73:93": -9288933,
+ "74:93": -9288933,
+ "75:93": -9288933,
+ "76:93": -9288933,
+ "77:93": -9288933,
+ "78:93": -9288933,
+ "79:93": -9288933,
+ "80:93": -9288933,
+ "81:93": -9288933,
+ "82:93": -9288933,
+ "83:93": -9288933,
+ "84:93": 402653184,
+ "85:93": 268435456,
+ "86:93": 402653184,
+ "87:93": 268435456,
+ "88:93": -65536,
+ "89:93": -65536,
+ "90:93": -65536,
+ "91:93": -65536,
+ "92:93": -65536,
+ "93:93": -65536,
+ "94:93": -65536,
+ "95:93": -65536,
+ "96:93": -65536,
+ "97:93": -65536,
+ "98:93": -65536,
+ "99:93": -65536,
+ "100:93": -65536,
+ "101:93": -65536,
+ "102:93": -65536,
+ "103:93": -65536,
+ "104:93": -65536,
+ "105:93": -65536,
+ "106:93": 402653184,
+ "107:93": 268435456,
+ "108:93": 402653184,
+ "109:93": 268435456,
+ "110:93": 402653184,
+ "111:93": 268435456,
+ "112:93": 402653184,
+ "113:93": 268435456,
+ "114:93": 402653184,
+ "115:93": 268435456,
+ "116:93": 402653184,
+ "117:93": 268435456,
+ "118:93": 402653184,
+ "119:93": 268435456,
+ "120:93": 402653184,
+ "121:93": 268435456,
+ "122:93": 402653184,
+ "123:93": 268435456,
+ "124:93": 402653184,
+ "125:93": 268435456,
+ "126:93": 402653184,
+ "127:93": 268435456,
+ "0:94": 268435456,
+ "1:94": 402653184,
+ "2:94": 268435456,
+ "3:94": 402653184,
+ "4:94": 268435456,
+ "5:94": 402653184,
+ "6:94": 268435456,
+ "7:94": 402653184,
+ "8:94": 268435456,
+ "9:94": 402653184,
+ "10:94": 268435456,
+ "11:94": 402653184,
+ "12:94": 268435456,
+ "13:94": 402653184,
+ "14:94": 268435456,
+ "15:94": 402653184,
+ "16:94": 268435456,
+ "17:94": 402653184,
+ "18:94": 268435456,
+ "19:94": 402653184,
+ "20:94": 268435456,
+ "21:94": 402653184,
+ "22:94": -9288933,
+ "23:94": -9288933,
+ "24:94": -9288933,
+ "25:94": -9288933,
+ "26:94": -9288933,
+ "27:94": -9288933,
+ "28:94": -9288933,
+ "29:94": -9288933,
+ "30:94": -9288933,
+ "31:94": -9288933,
+ "32:94": -9288933,
+ "33:94": -9288933,
+ "34:94": -9288933,
+ "35:94": -9288933,
+ "36:94": -9288933,
+ "37:94": -9288933,
+ "38:94": -9288933,
+ "39:94": -9288933,
+ "40:94": -9288933,
+ "41:94": -9288933,
+ "42:94": -9288933,
+ "43:94": -9288933,
+ "44:94": -9288933,
+ "45:94": -9288933,
+ "46:94": -9288933,
+ "47:94": -9288933,
+ "48:94": -9288933,
+ "49:94": -9288933,
+ "50:94": -9288933,
+ "51:94": -9288933,
+ "52:94": -9288933,
+ "53:94": -9288933,
+ "54:94": -9288933,
+ "55:94": -9288933,
+ "56:94": -9288933,
+ "57:94": -9288933,
+ "58:94": -9288933,
+ "59:94": -9288933,
+ "60:94": -9288933,
+ "61:94": -9288933,
+ "62:94": 268435456,
+ "63:94": 402653184,
+ "64:94": 268435456,
+ "65:94": 402653184,
+ "66:94": -9288933,
+ "67:94": -9288933,
+ "68:94": -9288933,
+ "69:94": -9288933,
+ "70:94": -9288933,
+ "71:94": -9288933,
+ "72:94": -9288933,
+ "73:94": -9288933,
+ "74:94": -9288933,
+ "75:94": -9288933,
+ "76:94": -9288933,
+ "77:94": -9288933,
+ "78:94": -9288933,
+ "79:94": -9288933,
+ "80:94": -9288933,
+ "81:94": -9288933,
+ "82:94": -9288933,
+ "83:94": -9288933,
+ "84:94": 268435456,
+ "85:94": 402653184,
+ "86:94": 268435456,
+ "87:94": 402653184,
+ "88:94": -65536,
+ "89:94": -65536,
+ "90:94": -65536,
+ "91:94": -65536,
+ "92:94": -65536,
+ "93:94": -65536,
+ "94:94": -65536,
+ "95:94": -65536,
+ "96:94": -65536,
+ "97:94": -65536,
+ "98:94": -65536,
+ "99:94": -65536,
+ "100:94": -65536,
+ "101:94": -65536,
+ "102:94": -65536,
+ "103:94": -65536,
+ "104:94": -65536,
+ "105:94": -65536,
+ "106:94": 268435456,
+ "107:94": 402653184,
+ "108:94": 268435456,
+ "109:94": 402653184,
+ "110:94": 268435456,
+ "111:94": 402653184,
+ "112:94": 268435456,
+ "113:94": 402653184,
+ "114:94": 268435456,
+ "115:94": 402653184,
+ "116:94": 268435456,
+ "117:94": 402653184,
+ "118:94": 268435456,
+ "119:94": 402653184,
+ "120:94": 268435456,
+ "121:94": 402653184,
+ "122:94": 268435456,
+ "123:94": 402653184,
+ "124:94": 268435456,
+ "125:94": 402653184,
+ "126:94": 268435456,
+ "127:94": 402653184,
+ "0:95": 402653184,
+ "1:95": 268435456,
+ "2:95": 402653184,
+ "3:95": 268435456,
+ "4:95": 402653184,
+ "5:95": 268435456,
+ "6:95": 402653184,
+ "7:95": 268435456,
+ "8:95": 402653184,
+ "9:95": 268435456,
+ "10:95": 402653184,
+ "11:95": 268435456,
+ "12:95": 402653184,
+ "13:95": 268435456,
+ "14:95": 402653184,
+ "15:95": 268435456,
+ "16:95": 402653184,
+ "17:95": 268435456,
+ "18:95": 402653184,
+ "19:95": 268435456,
+ "20:95": 402653184,
+ "21:95": 268435456,
+ "22:95": -9288933,
+ "23:95": -9288933,
+ "24:95": -9288933,
+ "25:95": -9288933,
+ "26:95": -9288933,
+ "27:95": -9288933,
+ "28:95": -9288933,
+ "29:95": -9288933,
+ "30:95": -9288933,
+ "31:95": -9288933,
+ "32:95": -9288933,
+ "33:95": -9288933,
+ "34:95": -9288933,
+ "35:95": -9288933,
+ "36:95": -9288933,
+ "37:95": -9288933,
+ "38:95": -9288933,
+ "39:95": -9288933,
+ "40:95": 402653184,
+ "41:95": 268435456,
+ "42:95": 402653184,
+ "43:95": 268435456,
+ "44:95": 402653184,
+ "45:95": 268435456,
+ "46:95": 402653184,
+ "47:95": 268435456,
+ "48:95": 402653184,
+ "49:95": 268435456,
+ "50:95": -1710797,
+ "51:95": -1710797,
+ "52:95": -1710797,
+ "53:95": -1710797,
+ "54:95": -1710797,
+ "55:95": -1710797,
+ "56:95": -1710797,
+ "57:95": 268435456,
+ "58:95": 402653184,
+ "59:95": 268435456,
+ "60:95": 402653184,
+ "61:95": 268435456,
+ "62:95": 402653184,
+ "63:95": 268435456,
+ "64:95": 402653184,
+ "65:95": 268435456,
+ "66:95": 402653184,
+ "67:95": 268435456,
+ "68:95": 402653184,
+ "69:95": 268435456,
+ "70:95": 402653184,
+ "71:95": 268435456,
+ "72:95": -9288933,
+ "73:95": -9288933,
+ "74:95": -9288933,
+ "75:95": -9288933,
+ "76:95": -9288933,
+ "77:95": -9288933,
+ "78:95": -9288933,
+ "79:95": 268435456,
+ "80:95": 402653184,
+ "81:95": 268435456,
+ "82:95": 402653184,
+ "83:95": 268435456,
+ "84:95": 402653184,
+ "85:95": 268435456,
+ "86:95": 402653184,
+ "87:95": 268435456,
+ "88:95": 402653184,
+ "89:95": 268435456,
+ "90:95": 402653184,
+ "91:95": 268435456,
+ "92:95": 402653184,
+ "93:95": 268435456,
+ "94:95": 402653184,
+ "95:95": 268435456,
+ "96:95": 402653184,
+ "97:95": 268435456,
+ "98:95": 402653184,
+ "99:95": 268435456,
+ "100:95": 402653184,
+ "101:95": 268435456,
+ "102:95": 402653184,
+ "103:95": 268435456,
+ "104:95": 402653184,
+ "105:95": 268435456,
+ "106:95": 402653184,
+ "107:95": 268435456,
+ "108:95": 402653184,
+ "109:95": 268435456,
+ "110:95": 402653184,
+ "111:95": 268435456,
+ "112:95": 402653184,
+ "113:95": 268435456,
+ "114:95": 402653184,
+ "115:95": 268435456,
+ "116:95": 402653184,
+ "117:95": 268435456,
+ "118:95": 402653184,
+ "119:95": 268435456,
+ "120:95": 402653184,
+ "121:95": 268435456,
+ "122:95": 402653184,
+ "123:95": 268435456,
+ "124:95": 402653184,
+ "125:95": 268435456,
+ "126:95": 402653184,
+ "127:95": 268435456,
+ "0:96": 268435456,
+ "1:96": 402653184,
+ "2:96": 268435456,
+ "3:96": 402653184,
+ "4:96": 268435456,
+ "5:96": 402653184,
+ "6:96": 268435456,
+ "7:96": 402653184,
+ "8:96": 268435456,
+ "9:96": 402653184,
+ "10:96": 268435456,
+ "11:96": 402653184,
+ "12:96": 268435456,
+ "13:96": 402653184,
+ "14:96": 268435456,
+ "15:96": 402653184,
+ "16:96": 268435456,
+ "17:96": 402653184,
+ "18:96": 268435456,
+ "19:96": 402653184,
+ "20:96": 268435456,
+ "21:96": 402653184,
+ "22:96": -9288933,
+ "23:96": -9288933,
+ "24:96": -9288933,
+ "25:96": -9288933,
+ "26:96": -9288933,
+ "27:96": -9288933,
+ "28:96": -9288933,
+ "29:96": -9288933,
+ "30:96": -9288933,
+ "31:96": -9288933,
+ "32:96": -9288933,
+ "33:96": -9288933,
+ "34:96": -9288933,
+ "35:96": -9288933,
+ "36:96": -9288933,
+ "37:96": -9288933,
+ "38:96": -9288933,
+ "39:96": -9288933,
+ "40:96": 268435456,
+ "41:96": 402653184,
+ "42:96": 268435456,
+ "43:96": 402653184,
+ "44:96": 268435456,
+ "45:96": 402653184,
+ "46:96": 268435456,
+ "47:96": 402653184,
+ "48:96": 268435456,
+ "49:96": 402653184,
+ "50:96": -1710797,
+ "51:96": -1710797,
+ "52:96": -1710797,
+ "53:96": -1710797,
+ "54:96": -1710797,
+ "55:96": -1710797,
+ "56:96": -1710797,
+ "57:96": 402653184,
+ "58:96": 268435456,
+ "59:96": 402653184,
+ "60:96": 268435456,
+ "61:96": 402653184,
+ "62:96": 268435456,
+ "63:96": 402653184,
+ "64:96": 268435456,
+ "65:96": 402653184,
+ "66:96": 268435456,
+ "67:96": 402653184,
+ "68:96": 268435456,
+ "69:96": 402653184,
+ "70:96": 268435456,
+ "71:96": 402653184,
+ "72:96": -9288933,
+ "73:96": -9288933,
+ "74:96": -9288933,
+ "75:96": -9288933,
+ "76:96": -9288933,
+ "77:96": -9288933,
+ "78:96": -9288933,
+ "79:96": 402653184,
+ "80:96": 268435456,
+ "81:96": 402653184,
+ "82:96": 268435456,
+ "83:96": 402653184,
+ "84:96": 268435456,
+ "85:96": 402653184,
+ "86:96": 268435456,
+ "87:96": 402653184,
+ "88:96": 268435456,
+ "89:96": 402653184,
+ "90:96": 268435456,
+ "91:96": 402653184,
+ "92:96": 268435456,
+ "93:96": 402653184,
+ "94:96": 268435456,
+ "95:96": 402653184,
+ "96:96": 268435456,
+ "97:96": 402653184,
+ "98:96": 268435456,
+ "99:96": 402653184,
+ "100:96": 268435456,
+ "101:96": 402653184,
+ "102:96": 268435456,
+ "103:96": 402653184,
+ "104:96": 268435456,
+ "105:96": 402653184,
+ "106:96": 268435456,
+ "107:96": 402653184,
+ "108:96": 268435456,
+ "109:96": 402653184,
+ "110:96": 268435456,
+ "111:96": 402653184,
+ "112:96": 268435456,
+ "113:96": 402653184,
+ "114:96": 268435456,
+ "115:96": 402653184,
+ "116:96": 268435456,
+ "117:96": 402653184,
+ "118:96": 268435456,
+ "119:96": 402653184,
+ "120:96": 268435456,
+ "121:96": 402653184,
+ "122:96": 268435456,
+ "123:96": 402653184,
+ "124:96": 268435456,
+ "125:96": 402653184,
+ "126:96": 268435456,
+ "127:96": 402653184,
+ "0:97": 402653184,
+ "1:97": 268435456,
+ "2:97": 402653184,
+ "3:97": 268435456,
+ "4:97": 402653184,
+ "5:97": 268435456,
+ "6:97": 402653184,
+ "7:97": 268435456,
+ "8:97": 402653184,
+ "9:97": 268435456,
+ "10:97": 402653184,
+ "11:97": 268435456,
+ "12:97": 402653184,
+ "13:97": 268435456,
+ "14:97": 402653184,
+ "15:97": 268435456,
+ "16:97": 402653184,
+ "17:97": 268435456,
+ "18:97": 402653184,
+ "19:97": 268435456,
+ "20:97": 402653184,
+ "21:97": 268435456,
+ "22:97": -9288933,
+ "23:97": -9288933,
+ "24:97": -9288933,
+ "25:97": -9288933,
+ "26:97": -9288933,
+ "27:97": -9288933,
+ "28:97": -9288933,
+ "29:97": -9288933,
+ "30:97": -9288933,
+ "31:97": -9288933,
+ "32:97": -9288933,
+ "33:97": -9288933,
+ "34:97": -9288933,
+ "35:97": -9288933,
+ "36:97": -9288933,
+ "37:97": -9288933,
+ "38:97": -9288933,
+ "39:97": -9288933,
+ "40:97": 402653184,
+ "41:97": 268435456,
+ "42:97": 402653184,
+ "43:97": 268435456,
+ "44:97": 402653184,
+ "45:97": 268435456,
+ "46:97": 402653184,
+ "47:97": 268435456,
+ "48:97": 402653184,
+ "49:97": 268435456,
+ "50:97": -1710797,
+ "51:97": -1710797,
+ "52:97": -1710797,
+ "53:97": -1710797,
+ "54:97": -1710797,
+ "55:97": -1710797,
+ "56:97": -1710797,
+ "57:97": 268435456,
+ "58:97": 402653184,
+ "59:97": 268435456,
+ "60:97": 402653184,
+ "61:97": 268435456,
+ "62:97": 402653184,
+ "63:97": 268435456,
+ "64:97": 402653184,
+ "65:97": 268435456,
+ "66:97": 402653184,
+ "67:97": 268435456,
+ "68:97": 402653184,
+ "69:97": 268435456,
+ "70:97": 402653184,
+ "71:97": 268435456,
+ "72:97": -9288933,
+ "73:97": -9288933,
+ "74:97": -9288933,
+ "75:97": -9288933,
+ "76:97": -9288933,
+ "77:97": -9288933,
+ "78:97": -9288933,
+ "79:97": 268435456,
+ "80:97": 402653184,
+ "81:97": 268435456,
+ "82:97": 402653184,
+ "83:97": 268435456,
+ "84:97": 402653184,
+ "85:97": 268435456,
+ "86:97": 402653184,
+ "87:97": 268435456,
+ "88:97": 402653184,
+ "89:97": 268435456,
+ "90:97": 402653184,
+ "91:97": 268435456,
+ "92:97": 402653184,
+ "93:97": 268435456,
+ "94:97": 402653184,
+ "95:97": 268435456,
+ "96:97": 402653184,
+ "97:97": 268435456,
+ "98:97": 402653184,
+ "99:97": 268435456,
+ "100:97": 402653184,
+ "101:97": 268435456,
+ "102:97": 402653184,
+ "103:97": 268435456,
+ "104:97": 402653184,
+ "105:97": 268435456,
+ "106:97": 402653184,
+ "107:97": 268435456,
+ "108:97": 402653184,
+ "109:97": 268435456,
+ "110:97": 402653184,
+ "111:97": 268435456,
+ "112:97": 402653184,
+ "113:97": 268435456,
+ "114:97": 402653184,
+ "115:97": 268435456,
+ "116:97": 402653184,
+ "117:97": 268435456,
+ "118:97": 402653184,
+ "119:97": 268435456,
+ "120:97": 402653184,
+ "121:97": 268435456,
+ "122:97": 402653184,
+ "123:97": 268435456,
+ "124:97": 402653184,
+ "125:97": 268435456,
+ "126:97": 402653184,
+ "127:97": 268435456,
+ "0:98": 268435456,
+ "1:98": 402653184,
+ "2:98": 268435456,
+ "3:98": 402653184,
+ "4:98": 268435456,
+ "5:98": 402653184,
+ "6:98": 268435456,
+ "7:98": 402653184,
+ "8:98": 268435456,
+ "9:98": 402653184,
+ "10:98": 268435456,
+ "11:98": 402653184,
+ "12:98": 268435456,
+ "13:98": 402653184,
+ "14:98": 268435456,
+ "15:98": 402653184,
+ "16:98": 268435456,
+ "17:98": 402653184,
+ "18:98": 268435456,
+ "19:98": 402653184,
+ "20:98": 268435456,
+ "21:98": 402653184,
+ "22:98": -9288933,
+ "23:98": -9288933,
+ "24:98": -9288933,
+ "25:98": -9288933,
+ "26:98": -9288933,
+ "27:98": -9288933,
+ "28:98": -9288933,
+ "29:98": -9288933,
+ "30:98": -9288933,
+ "31:98": -9288933,
+ "32:98": -9288933,
+ "33:98": -9288933,
+ "34:98": -9288933,
+ "35:98": -9288933,
+ "36:98": -9288933,
+ "37:98": -9288933,
+ "38:98": -9288933,
+ "39:98": -9288933,
+ "40:98": 268435456,
+ "41:98": 402653184,
+ "42:98": 268435456,
+ "43:98": 402653184,
+ "44:98": 268435456,
+ "45:98": 402653184,
+ "46:98": 268435456,
+ "47:98": 402653184,
+ "48:98": 268435456,
+ "49:98": 402653184,
+ "50:98": -1710797,
+ "51:98": -1710797,
+ "52:98": -1710797,
+ "53:98": -1710797,
+ "54:98": -1710797,
+ "55:98": -1710797,
+ "56:98": -1710797,
+ "57:98": 402653184,
+ "58:98": 268435456,
+ "59:98": 402653184,
+ "60:98": 268435456,
+ "61:98": 402653184,
+ "62:98": 268435456,
+ "63:98": 402653184,
+ "64:98": 268435456,
+ "65:98": 402653184,
+ "66:98": 268435456,
+ "67:98": 402653184,
+ "68:98": 268435456,
+ "69:98": 402653184,
+ "70:98": 268435456,
+ "71:98": 402653184,
+ "72:98": -9288933,
+ "73:98": -9288933,
+ "74:98": -9288933,
+ "75:98": -9288933,
+ "76:98": -9288933,
+ "77:98": -9288933,
+ "78:98": -9288933,
+ "79:98": 402653184,
+ "80:98": 268435456,
+ "81:98": 402653184,
+ "82:98": 268435456,
+ "83:98": 402653184,
+ "84:98": 268435456,
+ "85:98": 402653184,
+ "86:98": 268435456,
+ "87:98": 402653184,
+ "88:98": 268435456,
+ "89:98": 402653184,
+ "90:98": 268435456,
+ "91:98": 402653184,
+ "92:98": 268435456,
+ "93:98": 402653184,
+ "94:98": 268435456,
+ "95:98": 402653184,
+ "96:98": 268435456,
+ "97:98": 402653184,
+ "98:98": 268435456,
+ "99:98": 402653184,
+ "100:98": 268435456,
+ "101:98": 402653184,
+ "102:98": 268435456,
+ "103:98": 402653184,
+ "104:98": 268435456,
+ "105:98": 402653184,
+ "106:98": 268435456,
+ "107:98": 402653184,
+ "108:98": 268435456,
+ "109:98": 402653184,
+ "110:98": 268435456,
+ "111:98": 402653184,
+ "112:98": 268435456,
+ "113:98": 402653184,
+ "114:98": 268435456,
+ "115:98": 402653184,
+ "116:98": 268435456,
+ "117:98": 402653184,
+ "118:98": 268435456,
+ "119:98": 402653184,
+ "120:98": 268435456,
+ "121:98": 402653184,
+ "122:98": 268435456,
+ "123:98": 402653184,
+ "124:98": 268435456,
+ "125:98": 402653184,
+ "126:98": 268435456,
+ "127:98": 402653184,
+ "0:99": 402653184,
+ "1:99": 268435456,
+ "2:99": 402653184,
+ "3:99": 268435456,
+ "4:99": 402653184,
+ "5:99": 268435456,
+ "6:99": 402653184,
+ "7:99": 268435456,
+ "8:99": 402653184,
+ "9:99": 268435456,
+ "10:99": 402653184,
+ "11:99": 268435456,
+ "12:99": 402653184,
+ "13:99": 268435456,
+ "14:99": 402653184,
+ "15:99": 268435456,
+ "16:99": 402653184,
+ "17:99": 268435456,
+ "18:99": 402653184,
+ "19:99": 268435456,
+ "20:99": 402653184,
+ "21:99": 268435456,
+ "22:99": -9288933,
+ "23:99": -9288933,
+ "24:99": -9288933,
+ "25:99": -9288933,
+ "26:99": -9288933,
+ "27:99": -9288933,
+ "28:99": -9288933,
+ "29:99": -9288933,
+ "30:99": -9288933,
+ "31:99": -9288933,
+ "32:99": -9288933,
+ "33:99": -9288933,
+ "34:99": -9288933,
+ "35:99": -9288933,
+ "36:99": -9288933,
+ "37:99": -9288933,
+ "38:99": -9288933,
+ "39:99": -9288933,
+ "40:99": 402653184,
+ "41:99": 268435456,
+ "42:99": 402653184,
+ "43:99": 268435456,
+ "44:99": -1710797,
+ "45:99": -1710797,
+ "46:99": -1710797,
+ "47:99": -1710797,
+ "48:99": -1710797,
+ "49:99": -1710797,
+ "50:99": -1710797,
+ "51:99": -1710797,
+ "52:99": -1710797,
+ "53:99": -1710797,
+ "54:99": -1710797,
+ "55:99": -1710797,
+ "56:99": -1710797,
+ "57:99": -1710797,
+ "58:99": -1710797,
+ "59:99": -1710797,
+ "60:99": -1710797,
+ "61:99": -1710797,
+ "62:99": 402653184,
+ "63:99": 268435456,
+ "64:99": 402653184,
+ "65:99": 268435456,
+ "66:99": -9288933,
+ "67:99": -9288933,
+ "68:99": -9288933,
+ "69:99": -9288933,
+ "70:99": -9288933,
+ "71:99": -9288933,
+ "72:99": -9288933,
+ "73:99": -9288933,
+ "74:99": -9288933,
+ "75:99": -9288933,
+ "76:99": -9288933,
+ "77:99": -9288933,
+ "78:99": -9288933,
+ "79:99": -9288933,
+ "80:99": -9288933,
+ "81:99": -9288933,
+ "82:99": -9288933,
+ "83:99": -9288933,
+ "84:99": 402653184,
+ "85:99": 268435456,
+ "86:99": 402653184,
+ "87:99": 268435456,
+ "88:99": -5092136,
+ "89:99": -5092136,
+ "90:99": -5092136,
+ "91:99": -5092136,
+ "92:99": -5092136,
+ "93:99": -5092136,
+ "94:99": -5092136,
+ "95:99": -5092136,
+ "96:99": -5092136,
+ "97:99": -5092136,
+ "98:99": -5092136,
+ "99:99": -5092136,
+ "100:99": -5092136,
+ "101:99": -5092136,
+ "102:99": -5092136,
+ "103:99": -5092136,
+ "104:99": -5092136,
+ "105:99": -5092136,
+ "106:99": 402653184,
+ "107:99": 268435456,
+ "108:99": 402653184,
+ "109:99": 268435456,
+ "110:99": 402653184,
+ "111:99": 268435456,
+ "112:99": 402653184,
+ "113:99": 268435456,
+ "114:99": 402653184,
+ "115:99": 268435456,
+ "116:99": 402653184,
+ "117:99": 268435456,
+ "118:99": 402653184,
+ "119:99": 268435456,
+ "120:99": 402653184,
+ "121:99": 268435456,
+ "122:99": 402653184,
+ "123:99": 268435456,
+ "124:99": 402653184,
+ "125:99": 268435456,
+ "126:99": 402653184,
+ "127:99": 268435456,
+ "0:100": 268435456,
+ "1:100": 402653184,
+ "2:100": 268435456,
+ "3:100": 402653184,
+ "4:100": 268435456,
+ "5:100": 402653184,
+ "6:100": 268435456,
+ "7:100": 402653184,
+ "8:100": 268435456,
+ "9:100": 402653184,
+ "10:100": 268435456,
+ "11:100": 402653184,
+ "12:100": 268435456,
+ "13:100": 402653184,
+ "14:100": 268435456,
+ "15:100": 402653184,
+ "16:100": 268435456,
+ "17:100": 402653184,
+ "18:100": 268435456,
+ "19:100": 402653184,
+ "20:100": 268435456,
+ "21:100": 402653184,
+ "22:100": -9288933,
+ "23:100": -9288933,
+ "24:100": -9288933,
+ "25:100": -9288933,
+ "26:100": -9288933,
+ "27:100": -9288933,
+ "28:100": -9288933,
+ "29:100": -9288933,
+ "30:100": -9288933,
+ "31:100": -9288933,
+ "32:100": -9288933,
+ "33:100": -9288933,
+ "34:100": -9288933,
+ "35:100": -9288933,
+ "36:100": -9288933,
+ "37:100": -9288933,
+ "38:100": -9288933,
+ "39:100": -9288933,
+ "40:100": 268435456,
+ "41:100": 402653184,
+ "42:100": 268435456,
+ "43:100": 402653184,
+ "44:100": -1710797,
+ "45:100": -1710797,
+ "46:100": -1710797,
+ "47:100": -1710797,
+ "48:100": -1710797,
+ "49:100": -1710797,
+ "50:100": -1710797,
+ "51:100": -1710797,
+ "52:100": -1710797,
+ "53:100": -1710797,
+ "54:100": -1710797,
+ "55:100": -1710797,
+ "56:100": -1710797,
+ "57:100": -1710797,
+ "58:100": -1710797,
+ "59:100": -1710797,
+ "60:100": -1710797,
+ "61:100": -1710797,
+ "62:100": 268435456,
+ "63:100": 402653184,
+ "64:100": 268435456,
+ "65:100": 402653184,
+ "66:100": -9288933,
+ "67:100": -9288933,
+ "68:100": -9288933,
+ "69:100": -9288933,
+ "70:100": -9288933,
+ "71:100": -9288933,
+ "72:100": -9288933,
+ "73:100": -9288933,
+ "74:100": -9288933,
+ "75:100": -9288933,
+ "76:100": -9288933,
+ "77:100": -9288933,
+ "78:100": -9288933,
+ "79:100": -9288933,
+ "80:100": -9288933,
+ "81:100": -9288933,
+ "82:100": -9288933,
+ "83:100": -9288933,
+ "84:100": 268435456,
+ "85:100": 402653184,
+ "86:100": 268435456,
+ "87:100": 402653184,
+ "88:100": -5092136,
+ "89:100": -5092136,
+ "90:100": -5092136,
+ "91:100": -5092136,
+ "92:100": -5092136,
+ "93:100": -5092136,
+ "94:100": -5092136,
+ "95:100": -5092136,
+ "96:100": -5092136,
+ "97:100": -5092136,
+ "98:100": -5092136,
+ "99:100": -5092136,
+ "100:100": -5092136,
+ "101:100": -5092136,
+ "102:100": -5092136,
+ "103:100": -5092136,
+ "104:100": -5092136,
+ "105:100": -5092136,
+ "106:100": 268435456,
+ "107:100": 402653184,
+ "108:100": 268435456,
+ "109:100": 402653184,
+ "110:100": 268435456,
+ "111:100": 402653184,
+ "112:100": 268435456,
+ "113:100": 402653184,
+ "114:100": 268435456,
+ "115:100": 402653184,
+ "116:100": 268435456,
+ "117:100": 402653184,
+ "118:100": 268435456,
+ "119:100": 402653184,
+ "120:100": 268435456,
+ "121:100": 402653184,
+ "122:100": 268435456,
+ "123:100": 402653184,
+ "124:100": 268435456,
+ "125:100": 402653184,
+ "126:100": 268435456,
+ "127:100": 402653184,
+ "0:101": 402653184,
+ "1:101": 268435456,
+ "2:101": 402653184,
+ "3:101": 268435456,
+ "4:101": 402653184,
+ "5:101": 268435456,
+ "6:101": 402653184,
+ "7:101": 268435456,
+ "8:101": 402653184,
+ "9:101": 268435456,
+ "10:101": 402653184,
+ "11:101": 268435456,
+ "12:101": 402653184,
+ "13:101": 268435456,
+ "14:101": 402653184,
+ "15:101": 268435456,
+ "16:101": 402653184,
+ "17:101": 268435456,
+ "18:101": 402653184,
+ "19:101": 268435456,
+ "20:101": 402653184,
+ "21:101": 268435456,
+ "22:101": -9288933,
+ "23:101": -9288933,
+ "24:101": -9288933,
+ "25:101": -9288933,
+ "26:101": -9288933,
+ "27:101": -9288933,
+ "28:101": -9288933,
+ "29:101": -9288933,
+ "30:101": -9288933,
+ "31:101": -9288933,
+ "32:101": -9288933,
+ "33:101": -9288933,
+ "34:101": -9288933,
+ "35:101": -9288933,
+ "36:101": -9288933,
+ "37:101": -9288933,
+ "38:101": -9288933,
+ "39:101": -9288933,
+ "40:101": 402653184,
+ "41:101": 268435456,
+ "42:101": 402653184,
+ "43:101": 268435456,
+ "44:101": -1710797,
+ "45:101": -1710797,
+ "46:101": -1710797,
+ "47:101": -1710797,
+ "48:101": -1710797,
+ "49:101": -1710797,
+ "50:101": -1710797,
+ "51:101": -1710797,
+ "52:101": -1710797,
+ "53:101": -1710797,
+ "54:101": -1710797,
+ "55:101": -1710797,
+ "56:101": -1710797,
+ "57:101": -1710797,
+ "58:101": -1710797,
+ "59:101": -1710797,
+ "60:101": -1710797,
+ "61:101": -1710797,
+ "62:101": 402653184,
+ "63:101": 268435456,
+ "64:101": 402653184,
+ "65:101": 268435456,
+ "66:101": -9288933,
+ "67:101": -9288933,
+ "68:101": -9288933,
+ "69:101": -9288933,
+ "70:101": -9288933,
+ "71:101": -9288933,
+ "72:101": -9288933,
+ "73:101": -9288933,
+ "74:101": -9288933,
+ "75:101": -9288933,
+ "76:101": -9288933,
+ "77:101": -9288933,
+ "78:101": -9288933,
+ "79:101": -9288933,
+ "80:101": -9288933,
+ "81:101": -9288933,
+ "82:101": -9288933,
+ "83:101": -9288933,
+ "84:101": 402653184,
+ "85:101": 268435456,
+ "86:101": 402653184,
+ "87:101": 268435456,
+ "88:101": -5092136,
+ "89:101": -5092136,
+ "90:101": -5092136,
+ "91:101": -5092136,
+ "92:101": -5092136,
+ "93:101": -5092136,
+ "94:101": -5092136,
+ "95:101": -5092136,
+ "96:101": -5092136,
+ "97:101": -5092136,
+ "98:101": -5092136,
+ "99:101": -5092136,
+ "100:101": -5092136,
+ "101:101": -5092136,
+ "102:101": -5092136,
+ "103:101": -5092136,
+ "104:101": -5092136,
+ "105:101": -5092136,
+ "106:101": 402653184,
+ "107:101": 268435456,
+ "108:101": 402653184,
+ "109:101": 268435456,
+ "110:101": 402653184,
+ "111:101": 268435456,
+ "112:101": 402653184,
+ "113:101": 268435456,
+ "114:101": 402653184,
+ "115:101": 268435456,
+ "116:101": 402653184,
+ "117:101": 268435456,
+ "118:101": 402653184,
+ "119:101": 268435456,
+ "120:101": 402653184,
+ "121:101": 268435456,
+ "122:101": 402653184,
+ "123:101": 268435456,
+ "124:101": 402653184,
+ "125:101": 268435456,
+ "126:101": 402653184,
+ "127:101": 268435456,
+ "0:102": 268435456,
+ "1:102": 402653184,
+ "2:102": 268435456,
+ "3:102": 402653184,
+ "4:102": 268435456,
+ "5:102": 402653184,
+ "6:102": 268435456,
+ "7:102": 402653184,
+ "8:102": 268435456,
+ "9:102": 402653184,
+ "10:102": 268435456,
+ "11:102": 402653184,
+ "12:102": 268435456,
+ "13:102": 402653184,
+ "14:102": 268435456,
+ "15:102": 402653184,
+ "16:102": 268435456,
+ "17:102": 402653184,
+ "18:102": 268435456,
+ "19:102": 402653184,
+ "20:102": 268435456,
+ "21:102": 402653184,
+ "22:102": -9288933,
+ "23:102": -9288933,
+ "24:102": -9288933,
+ "25:102": -9288933,
+ "26:102": -9288933,
+ "27:102": -9288933,
+ "28:102": -9288933,
+ "29:102": -9288933,
+ "30:102": -9288933,
+ "31:102": -9288933,
+ "32:102": -9288933,
+ "33:102": -9288933,
+ "34:102": -9288933,
+ "35:102": -9288933,
+ "36:102": -9288933,
+ "37:102": -9288933,
+ "38:102": -9288933,
+ "39:102": -9288933,
+ "40:102": 268435456,
+ "41:102": 402653184,
+ "42:102": 268435456,
+ "43:102": 402653184,
+ "44:102": -1710797,
+ "45:102": -1710797,
+ "46:102": -1710797,
+ "47:102": -1710797,
+ "48:102": -1710797,
+ "49:102": -1710797,
+ "50:102": -1710797,
+ "51:102": -1710797,
+ "52:102": -1710797,
+ "53:102": -1710797,
+ "54:102": -1710797,
+ "55:102": -1710797,
+ "56:102": -1710797,
+ "57:102": -1710797,
+ "58:102": -1710797,
+ "59:102": -1710797,
+ "60:102": -1710797,
+ "61:102": -1710797,
+ "62:102": 268435456,
+ "63:102": 402653184,
+ "64:102": 268435456,
+ "65:102": 402653184,
+ "66:102": -9288933,
+ "67:102": -9288933,
+ "68:102": -9288933,
+ "69:102": -9288933,
+ "70:102": -9288933,
+ "71:102": -9288933,
+ "72:102": -9288933,
+ "73:102": -9288933,
+ "74:102": -9288933,
+ "75:102": -9288933,
+ "76:102": -9288933,
+ "77:102": -9288933,
+ "78:102": -9288933,
+ "79:102": -9288933,
+ "80:102": -9288933,
+ "81:102": -9288933,
+ "82:102": -9288933,
+ "83:102": -9288933,
+ "84:102": 268435456,
+ "85:102": 402653184,
+ "86:102": 268435456,
+ "87:102": 402653184,
+ "88:102": -5092136,
+ "89:102": -5092136,
+ "90:102": -5092136,
+ "91:102": -5092136,
+ "92:102": -5092136,
+ "93:102": -5092136,
+ "94:102": -5092136,
+ "95:102": -5092136,
+ "96:102": -5092136,
+ "97:102": -5092136,
+ "98:102": -5092136,
+ "99:102": -5092136,
+ "100:102": -5092136,
+ "101:102": -5092136,
+ "102:102": -5092136,
+ "103:102": -5092136,
+ "104:102": -5092136,
+ "105:102": -5092136,
+ "106:102": 268435456,
+ "107:102": 402653184,
+ "108:102": 268435456,
+ "109:102": 402653184,
+ "110:102": 268435456,
+ "111:102": 402653184,
+ "112:102": 268435456,
+ "113:102": 402653184,
+ "114:102": 268435456,
+ "115:102": 402653184,
+ "116:102": 268435456,
+ "117:102": 402653184,
+ "118:102": 268435456,
+ "119:102": 402653184,
+ "120:102": 268435456,
+ "121:102": 402653184,
+ "122:102": 268435456,
+ "123:102": 402653184,
+ "124:102": 268435456,
+ "125:102": 402653184,
+ "126:102": 268435456,
+ "127:102": 402653184,
+ "0:103": 402653184,
+ "1:103": 268435456,
+ "2:103": 402653184,
+ "3:103": 268435456,
+ "4:103": 402653184,
+ "5:103": 268435456,
+ "6:103": 402653184,
+ "7:103": 268435456,
+ "8:103": 402653184,
+ "9:103": 268435456,
+ "10:103": 402653184,
+ "11:103": 268435456,
+ "12:103": 402653184,
+ "13:103": 268435456,
+ "14:103": 402653184,
+ "15:103": 268435456,
+ "16:103": 402653184,
+ "17:103": 268435456,
+ "18:103": 402653184,
+ "19:103": 268435456,
+ "20:103": 402653184,
+ "21:103": 268435456,
+ "22:103": -9288933,
+ "23:103": -9288933,
+ "24:103": -9288933,
+ "25:103": -9288933,
+ "26:103": -9288933,
+ "27:103": -9288933,
+ "28:103": -9288933,
+ "29:103": -9288933,
+ "30:103": -9288933,
+ "31:103": -9288933,
+ "32:103": -9288933,
+ "33:103": -9288933,
+ "34:103": -9288933,
+ "35:103": -9288933,
+ "36:103": -9288933,
+ "37:103": -9288933,
+ "38:103": -9288933,
+ "39:103": -9288933,
+ "40:103": 402653184,
+ "41:103": 268435456,
+ "42:103": 402653184,
+ "43:103": 268435456,
+ "44:103": -1710797,
+ "45:103": -1710797,
+ "46:103": -1710797,
+ "47:103": -1710797,
+ "48:103": -1710797,
+ "49:103": -1710797,
+ "50:103": -1710797,
+ "51:103": -1710797,
+ "52:103": -1710797,
+ "53:103": -1710797,
+ "54:103": -1710797,
+ "55:103": -1710797,
+ "56:103": -1710797,
+ "57:103": -1710797,
+ "58:103": -1710797,
+ "59:103": -1710797,
+ "60:103": -1710797,
+ "61:103": -1710797,
+ "62:103": 402653184,
+ "63:103": 268435456,
+ "64:103": 402653184,
+ "65:103": 268435456,
+ "66:103": -9288933,
+ "67:103": -9288933,
+ "68:103": -9288933,
+ "69:103": -9288933,
+ "70:103": -9288933,
+ "71:103": -9288933,
+ "72:103": -9288933,
+ "73:103": -9288933,
+ "74:103": -9288933,
+ "75:103": -9288933,
+ "76:103": -9288933,
+ "77:103": -9288933,
+ "78:103": -9288933,
+ "79:103": -9288933,
+ "80:103": -9288933,
+ "81:103": -9288933,
+ "82:103": -9288933,
+ "83:103": -9288933,
+ "84:103": 402653184,
+ "85:103": 268435456,
+ "86:103": 402653184,
+ "87:103": 268435456,
+ "88:103": -5092136,
+ "89:103": -5092136,
+ "90:103": -5092136,
+ "91:103": -5092136,
+ "92:103": -5092136,
+ "93:103": -5092136,
+ "94:103": -5092136,
+ "95:103": -5092136,
+ "96:103": -5092136,
+ "97:103": -5092136,
+ "98:103": -5092136,
+ "99:103": -5092136,
+ "100:103": -5092136,
+ "101:103": -5092136,
+ "102:103": -5092136,
+ "103:103": -5092136,
+ "104:103": -5092136,
+ "105:103": -5092136,
+ "106:103": 402653184,
+ "107:103": 268435456,
+ "108:103": 402653184,
+ "109:103": 268435456,
+ "110:103": 402653184,
+ "111:103": 268435456,
+ "112:103": 402653184,
+ "113:103": 268435456,
+ "114:103": 402653184,
+ "115:103": 268435456,
+ "116:103": 402653184,
+ "117:103": 268435456,
+ "118:103": 402653184,
+ "119:103": 268435456,
+ "120:103": 402653184,
+ "121:103": 268435456,
+ "122:103": 402653184,
+ "123:103": 268435456,
+ "124:103": 402653184,
+ "125:103": 268435456,
+ "126:103": 402653184,
+ "127:103": 268435456,
+ "0:104": 268435456,
+ "1:104": 402653184,
+ "2:104": 268435456,
+ "3:104": 402653184,
+ "4:104": 268435456,
+ "5:104": 402653184,
+ "6:104": 268435456,
+ "7:104": 402653184,
+ "8:104": 268435456,
+ "9:104": 402653184,
+ "10:104": 268435456,
+ "11:104": 402653184,
+ "12:104": 268435456,
+ "13:104": 402653184,
+ "14:104": 268435456,
+ "15:104": 402653184,
+ "16:104": 268435456,
+ "17:104": 402653184,
+ "18:104": 268435456,
+ "19:104": 402653184,
+ "20:104": 268435456,
+ "21:104": 402653184,
+ "22:104": -9288933,
+ "23:104": -9288933,
+ "24:104": -9288933,
+ "25:104": -9288933,
+ "26:104": -9288933,
+ "27:104": -9288933,
+ "28:104": -9288933,
+ "29:104": -9288933,
+ "30:104": -9288933,
+ "31:104": -9288933,
+ "32:104": -9288933,
+ "33:104": -9288933,
+ "34:104": -9288933,
+ "35:104": -9288933,
+ "36:104": -9288933,
+ "37:104": -9288933,
+ "38:104": -9288933,
+ "39:104": -9288933,
+ "40:104": 268435456,
+ "41:104": 402653184,
+ "42:104": 268435456,
+ "43:104": 402653184,
+ "44:104": -1710797,
+ "45:104": -1710797,
+ "46:104": -1710797,
+ "47:104": -1710797,
+ "48:104": -1710797,
+ "49:104": -1710797,
+ "50:104": -1710797,
+ "51:104": -1710797,
+ "52:104": -1710797,
+ "53:104": -1710797,
+ "54:104": -1710797,
+ "55:104": -1710797,
+ "56:104": -1710797,
+ "57:104": -1710797,
+ "58:104": -1710797,
+ "59:104": -1710797,
+ "60:104": -1710797,
+ "61:104": -1710797,
+ "62:104": 268435456,
+ "63:104": 402653184,
+ "64:104": 268435456,
+ "65:104": 402653184,
+ "66:104": -9288933,
+ "67:104": -9288933,
+ "68:104": -9288933,
+ "69:104": -9288933,
+ "70:104": -9288933,
+ "71:104": -9288933,
+ "72:104": -9288933,
+ "73:104": -9288933,
+ "74:104": -9288933,
+ "75:104": -9288933,
+ "76:104": -9288933,
+ "77:104": -9288933,
+ "78:104": -9288933,
+ "79:104": -9288933,
+ "80:104": -9288933,
+ "81:104": -9288933,
+ "82:104": -9288933,
+ "83:104": -9288933,
+ "84:104": 268435456,
+ "85:104": 402653184,
+ "86:104": 268435456,
+ "87:104": 402653184,
+ "88:104": -5092136,
+ "89:104": -5092136,
+ "90:104": -5092136,
+ "91:104": -5092136,
+ "92:104": -5092136,
+ "93:104": -5092136,
+ "94:104": -5092136,
+ "95:104": -5092136,
+ "96:104": -5092136,
+ "97:104": -5092136,
+ "98:104": -5092136,
+ "99:104": -5092136,
+ "100:104": -5092136,
+ "101:104": -5092136,
+ "102:104": -5092136,
+ "103:104": -5092136,
+ "104:104": -5092136,
+ "105:104": -5092136,
+ "106:104": 268435456,
+ "107:104": 402653184,
+ "108:104": 268435456,
+ "109:104": 402653184,
+ "110:104": 268435456,
+ "111:104": 402653184,
+ "112:104": 268435456,
+ "113:104": 402653184,
+ "114:104": 268435456,
+ "115:104": 402653184,
+ "116:104": 268435456,
+ "117:104": 402653184,
+ "118:104": 268435456,
+ "119:104": 402653184,
+ "120:104": 268435456,
+ "121:104": 402653184,
+ "122:104": 268435456,
+ "123:104": 402653184,
+ "124:104": 268435456,
+ "125:104": 402653184,
+ "126:104": 268435456,
+ "127:104": 402653184,
+ "0:105": 402653184,
+ "1:105": 268435456,
+ "2:105": 402653184,
+ "3:105": 268435456,
+ "4:105": 402653184,
+ "5:105": 268435456,
+ "6:105": 402653184,
+ "7:105": 268435456,
+ "8:105": 402653184,
+ "9:105": 268435456,
+ "10:105": 402653184,
+ "11:105": 268435456,
+ "12:105": 402653184,
+ "13:105": 268435456,
+ "14:105": 402653184,
+ "15:105": 268435456,
+ "16:105": 402653184,
+ "17:105": 268435456,
+ "18:105": 402653184,
+ "19:105": 268435456,
+ "20:105": 402653184,
+ "21:105": 268435456,
+ "22:105": -9288933,
+ "23:105": -9288933,
+ "24:105": -9288933,
+ "25:105": -9288933,
+ "26:105": -9288933,
+ "27:105": -9288933,
+ "28:105": -9288933,
+ "29:105": -9288933,
+ "30:105": -9288933,
+ "31:105": -9288933,
+ "32:105": -9288933,
+ "33:105": -9288933,
+ "34:105": -9288933,
+ "35:105": -9288933,
+ "36:105": -9288933,
+ "37:105": -9288933,
+ "38:105": -9288933,
+ "39:105": -9288933,
+ "40:105": 402653184,
+ "41:105": 268435456,
+ "42:105": 402653184,
+ "43:105": 268435456,
+ "44:105": -1710797,
+ "45:105": -1710797,
+ "46:105": -1710797,
+ "47:105": -1710797,
+ "48:105": -1710797,
+ "49:105": -1710797,
+ "50:105": -1710797,
+ "51:105": -1710797,
+ "52:105": -1710797,
+ "53:105": -1710797,
+ "54:105": -1710797,
+ "55:105": -1710797,
+ "56:105": -1710797,
+ "57:105": -1710797,
+ "58:105": -1710797,
+ "59:105": -1710797,
+ "60:105": -1710797,
+ "61:105": -1710797,
+ "62:105": 402653184,
+ "63:105": 268435456,
+ "64:105": 402653184,
+ "65:105": 268435456,
+ "66:105": -9288933,
+ "67:105": -9288933,
+ "68:105": -9288933,
+ "69:105": -9288933,
+ "70:105": -9288933,
+ "71:105": -9288933,
+ "72:105": -9288933,
+ "73:105": -9288933,
+ "74:105": -9288933,
+ "75:105": -9288933,
+ "76:105": -9288933,
+ "77:105": -9288933,
+ "78:105": -9288933,
+ "79:105": -9288933,
+ "80:105": -9288933,
+ "81:105": -9288933,
+ "82:105": -9288933,
+ "83:105": -9288933,
+ "84:105": -5092136,
+ "85:105": -5092136,
+ "86:105": -5092136,
+ "87:105": -5092136,
+ "88:105": -5092136,
+ "89:105": -5092136,
+ "90:105": -5092136,
+ "91:105": -5092136,
+ "92:105": -5092136,
+ "93:105": -5092136,
+ "94:105": -5092136,
+ "95:105": -5092136,
+ "96:105": -5092136,
+ "97:105": -5092136,
+ "98:105": -5092136,
+ "99:105": -5092136,
+ "100:105": -5092136,
+ "101:105": -5092136,
+ "102:105": -5092136,
+ "103:105": -5092136,
+ "104:105": -5092136,
+ "105:105": -5092136,
+ "106:105": 402653184,
+ "107:105": 268435456,
+ "108:105": 402653184,
+ "109:105": 268435456,
+ "110:105": 402653184,
+ "111:105": 268435456,
+ "112:105": 402653184,
+ "113:105": 268435456,
+ "114:105": 402653184,
+ "115:105": 268435456,
+ "116:105": 402653184,
+ "117:105": 268435456,
+ "118:105": 402653184,
+ "119:105": 268435456,
+ "120:105": 402653184,
+ "121:105": 268435456,
+ "122:105": 402653184,
+ "123:105": 268435456,
+ "124:105": 402653184,
+ "125:105": 268435456,
+ "126:105": 402653184,
+ "127:105": 268435456,
+ "0:106": 268435456,
+ "1:106": 402653184,
+ "2:106": 268435456,
+ "3:106": 402653184,
+ "4:106": 268435456,
+ "5:106": 402653184,
+ "6:106": 268435456,
+ "7:106": 402653184,
+ "8:106": 268435456,
+ "9:106": 402653184,
+ "10:106": 268435456,
+ "11:106": 402653184,
+ "12:106": 268435456,
+ "13:106": 402653184,
+ "14:106": 268435456,
+ "15:106": 402653184,
+ "16:106": 268435456,
+ "17:106": 402653184,
+ "18:106": 268435456,
+ "19:106": 402653184,
+ "20:106": 268435456,
+ "21:106": 402653184,
+ "22:106": -9288933,
+ "23:106": -9288933,
+ "24:106": -9288933,
+ "25:106": -9288933,
+ "26:106": -9288933,
+ "27:106": -9288933,
+ "28:106": -9288933,
+ "29:106": -9288933,
+ "30:106": -9288933,
+ "31:106": -9288933,
+ "32:106": -9288933,
+ "33:106": -9288933,
+ "34:106": -9288933,
+ "35:106": -9288933,
+ "36:106": -9288933,
+ "37:106": -9288933,
+ "38:106": -9288933,
+ "39:106": -9288933,
+ "40:106": 268435456,
+ "41:106": 402653184,
+ "42:106": 268435456,
+ "43:106": 402653184,
+ "44:106": -1710797,
+ "45:106": -1710797,
+ "46:106": -1710797,
+ "47:106": -1710797,
+ "48:106": -1710797,
+ "49:106": -1710797,
+ "50:106": -1710797,
+ "51:106": -1710797,
+ "52:106": -1710797,
+ "53:106": -1710797,
+ "54:106": -16745472,
+ "55:106": -16745472,
+ "56:106": -16745472,
+ "57:106": -1710797,
+ "58:106": -1710797,
+ "59:106": -1710797,
+ "60:106": -1710797,
+ "61:106": -1710797,
+ "62:106": 268435456,
+ "63:106": 402653184,
+ "64:106": 268435456,
+ "65:106": 402653184,
+ "66:106": -9288933,
+ "67:106": -9288933,
+ "68:106": -9288933,
+ "69:106": -9288933,
+ "70:106": -9288933,
+ "71:106": -9288933,
+ "72:106": -9288933,
+ "73:106": -9288933,
+ "74:106": -9288933,
+ "75:106": -9288933,
+ "76:106": -16745472,
+ "77:106": -16745472,
+ "78:106": -16745472,
+ "79:106": -9288933,
+ "80:106": -9288933,
+ "81:106": -9288933,
+ "82:106": -9288933,
+ "83:106": -9288933,
+ "84:106": -5092136,
+ "85:106": -5092136,
+ "86:106": -5092136,
+ "87:106": -5092136,
+ "88:106": -5092136,
+ "89:106": -5092136,
+ "90:106": -5092136,
+ "91:106": -5092136,
+ "92:106": -5092136,
+ "93:106": -5092136,
+ "94:106": -5092136,
+ "95:106": -5092136,
+ "96:106": -5092136,
+ "97:106": -5092136,
+ "98:106": -16745472,
+ "99:106": -16745472,
+ "100:106": -16745472,
+ "101:106": -5092136,
+ "102:106": -5092136,
+ "103:106": -5092136,
+ "104:106": -5092136,
+ "105:106": -5092136,
+ "106:106": 268435456,
+ "107:106": 402653184,
+ "108:106": 268435456,
+ "109:106": 402653184,
+ "110:106": 268435456,
+ "111:106": 402653184,
+ "112:106": 268435456,
+ "113:106": 402653184,
+ "114:106": 268435456,
+ "115:106": 402653184,
+ "116:106": 268435456,
+ "117:106": 402653184,
+ "118:106": 268435456,
+ "119:106": 402653184,
+ "120:106": 268435456,
+ "121:106": 402653184,
+ "122:106": 268435456,
+ "123:106": 402653184,
+ "124:106": 268435456,
+ "125:106": 402653184,
+ "126:106": 268435456,
+ "127:106": 402653184,
+ "0:107": 402653184,
+ "1:107": 268435456,
+ "2:107": 402653184,
+ "3:107": 268435456,
+ "4:107": 402653184,
+ "5:107": 268435456,
+ "6:107": 402653184,
+ "7:107": 268435456,
+ "8:107": 402653184,
+ "9:107": 268435456,
+ "10:107": 402653184,
+ "11:107": 268435456,
+ "12:107": 402653184,
+ "13:107": 268435456,
+ "14:107": 402653184,
+ "15:107": 268435456,
+ "16:107": 402653184,
+ "17:107": 268435456,
+ "18:107": 402653184,
+ "19:107": 268435456,
+ "20:107": 402653184,
+ "21:107": 268435456,
+ "22:107": -9288933,
+ "23:107": -9288933,
+ "24:107": -9288933,
+ "25:107": -9288933,
+ "26:107": -9288933,
+ "27:107": -9288933,
+ "28:107": -9288933,
+ "29:107": -9288933,
+ "30:107": -9288933,
+ "31:107": -9288933,
+ "32:107": -9288933,
+ "33:107": -9288933,
+ "34:107": -9288933,
+ "35:107": -9288933,
+ "36:107": -9288933,
+ "37:107": -9288933,
+ "38:107": -9288933,
+ "39:107": -9288933,
+ "40:107": 402653184,
+ "41:107": 268435456,
+ "42:107": 402653184,
+ "43:107": 268435456,
+ "44:107": -1710797,
+ "45:107": -1710797,
+ "46:107": -1710797,
+ "47:107": -1710797,
+ "48:107": -1710797,
+ "49:107": -1710797,
+ "50:107": -1710797,
+ "51:107": -1710797,
+ "52:107": -1710797,
+ "53:107": -16745472,
+ "54:107": -16745472,
+ "55:107": -16745472,
+ "56:107": -1710797,
+ "57:107": -1710797,
+ "58:107": -1710797,
+ "59:107": -1710797,
+ "60:107": -1710797,
+ "61:107": -1710797,
+ "62:107": 402653184,
+ "63:107": 268435456,
+ "64:107": 402653184,
+ "65:107": 268435456,
+ "66:107": -9288933,
+ "67:107": -9288933,
+ "68:107": -9288933,
+ "69:107": -9288933,
+ "70:107": -9288933,
+ "71:107": -9288933,
+ "72:107": -9288933,
+ "73:107": -9288933,
+ "74:107": -9288933,
+ "75:107": -16745472,
+ "76:107": -16745472,
+ "77:107": -16745472,
+ "78:107": -9288933,
+ "79:107": -9288933,
+ "80:107": -9288933,
+ "81:107": -9288933,
+ "82:107": -9288933,
+ "83:107": -9288933,
+ "84:107": -5092136,
+ "85:107": -5092136,
+ "86:107": -5092136,
+ "87:107": -5092136,
+ "88:107": -5092136,
+ "89:107": -5092136,
+ "90:107": -5092136,
+ "91:107": -5092136,
+ "92:107": -5092136,
+ "93:107": -5092136,
+ "94:107": -5092136,
+ "95:107": -5092136,
+ "96:107": -5092136,
+ "97:107": -16745472,
+ "98:107": -16745472,
+ "99:107": -16745472,
+ "100:107": -5092136,
+ "101:107": -5092136,
+ "102:107": -5092136,
+ "103:107": -5092136,
+ "104:107": -5092136,
+ "105:107": -5092136,
+ "106:107": 402653184,
+ "107:107": 268435456,
+ "108:107": 402653184,
+ "109:107": 268435456,
+ "110:107": 402653184,
+ "111:107": 268435456,
+ "112:107": 402653184,
+ "113:107": 268435456,
+ "114:107": 402653184,
+ "115:107": 268435456,
+ "116:107": 402653184,
+ "117:107": 268435456,
+ "118:107": 402653184,
+ "119:107": 268435456,
+ "120:107": 402653184,
+ "121:107": 268435456,
+ "122:107": 402653184,
+ "123:107": 268435456,
+ "124:107": 402653184,
+ "125:107": 268435456,
+ "126:107": 402653184,
+ "127:107": 268435456,
+ "0:108": 268435456,
+ "1:108": 402653184,
+ "2:108": 268435456,
+ "3:108": 402653184,
+ "4:108": 268435456,
+ "5:108": 402653184,
+ "6:108": 268435456,
+ "7:108": 402653184,
+ "8:108": 268435456,
+ "9:108": 402653184,
+ "10:108": 268435456,
+ "11:108": 402653184,
+ "12:108": 268435456,
+ "13:108": 402653184,
+ "14:108": 268435456,
+ "15:108": 402653184,
+ "16:108": 268435456,
+ "17:108": 402653184,
+ "18:108": 268435456,
+ "19:108": 402653184,
+ "20:108": 268435456,
+ "21:108": 402653184,
+ "22:108": -9288933,
+ "23:108": -9288933,
+ "24:108": -9288933,
+ "25:108": -9288933,
+ "26:108": -9288933,
+ "27:108": -9288933,
+ "28:108": -9288933,
+ "29:108": -9288933,
+ "30:108": -9288933,
+ "31:108": -9288933,
+ "32:108": -9288933,
+ "33:108": -9288933,
+ "34:108": -9288933,
+ "35:108": -9288933,
+ "36:108": -9288933,
+ "37:108": -9288933,
+ "38:108": -9288933,
+ "39:108": -9288933,
+ "40:108": 268435456,
+ "41:108": 402653184,
+ "42:108": 268435456,
+ "43:108": 402653184,
+ "44:108": -1710797,
+ "45:108": -1710797,
+ "46:108": -1710797,
+ "47:108": -1710797,
+ "48:108": -1710797,
+ "49:108": -1710797,
+ "50:108": -1710797,
+ "51:108": -1710797,
+ "52:108": -1710797,
+ "53:108": -16745472,
+ "54:108": -16745472,
+ "55:108": -1710797,
+ "56:108": -1710797,
+ "57:108": -1710797,
+ "58:108": -1710797,
+ "59:108": -1710797,
+ "60:108": -1710797,
+ "61:108": -1710797,
+ "62:108": 268435456,
+ "63:108": 402653184,
+ "64:108": 268435456,
+ "65:108": 402653184,
+ "66:108": -9288933,
+ "67:108": -9288933,
+ "68:108": -9288933,
+ "69:108": -9288933,
+ "70:108": -9288933,
+ "71:108": -9288933,
+ "72:108": -9288933,
+ "73:108": -9288933,
+ "74:108": -9288933,
+ "75:108": -16745472,
+ "76:108": -16745472,
+ "77:108": -9288933,
+ "78:108": -9288933,
+ "79:108": -9288933,
+ "80:108": -9288933,
+ "81:108": -9288933,
+ "82:108": -9288933,
+ "83:108": -9288933,
+ "84:108": -5092136,
+ "85:108": -5092136,
+ "86:108": -5092136,
+ "87:108": -5092136,
+ "88:108": -5092136,
+ "89:108": -5092136,
+ "90:108": -5092136,
+ "91:108": -5092136,
+ "92:108": -5092136,
+ "93:108": -5092136,
+ "94:108": -5092136,
+ "95:108": -5092136,
+ "96:108": -5092136,
+ "97:108": -16745472,
+ "98:108": -16745472,
+ "99:108": -5092136,
+ "100:108": -5092136,
+ "101:108": -5092136,
+ "102:108": -5092136,
+ "103:108": -5092136,
+ "104:108": -5092136,
+ "105:108": -5092136,
+ "106:108": 268435456,
+ "107:108": 402653184,
+ "108:108": 268435456,
+ "109:108": 402653184,
+ "110:108": 268435456,
+ "111:108": 402653184,
+ "112:108": 268435456,
+ "113:108": 402653184,
+ "114:108": 268435456,
+ "115:108": 402653184,
+ "116:108": 268435456,
+ "117:108": 402653184,
+ "118:108": 268435456,
+ "119:108": 402653184,
+ "120:108": 268435456,
+ "121:108": 402653184,
+ "122:108": 268435456,
+ "123:108": 402653184,
+ "124:108": 268435456,
+ "125:108": 402653184,
+ "126:108": 268435456,
+ "127:108": 402653184,
+ "0:109": 402653184,
+ "1:109": 268435456,
+ "2:109": 402653184,
+ "3:109": 268435456,
+ "4:109": 402653184,
+ "5:109": 268435456,
+ "6:109": 402653184,
+ "7:109": 268435456,
+ "8:109": 402653184,
+ "9:109": 268435456,
+ "10:109": 402653184,
+ "11:109": 268435456,
+ "12:109": 402653184,
+ "13:109": 268435456,
+ "14:109": 402653184,
+ "15:109": 268435456,
+ "16:109": 402653184,
+ "17:109": 268435456,
+ "18:109": 402653184,
+ "19:109": 268435456,
+ "20:109": 402653184,
+ "21:109": 268435456,
+ "22:109": -9288933,
+ "23:109": -9288933,
+ "24:109": -9288933,
+ "25:109": -9288933,
+ "26:109": -9288933,
+ "27:109": -9288933,
+ "28:109": -9288933,
+ "29:109": -9288933,
+ "30:109": -9288933,
+ "31:109": -9288933,
+ "32:109": -9288933,
+ "33:109": -9288933,
+ "34:109": -9288933,
+ "35:109": -9288933,
+ "36:109": -9288933,
+ "37:109": -9288933,
+ "38:109": -9288933,
+ "39:109": -9288933,
+ "40:109": 402653184,
+ "41:109": 268435456,
+ "42:109": 402653184,
+ "43:109": 268435456,
+ "44:109": -1710797,
+ "45:109": -1710797,
+ "46:109": -1710797,
+ "47:109": -1710797,
+ "48:109": -1710797,
+ "49:109": -1710797,
+ "50:109": -16745472,
+ "51:109": -16745472,
+ "52:109": -1710797,
+ "53:109": -16745472,
+ "54:109": -16745472,
+ "55:109": -1710797,
+ "56:109": -1710797,
+ "57:109": -1710797,
+ "58:109": -1710797,
+ "59:109": -1710797,
+ "60:109": -1710797,
+ "61:109": -1710797,
+ "62:109": 402653184,
+ "63:109": 268435456,
+ "64:109": 402653184,
+ "65:109": 268435456,
+ "66:109": -9288933,
+ "67:109": -9288933,
+ "68:109": -9288933,
+ "69:109": -9288933,
+ "70:109": -9288933,
+ "71:109": -9288933,
+ "72:109": -16745472,
+ "73:109": -16745472,
+ "74:109": -9288933,
+ "75:109": -16745472,
+ "76:109": -16745472,
+ "77:109": -9288933,
+ "78:109": -9288933,
+ "79:109": -9288933,
+ "80:109": -9288933,
+ "81:109": -9288933,
+ "82:109": -9288933,
+ "83:109": -9288933,
+ "84:109": -5092136,
+ "85:109": -5092136,
+ "86:109": -5092136,
+ "87:109": -5092136,
+ "88:109": -5092136,
+ "89:109": -5092136,
+ "90:109": -5092136,
+ "91:109": -5092136,
+ "92:109": -5092136,
+ "93:109": -5092136,
+ "94:109": -16745472,
+ "95:109": -16745472,
+ "96:109": -5092136,
+ "97:109": -16745472,
+ "98:109": -16745472,
+ "99:109": -5092136,
+ "100:109": -5092136,
+ "101:109": -5092136,
+ "102:109": -5092136,
+ "103:109": -5092136,
+ "104:109": -5092136,
+ "105:109": -5092136,
+ "106:109": 402653184,
+ "107:109": 268435456,
+ "108:109": 402653184,
+ "109:109": 268435456,
+ "110:109": 402653184,
+ "111:109": 268435456,
+ "112:109": 402653184,
+ "113:109": 268435456,
+ "114:109": 402653184,
+ "115:109": 268435456,
+ "116:109": 402653184,
+ "117:109": 268435456,
+ "118:109": 402653184,
+ "119:109": 268435456,
+ "120:109": 402653184,
+ "121:109": 268435456,
+ "122:109": 402653184,
+ "123:109": 268435456,
+ "124:109": 402653184,
+ "125:109": 268435456,
+ "126:109": 402653184,
+ "127:109": 268435456,
+ "0:110": 268435456,
+ "1:110": 402653184,
+ "2:110": 268435456,
+ "3:110": 402653184,
+ "4:110": 268435456,
+ "5:110": 402653184,
+ "6:110": 268435456,
+ "7:110": 402653184,
+ "8:110": 268435456,
+ "9:110": 402653184,
+ "10:110": 268435456,
+ "11:110": 402653184,
+ "12:110": 268435456,
+ "13:110": 402653184,
+ "14:110": 268435456,
+ "15:110": 402653184,
+ "16:110": 268435456,
+ "17:110": 402653184,
+ "18:110": 268435456,
+ "19:110": 402653184,
+ "20:110": 268435456,
+ "21:110": 402653184,
+ "22:110": -9288933,
+ "23:110": -9288933,
+ "24:110": -9288933,
+ "25:110": -9288933,
+ "26:110": -9288933,
+ "27:110": -9288933,
+ "28:110": -9288933,
+ "29:110": -9288933,
+ "30:110": -9288933,
+ "31:110": -9288933,
+ "32:110": -9288933,
+ "33:110": -9288933,
+ "34:110": -9288933,
+ "35:110": -9288933,
+ "36:110": -9288933,
+ "37:110": -9288933,
+ "38:110": -9288933,
+ "39:110": -9288933,
+ "40:110": 268435456,
+ "41:110": 402653184,
+ "42:110": 268435456,
+ "43:110": 402653184,
+ "44:110": -1710797,
+ "45:110": -1710797,
+ "46:110": -1710797,
+ "47:110": -1710797,
+ "48:110": -1710797,
+ "49:110": -1710797,
+ "50:110": -1710797,
+ "51:110": -16745472,
+ "52:110": -16745472,
+ "53:110": -16745472,
+ "54:110": -1710797,
+ "55:110": -1710797,
+ "56:110": -1710797,
+ "57:110": -1710797,
+ "58:110": -1710797,
+ "59:110": -1710797,
+ "60:110": -1710797,
+ "61:110": -1710797,
+ "62:110": 268435456,
+ "63:110": 402653184,
+ "64:110": 268435456,
+ "65:110": 402653184,
+ "66:110": -9288933,
+ "67:110": -9288933,
+ "68:110": -9288933,
+ "69:110": -9288933,
+ "70:110": -9288933,
+ "71:110": -9288933,
+ "72:110": -9288933,
+ "73:110": -16745472,
+ "74:110": -16745472,
+ "75:110": -16745472,
+ "76:110": -9288933,
+ "77:110": -9288933,
+ "78:110": -9288933,
+ "79:110": -9288933,
+ "80:110": -9288933,
+ "81:110": -9288933,
+ "82:110": -9288933,
+ "83:110": -9288933,
+ "84:110": -5092136,
+ "85:110": -5092136,
+ "86:110": -5092136,
+ "87:110": -5092136,
+ "88:110": -5092136,
+ "89:110": -5092136,
+ "90:110": -5092136,
+ "91:110": -5092136,
+ "92:110": -5092136,
+ "93:110": -5092136,
+ "94:110": -5092136,
+ "95:110": -16745472,
+ "96:110": -16745472,
+ "97:110": -16745472,
+ "98:110": -5092136,
+ "99:110": -5092136,
+ "100:110": -5092136,
+ "101:110": -5092136,
+ "102:110": -5092136,
+ "103:110": -5092136,
+ "104:110": -5092136,
+ "105:110": -5092136,
+ "106:110": 268435456,
+ "107:110": 402653184,
+ "108:110": 268435456,
+ "109:110": 402653184,
+ "110:110": 268435456,
+ "111:110": 402653184,
+ "112:110": 268435456,
+ "113:110": 402653184,
+ "114:110": 268435456,
+ "115:110": 402653184,
+ "116:110": 268435456,
+ "117:110": 402653184,
+ "118:110": 268435456,
+ "119:110": 402653184,
+ "120:110": 268435456,
+ "121:110": 402653184,
+ "122:110": 268435456,
+ "123:110": 402653184,
+ "124:110": 268435456,
+ "125:110": 402653184,
+ "126:110": 268435456,
+ "127:110": 402653184,
+ "0:111": 402653184,
+ "1:111": 268435456,
+ "2:111": 402653184,
+ "3:111": 268435456,
+ "4:111": 402653184,
+ "5:111": 268435456,
+ "6:111": 402653184,
+ "7:111": 268435456,
+ "8:111": 402653184,
+ "9:111": 268435456,
+ "10:111": 402653184,
+ "11:111": 268435456,
+ "12:111": 402653184,
+ "13:111": 268435456,
+ "14:111": 402653184,
+ "15:111": 268435456,
+ "16:111": 402653184,
+ "17:111": 268435456,
+ "18:111": 402653184,
+ "19:111": 268435456,
+ "20:111": 402653184,
+ "21:111": 268435456,
+ "22:111": -9288933,
+ "23:111": -9288933,
+ "24:111": -9288933,
+ "25:111": -9288933,
+ "26:111": -9288933,
+ "27:111": -9288933,
+ "28:111": -9288933,
+ "29:111": -9288933,
+ "30:111": -9288933,
+ "31:111": -9288933,
+ "32:111": -9288933,
+ "33:111": -9288933,
+ "34:111": -9288933,
+ "35:111": -9288933,
+ "36:111": -9288933,
+ "37:111": -9288933,
+ "38:111": -9288933,
+ "39:111": -9288933,
+ "40:111": 402653184,
+ "41:111": 268435456,
+ "42:111": 402653184,
+ "43:111": 268435456,
+ "44:111": -1710797,
+ "45:111": -1710797,
+ "46:111": -1710797,
+ "47:111": -1710797,
+ "48:111": -1710797,
+ "49:111": -1710797,
+ "50:111": -1710797,
+ "51:111": -16745472,
+ "52:111": -16745472,
+ "53:111": -16745472,
+ "54:111": -1710797,
+ "55:111": -1710797,
+ "56:111": -1710797,
+ "57:111": -1710797,
+ "58:111": -1710797,
+ "59:111": -1710797,
+ "60:111": -1710797,
+ "61:111": -1710797,
+ "62:111": 402653184,
+ "63:111": 268435456,
+ "64:111": 402653184,
+ "65:111": 268435456,
+ "66:111": -9288933,
+ "67:111": -9288933,
+ "68:111": -9288933,
+ "69:111": -9288933,
+ "70:111": -9288933,
+ "71:111": -9288933,
+ "72:111": -9288933,
+ "73:111": -16745472,
+ "74:111": -16745472,
+ "75:111": -16745472,
+ "76:111": -9288933,
+ "77:111": -9288933,
+ "78:111": -9288933,
+ "79:111": -9288933,
+ "80:111": -9288933,
+ "81:111": -9288933,
+ "82:111": -9288933,
+ "83:111": -9288933,
+ "84:111": -5092136,
+ "85:111": -5092136,
+ "86:111": -5092136,
+ "87:111": -5092136,
+ "88:111": -5092136,
+ "89:111": -5092136,
+ "90:111": -5092136,
+ "91:111": -5092136,
+ "92:111": -5092136,
+ "93:111": -5092136,
+ "94:111": -5092136,
+ "95:111": -16745472,
+ "96:111": -16745472,
+ "97:111": -16745472,
+ "98:111": -5092136,
+ "99:111": -5092136,
+ "100:111": -5092136,
+ "101:111": -5092136,
+ "102:111": -5092136,
+ "103:111": -5092136,
+ "104:111": -5092136,
+ "105:111": -5092136,
+ "106:111": 402653184,
+ "107:111": 268435456,
+ "108:111": 402653184,
+ "109:111": 268435456,
+ "110:111": 402653184,
+ "111:111": 268435456,
+ "112:111": 402653184,
+ "113:111": 268435456,
+ "114:111": 402653184,
+ "115:111": 268435456,
+ "116:111": 402653184,
+ "117:111": 268435456,
+ "118:111": 402653184,
+ "119:111": 268435456,
+ "120:111": 402653184,
+ "121:111": 268435456,
+ "122:111": 402653184,
+ "123:111": 268435456,
+ "124:111": 402653184,
+ "125:111": 268435456,
+ "126:111": 402653184,
+ "127:111": 268435456,
+ "0:112": 268435456,
+ "1:112": 402653184,
+ "2:112": 268435456,
+ "3:112": 402653184,
+ "4:112": 268435456,
+ "5:112": 402653184,
+ "6:112": 268435456,
+ "7:112": 402653184,
+ "8:112": 268435456,
+ "9:112": 402653184,
+ "10:112": 268435456,
+ "11:112": 402653184,
+ "12:112": 268435456,
+ "13:112": 402653184,
+ "14:112": 268435456,
+ "15:112": 402653184,
+ "16:112": 268435456,
+ "17:112": 402653184,
+ "18:112": 268435456,
+ "19:112": 402653184,
+ "20:112": 268435456,
+ "21:112": 402653184,
+ "22:112": -9288933,
+ "23:112": -9288933,
+ "24:112": -9288933,
+ "25:112": -9288933,
+ "26:112": -9288933,
+ "27:112": -9288933,
+ "28:112": -9288933,
+ "29:112": -9288933,
+ "30:112": -9288933,
+ "31:112": -9288933,
+ "32:112": -9288933,
+ "33:112": -9288933,
+ "34:112": -9288933,
+ "35:112": -9288933,
+ "36:112": -9288933,
+ "37:112": -9288933,
+ "38:112": -9288933,
+ "39:112": -9288933,
+ "40:112": 268435456,
+ "41:112": 402653184,
+ "42:112": 268435456,
+ "43:112": 402653184,
+ "44:112": -1710797,
+ "45:112": -1710797,
+ "46:112": -1710797,
+ "47:112": -1710797,
+ "48:112": -1710797,
+ "49:112": -1710797,
+ "50:112": -1710797,
+ "51:112": -1710797,
+ "52:112": -1710797,
+ "53:112": -1710797,
+ "54:112": -1710797,
+ "55:112": -1710797,
+ "56:112": -1710797,
+ "57:112": -1710797,
+ "58:112": -1710797,
+ "59:112": -1710797,
+ "60:112": -1710797,
+ "61:112": -1710797,
+ "62:112": 268435456,
+ "63:112": 402653184,
+ "64:112": 268435456,
+ "65:112": 402653184,
+ "66:112": -9288933,
+ "67:112": -9288933,
+ "68:112": -9288933,
+ "69:112": -9288933,
+ "70:112": -9288933,
+ "71:112": -9288933,
+ "72:112": -9288933,
+ "73:112": -9288933,
+ "74:112": -9288933,
+ "75:112": -9288933,
+ "76:112": -9288933,
+ "77:112": -9288933,
+ "78:112": -9288933,
+ "79:112": -9288933,
+ "80:112": -9288933,
+ "81:112": -9288933,
+ "82:112": -9288933,
+ "83:112": -9288933,
+ "84:112": 268435456,
+ "85:112": 402653184,
+ "86:112": 268435456,
+ "87:112": 402653184,
+ "88:112": -5092136,
+ "89:112": -5092136,
+ "90:112": -5092136,
+ "91:112": -5092136,
+ "92:112": -5092136,
+ "93:112": -5092136,
+ "94:112": -5092136,
+ "95:112": -5092136,
+ "96:112": -5092136,
+ "97:112": -5092136,
+ "98:112": -5092136,
+ "99:112": -5092136,
+ "100:112": -5092136,
+ "101:112": -5092136,
+ "102:112": -5092136,
+ "103:112": -5092136,
+ "104:112": -5092136,
+ "105:112": -5092136,
+ "106:112": 268435456,
+ "107:112": 402653184,
+ "108:112": 268435456,
+ "109:112": 402653184,
+ "110:112": 268435456,
+ "111:112": 402653184,
+ "112:112": 268435456,
+ "113:112": 402653184,
+ "114:112": 268435456,
+ "115:112": 402653184,
+ "116:112": 268435456,
+ "117:112": 402653184,
+ "118:112": 268435456,
+ "119:112": 402653184,
+ "120:112": 268435456,
+ "121:112": 402653184,
+ "122:112": 268435456,
+ "123:112": 402653184,
+ "124:112": 268435456,
+ "125:112": 402653184,
+ "126:112": 268435456,
+ "127:112": 402653184,
+ "0:113": 402653184,
+ "1:113": 268435456,
+ "2:113": 402653184,
+ "3:113": 268435456,
+ "4:113": 402653184,
+ "5:113": 268435456,
+ "6:113": 402653184,
+ "7:113": 268435456,
+ "8:113": 402653184,
+ "9:113": 268435456,
+ "10:113": 402653184,
+ "11:113": 268435456,
+ "12:113": 402653184,
+ "13:113": 268435456,
+ "14:113": 402653184,
+ "15:113": 268435456,
+ "16:113": 402653184,
+ "17:113": 268435456,
+ "18:113": 402653184,
+ "19:113": 268435456,
+ "20:113": 402653184,
+ "21:113": 268435456,
+ "22:113": -9288933,
+ "23:113": -9288933,
+ "24:113": -9288933,
+ "25:113": -9288933,
+ "26:113": -9288933,
+ "27:113": -9288933,
+ "28:113": -9288933,
+ "29:113": -9288933,
+ "30:113": -9288933,
+ "31:113": -9288933,
+ "32:113": -9288933,
+ "33:113": -9288933,
+ "34:113": -9288933,
+ "35:113": -9288933,
+ "36:113": -9288933,
+ "37:113": -9288933,
+ "38:113": -9288933,
+ "39:113": -9288933,
+ "40:113": 402653184,
+ "41:113": 268435456,
+ "42:113": 402653184,
+ "43:113": 268435456,
+ "44:113": -1710797,
+ "45:113": -1710797,
+ "46:113": -1710797,
+ "47:113": -1710797,
+ "48:113": -1710797,
+ "49:113": -1710797,
+ "50:113": -1710797,
+ "51:113": -1710797,
+ "52:113": -1710797,
+ "53:113": -1710797,
+ "54:113": -1710797,
+ "55:113": -1710797,
+ "56:113": -1710797,
+ "57:113": -1710797,
+ "58:113": -1710797,
+ "59:113": -1710797,
+ "60:113": -1710797,
+ "61:113": -1710797,
+ "62:113": 402653184,
+ "63:113": 268435456,
+ "64:113": 402653184,
+ "65:113": 268435456,
+ "66:113": -9288933,
+ "67:113": -9288933,
+ "68:113": -9288933,
+ "69:113": -9288933,
+ "70:113": -9288933,
+ "71:113": -9288933,
+ "72:113": -9288933,
+ "73:113": -9288933,
+ "74:113": -9288933,
+ "75:113": -9288933,
+ "76:113": -9288933,
+ "77:113": -9288933,
+ "78:113": -9288933,
+ "79:113": -9288933,
+ "80:113": -9288933,
+ "81:113": -9288933,
+ "82:113": -9288933,
+ "83:113": -9288933,
+ "84:113": 402653184,
+ "85:113": 268435456,
+ "86:113": 402653184,
+ "87:113": 268435456,
+ "88:113": -5092136,
+ "89:113": -5092136,
+ "90:113": -5092136,
+ "91:113": -5092136,
+ "92:113": -5092136,
+ "93:113": -5092136,
+ "94:113": -5092136,
+ "95:113": -5092136,
+ "96:113": -5092136,
+ "97:113": -5092136,
+ "98:113": -5092136,
+ "99:113": -5092136,
+ "100:113": -5092136,
+ "101:113": -5092136,
+ "102:113": -5092136,
+ "103:113": -5092136,
+ "104:113": -5092136,
+ "105:113": -5092136,
+ "106:113": 402653184,
+ "107:113": 268435456,
+ "108:113": 402653184,
+ "109:113": 268435456,
+ "110:113": 402653184,
+ "111:113": 268435456,
+ "112:113": 402653184,
+ "113:113": 268435456,
+ "114:113": 402653184,
+ "115:113": 268435456,
+ "116:113": 402653184,
+ "117:113": 268435456,
+ "118:113": 402653184,
+ "119:113": 268435456,
+ "120:113": 402653184,
+ "121:113": 268435456,
+ "122:113": 402653184,
+ "123:113": 268435456,
+ "124:113": 402653184,
+ "125:113": 268435456,
+ "126:113": 402653184,
+ "127:113": 268435456,
+ "0:114": 268435456,
+ "1:114": 402653184,
+ "2:114": 268435456,
+ "3:114": 402653184,
+ "4:114": 268435456,
+ "5:114": 402653184,
+ "6:114": 268435456,
+ "7:114": 402653184,
+ "8:114": 268435456,
+ "9:114": 402653184,
+ "10:114": 268435456,
+ "11:114": 402653184,
+ "12:114": 268435456,
+ "13:114": 402653184,
+ "14:114": 268435456,
+ "15:114": 402653184,
+ "16:114": 268435456,
+ "17:114": 402653184,
+ "18:114": 268435456,
+ "19:114": 402653184,
+ "20:114": 268435456,
+ "21:114": 402653184,
+ "22:114": -9288933,
+ "23:114": -9288933,
+ "24:114": -9288933,
+ "25:114": -9288933,
+ "26:114": -9288933,
+ "27:114": -9288933,
+ "28:114": -9288933,
+ "29:114": -9288933,
+ "30:114": -9288933,
+ "31:114": -9288933,
+ "32:114": -9288933,
+ "33:114": -9288933,
+ "34:114": -9288933,
+ "35:114": -9288933,
+ "36:114": -9288933,
+ "37:114": -9288933,
+ "38:114": -9288933,
+ "39:114": -9288933,
+ "40:114": 268435456,
+ "41:114": 402653184,
+ "42:114": 268435456,
+ "43:114": 402653184,
+ "44:114": -1710797,
+ "45:114": -1710797,
+ "46:114": -1710797,
+ "47:114": -1710797,
+ "48:114": -1710797,
+ "49:114": -1710797,
+ "50:114": -1710797,
+ "51:114": -1710797,
+ "52:114": -1710797,
+ "53:114": -1710797,
+ "54:114": -1710797,
+ "55:114": -1710797,
+ "56:114": -1710797,
+ "57:114": -1710797,
+ "58:114": -1710797,
+ "59:114": -1710797,
+ "60:114": -1710797,
+ "61:114": -1710797,
+ "62:114": 268435456,
+ "63:114": 402653184,
+ "64:114": 268435456,
+ "65:114": 402653184,
+ "66:114": -9288933,
+ "67:114": -9288933,
+ "68:114": -9288933,
+ "69:114": -9288933,
+ "70:114": -9288933,
+ "71:114": -9288933,
+ "72:114": -9288933,
+ "73:114": -9288933,
+ "74:114": -9288933,
+ "75:114": -9288933,
+ "76:114": -9288933,
+ "77:114": -9288933,
+ "78:114": -9288933,
+ "79:114": -9288933,
+ "80:114": -9288933,
+ "81:114": -9288933,
+ "82:114": -9288933,
+ "83:114": -9288933,
+ "84:114": 268435456,
+ "85:114": 402653184,
+ "86:114": 268435456,
+ "87:114": 402653184,
+ "88:114": -5092136,
+ "89:114": -5092136,
+ "90:114": -5092136,
+ "91:114": -5092136,
+ "92:114": -5092136,
+ "93:114": -5092136,
+ "94:114": -5092136,
+ "95:114": -5092136,
+ "96:114": -5092136,
+ "97:114": -5092136,
+ "98:114": -5092136,
+ "99:114": -5092136,
+ "100:114": -5092136,
+ "101:114": -5092136,
+ "102:114": -5092136,
+ "103:114": -5092136,
+ "104:114": -5092136,
+ "105:114": -5092136,
+ "106:114": 268435456,
+ "107:114": 402653184,
+ "108:114": 268435456,
+ "109:114": 402653184,
+ "110:114": 268435456,
+ "111:114": 402653184,
+ "112:114": 268435456,
+ "113:114": 402653184,
+ "114:114": 268435456,
+ "115:114": 402653184,
+ "116:114": 268435456,
+ "117:114": 402653184,
+ "118:114": 268435456,
+ "119:114": 402653184,
+ "120:114": 268435456,
+ "121:114": 402653184,
+ "122:114": 268435456,
+ "123:114": 402653184,
+ "124:114": 268435456,
+ "125:114": 402653184,
+ "126:114": 268435456,
+ "127:114": 402653184,
+ "0:115": 402653184,
+ "1:115": 268435456,
+ "2:115": 402653184,
+ "3:115": 268435456,
+ "4:115": 402653184,
+ "5:115": 268435456,
+ "6:115": 402653184,
+ "7:115": 268435456,
+ "8:115": 402653184,
+ "9:115": 268435456,
+ "10:115": 402653184,
+ "11:115": 268435456,
+ "12:115": 402653184,
+ "13:115": 268435456,
+ "14:115": 402653184,
+ "15:115": 268435456,
+ "16:115": 402653184,
+ "17:115": 268435456,
+ "18:115": 402653184,
+ "19:115": 268435456,
+ "20:115": 402653184,
+ "21:115": 268435456,
+ "22:115": -9288933,
+ "23:115": -9288933,
+ "24:115": -9288933,
+ "25:115": -9288933,
+ "26:115": -9288933,
+ "27:115": -9288933,
+ "28:115": -9288933,
+ "29:115": -9288933,
+ "30:115": -9288933,
+ "31:115": -9288933,
+ "32:115": -9288933,
+ "33:115": -9288933,
+ "34:115": -9288933,
+ "35:115": -9288933,
+ "36:115": -9288933,
+ "37:115": -9288933,
+ "38:115": -9288933,
+ "39:115": -9288933,
+ "40:115": 402653184,
+ "41:115": 268435456,
+ "42:115": 402653184,
+ "43:115": 268435456,
+ "44:115": -1710797,
+ "45:115": -1710797,
+ "46:115": -1710797,
+ "47:115": -1710797,
+ "48:115": -1710797,
+ "49:115": -1710797,
+ "50:115": -1710797,
+ "51:115": -1710797,
+ "52:115": -1710797,
+ "53:115": -1710797,
+ "54:115": -1710797,
+ "55:115": -1710797,
+ "56:115": -1710797,
+ "57:115": -1710797,
+ "58:115": -1710797,
+ "59:115": -1710797,
+ "60:115": -1710797,
+ "61:115": -1710797,
+ "62:115": 402653184,
+ "63:115": 268435456,
+ "64:115": 402653184,
+ "65:115": 268435456,
+ "66:115": -9288933,
+ "67:115": -9288933,
+ "68:115": -9288933,
+ "69:115": -9288933,
+ "70:115": -9288933,
+ "71:115": -9288933,
+ "72:115": -9288933,
+ "73:115": -9288933,
+ "74:115": -9288933,
+ "75:115": -9288933,
+ "76:115": -9288933,
+ "77:115": -9288933,
+ "78:115": -9288933,
+ "79:115": -9288933,
+ "80:115": -9288933,
+ "81:115": -9288933,
+ "82:115": -9288933,
+ "83:115": -9288933,
+ "84:115": 402653184,
+ "85:115": 268435456,
+ "86:115": 402653184,
+ "87:115": 268435456,
+ "88:115": -5092136,
+ "89:115": -5092136,
+ "90:115": -5092136,
+ "91:115": -5092136,
+ "92:115": -5092136,
+ "93:115": -5092136,
+ "94:115": -5092136,
+ "95:115": -5092136,
+ "96:115": -5092136,
+ "97:115": -5092136,
+ "98:115": -5092136,
+ "99:115": -5092136,
+ "100:115": -5092136,
+ "101:115": -5092136,
+ "102:115": -5092136,
+ "103:115": -5092136,
+ "104:115": -5092136,
+ "105:115": -5092136,
+ "106:115": 402653184,
+ "107:115": 268435456,
+ "108:115": 402653184,
+ "109:115": 268435456,
+ "110:115": 402653184,
+ "111:115": 268435456,
+ "112:115": 402653184,
+ "113:115": 268435456,
+ "114:115": 402653184,
+ "115:115": 268435456,
+ "116:115": 402653184,
+ "117:115": 268435456,
+ "118:115": 402653184,
+ "119:115": 268435456,
+ "120:115": 402653184,
+ "121:115": 268435456,
+ "122:115": 402653184,
+ "123:115": 268435456,
+ "124:115": 402653184,
+ "125:115": 268435456,
+ "126:115": 402653184,
+ "127:115": 268435456,
+ "0:116": 268435456,
+ "1:116": 402653184,
+ "2:116": 268435456,
+ "3:116": 402653184,
+ "4:116": 268435456,
+ "5:116": 402653184,
+ "6:116": 268435456,
+ "7:116": 402653184,
+ "8:116": 268435456,
+ "9:116": 402653184,
+ "10:116": 268435456,
+ "11:116": 402653184,
+ "12:116": 268435456,
+ "13:116": 402653184,
+ "14:116": 268435456,
+ "15:116": 402653184,
+ "16:116": 268435456,
+ "17:116": 402653184,
+ "18:116": 268435456,
+ "19:116": 402653184,
+ "20:116": 268435456,
+ "21:116": 402653184,
+ "22:116": -9288933,
+ "23:116": -9288933,
+ "24:116": -9288933,
+ "25:116": -9288933,
+ "26:116": -9288933,
+ "27:116": -9288933,
+ "28:116": -9288933,
+ "29:116": -9288933,
+ "30:116": -9288933,
+ "31:116": -9288933,
+ "32:116": -9288933,
+ "33:116": -9288933,
+ "34:116": -9288933,
+ "35:116": -9288933,
+ "36:116": -9288933,
+ "37:116": -9288933,
+ "38:116": -9288933,
+ "39:116": -9288933,
+ "40:116": 268435456,
+ "41:116": 402653184,
+ "42:116": 268435456,
+ "43:116": 402653184,
+ "44:116": -1710797,
+ "45:116": -1710797,
+ "46:116": -1710797,
+ "47:116": -1710797,
+ "48:116": -1710797,
+ "49:116": -1710797,
+ "50:116": -1710797,
+ "51:116": -1710797,
+ "52:116": -1710797,
+ "53:116": -1710797,
+ "54:116": -1710797,
+ "55:116": -1710797,
+ "56:116": -1710797,
+ "57:116": -1710797,
+ "58:116": -1710797,
+ "59:116": -1710797,
+ "60:116": -1710797,
+ "61:116": -1710797,
+ "62:116": 268435456,
+ "63:116": 402653184,
+ "64:116": 268435456,
+ "65:116": 402653184,
+ "66:116": -9288933,
+ "67:116": -9288933,
+ "68:116": -9288933,
+ "69:116": -9288933,
+ "70:116": -9288933,
+ "71:116": -9288933,
+ "72:116": -9288933,
+ "73:116": -9288933,
+ "74:116": -9288933,
+ "75:116": -9288933,
+ "76:116": -9288933,
+ "77:116": -9288933,
+ "78:116": -9288933,
+ "79:116": -9288933,
+ "80:116": -9288933,
+ "81:116": -9288933,
+ "82:116": -9288933,
+ "83:116": -9288933,
+ "84:116": 268435456,
+ "85:116": 402653184,
+ "86:116": 268435456,
+ "87:116": 402653184,
+ "88:116": -5092136,
+ "89:116": -5092136,
+ "90:116": -5092136,
+ "91:116": -5092136,
+ "92:116": -5092136,
+ "93:116": -5092136,
+ "94:116": -5092136,
+ "95:116": -5092136,
+ "96:116": -5092136,
+ "97:116": -5092136,
+ "98:116": -5092136,
+ "99:116": -5092136,
+ "100:116": -5092136,
+ "101:116": -5092136,
+ "102:116": -5092136,
+ "103:116": -5092136,
+ "104:116": -5092136,
+ "105:116": -5092136,
+ "106:116": 268435456,
+ "107:116": 402653184,
+ "108:116": 268435456,
+ "109:116": 402653184,
+ "110:116": 268435456,
+ "111:116": 402653184,
+ "112:116": 268435456,
+ "113:116": 402653184,
+ "114:116": 268435456,
+ "115:116": 402653184,
+ "116:116": 268435456,
+ "117:116": 402653184,
+ "118:116": 268435456,
+ "119:116": 402653184,
+ "120:116": 268435456,
+ "121:116": 402653184,
+ "122:116": 268435456,
+ "123:116": 402653184,
+ "124:116": 268435456,
+ "125:116": 402653184,
+ "126:116": 268435456,
+ "127:116": 402653184,
+ "0:117": 402653184,
+ "1:117": 268435456,
+ "2:117": 402653184,
+ "3:117": 268435456,
+ "4:117": 402653184,
+ "5:117": 268435456,
+ "6:117": 402653184,
+ "7:117": 268435456,
+ "8:117": 402653184,
+ "9:117": 268435456,
+ "10:117": 402653184,
+ "11:117": 268435456,
+ "12:117": 402653184,
+ "13:117": 268435456,
+ "14:117": 402653184,
+ "15:117": 268435456,
+ "16:117": 402653184,
+ "17:117": 268435456,
+ "18:117": 402653184,
+ "19:117": 268435456,
+ "20:117": 402653184,
+ "21:117": 268435456,
+ "22:117": 402653184,
+ "23:117": 268435456,
+ "24:117": 402653184,
+ "25:117": 268435456,
+ "26:117": 402653184,
+ "27:117": 268435456,
+ "28:117": 402653184,
+ "29:117": 268435456,
+ "30:117": 402653184,
+ "31:117": 268435456,
+ "32:117": 402653184,
+ "33:117": 268435456,
+ "34:117": 402653184,
+ "35:117": 268435456,
+ "36:117": 402653184,
+ "37:117": 268435456,
+ "38:117": 402653184,
+ "39:117": 268435456,
+ "40:117": 402653184,
+ "41:117": 268435456,
+ "42:117": 402653184,
+ "43:117": 268435456,
+ "44:117": 402653184,
+ "45:117": 268435456,
+ "46:117": 402653184,
+ "47:117": 268435456,
+ "48:117": 402653184,
+ "49:117": 268435456,
+ "50:117": 402653184,
+ "51:117": 268435456,
+ "52:117": 402653184,
+ "53:117": 268435456,
+ "54:117": 402653184,
+ "55:117": 268435456,
+ "56:117": 402653184,
+ "57:117": 268435456,
+ "58:117": 402653184,
+ "59:117": 268435456,
+ "60:117": 402653184,
+ "61:117": 268435456,
+ "62:117": 402653184,
+ "63:117": 268435456,
+ "64:117": 402653184,
+ "65:117": 268435456,
+ "66:117": 402653184,
+ "67:117": 268435456,
+ "68:117": 402653184,
+ "69:117": 268435456,
+ "70:117": 402653184,
+ "71:117": 268435456,
+ "72:117": 402653184,
+ "73:117": 268435456,
+ "74:117": 402653184,
+ "75:117": 268435456,
+ "76:117": 402653184,
+ "77:117": 268435456,
+ "78:117": 402653184,
+ "79:117": 268435456,
+ "80:117": 402653184,
+ "81:117": 268435456,
+ "82:117": 402653184,
+ "83:117": 268435456,
+ "84:117": 402653184,
+ "85:117": 268435456,
+ "86:117": 402653184,
+ "87:117": 268435456,
+ "88:117": 402653184,
+ "89:117": 268435456,
+ "90:117": 402653184,
+ "91:117": 268435456,
+ "92:117": 402653184,
+ "93:117": 268435456,
+ "94:117": 402653184,
+ "95:117": 268435456,
+ "96:117": 402653184,
+ "97:117": 268435456,
+ "98:117": 402653184,
+ "99:117": 268435456,
+ "100:117": 402653184,
+ "101:117": 268435456,
+ "102:117": 402653184,
+ "103:117": 268435456,
+ "104:117": 402653184,
+ "105:117": 268435456,
+ "106:117": 402653184,
+ "107:117": 268435456,
+ "108:117": 402653184,
+ "109:117": 268435456,
+ "110:117": 402653184,
+ "111:117": 268435456,
+ "112:117": 402653184,
+ "113:117": 268435456,
+ "114:117": 402653184,
+ "115:117": 268435456,
+ "116:117": 402653184,
+ "117:117": 268435456,
+ "118:117": 402653184,
+ "119:117": 268435456,
+ "120:117": 402653184,
+ "121:117": 268435456,
+ "122:117": 402653184,
+ "123:117": 268435456,
+ "124:117": 402653184,
+ "125:117": 268435456,
+ "126:117": 402653184,
+ "127:117": 268435456,
+ "0:118": 268435456,
+ "1:118": 402653184,
+ "2:118": 268435456,
+ "3:118": 402653184,
+ "4:118": 268435456,
+ "5:118": 402653184,
+ "6:118": 268435456,
+ "7:118": 402653184,
+ "8:118": 268435456,
+ "9:118": 402653184,
+ "10:118": 268435456,
+ "11:118": 402653184,
+ "12:118": 268435456,
+ "13:118": 402653184,
+ "14:118": 268435456,
+ "15:118": 402653184,
+ "16:118": 268435456,
+ "17:118": 402653184,
+ "18:118": 268435456,
+ "19:118": 402653184,
+ "20:118": 268435456,
+ "21:118": 402653184,
+ "22:118": 268435456,
+ "23:118": 402653184,
+ "24:118": 268435456,
+ "25:118": 402653184,
+ "26:118": 268435456,
+ "27:118": 402653184,
+ "28:118": 268435456,
+ "29:118": 402653184,
+ "30:118": 268435456,
+ "31:118": 402653184,
+ "32:118": 268435456,
+ "33:118": 402653184,
+ "34:118": 268435456,
+ "35:118": 402653184,
+ "36:118": 268435456,
+ "37:118": 402653184,
+ "38:118": 268435456,
+ "39:118": 402653184,
+ "40:118": 268435456,
+ "41:118": 402653184,
+ "42:118": 268435456,
+ "43:118": 402653184,
+ "44:118": 268435456,
+ "45:118": 402653184,
+ "46:118": 268435456,
+ "47:118": 402653184,
+ "48:118": 268435456,
+ "49:118": 402653184,
+ "50:118": 268435456,
+ "51:118": 402653184,
+ "52:118": 268435456,
+ "53:118": 402653184,
+ "54:118": 268435456,
+ "55:118": 402653184,
+ "56:118": 268435456,
+ "57:118": 402653184,
+ "58:118": 268435456,
+ "59:118": 402653184,
+ "60:118": 268435456,
+ "61:118": 402653184,
+ "62:118": 268435456,
+ "63:118": 402653184,
+ "64:118": 268435456,
+ "65:118": 402653184,
+ "66:118": 268435456,
+ "67:118": 402653184,
+ "68:118": 268435456,
+ "69:118": 402653184,
+ "70:118": 268435456,
+ "71:118": 402653184,
+ "72:118": 268435456,
+ "73:118": 402653184,
+ "74:118": 268435456,
+ "75:118": 402653184,
+ "76:118": 268435456,
+ "77:118": 402653184,
+ "78:118": 268435456,
+ "79:118": 402653184,
+ "80:118": 268435456,
+ "81:118": 402653184,
+ "82:118": 268435456,
+ "83:118": 402653184,
+ "84:118": 268435456,
+ "85:118": 402653184,
+ "86:118": 268435456,
+ "87:118": 402653184,
+ "88:118": 268435456,
+ "89:118": 402653184,
+ "90:118": 268435456,
+ "91:118": 402653184,
+ "92:118": 268435456,
+ "93:118": 402653184,
+ "94:118": 268435456,
+ "95:118": 402653184,
+ "96:118": 268435456,
+ "97:118": 402653184,
+ "98:118": 268435456,
+ "99:118": 402653184,
+ "100:118": 268435456,
+ "101:118": 402653184,
+ "102:118": 268435456,
+ "103:118": 402653184,
+ "104:118": 268435456,
+ "105:118": 402653184,
+ "106:118": 268435456,
+ "107:118": 402653184,
+ "108:118": 268435456,
+ "109:118": 402653184,
+ "110:118": 268435456,
+ "111:118": 402653184,
+ "112:118": 268435456,
+ "113:118": 402653184,
+ "114:118": 268435456,
+ "115:118": 402653184,
+ "116:118": 268435456,
+ "117:118": 402653184,
+ "118:118": 268435456,
+ "119:118": 402653184,
+ "120:118": 268435456,
+ "121:118": 402653184,
+ "122:118": 268435456,
+ "123:118": 402653184,
+ "124:118": 268435456,
+ "125:118": 402653184,
+ "126:118": 268435456,
+ "127:118": 402653184,
+ "0:119": 402653184,
+ "1:119": 268435456,
+ "2:119": 402653184,
+ "3:119": 268435456,
+ "4:119": 402653184,
+ "5:119": 268435456,
+ "6:119": 402653184,
+ "7:119": 268435456,
+ "8:119": 402653184,
+ "9:119": 268435456,
+ "10:119": 402653184,
+ "11:119": 268435456,
+ "12:119": 402653184,
+ "13:119": 268435456,
+ "14:119": 402653184,
+ "15:119": 268435456,
+ "16:119": 402653184,
+ "17:119": 268435456,
+ "18:119": 402653184,
+ "19:119": 268435456,
+ "20:119": 402653184,
+ "21:119": 268435456,
+ "22:119": 402653184,
+ "23:119": 268435456,
+ "24:119": 402653184,
+ "25:119": 268435456,
+ "26:119": 402653184,
+ "27:119": 268435456,
+ "28:119": 402653184,
+ "29:119": 268435456,
+ "30:119": 402653184,
+ "31:119": 268435456,
+ "32:119": 402653184,
+ "33:119": 268435456,
+ "34:119": 402653184,
+ "35:119": 268435456,
+ "36:119": 402653184,
+ "37:119": 268435456,
+ "38:119": 402653184,
+ "39:119": 268435456,
+ "40:119": 402653184,
+ "41:119": 268435456,
+ "42:119": 402653184,
+ "43:119": 268435456,
+ "44:119": 402653184,
+ "45:119": 268435456,
+ "46:119": 402653184,
+ "47:119": 268435456,
+ "48:119": 402653184,
+ "49:119": 268435456,
+ "50:119": 402653184,
+ "51:119": 268435456,
+ "52:119": 402653184,
+ "53:119": 268435456,
+ "54:119": 402653184,
+ "55:119": 268435456,
+ "56:119": 402653184,
+ "57:119": 268435456,
+ "58:119": 402653184,
+ "59:119": 268435456,
+ "60:119": 402653184,
+ "61:119": 268435456,
+ "62:119": 402653184,
+ "63:119": 268435456,
+ "64:119": 402653184,
+ "65:119": 268435456,
+ "66:119": 402653184,
+ "67:119": 268435456,
+ "68:119": 402653184,
+ "69:119": 268435456,
+ "70:119": 402653184,
+ "71:119": 268435456,
+ "72:119": 402653184,
+ "73:119": 268435456,
+ "74:119": 402653184,
+ "75:119": 268435456,
+ "76:119": 402653184,
+ "77:119": 268435456,
+ "78:119": 402653184,
+ "79:119": 268435456,
+ "80:119": 402653184,
+ "81:119": 268435456,
+ "82:119": 402653184,
+ "83:119": 268435456,
+ "84:119": 402653184,
+ "85:119": 268435456,
+ "86:119": 402653184,
+ "87:119": 268435456,
+ "88:119": 402653184,
+ "89:119": 268435456,
+ "90:119": 402653184,
+ "91:119": 268435456,
+ "92:119": 402653184,
+ "93:119": 268435456,
+ "94:119": 402653184,
+ "95:119": 268435456,
+ "96:119": 402653184,
+ "97:119": 268435456,
+ "98:119": 402653184,
+ "99:119": 268435456,
+ "100:119": 402653184,
+ "101:119": 268435456,
+ "102:119": 402653184,
+ "103:119": 268435456,
+ "104:119": 402653184,
+ "105:119": 268435456,
+ "106:119": 402653184,
+ "107:119": 268435456,
+ "108:119": 402653184,
+ "109:119": 268435456,
+ "110:119": 402653184,
+ "111:119": 268435456,
+ "112:119": 402653184,
+ "113:119": 268435456,
+ "114:119": 402653184,
+ "115:119": 268435456,
+ "116:119": 402653184,
+ "117:119": 268435456,
+ "118:119": 402653184,
+ "119:119": 268435456,
+ "120:119": 402653184,
+ "121:119": 268435456,
+ "122:119": 402653184,
+ "123:119": 268435456,
+ "124:119": 402653184,
+ "125:119": 268435456,
+ "126:119": 402653184,
+ "127:119": 268435456,
+ "0:120": 268435456,
+ "1:120": 402653184,
+ "2:120": 268435456,
+ "3:120": 402653184,
+ "4:120": 268435456,
+ "5:120": 402653184,
+ "6:120": 268435456,
+ "7:120": 402653184,
+ "8:120": 268435456,
+ "9:120": 402653184,
+ "10:120": 268435456,
+ "11:120": 402653184,
+ "12:120": 268435456,
+ "13:120": 402653184,
+ "14:120": 268435456,
+ "15:120": 402653184,
+ "16:120": 268435456,
+ "17:120": 402653184,
+ "18:120": 268435456,
+ "19:120": 402653184,
+ "20:120": 268435456,
+ "21:120": 402653184,
+ "22:120": 268435456,
+ "23:120": 402653184,
+ "24:120": 268435456,
+ "25:120": 402653184,
+ "26:120": 268435456,
+ "27:120": 402653184,
+ "28:120": 268435456,
+ "29:120": 402653184,
+ "30:120": 268435456,
+ "31:120": 402653184,
+ "32:120": 268435456,
+ "33:120": 402653184,
+ "34:120": 268435456,
+ "35:120": 402653184,
+ "36:120": 268435456,
+ "37:120": 402653184,
+ "38:120": 268435456,
+ "39:120": 402653184,
+ "40:120": 268435456,
+ "41:120": 402653184,
+ "42:120": 268435456,
+ "43:120": 402653184,
+ "44:120": 268435456,
+ "45:120": 402653184,
+ "46:120": 268435456,
+ "47:120": 402653184,
+ "48:120": 268435456,
+ "49:120": 402653184,
+ "50:120": 268435456,
+ "51:120": 402653184,
+ "52:120": 268435456,
+ "53:120": 402653184,
+ "54:120": 268435456,
+ "55:120": 402653184,
+ "56:120": 268435456,
+ "57:120": 402653184,
+ "58:120": 268435456,
+ "59:120": 402653184,
+ "60:120": 268435456,
+ "61:120": 402653184,
+ "62:120": 268435456,
+ "63:120": 402653184,
+ "64:120": 268435456,
+ "65:120": 402653184,
+ "66:120": 268435456,
+ "67:120": 402653184,
+ "68:120": 268435456,
+ "69:120": 402653184,
+ "70:120": 268435456,
+ "71:120": 402653184,
+ "72:120": 268435456,
+ "73:120": 402653184,
+ "74:120": 268435456,
+ "75:120": 402653184,
+ "76:120": 268435456,
+ "77:120": 402653184,
+ "78:120": 268435456,
+ "79:120": 402653184,
+ "80:120": 268435456,
+ "81:120": 402653184,
+ "82:120": 268435456,
+ "83:120": 402653184,
+ "84:120": 268435456,
+ "85:120": 402653184,
+ "86:120": 268435456,
+ "87:120": 402653184,
+ "88:120": 268435456,
+ "89:120": 402653184,
+ "90:120": 268435456,
+ "91:120": 402653184,
+ "92:120": 268435456,
+ "93:120": 402653184,
+ "94:120": 268435456,
+ "95:120": 402653184,
+ "96:120": 268435456,
+ "97:120": 402653184,
+ "98:120": 268435456,
+ "99:120": 402653184,
+ "100:120": 268435456,
+ "101:120": 402653184,
+ "102:120": 268435456,
+ "103:120": 402653184,
+ "104:120": 268435456,
+ "105:120": 402653184,
+ "106:120": 268435456,
+ "107:120": 402653184,
+ "108:120": 268435456,
+ "109:120": 402653184,
+ "110:120": 268435456,
+ "111:120": 402653184,
+ "112:120": 268435456,
+ "113:120": 402653184,
+ "114:120": 268435456,
+ "115:120": 402653184,
+ "116:120": 268435456,
+ "117:120": 402653184,
+ "118:120": 268435456,
+ "119:120": 402653184,
+ "120:120": 268435456,
+ "121:120": 402653184,
+ "122:120": 268435456,
+ "123:120": 402653184,
+ "124:120": 268435456,
+ "125:120": 402653184,
+ "126:120": 268435456,
+ "127:120": 402653184,
+ "0:121": 402653184,
+ "1:121": 268435456,
+ "2:121": 402653184,
+ "3:121": 268435456,
+ "4:121": 402653184,
+ "5:121": 268435456,
+ "6:121": 402653184,
+ "7:121": 268435456,
+ "8:121": 402653184,
+ "9:121": 268435456,
+ "10:121": 402653184,
+ "11:121": 268435456,
+ "12:121": 402653184,
+ "13:121": 268435456,
+ "14:121": 402653184,
+ "15:121": 268435456,
+ "16:121": 402653184,
+ "17:121": 268435456,
+ "18:121": 402653184,
+ "19:121": 268435456,
+ "20:121": 402653184,
+ "21:121": 268435456,
+ "22:121": 402653184,
+ "23:121": 268435456,
+ "24:121": 402653184,
+ "25:121": 268435456,
+ "26:121": 402653184,
+ "27:121": 268435456,
+ "28:121": 402653184,
+ "29:121": 268435456,
+ "30:121": 402653184,
+ "31:121": 268435456,
+ "32:121": 402653184,
+ "33:121": 268435456,
+ "34:121": 402653184,
+ "35:121": 268435456,
+ "36:121": 402653184,
+ "37:121": 268435456,
+ "38:121": 402653184,
+ "39:121": 268435456,
+ "40:121": 402653184,
+ "41:121": 268435456,
+ "42:121": 402653184,
+ "43:121": 268435456,
+ "44:121": 402653184,
+ "45:121": 268435456,
+ "46:121": 402653184,
+ "47:121": 268435456,
+ "48:121": 402653184,
+ "49:121": 268435456,
+ "50:121": 402653184,
+ "51:121": 268435456,
+ "52:121": 402653184,
+ "53:121": 268435456,
+ "54:121": 402653184,
+ "55:121": 268435456,
+ "56:121": 402653184,
+ "57:121": 268435456,
+ "58:121": 402653184,
+ "59:121": 268435456,
+ "60:121": 402653184,
+ "61:121": 268435456,
+ "62:121": 402653184,
+ "63:121": 268435456,
+ "64:121": 402653184,
+ "65:121": 268435456,
+ "66:121": 402653184,
+ "67:121": 268435456,
+ "68:121": 402653184,
+ "69:121": 268435456,
+ "70:121": 402653184,
+ "71:121": 268435456,
+ "72:121": 402653184,
+ "73:121": 268435456,
+ "74:121": 402653184,
+ "75:121": 268435456,
+ "76:121": 402653184,
+ "77:121": 268435456,
+ "78:121": 402653184,
+ "79:121": 268435456,
+ "80:121": 402653184,
+ "81:121": 268435456,
+ "82:121": 402653184,
+ "83:121": 268435456,
+ "84:121": 402653184,
+ "85:121": 268435456,
+ "86:121": 402653184,
+ "87:121": 268435456,
+ "88:121": 402653184,
+ "89:121": 268435456,
+ "90:121": 402653184,
+ "91:121": 268435456,
+ "92:121": 402653184,
+ "93:121": 268435456,
+ "94:121": 402653184,
+ "95:121": 268435456,
+ "96:121": 402653184,
+ "97:121": 268435456,
+ "98:121": 402653184,
+ "99:121": 268435456,
+ "100:121": 402653184,
+ "101:121": 268435456,
+ "102:121": 402653184,
+ "103:121": 268435456,
+ "104:121": 402653184,
+ "105:121": 268435456,
+ "106:121": 402653184,
+ "107:121": 268435456,
+ "108:121": 402653184,
+ "109:121": 268435456,
+ "110:121": 402653184,
+ "111:121": 268435456,
+ "112:121": 402653184,
+ "113:121": 268435456,
+ "114:121": 402653184,
+ "115:121": 268435456,
+ "116:121": 402653184,
+ "117:121": 268435456,
+ "118:121": 402653184,
+ "119:121": 268435456,
+ "120:121": 402653184,
+ "121:121": 268435456,
+ "122:121": 402653184,
+ "123:121": 268435456,
+ "124:121": 402653184,
+ "125:121": 268435456,
+ "126:121": 402653184,
+ "127:121": 268435456,
+ "0:122": 268435456,
+ "1:122": 402653184,
+ "2:122": 268435456,
+ "3:122": 402653184,
+ "4:122": 268435456,
+ "5:122": 402653184,
+ "6:122": 268435456,
+ "7:122": 402653184,
+ "8:122": 268435456,
+ "9:122": 402653184,
+ "10:122": 268435456,
+ "11:122": 402653184,
+ "12:122": 268435456,
+ "13:122": 402653184,
+ "14:122": 268435456,
+ "15:122": 402653184,
+ "16:122": 268435456,
+ "17:122": 402653184,
+ "18:122": 268435456,
+ "19:122": 402653184,
+ "20:122": 268435456,
+ "21:122": 402653184,
+ "22:122": 268435456,
+ "23:122": 402653184,
+ "24:122": 268435456,
+ "25:122": 402653184,
+ "26:122": 268435456,
+ "27:122": 402653184,
+ "28:122": 268435456,
+ "29:122": 402653184,
+ "30:122": 268435456,
+ "31:122": 402653184,
+ "32:122": 268435456,
+ "33:122": 402653184,
+ "34:122": 268435456,
+ "35:122": 402653184,
+ "36:122": 268435456,
+ "37:122": 402653184,
+ "38:122": 268435456,
+ "39:122": 402653184,
+ "40:122": 268435456,
+ "41:122": 402653184,
+ "42:122": 268435456,
+ "43:122": 402653184,
+ "44:122": 268435456,
+ "45:122": 402653184,
+ "46:122": 268435456,
+ "47:122": 402653184,
+ "48:122": 268435456,
+ "49:122": 402653184,
+ "50:122": 268435456,
+ "51:122": 402653184,
+ "52:122": 268435456,
+ "53:122": 402653184,
+ "54:122": 268435456,
+ "55:122": 402653184,
+ "56:122": 268435456,
+ "57:122": 402653184,
+ "58:122": 268435456,
+ "59:122": 402653184,
+ "60:122": 268435456,
+ "61:122": 402653184,
+ "62:122": 268435456,
+ "63:122": 402653184,
+ "64:122": 268435456,
+ "65:122": 402653184,
+ "66:122": 268435456,
+ "67:122": 402653184,
+ "68:122": 268435456,
+ "69:122": 402653184,
+ "70:122": 268435456,
+ "71:122": 402653184,
+ "72:122": 268435456,
+ "73:122": 402653184,
+ "74:122": 268435456,
+ "75:122": 402653184,
+ "76:122": 268435456,
+ "77:122": 402653184,
+ "78:122": 268435456,
+ "79:122": 402653184,
+ "80:122": 268435456,
+ "81:122": 402653184,
+ "82:122": 268435456,
+ "83:122": 402653184,
+ "84:122": 268435456,
+ "85:122": 402653184,
+ "86:122": 268435456,
+ "87:122": 402653184,
+ "88:122": 268435456,
+ "89:122": 402653184,
+ "90:122": 268435456,
+ "91:122": 402653184,
+ "92:122": 268435456,
+ "93:122": 402653184,
+ "94:122": 268435456,
+ "95:122": 402653184,
+ "96:122": 268435456,
+ "97:122": 402653184,
+ "98:122": 268435456,
+ "99:122": 402653184,
+ "100:122": 268435456,
+ "101:122": 402653184,
+ "102:122": 268435456,
+ "103:122": 402653184,
+ "104:122": 268435456,
+ "105:122": 402653184,
+ "106:122": 268435456,
+ "107:122": 402653184,
+ "108:122": 268435456,
+ "109:122": 402653184,
+ "110:122": 268435456,
+ "111:122": 402653184,
+ "112:122": 268435456,
+ "113:122": 402653184,
+ "114:122": 268435456,
+ "115:122": 402653184,
+ "116:122": 268435456,
+ "117:122": 402653184,
+ "118:122": 268435456,
+ "119:122": 402653184,
+ "120:122": 268435456,
+ "121:122": 402653184,
+ "122:122": 268435456,
+ "123:122": 402653184,
+ "124:122": 268435456,
+ "125:122": 402653184,
+ "126:122": 268435456,
+ "127:122": 402653184,
+ "0:123": 402653184,
+ "1:123": 268435456,
+ "2:123": 402653184,
+ "3:123": 268435456,
+ "4:123": 402653184,
+ "5:123": 268435456,
+ "6:123": 402653184,
+ "7:123": 268435456,
+ "8:123": 402653184,
+ "9:123": 268435456,
+ "10:123": 402653184,
+ "11:123": 268435456,
+ "12:123": 402653184,
+ "13:123": 268435456,
+ "14:123": 402653184,
+ "15:123": 268435456,
+ "16:123": 402653184,
+ "17:123": 268435456,
+ "18:123": 402653184,
+ "19:123": 268435456,
+ "20:123": 402653184,
+ "21:123": 268435456,
+ "22:123": 402653184,
+ "23:123": 268435456,
+ "24:123": 402653184,
+ "25:123": 268435456,
+ "26:123": 402653184,
+ "27:123": 268435456,
+ "28:123": 402653184,
+ "29:123": 268435456,
+ "30:123": 402653184,
+ "31:123": 268435456,
+ "32:123": 402653184,
+ "33:123": 268435456,
+ "34:123": 402653184,
+ "35:123": 268435456,
+ "36:123": 402653184,
+ "37:123": 268435456,
+ "38:123": 402653184,
+ "39:123": 268435456,
+ "40:123": 402653184,
+ "41:123": 268435456,
+ "42:123": 402653184,
+ "43:123": 268435456,
+ "44:123": 402653184,
+ "45:123": 268435456,
+ "46:123": 402653184,
+ "47:123": 268435456,
+ "48:123": 402653184,
+ "49:123": 268435456,
+ "50:123": 402653184,
+ "51:123": 268435456,
+ "52:123": 402653184,
+ "53:123": 268435456,
+ "54:123": 402653184,
+ "55:123": 268435456,
+ "56:123": 402653184,
+ "57:123": 268435456,
+ "58:123": 402653184,
+ "59:123": 268435456,
+ "60:123": 402653184,
+ "61:123": 268435456,
+ "62:123": 402653184,
+ "63:123": 268435456,
+ "64:123": 402653184,
+ "65:123": 268435456,
+ "66:123": 402653184,
+ "67:123": 268435456,
+ "68:123": 402653184,
+ "69:123": 268435456,
+ "70:123": 402653184,
+ "71:123": 268435456,
+ "72:123": 402653184,
+ "73:123": 268435456,
+ "74:123": 402653184,
+ "75:123": 268435456,
+ "76:123": 402653184,
+ "77:123": 268435456,
+ "78:123": 402653184,
+ "79:123": 268435456,
+ "80:123": 402653184,
+ "81:123": 268435456,
+ "82:123": 402653184,
+ "83:123": 268435456,
+ "84:123": 402653184,
+ "85:123": 268435456,
+ "86:123": 402653184,
+ "87:123": 268435456,
+ "88:123": 402653184,
+ "89:123": 268435456,
+ "90:123": 402653184,
+ "91:123": 268435456,
+ "92:123": 402653184,
+ "93:123": 268435456,
+ "94:123": 402653184,
+ "95:123": 268435456,
+ "96:123": 402653184,
+ "97:123": 268435456,
+ "98:123": 402653184,
+ "99:123": 268435456,
+ "100:123": 402653184,
+ "101:123": 268435456,
+ "102:123": 402653184,
+ "103:123": 268435456,
+ "104:123": 402653184,
+ "105:123": 268435456,
+ "106:123": 402653184,
+ "107:123": 268435456,
+ "108:123": 402653184,
+ "109:123": 268435456,
+ "110:123": 402653184,
+ "111:123": 268435456,
+ "112:123": 402653184,
+ "113:123": 268435456,
+ "114:123": 402653184,
+ "115:123": 268435456,
+ "116:123": 402653184,
+ "117:123": 268435456,
+ "118:123": 402653184,
+ "119:123": 268435456,
+ "120:123": 402653184,
+ "121:123": 268435456,
+ "122:123": 402653184,
+ "123:123": 268435456,
+ "124:123": 402653184,
+ "125:123": 268435456,
+ "126:123": 402653184,
+ "127:123": 268435456,
+ "0:124": 268435456,
+ "1:124": 402653184,
+ "2:124": 268435456,
+ "3:124": 402653184,
+ "4:124": 268435456,
+ "5:124": 402653184,
+ "6:124": 268435456,
+ "7:124": 402653184,
+ "8:124": 268435456,
+ "9:124": 402653184,
+ "10:124": 268435456,
+ "11:124": 402653184,
+ "12:124": 268435456,
+ "13:124": 402653184,
+ "14:124": 268435456,
+ "15:124": 402653184,
+ "16:124": 268435456,
+ "17:124": 402653184,
+ "18:124": 268435456,
+ "19:124": 402653184,
+ "20:124": 268435456,
+ "21:124": 402653184,
+ "22:124": 268435456,
+ "23:124": 402653184,
+ "24:124": 268435456,
+ "25:124": 402653184,
+ "26:124": 268435456,
+ "27:124": 402653184,
+ "28:124": 268435456,
+ "29:124": 402653184,
+ "30:124": 268435456,
+ "31:124": 402653184,
+ "32:124": 268435456,
+ "33:124": 402653184,
+ "34:124": 268435456,
+ "35:124": 402653184,
+ "36:124": 268435456,
+ "37:124": 402653184,
+ "38:124": 268435456,
+ "39:124": 402653184,
+ "40:124": 268435456,
+ "41:124": 402653184,
+ "42:124": 268435456,
+ "43:124": 402653184,
+ "44:124": 268435456,
+ "45:124": 402653184,
+ "46:124": 268435456,
+ "47:124": 402653184,
+ "48:124": 268435456,
+ "49:124": 402653184,
+ "50:124": 268435456,
+ "51:124": 402653184,
+ "52:124": 268435456,
+ "53:124": 402653184,
+ "54:124": 268435456,
+ "55:124": 402653184,
+ "56:124": 268435456,
+ "57:124": 402653184,
+ "58:124": 268435456,
+ "59:124": 402653184,
+ "60:124": 268435456,
+ "61:124": 402653184,
+ "62:124": 268435456,
+ "63:124": 402653184,
+ "64:124": 268435456,
+ "65:124": 402653184,
+ "66:124": 268435456,
+ "67:124": 402653184,
+ "68:124": 268435456,
+ "69:124": 402653184,
+ "70:124": 268435456,
+ "71:124": 402653184,
+ "72:124": 268435456,
+ "73:124": 402653184,
+ "74:124": 268435456,
+ "75:124": 402653184,
+ "76:124": 268435456,
+ "77:124": 402653184,
+ "78:124": 268435456,
+ "79:124": 402653184,
+ "80:124": 268435456,
+ "81:124": 402653184,
+ "82:124": 268435456,
+ "83:124": 402653184,
+ "84:124": 268435456,
+ "85:124": 402653184,
+ "86:124": 268435456,
+ "87:124": 402653184,
+ "88:124": 268435456,
+ "89:124": 402653184,
+ "90:124": 268435456,
+ "91:124": 402653184,
+ "92:124": 268435456,
+ "93:124": 402653184,
+ "94:124": 268435456,
+ "95:124": 402653184,
+ "96:124": 268435456,
+ "97:124": 402653184,
+ "98:124": 268435456,
+ "99:124": 402653184,
+ "100:124": 268435456,
+ "101:124": 402653184,
+ "102:124": 268435456,
+ "103:124": 402653184,
+ "104:124": 268435456,
+ "105:124": 402653184,
+ "106:124": 268435456,
+ "107:124": 402653184,
+ "108:124": 268435456,
+ "109:124": 402653184,
+ "110:124": 268435456,
+ "111:124": 402653184,
+ "112:124": 268435456,
+ "113:124": 402653184,
+ "114:124": 268435456,
+ "115:124": 402653184,
+ "116:124": 268435456,
+ "117:124": 402653184,
+ "118:124": 268435456,
+ "119:124": 402653184,
+ "120:124": 268435456,
+ "121:124": 402653184,
+ "122:124": 268435456,
+ "123:124": 402653184,
+ "124:124": 268435456,
+ "125:124": 402653184,
+ "126:124": 268435456,
+ "127:124": 402653184,
+ "0:125": 402653184,
+ "1:125": 268435456,
+ "2:125": 402653184,
+ "3:125": 268435456,
+ "4:125": 402653184,
+ "5:125": 268435456,
+ "6:125": 402653184,
+ "7:125": 268435456,
+ "8:125": 402653184,
+ "9:125": 268435456,
+ "10:125": 402653184,
+ "11:125": 268435456,
+ "12:125": 402653184,
+ "13:125": 268435456,
+ "14:125": 402653184,
+ "15:125": 268435456,
+ "16:125": 402653184,
+ "17:125": 268435456,
+ "18:125": 402653184,
+ "19:125": 268435456,
+ "20:125": 402653184,
+ "21:125": 268435456,
+ "22:125": 402653184,
+ "23:125": 268435456,
+ "24:125": 402653184,
+ "25:125": 268435456,
+ "26:125": 402653184,
+ "27:125": 268435456,
+ "28:125": 402653184,
+ "29:125": 268435456,
+ "30:125": 402653184,
+ "31:125": 268435456,
+ "32:125": 402653184,
+ "33:125": 268435456,
+ "34:125": 402653184,
+ "35:125": 268435456,
+ "36:125": 402653184,
+ "37:125": 268435456,
+ "38:125": 402653184,
+ "39:125": 268435456,
+ "40:125": 402653184,
+ "41:125": 268435456,
+ "42:125": 402653184,
+ "43:125": 268435456,
+ "44:125": 402653184,
+ "45:125": 268435456,
+ "46:125": 402653184,
+ "47:125": 268435456,
+ "48:125": 402653184,
+ "49:125": 268435456,
+ "50:125": 402653184,
+ "51:125": 268435456,
+ "52:125": 402653184,
+ "53:125": 268435456,
+ "54:125": 402653184,
+ "55:125": 268435456,
+ "56:125": 402653184,
+ "57:125": 268435456,
+ "58:125": 402653184,
+ "59:125": 268435456,
+ "60:125": 402653184,
+ "61:125": 268435456,
+ "62:125": 402653184,
+ "63:125": 268435456,
+ "64:125": 402653184,
+ "65:125": 268435456,
+ "66:125": 402653184,
+ "67:125": 268435456,
+ "68:125": 402653184,
+ "69:125": 268435456,
+ "70:125": 402653184,
+ "71:125": 268435456,
+ "72:125": 402653184,
+ "73:125": 268435456,
+ "74:125": 402653184,
+ "75:125": 268435456,
+ "76:125": 402653184,
+ "77:125": 268435456,
+ "78:125": 402653184,
+ "79:125": 268435456,
+ "80:125": 402653184,
+ "81:125": 268435456,
+ "82:125": 402653184,
+ "83:125": 268435456,
+ "84:125": 402653184,
+ "85:125": 268435456,
+ "86:125": 402653184,
+ "87:125": 268435456,
+ "88:125": 402653184,
+ "89:125": 268435456,
+ "90:125": 402653184,
+ "91:125": 268435456,
+ "92:125": 402653184,
+ "93:125": 268435456,
+ "94:125": 402653184,
+ "95:125": 268435456,
+ "96:125": 402653184,
+ "97:125": 268435456,
+ "98:125": 402653184,
+ "99:125": 268435456,
+ "100:125": 402653184,
+ "101:125": 268435456,
+ "102:125": 402653184,
+ "103:125": 268435456,
+ "104:125": 402653184,
+ "105:125": 268435456,
+ "106:125": 402653184,
+ "107:125": 268435456,
+ "108:125": 402653184,
+ "109:125": 268435456,
+ "110:125": 402653184,
+ "111:125": 268435456,
+ "112:125": 402653184,
+ "113:125": 268435456,
+ "114:125": 402653184,
+ "115:125": 268435456,
+ "116:125": 402653184,
+ "117:125": 268435456,
+ "118:125": 402653184,
+ "119:125": 268435456,
+ "120:125": 402653184,
+ "121:125": 268435456,
+ "122:125": 402653184,
+ "123:125": 268435456,
+ "124:125": 402653184,
+ "125:125": 268435456,
+ "126:125": 402653184,
+ "127:125": 268435456,
+ "0:126": 268435456,
+ "1:126": 402653184,
+ "2:126": 268435456,
+ "3:126": 402653184,
+ "4:126": 268435456,
+ "5:126": 402653184,
+ "6:126": 268435456,
+ "7:126": 402653184,
+ "8:126": 268435456,
+ "9:126": 402653184,
+ "10:126": 268435456,
+ "11:126": 402653184,
+ "12:126": 268435456,
+ "13:126": 402653184,
+ "14:126": 268435456,
+ "15:126": 402653184,
+ "16:126": 268435456,
+ "17:126": 402653184,
+ "18:126": 268435456,
+ "19:126": 402653184,
+ "20:126": 268435456,
+ "21:126": 402653184,
+ "22:126": 268435456,
+ "23:126": 402653184,
+ "24:126": 268435456,
+ "25:126": 402653184,
+ "26:126": 268435456,
+ "27:126": 402653184,
+ "28:126": 268435456,
+ "29:126": 402653184,
+ "30:126": 268435456,
+ "31:126": 402653184,
+ "32:126": 268435456,
+ "33:126": 402653184,
+ "34:126": 268435456,
+ "35:126": 402653184,
+ "36:126": 268435456,
+ "37:126": 402653184,
+ "38:126": 268435456,
+ "39:126": 402653184,
+ "40:126": 268435456,
+ "41:126": 402653184,
+ "42:126": 268435456,
+ "43:126": 402653184,
+ "44:126": 268435456,
+ "45:126": 402653184,
+ "46:126": 268435456,
+ "47:126": 402653184,
+ "48:126": 268435456,
+ "49:126": 402653184,
+ "50:126": 268435456,
+ "51:126": 402653184,
+ "52:126": 268435456,
+ "53:126": 402653184,
+ "54:126": 268435456,
+ "55:126": 402653184,
+ "56:126": 268435456,
+ "57:126": 402653184,
+ "58:126": 268435456,
+ "59:126": 402653184,
+ "60:126": 268435456,
+ "61:126": 402653184,
+ "62:126": 268435456,
+ "63:126": 402653184,
+ "64:126": 268435456,
+ "65:126": 402653184,
+ "66:126": 268435456,
+ "67:126": 402653184,
+ "68:126": 268435456,
+ "69:126": 402653184,
+ "70:126": 268435456,
+ "71:126": 402653184,
+ "72:126": 268435456,
+ "73:126": 402653184,
+ "74:126": 268435456,
+ "75:126": 402653184,
+ "76:126": 268435456,
+ "77:126": 402653184,
+ "78:126": 268435456,
+ "79:126": 402653184,
+ "80:126": 268435456,
+ "81:126": 402653184,
+ "82:126": 268435456,
+ "83:126": 402653184,
+ "84:126": 268435456,
+ "85:126": 402653184,
+ "86:126": 268435456,
+ "87:126": 402653184,
+ "88:126": 268435456,
+ "89:126": 402653184,
+ "90:126": 268435456,
+ "91:126": 402653184,
+ "92:126": 268435456,
+ "93:126": 402653184,
+ "94:126": 268435456,
+ "95:126": 402653184,
+ "96:126": 268435456,
+ "97:126": 402653184,
+ "98:126": 268435456,
+ "99:126": 402653184,
+ "100:126": 268435456,
+ "101:126": 402653184,
+ "102:126": 268435456,
+ "103:126": 402653184,
+ "104:126": 268435456,
+ "105:126": 402653184,
+ "106:126": 268435456,
+ "107:126": 402653184,
+ "108:126": 268435456,
+ "109:126": 402653184,
+ "110:126": 268435456,
+ "111:126": 402653184,
+ "112:126": 268435456,
+ "113:126": 402653184,
+ "114:126": 268435456,
+ "115:126": 402653184,
+ "116:126": 268435456,
+ "117:126": 402653184,
+ "118:126": 268435456,
+ "119:126": 402653184,
+ "120:126": 268435456,
+ "121:126": 402653184,
+ "122:126": 268435456,
+ "123:126": 402653184,
+ "124:126": 268435456,
+ "125:126": 402653184,
+ "126:126": 268435456,
+ "127:126": 402653184,
+ "0:127": 402653184,
+ "1:127": 268435456,
+ "2:127": 402653184,
+ "3:127": 268435456,
+ "4:127": 402653184,
+ "5:127": 268435456,
+ "6:127": 402653184,
+ "7:127": 268435456,
+ "8:127": 402653184,
+ "9:127": 268435456,
+ "10:127": 402653184,
+ "11:127": 268435456,
+ "12:127": 402653184,
+ "13:127": 268435456,
+ "14:127": 402653184,
+ "15:127": 268435456,
+ "16:127": 402653184,
+ "17:127": 268435456,
+ "18:127": 402653184,
+ "19:127": 268435456,
+ "20:127": 402653184,
+ "21:127": 268435456,
+ "22:127": 402653184,
+ "23:127": 268435456,
+ "24:127": 402653184,
+ "25:127": 268435456,
+ "26:127": 402653184,
+ "27:127": 268435456,
+ "28:127": 402653184,
+ "29:127": 268435456,
+ "30:127": 402653184,
+ "31:127": 268435456,
+ "32:127": 402653184,
+ "33:127": 268435456,
+ "34:127": 402653184,
+ "35:127": 268435456,
+ "36:127": 402653184,
+ "37:127": 268435456,
+ "38:127": 402653184,
+ "39:127": 268435456,
+ "40:127": 402653184,
+ "41:127": 268435456,
+ "42:127": 402653184,
+ "43:127": 268435456,
+ "44:127": 402653184,
+ "45:127": 268435456,
+ "46:127": 402653184,
+ "47:127": 268435456,
+ "48:127": 402653184,
+ "49:127": 268435456,
+ "50:127": 402653184,
+ "51:127": 268435456,
+ "52:127": 402653184,
+ "53:127": 268435456,
+ "54:127": 402653184,
+ "55:127": 268435456,
+ "56:127": 402653184,
+ "57:127": 268435456,
+ "58:127": 402653184,
+ "59:127": 268435456,
+ "60:127": 402653184,
+ "61:127": 268435456,
+ "62:127": 402653184,
+ "63:127": 268435456,
+ "64:127": 402653184,
+ "65:127": 268435456,
+ "66:127": 402653184,
+ "67:127": 268435456,
+ "68:127": 402653184,
+ "69:127": 268435456,
+ "70:127": 402653184,
+ "71:127": 268435456,
+ "72:127": 402653184,
+ "73:127": 268435456,
+ "74:127": 402653184,
+ "75:127": 268435456,
+ "76:127": 402653184,
+ "77:127": 268435456,
+ "78:127": 402653184,
+ "79:127": 268435456,
+ "80:127": 402653184,
+ "81:127": 268435456,
+ "82:127": 402653184,
+ "83:127": 268435456,
+ "84:127": 402653184,
+ "85:127": 268435456,
+ "86:127": 402653184,
+ "87:127": 268435456,
+ "88:127": 402653184,
+ "89:127": 268435456,
+ "90:127": 402653184,
+ "91:127": 268435456,
+ "92:127": 402653184,
+ "93:127": 268435456,
+ "94:127": 402653184,
+ "95:127": 268435456,
+ "96:127": 402653184,
+ "97:127": 268435456,
+ "98:127": 402653184,
+ "99:127": 268435456,
+ "100:127": 402653184,
+ "101:127": 268435456,
+ "102:127": 402653184,
+ "103:127": 268435456,
+ "104:127": 402653184,
+ "105:127": 268435456,
+ "106:127": 402653184,
+ "107:127": 268435456,
+ "108:127": 402653184,
+ "109:127": 268435456,
+ "110:127": 402653184,
+ "111:127": 268435456,
+ "112:127": 402653184,
+ "113:127": 268435456,
+ "114:127": 402653184,
+ "115:127": 268435456,
+ "116:127": 402653184,
+ "117:127": 268435456,
+ "118:127": 402653184,
+ "119:127": 268435456,
+ "120:127": 402653184,
+ "121:127": 268435456,
+ "122:127": 402653184,
+ "123:127": 268435456,
+ "124:127": 402653184,
+ "125:127": 268435456,
+ "126:127": 402653184,
+ "127:127": 268435456
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.fsh b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.fsh
new file mode 100644
index 00000000..c7bcfb0f
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.fsh
@@ -0,0 +1,32 @@
+#version 120
+
+uniform sampler2D DiffuseSampler;
+
+uniform float radiusSq = 0.5f;
+
+uniform vec2 InSize;
+uniform vec2 OutSize;
+
+varying vec2 texCoord;
+
+void main() {
+ if(radiusSq < 0.5 && (texCoord.s-0.5)*(texCoord.s-0.5)+(texCoord.t-0.5)*(texCoord.t-0.5) > radiusSq) {
+ discard;
+ }
+
+ /*float totalAlpha = 0.0f;
+ vec3 accum = vec3(0.0);
+
+ for(int x = -1; x<3; x++) {
+ for(int y = -1; y<3; y++) {
+ vec4 pixel = texture2D(DiffuseSampler, texCoord+vec2(x, y)/InSize);
+
+ accum += pixel.rgb * pixel.a;
+ totalAlpha += pixel.a;
+ }
+ }
+ gl_FragColor.a = totalAlpha/4*4;
+ gl_FragColor.rgb = accum/4*4;*/
+
+ gl_FragColor = texture2D(DiffuseSampler, texCoord);
+} \ No newline at end of file
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json
new file mode 100644
index 00000000..bb41ffd5
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.json
@@ -0,0 +1,19 @@
+{
+ "blend": {
+ "func": "add",
+ "srcrgb": "srcalpha",
+ "dstrgb": "1-srcalpha"
+ },
+ "vertex": "dungeonmap",
+ "fragment": "dungeonmap",
+ "attributes": [ "Position" ],
+ "samplers": [
+ { "name": "DiffuseSampler" }
+ ],
+ "uniforms": [
+ { "name": "ProjMat", "type": "matrix4x4", "count": 16, "values": [ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0 ] },
+ { "name": "OutSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
+ { "name": "InSize", "type": "float", "count": 2, "values": [ 1.0, 1.0 ] },
+ { "name": "radiusSq", "type": "float", "count": 1, "values": [ 1.0 ] }
+ ]
+}
diff --git a/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.vsh b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.vsh
new file mode 100644
index 00000000..01a16db5
--- /dev/null
+++ b/src/main/resources/assets/notenoughupdates/shaders/program/dungeonmap.vsh
@@ -0,0 +1,16 @@
+#version 120
+
+attribute vec4 Position;
+
+uniform mat4 ProjMat;
+uniform vec2 OutSize;
+
+varying vec2 texCoord;
+
+void main(){
+ vec4 outPos = ProjMat * vec4(Position.xy, 0.0, 1.0);
+ gl_Position = vec4(outPos.xy, 0.2, 1.0);
+
+ texCoord = Position.xy / OutSize;
+ texCoord.y = 1.0 - texCoord.y;
+}