Skip to content

Instantly share code, notes, and snippets.

@suresh88
Created August 20, 2020 20:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suresh88/e76df4d74c4d199883499554093dbe13 to your computer and use it in GitHub Desktop.
Save suresh88/e76df4d74c4d199883499554093dbe13 to your computer and use it in GitHub Desktop.
PyTorch Tutorial
# Default ignored files
/shelf/
/workspace.xml
<component name="InspectionProjectProfileManager">
<settings>
<option name="USE_PROJECT_PROFILE" value="false" />
<version value="1.0" />
</settings>
</component>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (pytorch)" project-jdk-type="Python SDK" />
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/tutorial.iml" filepath="$PROJECT_DIR$/.idea/tutorial.iml" />
</modules>
</component>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="RSettings" path="/usr/bin/R" />
</project>
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ChangeListManager">
<list default="true" id="fa336cf1-a152-4b59-bfdf-53a55370857f" name="Default Changelist" comment="" />
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
<option name="HIGHLIGHT_NON_ACTIVE_CHANGELIST" value="false" />
<option name="LAST_RESOLUTION" value="IGNORE" />
</component>
<component name="FileTemplateManagerImpl">
<option name="RECENT_TEMPLATES">
<list>
<option value="Python Script" />
</list>
</option>
</component>
<component name="ProjectId" id="1a2CwBrxgx3OI0v4ld7caJSA3LP" />
<component name="ProjectViewState">
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">
<property name="RunOnceActivity.ShowReadmeOnStart" value="true" />
<property name="last_opened_file_path" value="$PROJECT_DIR$/../../dl/rnn" />
<property name="settings.editor.selected.configurable" value="org.jetbrains.plugins.github.ui.GithubSettingsConfigurable" />
</component>
<component name="RunManager" selected="Python.15_transfer_learning2">
<configuration name="11_ce" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tutorial" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/11_ce.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="13_feedforward" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tutorial" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/13_feedforward.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="14_cnn" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tutorial" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/14_cnn.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="15_transfer_learning" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tutorial" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/15_transfer_learning.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="15_transfer_learning2" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="tutorial" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
<envs>
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/15_transfer_learning2.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
<option name="MODULE_MODE" value="false" />
<option name="REDIRECT_INPUT" value="false" />
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.15_transfer_learning2" />
<item itemvalue="Python.14_cnn" />
<item itemvalue="Python.15_transfer_learning" />
<item itemvalue="Python.13_feedforward" />
<item itemvalue="Python.11_ce" />
</list>
</recent_temporary>
</component>
<component name="SpellCheckerSettings" RuntimeDictionaries="0" Folders="0" CustomDictionaries="0" DefaultDictionary="application-level" UseSingleDictionary="true" transferred="true" />
<component name="SvnConfiguration">
<configuration />
</component>
<component name="TaskManager">
<task active="true" id="Default" summary="Default task">
<changelist id="fa336cf1-a152-4b59-bfdf-53a55370857f" name="Default Changelist" comment="" />
<created>1585924537736</created>
<option name="number" value="Default" />
<option name="presentableId" value="Default" />
<updated>1585924537736</updated>
</task>
<servers />
</component>
<component name="WindowStateProjectService">
<state x="358" y="103" key="SettingsEditor" timestamp="1597953939439">
<screen x="67" y="34" width="1853" height="1046" />
</state>
<state x="358" y="103" key="SettingsEditor/67.34.1853.1046@67.34.1853.1046" timestamp="1597953939439" />
</component>
</project>
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import numpy as np
X = np.array([1, 2, 3, 4], dtype=np.float32)
Y = np.array([2, 4, 6, 8], dtype=np.float32)
w = 0.0
# model prediction
def forward(x):
return w * x
# loss = MSE
def loss(y, y_predicted):
return ((y_predicted - y) ** 2).mean()
# gradient
# MSE = 1/N * (w*x - y)**2
# dJ/dw = 1/N 2x (w*x - y)
def gradient(x, y, y_predicted):
return np.dot(2*x, y_predicted - y).mean()
print(f'Prediction before training: f(5) = {forward(5):.3f}')
# training
learning_rate = 0.01
n_iters = 20
for epoch in range(n_iters):
# prediction
y_pred = forward(X)
# loss
l = loss(Y, y_pred)
# gradients
dw = gradient(X, Y, y_pred)
# update weights
w -= learning_rate * dw
if epoch % 2 == 0:
print(f'epoch {epoch+1}: w = {w:.3f}, loss = {l:.8f}')
print(f'Prediction after training: f(5) = {forward(5):.3f}')
import numpy as np
import torch
X = torch.tensor([1, 2, 3, 4], dtype=torch.float32)
Y = torch.tensor([2, 4, 6, 8], dtype=torch.float32)
w = torch.tensor(0.0, dtype=torch.float32, requires_grad=True)
# model prediction
def forward(x):
return w * x
# loss = MSE
def loss(y, y_predicted):
return ((y_predicted - y) ** 2).mean()
print(f'Prediction before training: f(5) = {forward(5):.3f}')
# training
learning_rate = 0.01
n_iters = 100
for epoch in range(n_iters):
# prediction
y_pred = forward(X)
# loss
l = loss(Y, y_pred)
# gradients
l.backward() #dl/dw
# update weights
with torch.no_grad():
w -= learning_rate * w.grad
# zero gradients
w.grad.zero_()
if epoch % 10 == 0:
print(f'epoch {epoch+1}: w = {w:.3f}, loss = {l:.8f}')
print(f'Prediction after training: f(5) = {forward(5):.3f}')
# 1) Design model (input, output size, forward pass)
# 2) construct loss and optimizer
# 3) Training loop
# -- forward pass: compute prediction
# -- backward pass: gradients
# -- update weights
import torch
import torch.nn as nn
X = torch.tensor([[1], [2], [3], [4]], dtype=torch.float32)
Y = torch.tensor([[2], [4], [6], [8]], dtype=torch.float32)
X_test = torch.tensor([5], dtype = torch.float32)
n_samples, n_features = X.shape
print(n_samples, n_features)
input_size = n_features
output_size = n_features
#model = nn.Linear(input_size, output_size)
class LinearRegression(nn.Module):
def __init__(self, input_dim, output_dim):
super(LinearRegression, self).__init__()
#define layers
self.lin = nn.Linear(input_dim, output_dim)
def forward(self, x):
return self.lin(x)
model = LinearRegression(input_size, output_size)
print(f'Prediction before training: f(5) = {model(X_test).item():.3f}')
# training
learning_rate = 0.01
n_iters = 100
loss = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
for epoch in range(n_iters):
# prediction
y_pred = model(X)
# loss
l = loss(Y, y_pred)
# gradients
l.backward() #dl/dw
# update weights
optimizer.step()
# zero gradients
optimizer.zero_grad()
if epoch % 10 == 0:
w, b = model.parameters()
print(f'epoch {epoch+1}: w = {w[0][0].item():.3f}, loss = {l:.8f}')
print(f'Prediction after training: f(5) = {model(X_test).item():.3f}')
# 1) Design model (input, output size, forward pass)
# 2) construct loss and optimizer
# 3) Training loop
# -- forward pass: compute prediction
# -- backward pass: gradients
# -- update weights
import torch
import torch.nn as nn
import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
# 0) prepare data
X_numpy, y_numpy = datasets.make_regression(n_samples = 100, n_features = 1, noise = 20, random_state = 1)
# cast to float Tensor
X = torch.from_numpy(X_numpy.astype(np.float32))
y = torch.from_numpy(y_numpy.astype(np.float32))
y = y.view(y.shape[0], 1)
n_samples, n_features = X.shape
# 1) model
input_size = n_features
output_size = 1
model= nn.Linear(input_size, output_size)
# 2) loss and optimizer
learning_rate = 0.01
criterion = nn.MSELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
# 3) training loop
num_epochs = 100
for epoch in range(num_epochs):
# forward pass and loss
y_predicted = model(X)
loss = criterion(y_predicted, y)
# backward pass
loss.backward()
# update
optimizer.step()
optimizer.zero_grad()
if (epoch+1) % 10 == 0:
print(f'epoch: {epoch+1}, loss = {loss.item}:.4f')
# plot
predicted = model(X).detach().numpy()
plt.plot(X_numpy, y_numpy, 'ro')
plt.plot(X_numpy, predicted, 'b')
plt.show()
# 1) Design model (input, output size, forward pass)
# 2) construct loss and optimizer
# 3) Training loop
# -- forward pass: compute prediction
# -- backward pass: gradients
# -- update weights
import torch
import torch.nn as nn
import numpy as np
from sklearn import datasets
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
# 0) prepare the data
bc = datasets.load_breast_cancer()
X, y = bc.data, bc.target
n_samples, n_features = X.shape
print(n_samples, n_features)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=1234)
# scale
sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)
X_train = torch.from_numpy(X_train.astype(np.float32))
X_test = torch.from_numpy(X_test.astype(np.float32))
y_train = torch.from_numpy(y_train.astype(np.float32))
y_test = torch.from_numpy(y_test.astype(np.float32))
y_train = y_train.view(y_train.shape[0], 1)
y_test = y_test.view(y_test.shape[0], 1)
# 1) model
# f = wx + b, sigmoid at the end
class LogisticRegression(nn.Module):
def __init__(self, n_input_features):
super(LogisticRegression, self).__init__()
self.linear = nn.Linear(n_input_features, 1)
def forward(self, x):
y_predicted = torch.sigmoid(self.linear(x))
return y_predicted
model = LogisticRegression(n_features)
# 2) loss and optimizer
learning_rate = 0.01
criterion = nn.BCELoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
# 3) training loop
num_epochs = 200
for epoch in range(num_epochs):
# forward pass and loss
y_predicted = model(X_train)
loss = criterion(y_predicted, y_train)
# backward
loss.backward()
# update
optimizer.step()
# zero gradients
optimizer.zero_grad()
if (epoch + 1) % 10 == 0:
print(f'epoch: {epoch + 1}, loss = {loss.item():.4f}')
with torch.no_grad():
y_predicted = model(X_test)
y_predicted_cls = y_predicted.round()
acc = y_predicted_cls.eq(y_test).sum() / float(y_test.shape[0])
print(f'accuracy = {acc:.4f}')
import torch
import torchvision
from torch.utils.data import Dataset, DataLoader
import numpy as np
import math
class WineDataset(Dataset):
def __init__(self):
# data loading
xy = np.loadtxt('./data/wine.csv', delimiter=",", dtype=np.float32, skiprows=1)
self.x = torch.from_numpy(xy[:, 1:])
self.y = torch.from_numpy(xy[:, [0]]) # n_samples, 1
self.n_samples = xy.shape[0]
def __getitem__(self, index):
return self.x[index], self.y[index]
def __len__(self):
return self.n_samples
dataset = WineDataset()
first_data = dataset[0]
features, labels = first_data
print(features, labels)
print("-------------------------------------------------------------")
dataloder = DataLoader(dataset=dataset, batch_size=4, shuffle=True, num_workers=2)
dataiter = iter(dataloder)
data = dataiter.next()
features, labels = data
print(features, labels)
print("--------------------------------------------------------------")
# training loop
n_epochs = 2
total_samples = len(dataset)
n_iterations = math.ceil(total_samples/4)
print(total_samples, n_iterations)
for epoch in range(n_epochs):
for i, (inputs, labels) in enumerate(dataloder):
# forward, backward, update
if (i+1) % 5 == 0:
print(f'epoch {epoch+1}/{n_epochs}, step {i+1}/{n_iterations}, inputs {inputs.shape}')
import torch
import torchvision
from torch.utils.data import Dataset, DataLoader
import numpy as np
import math
class WineDataset(Dataset):
def __init__(self, transform = None):
# data loading
xy = np.loadtxt('./data/wine.csv', delimiter=",", dtype=np.float32, skiprows=1)
self.n_samples = xy.shape[0]
# note that we do not convert to tensor here
self.x = xy[:, 0:]
self.y = xy[:, [-1]]
self.transform = transform
def __getitem__(self, index):
sample = self.x[index], self.y[index]
if self.transform:
sample = self.transform(sample)
return sample
def __len__(self):
return self.n_samples
class ToTensor:
def __call__(self, sample):
inputs, targets = sample
return torch.from_numpy(inputs), torch.from_numpy(targets)
class MulTransform:
def __init__(self, factor):
self.factor = factor
def __call__(self, sample):
inputs, target = sample
inputs *= self.factor
return inputs, target
dataset = WineDataset(transform=None)
first_data = dataset[0]
features, labels = first_data
print(type(features), type(labels))
print(features)
composed = torchvision.transforms.Compose([ToTensor(), MulTransform(4)])
dataset = WineDataset(transform=composed)
first_data = dataset[0]
features, labels = first_data
print(type(features), type(labels))
print(features)
import torch
import torch.nn as nn
import numpy as np
def cross_entropy(actual, predicted):
loss = -np.sum(actual * np.log(predicted))
return loss
# y must be one hot encoded
# if class 0: [1 0 0]
# if class 1: [0 1 0]
# if class 2: [0 0 1]
Y = np.array([1, 0, 0])
# y_pred has probabilities
Y_pred_good = np.array([0.7, 0.2, 0.1])
Y_pred_bad = np.array([0.1, 0.3, 0.6])
l1 = cross_entropy(Y, Y_pred_good)
l2 = cross_entropy(Y, Y_pred_bad)
print(f'Loss1 numpy: {l1:.4f}')
print(f'Loss2 numpy: {l2:.4f}')
print("===== Using PyTorch =====")
loss = nn.CrossEntropyLoss()
# 3 samples
Y = torch.tensor([2, 0, 1])
# nsamples x nclasses = 3x3
Y_pred_good = torch.tensor([[0.1, 1.0, 2.0], [2.0, 1.0, 0.1], [0.1, 3.0, 0.1]])
Y_pred_bad = torch.tensor([[0.5, 2.0, 0.3], [0.2, 1.0, 3.0], [2.0, 0.2, 2.0]])
l1 = loss(Y_pred_good, Y)
l2 = loss(Y_pred_bad, Y)
print(l1.item())
print(l2.item())
_, predictions1 = torch.max(Y_pred_good, 1)
_, predictions2 = torch.max(Y_pred_bad, 1)
print(predictions1)
print(predictions2)
import torch
import torch.nn as nn
import numpy as np
def softmax(x):
return np.exp(x) / np.sum(np.exp(x), axis = 0)
x = np.array([2.0, 1.0, 0.1])
outputs = softmax(x)
print(outputs)
x = torch.tensor([2.0, 1.0, 0.1])
outputs = torch.softmax(x, dim = 0)
print(outputs )
import torch
import torch.nn as nn
import torch.nn.functional as F
# option 1 (create nn modules)
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size):
super(NeuralNet, self).__init__()
self.linear1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.linear2 = nn.Linear(hidden_size, 1)
self.sigmoid = nn.Sigmoid()
def forward(self, x):
out = self.linear1(x)
out = self.relu(out)
out = self.linear2(out)
out = self.sigmoid(out)
return out
# option 2 (use activation functions directly in forward pass
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size):
super(NeuralNet, self).__init__()
self.linear1 = nn.Linear(input_size, hidden_size)
self.linear2 = nn.Linear(hidden_size, 1)
def forward(self, x):
out = torch.relu(self.linear1(x))
out = torch.sigmoid(self.linear2(out))
return out
# MNIST
# DataLoader, Transformation
# Multilayer Neural Net, activation function
# Loss and Optimizer
# Training Loop (batch training)
# Model evaluation
# GPU support
import torch
import torch.nn as nn
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
# device config
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# hyper parameters
input_size = 784 # 28X28
hidden_size = 100
num_classes = 10
num_epochs = 2
batch_size = 100
learning_rate = 0.001
# MNIST
train_dataset = torchvision.datasets.MNIST(root = './data', train = True, transform=transforms.ToTensor(), download=True)
test_dataset = torchvision.datasets.MNIST(root = './data', train = False, transform=transforms.ToTensor())
train_loader = torch.utils.data.DataLoader(dataset = train_dataset, batch_size = batch_size, shuffle = True)
test_loater = torch.utils.data.DataLoader(dataset = test_dataset, batch_size = batch_size)
examples = iter(train_loader)
samples, labels = examples.next()
print(samples.size(), labels.size())
for i in range(6):
plt.subplot(2, 3, i+1)
plt.imshow(samples[i][0], cmap = 'gray')
plt.show()
class NeuralNet(nn.Module):
def __init__(self, input_size, hidden_size, num_classes):
super(NeuralNet, self).__init__()
self.l1 = nn.Linear(input_size, hidden_size)
self.relu = nn.ReLU()
self.l2 = nn.Linear(hidden_size, num_classes)
def forward(self, x):
out = self.l1(x)
out = self.relu(out)
out = self.l2(out)
return out
model = NeuralNet(input_size, hidden_size, num_classes)
# loss and optimizer
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.Adam(model.parameters(), lr = learning_rate)
# training loop
n_total_steps = len(train_loader)
for epoch in range(num_epochs):
for i, (images, labels) in enumerate(train_loader):
# 100, 1, 28, 28
# 100, 784
images = images.reshape(-1, 28*28).to(device)
labels = labels.to(device)
# forward
outputs = model(images)
loss = criterion(outputs, labels)
# backward
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (i + 1)% 100 == 0:
print(f'epoch {epoch+1} / {num_epochs}, step {i + 1} / {n_total_steps}, loss = {loss.item():.4f}')
# testing
with torch.no_grad():
n_correct = 0
n_samples = 0
for images, labels in test_loater:
images = images.reshape(-1, 28 * 28).to(device)
labels = labels.to(device)
outputs = model(images)
# value, index
_, predictions = torch.max(outputs, 1)
n_samples += labels.shape[0]
n_correct += (predictions == labels).sum().item()
acc = 100.0 * n_correct/ n_samples
print(f'accuracy = {acc}')
import torch
import torch.nn as nn
import torch.nn.functional as F
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np
# Device configuration
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
# Hyper-parameters
num_epochs = 5
batch_size = 4
learning_rate = 0.001
# dataset has PILImage images of range [0, 1].
# We transform them to Tensors of normalized range [-1, 1]
transform = transforms.Compose(
[transforms.ToTensor(),
transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
# CIFAR10: 60000 32x32 color images in 10 classes, with 6000 images per class
train_dataset = torchvision.datasets.CIFAR10(root='./data', train=True,
download=True, transform=transform)
test_dataset = torchvision.datasets.CIFAR10(root='./data', train=False,
download=True, transform=transform)
train_loader = torch.utils.data.DataLoader(train_dataset, batch_size=batch_size,
shuffle=True)
test_loader = torch.utils.data.DataLoader(test_dataset, batch_size=batch_size,
shuffle=False)
classes = ('plane', 'car', 'bird', 'cat',
'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
def imshow(img):
img = img / 2 + 0.5 # unnormalize
npimg = img.numpy()
plt.imshow(np.transpose(npimg, (1, 2, 0)))
plt.show()
# get some random training images
dataiter = iter(train_loader)
images, labels = dataiter.next()
# show images
imshow(torchvision.utils.make_grid(images))
class ConvNet(nn.Module):
def __init__(self):
super(ConvNet, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
# -> n, 3, 32, 32
x = self.pool(F.relu(self.conv1(x))) # -> n, 6, 14, 14
x = self.pool(F.relu(self.conv2(x))) # -> n, 16, 5, 5
x = x.view(-1, 16 * 5 * 5) # -> n, 400
x = F.relu(self.fc1(x)) # -> n, 120
x = F.relu(self.fc2(x)) # -> n, 84
x = self.fc3(x) # -> n, 10
return x
model = ConvNet().to(device)
criterion = nn.CrossEntropyLoss()
optimizer = torch.optim.SGD(model.parameters(), lr=learning_rate)
n_total_steps = len(train_loader)
for epoch in range(num_epochs):
for i, (images, labels) in enumerate(train_loader):
# origin shape: [4, 3, 32, 32] = 4, 3, 1024
# input_layer: 3 input channels, 6 output channels, 5 kernel size
images = images.to(device)
labels = labels.to(device)
# Forward pass
outputs = model(images)
loss = criterion(outputs, labels)
# Backward and optimize
optimizer.zero_grad()
loss.backward()
optimizer.step()
if (i + 1) % 2000 == 0:
print(f'Epoch [{epoch + 1}/{num_epochs}], Step [{i + 1}/{n_total_steps}], Loss: {loss.item():.4f}')
print('Finished Training')
PATH = './cnn.pth'
torch.save(model.state_dict(), PATH)
with torch.no_grad():
n_correct = 0
n_samples = 0
n_class_correct = [0 for i in range(10)]
n_class_samples = [0 for i in range(10)]
for images, labels in test_loader:
images = images.to(device)
labels = labels.to(device)
outputs = model(images)
# max returns (value ,index)
_, predicted = torch.max(outputs, 1)
n_samples += labels.size(0)
n_correct += (predicted == labels).sum().item()
for i in range(batch_size):
label = labels[i]
pred = predicted[i]
if (label == pred):
n_class_correct[label] += 1
n_class_samples[label] += 1
acc = 100.0 * n_correct / n_samples
print(f'Accuracy of the network: {acc} %')
for i in range(10):
acc = 100.0 * n_class_correct[i] / n_class_samples[i]
print(f'Accuracy of {classes[i]}: {acc} %')
# ImageFolder
# Scheduler
# Transfer Learning
import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim import lr_scheduler
import numpy as np
import torchvision
from torchvision import datasets, models, transforms
import matplotlib.pyplot as plt
import time
import os
import copy
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
mean = np.array([0.485, 0.456, 0.406])
std = np.array([0.229, 0.224, 0.225])
data_transforms = {
'train': transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean, std)
]),
'val': transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean, std)
]),
}
# import data
data_dir = 'data/hymenoptera_data'
sets = ['train', 'val']
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x), data_transforms[x]) for x in ['train', 'val']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size = 4, shuffle = True, num_workers = 0) for x in ['train', 'val']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}
class_names = image_datasets['train'].classes
print(class_names)
def train_model(model, criterion, optimizer, scheduler, num_epochs = 25):
since = time.time()
best_model_wts = copy.deepcopy(model.state_dict())
best_acc = 0.0
for epoch in range(num_epochs):
print(f'Epoch {epoch}/{num_epochs-1}')
print('-' * 10)
# Each epoch has a training and validation phase
for phase in ['train', 'val']:
if phase == 'train':
model.train() # Set model to training mode
else:
model.eval() # Set model to evaluate mode
running_loss = 0.0
running_corrects = 0
# Iterate over data
for inputs, labels in datasets[phase]:
inputs = inputs.to(device)
labels = labels.to(device)
# forward
# track history if only in train
with torch.set_grad_enabled(phase == 'train'):
outputs = model(inputs)
_, preds = torch.max(outputs, 1)
loss = criterion(outputs, labels)
# backward + optimize if only in training phase
if phase == 'train':
optimizer.zero_grad()
labels.backward()
optimizer.step()
# statistics
running_loss += loss.item() * inputs.size(0)
running_corrects += torch.sum(preds == labels.data)
if phase == 'train':
scheduler.step()
epoch_loss = runnig_loss / datasets_size[phase]
epoch_acc = running_corrects.double() / dataset_sizes[phase]
print(f'{phase} Loss: {epoch_loss:.4f} Acc: {epoch_acc:.4f}')
# deep copy of the model
if phase == 'val' and epoch_acc > best_acc:
best_acc = epoch_acc
best_model_wts = copy.deepcopy(model.state_dict())
print()
time_elapsed = time.time() - since
print(f'Training complete in {time_elapsed//60:.0f}m {time_elapsed%60:.0f}s')
print(f'Best val Acc: {best_acc:4f}')
# load best model weights
model.load_state_dict(best_model_wts)
return model
model = models.resnet18(pretrained=True)
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, 2)
model.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr = 0.001)
# scheduler
step_lr_scheduler = lr_scheduler.StepLR(optimizer, step_size=7, gamma=0.1)
model = train_model(model, criterion, optimizer, scheduler, num_epochs=20)
#####
model = models.resnet18(pretrained=True)
for param in model.parameters():
param.requires_grad = False
num_ftrs = model.fc.in_features
model.fc = nn.Linear(num_ftrs, 2)
model.to(device)
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(model.parameters(), lr=0.001)
# scheduler
step_lr_scheduler = lr_scheduler.StepLR(optimizer, step_size=7, gamma=0.1)
model = train_model(model, criterion, optimizer, scheduler, num_epochs=20)
import torch
import torch.nn as nn
import torch.optim as optim
from torch.optim import lr_scheduler
import numpy as np
import torchvision
from torchvision import datasets, models, transforms
import matplotlib.pyplot as plt
import time
import os
import copy
mean = np.array([0.5, 0.5, 0.5])
std = np.array([0.25, 0.25, 0.25])
data_transforms = {
'train': transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(mean, std)
]),
'val': transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(mean, std)
]),
}
data_dir = 'data/hymenoptera_data'
image_datasets = {x: datasets.ImageFolder(os.path.join(data_dir, x),
data_transforms[x])
for x in ['train', 'val']}
dataloaders = {x: torch.utils.data.DataLoader(image_datasets[x], batch_size=4,
shuffle=True, num_workers=0)
for x in ['train', 'val']}
dataset_sizes = {x: len(image_datasets[x]) for x in ['train', 'val']}
class_names = image_datasets['train'].classes
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
print(class_names)
def imshow(inp, title):
"""Imshow for Tensor."""
inp = inp.numpy().transpose((1, 2, 0))
inp = std * inp + mean
inp = np.clip(inp, 0, 1)
plt.imshow(inp)
plt.title(title)
plt.show()
# Get a batch of training data
inputs, classes = next(iter(dataloaders['train']))
# Make a grid from batch
out = torchvision.utils.make_grid(inputs)
imshow(out, title=[class_names[x] for x in classes])
def train_model(model, criterion, optimizer, scheduler, num_epochs=25):
since = time.time()
best_model_wts = copy.deepcopy(model.state_dict())
best_acc = 0.0
for epoch in range(num_epochs):
print('Epoch {}/{}'.format(epoch, num_epochs - 1))
print('-' * 10)
# Each epoch has a training and validation phase
for phase in ['train', 'val']:
if phase == 'train':
model.train() # Set model to training mode
else:
model.eval() # Set model to evaluate mode
running_loss = 0.0
running_corrects = 0
# Iterate over data.
for inputs, labels in dataloaders[phase]:
inputs = inputs.to(device)
labels = labels.to(device)
# forward
# track history if only in train
with torch.set_grad_enabled(phase == 'train'):
outputs = model(inputs)
_, preds = torch.max(outputs, 1)
loss = criterion(outputs, labels)
# backward + optimize only if in training phase
if phase == 'train':
optimizer.zero_grad()
loss.backward()
optimizer.step()
# statistics
running_loss += loss.item() * inputs.size(0)
running_corrects += torch.sum(preds == labels.data)
if phase == 'train':
scheduler.step()
epoch_loss = running_loss / dataset_sizes[phase]
epoch_acc = running_corrects.double() / dataset_sizes[phase]
print('{} Loss: {:.4f} Acc: {:.4f}'.format(
phase, epoch_loss, epoch_acc))
# deep copy the model
if phase == 'val' and epoch_acc > best_acc:
best_acc = epoch_acc
best_model_wts = copy.deepcopy(model.state_dict())
print()
time_elapsed = time.time() - since
print('Training complete in {:.0f}m {:.0f}s'.format(
time_elapsed // 60, time_elapsed % 60))
print('Best val Acc: {:4f}'.format(best_acc))
# load best model weights
model.load_state_dict(best_model_wts)
return model
#### Finetuning the convnet ####
# Load a pretrained model and reset final fully connected layer.
model = models.resnet18(pretrained=True)
num_ftrs = model.fc.in_features
# Here the size of each output sample is set to 2.
# Alternatively, it can be generalized to nn.Linear(num_ftrs, len(class_names)).
model.fc = nn.Linear(num_ftrs, 2)
model = model.to(device)
criterion = nn.CrossEntropyLoss()
# Observe that all parameters are being optimized
optimizer = optim.SGD(model.parameters(), lr=0.001)
# StepLR Decays the learning rate of each parameter group by gamma every step_size epochs
# Decay LR by a factor of 0.1 every 7 epochs
# Learning rate scheduling should be applied after optimizer’s update
# e.g., you should write your code this way:
# for epoch in range(100):
# train(...)
# validate(...)
# scheduler.step()
step_lr_scheduler = lr_scheduler.StepLR(optimizer, step_size=7, gamma=0.1)
model = train_model(model, criterion, optimizer, step_lr_scheduler, num_epochs=25)
#### ConvNet as fixed feature extractor ####
# Here, we need to freeze all the network except the final layer.
# We need to set requires_grad == False to freeze the parameters so that the gradients are not computed in backward()
model_conv = torchvision.models.resnet18(pretrained=True)
for param in model_conv.parameters():
param.requires_grad = False
# Parameters of newly constructed modules have requires_grad=True by default
num_ftrs = model_conv.fc.in_features
model_conv.fc = nn.Linear(num_ftrs, 2)
model_conv = model_conv.to(device)
criterion = nn.CrossEntropyLoss()
# Observe that only parameters of final layer are being optimized as
# opposed to before.
optimizer_conv = optim.SGD(model_conv.fc.parameters(), lr=0.001, momentum=0.9)
# Decay LR by a factor of 0.1 every 7 epochs
exp_lr_scheduler = lr_scheduler.StepLR(optimizer_conv, step_size=7, gamma=0.1)
model_conv = train_model(model_conv, criterion, optimizer_conv,
exp_lr_scheduler, num_epochs=25)
import torch
import torchvision
import torchvision.transforms as transforms
import matplotlib.pyplot as plt
import numpy as np
import torch.nn as nn
import torch.nn.functional as F
import torch.optim as optim
transform = transforms.Compose([transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])
trainset = torchvision.datasets.CIFAR10(root = './data', train = True, download = True, transform = transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size = 4, shuffle = True, num_workers = 2)
testset = torchvision.datasets.CIFAR10(root = './data', train = False, download = True, transform = transform)
testloader = torch.utils.data.DataLoader(testset, batch_size = 4, shuffle = False, num_workers = 2)
classes = ('plane', 'car', 'bird', 'cat', 'deer', 'dog', 'frog', 'horse', 'ship', 'truck')
# functions to show an image
def imshow(img):
img = img / 2 + 0.5 #unnormalize
npimg = img.numpy()
plt.imshow(np.transpose(npimg, (1, 2, 0)))
plt.show()
# get some random training images
dataiter = iter(trainloader)
images, labels = dataiter.next()
# show images
imshow(torchvision.utils.make_grid(images))
# printlabels
print(' '.join('%5s' % classes[labels[j]] for j in range(4)))
## define a CNN
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
self.conv1 = nn.Conv2d(3, 6, 5)
self.pool = nn.MaxPool2d(2, 2)
self.conv2 = nn.Conv2d(6, 16, 5)
self.fc1 = nn.Linear(16 * 5 * 5, 120)
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
x = self.pool(F.relu(self.conv1(x)))
x = self.pool(F.relu(self.conv2(x)))
x = x.view(-1, 16 * 5 * 5)
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
net = Net()
## Define a Loss function and optimizer
criterion = nn.CrossEntropyLoss()
optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9)
## Train the network
for epoch in range(2): # loop over the dataset multiple times
running_loss = 0.0
for i, data in enumerate(trainloader, 0):
# get the inputs; data is a list of [inputs, labels]
inputs, labels = data
# zero the parameter gradients
optimizer.zero_grad()
# forward + backward + optimize
outputs = net(inputs)
loss = criterion(outputs, labels)
loss.backward()
optimizer.step()
# print statistics
running_loss += loss.item()
if i % 2000 == 1999: # print every 2000 mini-batches
print('[%d, %5d] loss: %.3f' %
(epoch + 1, i + 1, running_loss / 2000))
running_loss = 0.0
print('Finished Training')
# lets quickly save our trained model
PATH = './cifar_net.pth'
torch.save(net.state_dict(), PATH)
## test the network on test data
dataiter = iter(testloader)
images, labels = dataiter.next()
# print images
imshow(torchvision.utils.make_grid(images))
print('GroundTruth: ', ' '.join('%5s' % classes[labels[j]] for j in range(4)))
# load the saved model
net = Net()
net.load_state_dict(torch.load(PATH))
outputs = net(images)
_, predicted = torch.max(outputs, 1)
print('Predicted: ', ' '.join('%5s' % classes[predicted[j]] for j in range(4)))
# let us see how the network performs on whole data
correct = 0
total = 0
with torch.no_grad():
for data in testloader:
images, labels = data
outputs = net(images)
_, predicted = torch.max(outputs.data, 1)
total += labels.size(0)
correct += (predicted == labels).sum().item()
print('Accuracy of the network on the 10000 test images: %d %%' % (100 * correct / total))
# what classes performed well and what did not
class_correct = list(0. for i in range(10))
class_total = list(0. for i in range(10))
with torch.no_grad():
for data in testloader:
images, labels = data
outputs = net(images)
_, predicted = torch.max(outputs, 1)
c = (predicted == labels).squeeze()
print("====================================================")
print(c)
for i in range(4):
label = labels[i]
class_correct[label] += c[i].item()
class_total[label] += 1
for i in range(10):
print('Accuracy of %5s : %2d %%' % (classes[i], 100 * class_correct[i] / class_total[i]))
import json
import tempfile
import numpy as np
import copy
import time
import torch
import torch._six
from pycocotools.cocoeval import COCOeval
from pycocotools.coco import COCO
import pycocotools.mask as mask_util
from collections import defaultdict
import utils
class CocoEvaluator(object):
def __init__(self, coco_gt, iou_types):
assert isinstance(iou_types, (list, tuple))
coco_gt = copy.deepcopy(coco_gt)
self.coco_gt = coco_gt
self.iou_types = iou_types
self.coco_eval = {}
for iou_type in iou_types:
self.coco_eval[iou_type] = COCOeval(coco_gt, iouType=iou_type)
self.img_ids = []
self.eval_imgs = {k: [] for k in iou_types}
def update(self, predictions):
img_ids = list(np.unique(list(predictions.keys())))
self.img_ids.extend(img_ids)
for iou_type in self.iou_types:
results = self.prepare(predictions, iou_type)
coco_dt = loadRes(self.coco_gt, results) if results else COCO()
coco_eval = self.coco_eval[iou_type]
coco_eval.cocoDt = coco_dt
coco_eval.params.imgIds = list(img_ids)
img_ids, eval_imgs = evaluate(coco_eval)
self.eval_imgs[iou_type].append(eval_imgs)
def synchronize_between_processes(self):
for iou_type in self.iou_types:
self.eval_imgs[iou_type] = np.concatenate(self.eval_imgs[iou_type], 2)
create_common_coco_eval(self.coco_eval[iou_type], self.img_ids, self.eval_imgs[iou_type])
def accumulate(self):
for coco_eval in self.coco_eval.values():
coco_eval.accumulate()
def summarize(self):
for iou_type, coco_eval in self.coco_eval.items():
print("IoU metric: {}".format(iou_type))
coco_eval.summarize()
def prepare(self, predictions, iou_type):
if iou_type == "bbox":
return self.prepare_for_coco_detection(predictions)
elif iou_type == "segm":
return self.prepare_for_coco_segmentation(predictions)
elif iou_type == "keypoints":
return self.prepare_for_coco_keypoint(predictions)
else:
raise ValueError("Unknown iou type {}".format(iou_type))
def prepare_for_coco_detection(self, predictions):
coco_results = []
for original_id, prediction in predictions.items():
if len(prediction) == 0:
continue
boxes = prediction["boxes"]
boxes = convert_to_xywh(boxes).tolist()
scores = prediction["scores"].tolist()
labels = prediction["labels"].tolist()
coco_results.extend(
[
{
"image_id": original_id,
"category_id": labels[k],
"bbox": box,
"score": scores[k],
}
for k, box in enumerate(boxes)
]
)
return coco_results
def prepare_for_coco_segmentation(self, predictions):
coco_results = []
for original_id, prediction in predictions.items():
if len(prediction) == 0:
continue
scores = prediction["scores"]
labels = prediction["labels"]
masks = prediction["masks"]
masks = masks > 0.5
scores = prediction["scores"].tolist()
labels = prediction["labels"].tolist()
rles = [
mask_util.encode(np.array(mask[0, :, :, np.newaxis], dtype=np.uint8, order="F"))[0]
for mask in masks
]
for rle in rles:
rle["counts"] = rle["counts"].decode("utf-8")
coco_results.extend(
[
{
"image_id": original_id,
"category_id": labels[k],
"segmentation": rle,
"score": scores[k],
}
for k, rle in enumerate(rles)
]
)
return coco_results
def prepare_for_coco_keypoint(self, predictions):
coco_results = []
for original_id, prediction in predictions.items():
if len(prediction) == 0:
continue
boxes = prediction["boxes"]
boxes = convert_to_xywh(boxes).tolist()
scores = prediction["scores"].tolist()
labels = prediction["labels"].tolist()
keypoints = prediction["keypoints"]
keypoints = keypoints.flatten(start_dim=1).tolist()
coco_results.extend(
[
{
"image_id": original_id,
"category_id": labels[k],
'keypoints': keypoint,
"score": scores[k],
}
for k, keypoint in enumerate(keypoints)
]
)
return coco_results
def convert_to_xywh(boxes):
xmin, ymin, xmax, ymax = boxes.unbind(1)
return torch.stack((xmin, ymin, xmax - xmin, ymax - ymin), dim=1)
def merge(img_ids, eval_imgs):
all_img_ids = utils.all_gather(img_ids)
all_eval_imgs = utils.all_gather(eval_imgs)
merged_img_ids = []
for p in all_img_ids:
merged_img_ids.extend(p)
merged_eval_imgs = []
for p in all_eval_imgs:
merged_eval_imgs.append(p)
merged_img_ids = np.array(merged_img_ids)
merged_eval_imgs = np.concatenate(merged_eval_imgs, 2)
# keep only unique (and in sorted order) images
merged_img_ids, idx = np.unique(merged_img_ids, return_index=True)
merged_eval_imgs = merged_eval_imgs[..., idx]
return merged_img_ids, merged_eval_imgs
def create_common_coco_eval(coco_eval, img_ids, eval_imgs):
img_ids, eval_imgs = merge(img_ids, eval_imgs)
img_ids = list(img_ids)
eval_imgs = list(eval_imgs.flatten())
coco_eval.evalImgs = eval_imgs
coco_eval.params.imgIds = img_ids
coco_eval._paramsEval = copy.deepcopy(coco_eval.params)
#################################################################
# From pycocotools, just removed the prints and fixed
# a Python3 bug about unicode not defined
#################################################################
# Ideally, pycocotools wouldn't have hard-coded prints
# so that we could avoid copy-pasting those two functions
def createIndex(self):
# create index
# print('creating index...')
anns, cats, imgs = {}, {}, {}
imgToAnns, catToImgs = defaultdict(list), defaultdict(list)
if 'annotations' in self.dataset:
for ann in self.dataset['annotations']:
imgToAnns[ann['image_id']].append(ann)
anns[ann['id']] = ann
if 'images' in self.dataset:
for img in self.dataset['images']:
imgs[img['id']] = img
if 'categories' in self.dataset:
for cat in self.dataset['categories']:
cats[cat['id']] = cat
if 'annotations' in self.dataset and 'categories' in self.dataset:
for ann in self.dataset['annotations']:
catToImgs[ann['category_id']].append(ann['image_id'])
# print('index created!')
# create class members
self.anns = anns
self.imgToAnns = imgToAnns
self.catToImgs = catToImgs
self.imgs = imgs
self.cats = cats
maskUtils = mask_util
def loadRes(self, resFile):
"""
Load result file and return a result api object.
:param resFile (str) : file name of result file
:return: res (obj) : result api object
"""
res = COCO()
res.dataset['images'] = [img for img in self.dataset['images']]
# print('Loading and preparing results...')
# tic = time.time()
if isinstance(resFile, torch._six.string_classes):
anns = json.load(open(resFile))
elif type(resFile) == np.ndarray:
anns = self.loadNumpyAnnotations(resFile)
else:
anns = resFile
assert type(anns) == list, 'results in not an array of objects'
annsImgIds = [ann['image_id'] for ann in anns]
assert set(annsImgIds) == (set(annsImgIds) & set(self.getImgIds())), \
'Results do not correspond to current coco set'
if 'caption' in anns[0]:
imgIds = set([img['id'] for img in res.dataset['images']]) & set([ann['image_id'] for ann in anns])
res.dataset['images'] = [img for img in res.dataset['images'] if img['id'] in imgIds]
for id, ann in enumerate(anns):
ann['id'] = id + 1
elif 'bbox' in anns[0] and not anns[0]['bbox'] == []:
res.dataset['categories'] = copy.deepcopy(self.dataset['categories'])
for id, ann in enumerate(anns):
bb = ann['bbox']
x1, x2, y1, y2 = [bb[0], bb[0] + bb[2], bb[1], bb[1] + bb[3]]
if 'segmentation' not in ann:
ann['segmentation'] = [[x1, y1, x1, y2, x2, y2, x2, y1]]
ann['area'] = bb[2] * bb[3]
ann['id'] = id + 1
ann['iscrowd'] = 0
elif 'segmentation' in anns[0]:
res.dataset['categories'] = copy.deepcopy(self.dataset['categories'])
for id, ann in enumerate(anns):
# now only support compressed RLE format as segmentation results
ann['area'] = maskUtils.area(ann['segmentation'])
if 'bbox' not in ann:
ann['bbox'] = maskUtils.toBbox(ann['segmentation'])
ann['id'] = id + 1
ann['iscrowd'] = 0
elif 'keypoints' in anns[0]:
res.dataset['categories'] = copy.deepcopy(self.dataset['categories'])
for id, ann in enumerate(anns):
s = ann['keypoints']
x = s[0::3]
y = s[1::3]
x1, x2, y1, y2 = np.min(x), np.max(x), np.min(y), np.max(y)
ann['area'] = (x2 - x1) * (y2 - y1)
ann['id'] = id + 1
ann['bbox'] = [x1, y1, x2 - x1, y2 - y1]
# print('DONE (t={:0.2f}s)'.format(time.time()- tic))
res.dataset['annotations'] = anns
createIndex(res)
return res
def evaluate(self):
'''
Run per image evaluation on given images and store results (a list of dict) in self.evalImgs
:return: None
'''
# tic = time.time()
# print('Running per image evaluation...')
p = self.params
# add backward compatibility if useSegm is specified in params
if p.useSegm is not None:
p.iouType = 'segm' if p.useSegm == 1 else 'bbox'
print('useSegm (deprecated) is not None. Running {} evaluation'.format(p.iouType))
# print('Evaluate annotation type *{}*'.format(p.iouType))
p.imgIds = list(np.unique(p.imgIds))
if p.useCats:
p.catIds = list(np.unique(p.catIds))
p.maxDets = sorted(p.maxDets)
self.params = p
self._prepare()
# loop through images, area range, max detection number
catIds = p.catIds if p.useCats else [-1]
if p.iouType == 'segm' or p.iouType == 'bbox':
computeIoU = self.computeIoU
elif p.iouType == 'keypoints':
computeIoU = self.computeOks
self.ious = {
(imgId, catId): computeIoU(imgId, catId)
for imgId in p.imgIds
for catId in catIds}
evaluateImg = self.evaluateImg
maxDet = p.maxDets[-1]
evalImgs = [
evaluateImg(imgId, catId, areaRng, maxDet)
for catId in catIds
for areaRng in p.areaRng
for imgId in p.imgIds
]
# this is NOT in the pycocotools code, but could be done outside
evalImgs = np.asarray(evalImgs).reshape(len(catIds), len(p.areaRng), len(p.imgIds))
self._paramsEval = copy.deepcopy(self.params)
# toc = time.time()
# print('DONE (t={:0.2f}s).'.format(toc-tic))
return p.imgIds, evalImgs
#################################################################
# end of straight copy from pycocotools, just removing the prints
#################################################################
import copy
import os
from PIL import Image
import torch
import torch.utils.data
import torchvision
from pycocotools import mask as coco_mask
from pycocotools.coco import COCO
import transforms as T
class FilterAndRemapCocoCategories(object):
def __init__(self, categories, remap=True):
self.categories = categories
self.remap = remap
def __call__(self, image, target):
anno = target["annotations"]
anno = [obj for obj in anno if obj["category_id"] in self.categories]
if not self.remap:
target["annotations"] = anno
return image, target
anno = copy.deepcopy(anno)
for obj in anno:
obj["category_id"] = self.categories.index(obj["category_id"])
target["annotations"] = anno
return image, target
def convert_coco_poly_to_mask(segmentations, height, width):
masks = []
for polygons in segmentations:
rles = coco_mask.frPyObjects(polygons, height, width)
mask = coco_mask.decode(rles)
if len(mask.shape) < 3:
mask = mask[..., None]
mask = torch.as_tensor(mask, dtype=torch.uint8)
mask = mask.any(dim=2)
masks.append(mask)
if masks:
masks = torch.stack(masks, dim=0)
else:
masks = torch.zeros((0, height, width), dtype=torch.uint8)
return masks
class ConvertCocoPolysToMask(object):
def __call__(self, image, target):
w, h = image.size
image_id = target["image_id"]
image_id = torch.tensor([image_id])
anno = target["annotations"]
anno = [obj for obj in anno if obj['iscrowd'] == 0]
boxes = [obj["bbox"] for obj in anno]
# guard against no boxes via resizing
boxes = torch.as_tensor(boxes, dtype=torch.float32).reshape(-1, 4)
boxes[:, 2:] += boxes[:, :2]
boxes[:, 0::2].clamp_(min=0, max=w)
boxes[:, 1::2].clamp_(min=0, max=h)
classes = [obj["category_id"] for obj in anno]
classes = torch.tensor(classes, dtype=torch.int64)
segmentations = [obj["segmentation"] for obj in anno]
masks = convert_coco_poly_to_mask(segmentations, h, w)
keypoints = None
if anno and "keypoints" in anno[0]:
keypoints = [obj["keypoints"] for obj in anno]
keypoints = torch.as_tensor(keypoints, dtype=torch.float32)
num_keypoints = keypoints.shape[0]
if num_keypoints:
keypoints = keypoints.view(num_keypoints, -1, 3)
keep = (boxes[:, 3] > boxes[:, 1]) & (boxes[:, 2] > boxes[:, 0])
boxes = boxes[keep]
classes = classes[keep]
masks = masks[keep]
if keypoints is not None:
keypoints = keypoints[keep]
target = {}
target["boxes"] = boxes
target["labels"] = classes
target["masks"] = masks
target["image_id"] = image_id
if keypoints is not None:
target["keypoints"] = keypoints
# for conversion to coco api
area = torch.tensor([obj["area"] for obj in anno])
iscrowd = torch.tensor([obj["iscrowd"] for obj in anno])
target["area"] = area
target["iscrowd"] = iscrowd
return image, target
def _coco_remove_images_without_annotations(dataset, cat_list=None):
def _has_only_empty_bbox(anno):
return all(any(o <= 1 for o in obj["bbox"][2:]) for obj in anno)
def _count_visible_keypoints(anno):
return sum(sum(1 for v in ann["keypoints"][2::3] if v > 0) for ann in anno)
min_keypoints_per_image = 10
def _has_valid_annotation(anno):
# if it's empty, there is no annotation
if len(anno) == 0:
return False
# if all boxes have close to zero area, there is no annotation
if _has_only_empty_bbox(anno):
return False
# keypoints task have a slight different critera for considering
# if an annotation is valid
if "keypoints" not in anno[0]:
return True
# for keypoint detection tasks, only consider valid images those
# containing at least min_keypoints_per_image
if _count_visible_keypoints(anno) >= min_keypoints_per_image:
return True
return False
assert isinstance(dataset, torchvision.datasets.CocoDetection)
ids = []
for ds_idx, img_id in enumerate(dataset.ids):
ann_ids = dataset.coco.getAnnIds(imgIds=img_id, iscrowd=None)
anno = dataset.coco.loadAnns(ann_ids)
if cat_list:
anno = [obj for obj in anno if obj["category_id"] in cat_list]
if _has_valid_annotation(anno):
ids.append(ds_idx)
dataset = torch.utils.data.Subset(dataset, ids)
return dataset
def convert_to_coco_api(ds):
coco_ds = COCO()
# annotation IDs need to start at 1, not 0, see torchvision issue #1530
ann_id = 1
dataset = {'images': [], 'categories': [], 'annotations': []}
categories = set()
for img_idx in range(len(ds)):
# find better way to get target
# targets = ds.get_annotations(img_idx)
img, targets = ds[img_idx]
image_id = targets["image_id"].item()
img_dict = {}
img_dict['id'] = image_id
img_dict['height'] = img.shape[-2]
img_dict['width'] = img.shape[-1]
dataset['images'].append(img_dict)
bboxes = targets["boxes"]
bboxes[:, 2:] -= bboxes[:, :2]
bboxes = bboxes.tolist()
labels = targets['labels'].tolist()
areas = targets['area'].tolist()
iscrowd = targets['iscrowd'].tolist()
if 'masks' in targets:
masks = targets['masks']
# make masks Fortran contiguous for coco_mask
masks = masks.permute(0, 2, 1).contiguous().permute(0, 2, 1)
if 'keypoints' in targets:
keypoints = targets['keypoints']
keypoints = keypoints.reshape(keypoints.shape[0], -1).tolist()
num_objs = len(bboxes)
for i in range(num_objs):
ann = {}
ann['image_id'] = image_id
ann['bbox'] = bboxes[i]
ann['category_id'] = labels[i]
categories.add(labels[i])
ann['area'] = areas[i]
ann['iscrowd'] = iscrowd[i]
ann['id'] = ann_id
if 'masks' in targets:
ann["segmentation"] = coco_mask.encode(masks[i].numpy())
if 'keypoints' in targets:
ann['keypoints'] = keypoints[i]
ann['num_keypoints'] = sum(k != 0 for k in keypoints[i][2::3])
dataset['annotations'].append(ann)
ann_id += 1
dataset['categories'] = [{'id': i} for i in sorted(categories)]
coco_ds.dataset = dataset
coco_ds.createIndex()
return coco_ds
def get_coco_api_from_dataset(dataset):
for _ in range(10):
if isinstance(dataset, torchvision.datasets.CocoDetection):
break
if isinstance(dataset, torch.utils.data.Subset):
dataset = dataset.dataset
if isinstance(dataset, torchvision.datasets.CocoDetection):
return dataset.coco
return convert_to_coco_api(dataset)
class CocoDetection(torchvision.datasets.CocoDetection):
def __init__(self, img_folder, ann_file, transforms):
super(CocoDetection, self).__init__(img_folder, ann_file)
self._transforms = transforms
def __getitem__(self, idx):
img, target = super(CocoDetection, self).__getitem__(idx)
image_id = self.ids[idx]
target = dict(image_id=image_id, annotations=target)
if self._transforms is not None:
img, target = self._transforms(img, target)
return img, target
def get_coco(root, image_set, transforms, mode='instances'):
anno_file_template = "{}_{}2017.json"
PATHS = {
"train": ("train2017", os.path.join("annotations", anno_file_template.format(mode, "train"))),
"val": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val"))),
# "train": ("val2017", os.path.join("annotations", anno_file_template.format(mode, "val")))
}
t = [ConvertCocoPolysToMask()]
if transforms is not None:
t.append(transforms)
transforms = T.Compose(t)
img_folder, ann_file = PATHS[image_set]
img_folder = os.path.join(root, img_folder)
ann_file = os.path.join(root, ann_file)
dataset = CocoDetection(img_folder, ann_file, transforms=transforms)
if image_set == "train":
dataset = _coco_remove_images_without_annotations(dataset)
# dataset = torch.utils.data.Subset(dataset, [i for i in range(500)])
return dataset
def get_coco_kp(root, image_set, transforms):
return get_coco(root, image_set, transforms, mode="person_keypoints")
<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.cs.toronto.edu/~kriz/cifar.html">
# image name (\t) object index
FudanPed00004.png 2
FudanPed00005.png 2
FudanPed00006.png 2
FudanPed00007.png 3
FudanPed00008.png 2
FudanPed00021.png 2
FudanPed00021.png 3
FudanPed00025.png 2
FudanPed00025.png 3
FudanPed00025.png 4
FudanPed00025.png 5
FudanPed00025.png 6
FudanPed00036.png 3
FudanPed00036.png 4
FudanPed00037.png 2
FudanPed00041.png 3
FudanPed00044.png 3
FudanPed00044.png 4
FudanPed00046.png 4
FudanPed00047.png 3
FudanPed00049.png 3
FudanPed00057.png 4
FudanPed00057.png 5
FudanPed00058.png 2
FudanPed00058.png 3
FudanPed00058.png 4
FudanPed00058.png 5
FudanPed00058.png 6
FudanPed00058.png 7
FudanPed00058.png 8
FudanPed00063.png 3
FudanPed00063.png 4
FudanPed00063.png 5
FudanPed00065.png 5
FudanPed00071.png 3
PennPed00001.png 5
PennPed00002.png 6
PennPed00005.png 5
PennPed00006.png 4
PennPed00008.png 4
PennPed00009.png 7
PennPed00010.png 5
PennPed00010.png 6
PennPed00011.png 2
PennPed00013.png 4
PennPed00014.png 4
PennPed00021.png 3
PennPed00022.png 5
PennPed00025.png 2
PennPed00025.png 3
PennPed00027.png 3
PennPed00033.png 4
PennPed00034.png 4
PennPed00035.png 3
PennPed00043.png 3
PennPed00043.png 4
PennPed00043.png 5
PennPed00044.png 4
PennPed00045.png 5
PennPed00045.png 6
PennPed00046.png 3
PennPed00047.png 3
PennPed00049.png 3
PennPed00049.png 4
PennPed00052.png 5
PennPed00055.png 2
PennPed00057.png 2
PennPed00058.png 4
PennPed00061.png 2
PennPed00062.png 3
PennPed00062.png 4
PennPed00066.png 3
PennPed00068.png 4
PennPed00071.png 5
PennPed00071.png 6
PennPed00084.png 3
PennPed00086.png 4
PennPed00086.png 5
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00001.png"
Image size (X x Y x C) : 559 x 536 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 182) - (302, 431)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00001_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (420, 171) - (535, 486)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00001_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00002.png"
Image size (X x Y x C) : 455 x 414 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (68, 93) - (191, 380)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00002_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00003.png"
Image size (X x Y x C) : 479 x 445 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (293, 135) - (447, 421)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00003_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00004.png"
Image size (X x Y x C) : 396 x 397 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (168, 60) - (324, 338)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00004_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (9, 61) - (48, 180)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00004_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00005.png"
Image size (X x Y x C) : 335 x 344 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (188, 59) - (320, 336)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00005_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (2, 53) - (40, 158)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00005_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00006.png"
Image size (X x Y x C) : 385 x 426 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (208, 108) - (346, 385)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00006_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (2, 108) - (87, 384)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00006_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00007.png"
Image size (X x Y x C) : 539 x 381 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (112, 69) - (218, 346)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00007_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (378, 76) - (529, 377)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00007_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (317, 108) - (347, 192)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00007_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00008.png"
Image size (X x Y x C) : 388 x 454 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (228, 158) - (370, 436)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00008_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (39, 179) - (115, 363)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00008_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00009.png"
Image size (X x Y x C) : 465 x 441 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (306, 138) - (453, 430)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00009_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (157, 124) - (298, 398)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00009_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00010.png"
Image size (X x Y x C) : 411 x 393 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (281, 90) - (401, 374)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00010_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00011.png"
Image size (X x Y x C) : 459 x 420 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (278, 112) - (438, 394)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00011_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00012.png"
Image size (X x Y x C) : 468 x 384 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (159, 71) - (295, 361)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00012_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (328, 58) - (439, 327)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00012_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00013.png"
Image size (X x Y x C) : 652 x 498 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (389, 193) - (554, 476)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00013_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00014.png"
Image size (X x Y x C) : 456 x 383 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (234, 86) - (405, 367)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00014_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00015.png"
Image size (X x Y x C) : 336 x 349 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (19, 43) - (174, 327)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00015_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00016.png"
Image size (X x Y x C) : 544 x 425 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (80, 86) - (205, 383)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00016_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (279, 94) - (400, 361)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00016_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (411, 101) - (495, 378)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00016_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00017.png"
Image size (X x Y x C) : 266 x 342 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (115, 48) - (244, 332)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00017_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00018.png"
Image size (X x Y x C) : 253 x 323 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (20, 19) - (126, 304)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00018_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00019.png"
Image size (X x Y x C) : 497 x 442 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (7, 135) - (142, 389)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00019_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (194, 123) - (339, 421)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00019_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00020.png"
Image size (X x Y x C) : 555 x 417 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (339, 99) - (508, 381)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00020_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00021.png"
Image size (X x Y x C) : 490 x 378 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (324, 76) - (470, 367)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00021_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (234, 93) - (268, 167)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00021_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (47, 95) - (69, 160)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00021_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00022.png"
Image size (X x Y x C) : 536 x 465 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (112, 169) - (209, 449)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00022_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (397, 171) - (514, 455)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00022_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00023.png"
Image size (X x Y x C) : 376 x 378 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (202, 84) - (341, 366)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00023_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00024.png"
Image size (X x Y x C) : 479 x 378 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (103, 84) - (270, 370)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00024_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00025.png"
Image size (X x Y x C) : 425 x 369 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 6 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (226, 69) - (396, 354)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (44, 87) - (94, 256)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (128, 74) - (189, 262)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (180, 53) - (228, 255)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (213, 73) - (273, 262)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (314, 62) - (383, 266)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00025_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00026.png"
Image size (X x Y x C) : 440 x 427 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (44, 78) - (150, 389)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00026_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (185, 89) - (279, 373)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00026_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00027.png"
Image size (X x Y x C) : 302 x 363 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (104, 45) - (253, 328)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00027_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00028.png"
Image size (X x Y x C) : 317 x 345 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (7, 16) - (149, 303)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00028_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (186, 18) - (316, 321)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00028_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00029.png"
Image size (X x Y x C) : 435 x 404 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (246, 72) - (368, 351)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00029_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00030.png"
Image size (X x Y x C) : 462 x 387 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (59, 85) - (208, 375)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00030_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00031.png"
Image size (X x Y x C) : 569 x 430 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (298, 122) - (444, 408)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00031_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00032.png"
Image size (X x Y x C) : 608 x 474 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (456, 162) - (573, 453)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00032_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00033.png"
Image size (X x Y x C) : 396 x 357 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (165, 53) - (304, 346)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00033_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00034.png"
Image size (X x Y x C) : 309 x 351 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (111, 37) - (254, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00034_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00035.png"
Image size (X x Y x C) : 292 x 349 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (64, 39) - (195, 331)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00035_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00036.png"
Image size (X x Y x C) : 1017 x 444 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (131, 98) - (279, 394)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00036_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (802, 120) - (937, 381)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00036_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (244, 133) - (330, 363)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00036_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (726, 145) - (789, 345)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00036_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00037.png"
Image size (X x Y x C) : 423 x 361 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (259, 63) - (415, 349)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00037_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (190, 98) - (209, 170)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00037_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00038.png"
Image size (X x Y x C) : 422 x 346 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (219, 44) - (400, 331)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00038_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00039.png"
Image size (X x Y x C) : 493 x 487 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (137, 137) - (199, 311)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00039_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (231, 130) - (331, 410)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00039_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00040.png"
Image size (X x Y x C) : 550 x 482 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (201, 157) - (279, 437)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00040_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (279, 172) - (377, 430)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00040_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00041.png"
Image size (X x Y x C) : 552 x 507 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (351, 161) - (439, 437)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00041_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (284, 181) - (357, 439)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00041_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (42, 186) - (110, 388)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00041_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00042.png"
Image size (X x Y x C) : 588 x 547 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (159, 186) - (250, 470)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00042_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (288, 156) - (392, 449)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00042_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00043.png"
Image size (X x Y x C) : 493 x 518 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (64, 139) - (147, 426)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00043_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (156, 139) - (248, 435)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00043_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (261, 128) - (358, 431)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00043_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00044.png"
Image size (X x Y x C) : 521 x 494 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (246, 170) - (340, 462)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00044_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (337, 175) - (426, 464)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00044_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (37, 129) - (181, 492)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00044_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (436, 157) - (501, 402)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00044_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00045.png"
Image size (X x Y x C) : 487 x 538 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (198, 198) - (294, 481)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00045_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (319, 201) - (404, 499)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00045_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (395, 212) - (469, 495)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00045_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00046.png"
Image size (X x Y x C) : 567 x 438 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (178, 123) - (271, 410)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00046_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (299, 114) - (370, 335)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00046_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (446, 104) - (507, 315)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00046_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (521, 119) - (565, 258)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00046_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00047.png"
Image size (X x Y x C) : 472 x 520 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (272, 198) - (371, 482)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00047_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (31, 195) - (90, 427)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00047_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (384, 185) - (430, 298)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00047_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00048.png"
Image size (X x Y x C) : 585 x 559 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (6, 242) - (84, 535)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00048_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (79, 231) - (144, 455)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00048_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (158, 219) - (251, 507)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00048_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (460, 263) - (580, 544)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00048_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00049.png"
Image size (X x Y x C) : 447 x 512 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (127, 123) - (213, 412)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00049_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (214, 106) - (317, 392)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00049_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (315, 107) - (435, 387)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00049_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00050.png"
Image size (X x Y x C) : 580 x 516 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (33, 203) - (135, 484)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00050_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (291, 205) - (369, 412)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00050_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00051.png"
Image size (X x Y x C) : 448 x 501 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (126, 191) - (218, 476)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00051_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00052.png"
Image size (X x Y x C) : 461 x 504 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (206, 189) - (308, 492)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00052_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00053.png"
Image size (X x Y x C) : 541 x 580 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (94, 169) - (195, 432)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00053_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (389, 150) - (499, 453)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00053_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00054.png"
Image size (X x Y x C) : 533 x 498 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (97, 135) - (182, 418)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00054_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (287, 114) - (358, 332)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00054_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (364, 121) - (437, 329)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00054_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00055.png"
Image size (X x Y x C) : 390 x 555 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (148, 178) - (277, 530)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00055_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00056.png"
Image size (X x Y x C) : 565 x 581 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (439, 247) - (537, 522)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00056_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (200, 259) - (270, 529)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00056_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (252, 256) - (374, 528)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00056_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00057.png"
Image size (X x Y x C) : 482 x 519 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (22, 91) - (143, 406)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00057_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (131, 93) - (205, 358)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00057_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (237, 83) - (312, 356)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00057_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (343, 117) - (388, 267)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00057_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (386, 116) - (427, 250)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00057_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00058.png"
Image size (X x Y x C) : 522 x 479 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 8 { "PASpersonWalking" "PASpersonStanding" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (145, 92) - (261, 463)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (43, 123) - (64, 211)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (289, 102) - (341, 280)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (353, 97) - (406, 276)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (427, 126) - (446, 182)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 6 ("PASpersonStanding")
Original label for object 6 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 6 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (462, 126) - (474, 171)
Pixel mask for object 6 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 7 ("PASpersonStanding")
Original label for object 7 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 7 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (473, 133) - (489, 183)
Pixel mask for object 7 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Details for pedestrian 8 ("PASpersonWalking")
Original label for object 8 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 8 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (492, 121) - (517, 202)
Pixel mask for object 8 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00058_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00059.png"
Image size (X x Y x C) : 576 x 369 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (35, 54) - (135, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00059_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (159, 36) - (252, 329)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00059_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (270, 45) - (380, 328)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00059_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00060.png"
Image size (X x Y x C) : 517 x 440 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (188, 141) - (291, 427)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00060_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (293, 130) - (384, 430)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00060_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (395, 149) - (498, 427)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00060_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00061.png"
Image size (X x Y x C) : 547 x 407 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (165, 70) - (266, 353)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00061_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (343, 86) - (429, 381)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00061_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (406, 85) - (531, 387)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00061_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00062.png"
Image size (X x Y x C) : 414 x 341 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (175, 25) - (255, 321)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00062_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (291, 34) - (377, 330)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00062_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00063.png"
Image size (X x Y x C) : 486 x 359 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (29, 38) - (114, 332)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00063_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (156, 42) - (262, 329)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00063_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (312, 54) - (330, 99)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00063_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (297, 54) - (303, 73)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00063_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (305, 53) - (310, 73)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00063_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00064.png"
Image size (X x Y x C) : 546 x 420 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (141, 98) - (240, 387)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00064_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (317, 101) - (400, 395)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00064_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (400, 112) - (517, 407)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00064_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00065.png"
Image size (X x Y x C) : 504 x 411 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (29, 69) - (147, 382)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00065_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (147, 84) - (242, 385)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00065_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (234, 70) - (311, 393)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00065_mask.png"
# Details for pedestrian 4 ("PASpersonStanding")
Original label for object 4 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 4 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (342, 88) - (430, 351)
Pixel mask for object 4 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00065_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (13, 58) - (64, 183)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00065_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00066.png"
Image size (X x Y x C) : 360 x 359 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (248, 50) - (329, 351)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00066_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00067.png"
Image size (X x Y x C) : 453 x 416 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (62, 79) - (184, 375)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00067_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00068.png"
Image size (X x Y x C) : 375 x 398 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (249, 66) - (318, 361)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00068_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00069.png"
Image size (X x Y x C) : 354 x 379 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (215, 70) - (315, 363)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00069_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00070.png"
Image size (X x Y x C) : 390 x 382 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (288, 70) - (370, 364)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00070_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00071.png"
Image size (X x Y x C) : 363 x 353 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (121, 44) - (246, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00071_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (256, 37) - (339, 348)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00071_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (226, 52) - (255, 119)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00071_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00072.png"
Image size (X x Y x C) : 375 x 349 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (48, 40) - (139, 332)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00072_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00073.png"
Image size (X x Y x C) : 516 x 392 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (56, 66) - (159, 360)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00073_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (193, 59) - (289, 352)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00073_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00074.png"
Image size (X x Y x C) : 421 x 370 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (48, 51) - (126, 351)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00074_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (178, 61) - (256, 345)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/FudanPed00074_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00001.png"
Image size (X x Y x C) : 612 x 406 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (83, 66) - (197, 353)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00001_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (265, 75) - (355, 338)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00001_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (403, 38) - (501, 348)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00001_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (514, 65) - (610, 318)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00001_mask.png"
# Details for pedestrian 5 ("PASpersonStanding")
Original label for object 5 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 5 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (206, 25) - (266, 196)
Pixel mask for object 5 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00001_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00002.png"
Image size (X x Y x C) : 745 x 378 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 6 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (9, 84) - (97, 304)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (83, 45) - (165, 298)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (268, 84) - (370, 298)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (363, 33) - (516, 335)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (576, 75) - (713, 362)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (517, 92) - (608, 300)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00002_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00003.png"
Image size (X x Y x C) : 670 x 418 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (8, 33) - (174, 365)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00003_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (452, 64) - (531, 353)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00003_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (531, 91) - (661, 381)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00003_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00004.png"
Image size (X x Y x C) : 786 x 436 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (67, 61) - (170, 410)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00004_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (155, 91) - (253, 385)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00004_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (228, 94) - (325, 391)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00004_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (417, 101) - (516, 391)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00004_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (595, 112) - (734, 397)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00004_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00005.png"
Image size (X x Y x C) : 767 x 454 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonStanding" "PASpersonStanding" "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (68, 130) - (159, 405)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00005_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (165, 154) - (252, 410)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00005_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (263, 144) - (415, 439)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00005_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (540, 169) - (666, 440)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00005_mask.png"
# Details for pedestrian 5 ("PASpersonStanding")
Original label for object 5 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 5 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (602, 156) - (701, 396)
Pixel mask for object 5 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00005_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00006.png"
Image size (X x Y x C) : 631 x 436 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (111, 72) - (199, 412)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00006_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (231, 96) - (329, 388)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00006_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (443, 108) - (608, 435)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00006_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (3, 102) - (69, 397)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00006_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00007.png"
Image size (X x Y x C) : 570 x 412 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (42, 60) - (165, 350)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00007_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (127, 83) - (201, 359)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00007_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (187, 76) - (309, 369)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00007_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (299, 76) - (381, 400)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00007_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (426, 68) - (527, 343)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00007_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00008.png"
Image size (X x Y x C) : 452 x 403 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (47, 71) - (177, 366)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00008_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (199, 77) - (305, 329)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00008_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (256, 74) - (394, 345)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00008_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (343, 53) - (421, 278)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00008_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00009.png"
Image size (X x Y x C) : 648 x 413 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 7 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (47, 85) - (147, 292)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (163, 87) - (240, 348)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (225, 86) - (300, 307)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (316, 81) - (391, 369)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (375, 100) - (471, 351)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (470, 94) - (559, 395)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Details for pedestrian 7 ("PASpersonWalking")
Original label for object 7 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 7 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (533, 90) - (605, 376)
Pixel mask for object 7 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00009_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00010.png"
Image size (X x Y x C) : 750 x 495 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 6 { "PASpersonStanding" "PASpersonStanding" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (18, 59) - (103, 340)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (186, 56) - (262, 337)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (309, 141) - (437, 493)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (475, 76) - (619, 451)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (392, 58) - (485, 421)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (563, 36) - (681, 394)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00010_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00011.png"
Image size (X x Y x C) : 508 x 376 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (92, 62) - (236, 344)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00011_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (242, 52) - (301, 355)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00011_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00012.png"
Image size (X x Y x C) : 565 x 429 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (114, 122) - (212, 403)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00012_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00013.png"
Image size (X x Y x C) : 564 x 385 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (98, 79) - (210, 359)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00013_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (259, 96) - (364, 359)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00013_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (384, 81) - (498, 355)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00013_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (215, 91) - (257, 193)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00013_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00014.png"
Image size (X x Y x C) : 542 x 368 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (127, 40) - (206, 229)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00014_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (209, 69) - (312, 337)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00014_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (354, 60) - (448, 337)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00014_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (286, 41) - (353, 225)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00014_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00015.png"
Image size (X x Y x C) : 906 x 438 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (123, 98) - (280, 414)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00015_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (286, 91) - (448, 378)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00015_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (749, 94) - (834, 382)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00015_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00016.png"
Image size (X x Y x C) : 683 x 399 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (86, 51) - (146, 362)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00016_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (236, 93) - (329, 382)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00016_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (468, 66) - (579, 367)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00016_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00017.png"
Image size (X x Y x C) : 492 x 403 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (115, 50) - (204, 387)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00017_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (259, 49) - (398, 336)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00017_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00018.png"
Image size (X x Y x C) : 460 x 344 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (65, 32) - (145, 327)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00018_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (181, 69) - (262, 308)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00018_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00019.png"
Image size (X x Y x C) : 734 x 404 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 7 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (17, 78) - (106, 356)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 70) - (249, 361)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (315, 60) - (390, 364)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (368, 47) - (474, 370)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (464, 75) - (539, 362)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (525, 80) - (639, 375)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Details for pedestrian 7 ("PASpersonWalking")
Original label for object 7 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 7 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (600, 78) - (704, 375)
Pixel mask for object 7 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00019_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00020.png"
Image size (X x Y x C) : 721 x 428 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (142, 121) - (264, 379)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00020_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (387, 76) - (516, 365)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00020_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (445, 77) - (607, 369)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00020_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00021.png"
Image size (X x Y x C) : 712 x 436 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (68, 118) - (218, 407)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00021_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (464, 81) - (588, 382)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00021_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (559, 111) - (681, 381)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00021_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00022.png"
Image size (X x Y x C) : 925 x 486 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (30, 118) - (167, 413)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00022_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (120, 149) - (257, 413)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00022_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (216, 152) - (354, 416)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00022_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (705, 129) - (839, 390)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00022_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (345, 162) - (424, 342)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00022_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00023.png"
Image size (X x Y x C) : 536 x 382 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (107, 60) - (275, 363)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00023_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00024.png"
Image size (X x Y x C) : 409 x 384 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (71, 58) - (170, 350)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00024_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00025.png"
Image size (X x Y x C) : 450 x 334 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (72, 34) - (216, 310)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00025_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (189, 151) - (276, 304)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00025_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (390, 2) - (421, 71)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00025_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00026.png"
Image size (X x Y x C) : 530 x 410 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (303, 94) - (447, 382)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00026_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (200, 120) - (291, 373)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00026_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00027.png"
Image size (X x Y x C) : 492 x 391 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (126, 93) - (218, 363)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00027_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (204, 81) - (322, 367)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00027_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (347, 89) - (463, 342)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00027_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00028.png"
Image size (X x Y x C) : 416 x 368 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (211, 50) - (325, 334)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00028_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00029.png"
Image size (X x Y x C) : 672 x 418 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (114, 65) - (214, 370)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00029_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (274, 98) - (339, 391)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00029_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (363, 102) - (466, 388)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00029_mask.png"
# Details for pedestrian 4 ("PASpersonStanding")
Original label for object 4 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 4 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (509, 103) - (585, 392)
Pixel mask for object 4 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00029_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00030.png"
Image size (X x Y x C) : 479 x 354 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (139, 37) - (253, 339)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00030_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (3, 37) - (95, 342)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00030_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (316, 43) - (448, 339)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00030_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00031.png"
Image size (X x Y x C) : 487 x 340 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (244, 42) - (390, 329)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00031_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00032.png"
Image size (X x Y x C) : 374 x 344 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (98, 50) - (203, 329)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00032_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00033.png"
Image size (X x Y x C) : 533 x 391 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (32, 37) - (126, 370)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00033_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (110, 50) - (214, 376)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00033_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (392, 70) - (519, 368)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00033_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (274, 149) - (389, 333)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00033_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00034.png"
Image size (X x Y x C) : 538 x 422 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (108, 58) - (289, 391)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00034_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (302, 63) - (405, 344)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00034_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (369, 67) - (493, 353)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00034_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (181, 63) - (278, 374)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00034_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00035.png"
Image size (X x Y x C) : 623 x 353 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (169, 30) - (275, 331)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00035_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (367, 54) - (541, 333)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00035_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (121, 33) - (208, 322)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00035_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00036.png"
Image size (X x Y x C) : 694 x 370 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (56, 62) - (164, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00036_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (514, 34) - (636, 328)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00036_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00037.png"
Image size (X x Y x C) : 366 x 318 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (229, 24) - (328, 307)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00037_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00038.png"
Image size (X x Y x C) : 436 x 353 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (232, 39) - (368, 316)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00038_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00039.png"
Image size (X x Y x C) : 495 x 373 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (326, 73) - (411, 360)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00039_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00040.png"
Image size (X x Y x C) : 406 x 342 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (203, 42) - (318, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00040_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00041.png"
Image size (X x Y x C) : 570 x 422 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (353, 99) - (467, 380)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00041_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00042.png"
Image size (X x Y x C) : 569 x 344 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (273, 37) - (379, 312)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00042_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (403, 36) - (472, 310)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00042_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00043.png"
Image size (X x Y x C) : 480 x 356 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (189, 47) - (297, 334)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00043_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (332, 63) - (434, 328)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00043_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (142, 78) - (199, 254)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00043_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (282, 78) - (328, 253)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00043_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (430, 73) - (456, 154)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00043_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00044.png"
Image size (X x Y x C) : 483 x 335 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (71, 36) - (170, 329)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00044_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (253, 63) - (336, 282)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00044_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (332, 54) - (408, 276)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00044_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (181, 76) - (225, 193)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00044_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00045.png"
Image size (X x Y x C) : 692 x 395 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 6 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (70, 64) - (193, 365)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (226, 65) - (321, 360)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (324, 67) - (436, 347)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (526, 45) - (639, 348)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (425, 67) - (485, 217)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (494, 62) - (548, 214)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00045_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00046.png"
Image size (X x Y x C) : 534 x 348 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (21, 58) - (111, 323)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00046_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (318, 22) - (420, 319)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00046_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (421, 62) - (441, 119)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00046_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00047.png"
Image size (X x Y x C) : 500 x 346 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (116, 57) - (253, 336)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00047_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (246, 33) - (381, 320)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00047_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (362, 42) - (427, 194)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00047_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00048.png"
Image size (X x Y x C) : 423 x 380 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (27, 33) - (118, 326)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00048_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (116, 35) - (198, 321)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00048_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (263, 21) - (385, 369)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00048_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00049.png"
Image size (X x Y x C) : 452 x 350 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (82, 48) - (176, 346)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00049_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (175, 45) - (253, 337)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00049_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (252, 81) - (307, 237)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00049_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (310, 77) - (368, 240)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00049_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00050.png"
Image size (X x Y x C) : 419 x 315 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (91, 41) - (196, 291)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00050_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00051.png"
Image size (X x Y x C) : 723 x 411 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (38, 52) - (203, 326)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00051_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (314, 67) - (481, 365)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00051_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (459, 34) - (587, 373)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00051_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (554, 67) - (628, 339)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00051_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00052.png"
Image size (X x Y x C) : 682 x 525 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (77, 137) - (175, 428)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00052_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (169, 181) - (294, 491)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00052_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (403, 157) - (494, 400)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00052_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (524, 83) - (613, 393)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00052_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (279, 179) - (334, 314)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00052_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00053.png"
Image size (X x Y x C) : 377 x 344 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (15, 29) - (124, 325)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00053_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (169, 27) - (266, 329)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00053_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00054.png"
Image size (X x Y x C) : 324 x 334 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (43, 22) - (128, 317)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00054_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00055.png"
Image size (X x Y x C) : 417 x 353 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (96, 51) - (208, 341)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00055_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (29, 8) - (122, 283)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00055_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00056.png"
Image size (X x Y x C) : 618 x 420 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonStanding" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (175, 106) - (271, 398)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00056_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (140, 122) - (193, 384)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00056_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (257, 98) - (306, 386)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00056_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00057.png"
Image size (X x Y x C) : 371 x 364 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (158, 64) - (261, 352)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00057_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (198, 18) - (266, 294)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00057_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00058.png"
Image size (X x Y x C) : 509 x 380 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (167, 27) - (245, 316)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00058_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (228, 31) - (307, 291)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00058_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (321, 65) - (452, 351)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00058_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (295, 22) - (374, 274)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00058_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00059.png"
Image size (X x Y x C) : 582 x 362 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (80, 44) - (177, 337)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00059_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (381, 36) - (529, 323)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00059_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00060.png"
Image size (X x Y x C) : 505 x 351 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (43, 23) - (142, 326)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00060_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (189, 21) - (283, 230)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00060_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (117, 28) - (191, 226)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00060_mask.png"
# Details for pedestrian 4 ("PASpersonStanding")
Original label for object 4 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 4 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (273, 81) - (389, 327)
Pixel mask for object 4 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00060_mask.png"
# Details for pedestrian 5 ("PASpersonStanding")
Original label for object 5 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 5 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (378, 31) - (476, 330)
Pixel mask for object 5 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00060_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00061.png"
Image size (X x Y x C) : 314 x 320 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (34, 17) - (143, 307)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00061_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (250, 57) - (275, 146)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00061_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00062.png"
Image size (X x Y x C) : 396 x 315 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (86, 15) - (184, 301)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00062_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (176, 35) - (288, 305)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00062_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (2, 46) - (57, 223)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00062_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (321, 54) - (373, 234)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00062_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00063.png"
Image size (X x Y x C) : 427 x 350 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (88, 50) - (262, 339)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00063_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00064.png"
Image size (X x Y x C) : 370 x 322 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (226, 29) - (334, 314)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00064_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00065.png"
Image size (X x Y x C) : 324 x 318 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (24, 21) - (139, 304)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00065_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00066.png"
Image size (X x Y x C) : 428 x 375 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (11, 76) - (128, 365)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00066_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (265, 33) - (398, 312)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00066_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (76, 30) - (189, 345)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00066_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00067.png"
Image size (X x Y x C) : 370 x 318 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (37, 13) - (184, 298)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00067_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00068.png"
Image size (X x Y x C) : 603 x 387 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 4 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (43, 89) - (153, 364)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00068_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (189, 56) - (283, 349)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00068_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (430, 37) - (568, 349)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00068_mask.png"
# Details for pedestrian 4 ("PASpersonStanding")
Original label for object 4 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 4 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (384, 47) - (455, 223)
Pixel mask for object 4 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00068_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00069.png"
Image size (X x Y x C) : 388 x 345 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (59, 44) - (149, 330)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00069_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (169, 40) - (269, 310)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00069_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00070.png"
Image size (X x Y x C) : 466 x 354 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (15, 24) - (122, 341)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00070_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (185, 14) - (306, 312)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00070_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00071.png"
Image size (X x Y x C) : 767 x 379 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 6 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (49, 19) - (171, 361)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (292, 44) - (386, 305)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (476, 25) - (567, 302)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (600, 13) - (716, 306)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (567, 53) - (612, 180)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Details for pedestrian 6 ("PASpersonWalking")
Original label for object 6 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 6 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (709, 53) - (744, 174)
Pixel mask for object 6 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00071_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00072.png"
Image size (X x Y x C) : 473 x 348 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (134, 25) - (254, 337)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00072_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (280, 52) - (431, 330)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00072_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00073.png"
Image size (X x Y x C) : 579 x 364 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (98, 38) - (191, 326)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00073_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (182, 46) - (277, 340)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00073_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (316, 51) - (413, 331)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00073_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00074.png"
Image size (X x Y x C) : 442 x 332 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (259, 31) - (422, 317)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00074_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (198, 23) - (283, 303)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00074_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (117, 48) - (223, 295)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00074_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00075.png"
Image size (X x Y x C) : 368 x 322 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (194, 23) - (335, 308)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00075_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00076.png"
Image size (X x Y x C) : 342 x 348 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (187, 29) - (320, 319)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00076_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00077.png"
Image size (X x Y x C) : 352 x 323 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (65, 27) - (181, 317)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00077_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00078.png"
Image size (X x Y x C) : 349 x 372 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (216, 59) - (320, 355)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00078_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00079.png"
Image size (X x Y x C) : 357 x 337 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (206, 25) - (324, 320)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00079_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00080.png"
Image size (X x Y x C) : 435 x 361 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (72, 47) - (175, 339)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00080_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (198, 43) - (314, 339)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00080_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (320, 44) - (422, 332)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00080_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00081.png"
Image size (X x Y x C) : 561 x 387 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (148, 85) - (240, 366)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00081_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (233, 54) - (337, 360)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00081_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (330, 75) - (455, 366)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00081_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00082.png"
Image size (X x Y x C) : 398 x 321 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (80, 22) - (229, 312)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00082_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00083.png"
Image size (X x Y x C) : 371 x 341 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (108, 32) - (249, 327)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00083_mask.png"
# Details for pedestrian 2 ("PASpersonStanding")
Original label for object 2 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 2 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (38, 22) - (124, 299)
Pixel mask for object 2 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00083_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00084.png"
Image size (X x Y x C) : 370 x 356 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonStanding" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (142, 46) - (310, 342)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00084_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (274, 21) - (362, 334)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00084_mask.png"
# Details for pedestrian 3 ("PASpersonStanding")
Original label for object 3 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 3 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (161, 95) - (208, 258)
Pixel mask for object 3 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00084_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00085.png"
Image size (X x Y x C) : 403 x 341 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (89, 27) - (200, 302)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00085_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (245, 38) - (368, 329)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00085_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00086.png"
Image size (X x Y x C) : 474 x 354 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 5 { "PASpersonStanding" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (8, 33) - (109, 253)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00086_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (208, 49) - (306, 318)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00086_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (345, 32) - (457, 325)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00086_mask.png"
# Details for pedestrian 4 ("PASpersonWalking")
Original label for object 4 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 4 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (73, 163) - (180, 353)
Pixel mask for object 4 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00086_mask.png"
# Details for pedestrian 5 ("PASpersonWalking")
Original label for object 5 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 5 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (113, 65) - (164, 197)
Pixel mask for object 5 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00086_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00087.png"
Image size (X x Y x C) : 325 x 343 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (23, 16) - (148, 322)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00087_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00088.png"
Image size (X x Y x C) : 375 x 320 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (73, 18) - (215, 312)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00088_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00089.png"
Image size (X x Y x C) : 428 x 317 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonStanding" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonStanding")
Original label for object 1 "PASpersonStanding" : "PennFudanPed"
Bounding box for object 1 "PASpersonStanding" (Xmin, Ymin) - (Xmax, Ymax) : (85, 25) - (165, 294)
Pixel mask for object 1 "PASpersonStanding" : "PennFudanPed/PedMasks/PennPed00089_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (140, 6) - (297, 309)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00089_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00090.png"
Image size (X x Y x C) : 500 x 370 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 3 { "PASpersonWalking" "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (80, 23) - (212, 358)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00090_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (43, 39) - (122, 346)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00090_mask.png"
# Details for pedestrian 3 ("PASpersonWalking")
Original label for object 3 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 3 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (206, 38) - (366, 326)
Pixel mask for object 3 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00090_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00091.png"
Image size (X x Y x C) : 372 x 324 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (212, 26) - (336, 321)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00091_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00092.png"
Image size (X x Y x C) : 600 x 447 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (106, 76) - (311, 434)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00092_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (288, 94) - (464, 390)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00092_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00093.png"
Image size (X x Y x C) : 368 x 311 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (51, 6) - (222, 302)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00093_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00094.png"
Image size (X x Y x C) : 422 x 349 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 1 { "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (122, 27) - (256, 322)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00094_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00095.png"
Image size (X x Y x C) : 512 x 375 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (193, 50) - (300, 337)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00095_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (320, 55) - (432, 335)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00095_mask.png"
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/PennPed00096.png"
Image size (X x Y x C) : 294 x 331 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (6, 38) - (103, 324)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00096_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (101, 26) - (206, 323)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/PennPed00096_mask.png"
1. Directory structure:
PNGImages: All the database images in PNG format.
PedMasks : Mask for each image, also in PNG format. Pixels are labeled 0 for background, or > 0 corresponding
to a particular pedestrian ID.
Annotation: Annotation information for each image. Each file is in the following format (take FudanPed00001.txt as an example):
# Compatible with PASCAL Annotation Version 1.00
Image filename : "PennFudanPed/PNGImages/FudanPed00001.png"
Image size (X x Y x C) : 559 x 536 x 3
Database : "The Penn-Fudan-Pedestrian Database"
Objects with ground truth : 2 { "PASpersonWalking" "PASpersonWalking" }
# Note there may be some objects not included in the ground truth list for they are severe-occluded
# or have very small size.
# Top left pixel co-ordinates : (1, 1)
# Details for pedestrian 1 ("PASpersonWalking")
Original label for object 1 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 1 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (160, 182) - (302, 431)
Pixel mask for object 1 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00001_mask.png"
# Details for pedestrian 2 ("PASpersonWalking")
Original label for object 2 "PASpersonWalking" : "PennFudanPed"
Bounding box for object 2 "PASpersonWalking" (Xmin, Ymin) - (Xmax, Ymax) : (420, 171) - (535, 486)
Pixel mask for object 2 "PASpersonWalking" : "PennFudanPed/PedMasks/FudanPed00001_mask.png"
2. Notice
In [1], we did not label very small, highly occluded pedestrians.
However in this release of the dataset, we have labeled these pedestrians for future detection.
We list the newly-labeled pedestrians in the file "added-object-list.txt".
Please download PASCAL toolkit (http://www.pascal-network.org/challenges/VOC/PAScode.tar.gz) to view the annotated pedestrians.
3. Acknowledgement
This material is presented to ensure timely dissemination of scholarly and technical work.
Copyright and all rights therein are retained by authors or by other copyright holders.
All persons copying this information are expected to adhere to the terms and constraints invoked by
each author's copyright. In most cases, these works may not be reposted without
the explicit permission of the copyright holder.
4. Related publication
[1] Object Detection Combining Recognition and Segmentation. Liming Wang, Jianbo Shi, Gang Song, I-fan Shen. To Appear in Eighth Asian Conference on Computer Vision(ACCV) 2007
Wine Alcohol Malic.acid Ash Acl Mg Phenols Flavanoids Nonflavanoid.phenols Proanth Color.int Hue OD Proline
1 14.23 1.71 2.43 15.6 127 2.8 3.06 .28 2.29 5.64 1.04 3.92 1065
1 13.2 1.78 2.14 11.2 100 2.65 2.76 .26 1.28 4.38 1.05 3.4 1050
1 13.16 2.36 2.67 18.6 101 2.8 3.24 .3 2.81 5.68 1.03 3.17 1185
1 14.37 1.95 2.5 16.8 113 3.85 3.49 .24 2.18 7.8 .86 3.45 1480
1 13.24 2.59 2.87 21 118 2.8 2.69 .39 1.82 4.32 1.04 2.93 735
1 14.2 1.76 2.45 15.2 112 3.27 3.39 .34 1.97 6.75 1.05 2.85 1450
1 14.39 1.87 2.45 14.6 96 2.5 2.52 .3 1.98 5.25 1.02 3.58 1290
1 14.06 2.15 2.61 17.6 121 2.6 2.51 .31 1.25 5.05 1.06 3.58 1295
1 14.83 1.64 2.17 14 97 2.8 2.98 .29 1.98 5.2 1.08 2.85 1045
1 13.86 1.35 2.27 16 98 2.98 3.15 .22 1.85 7.22 1.01 3.55 1045
1 14.1 2.16 2.3 18 105 2.95 3.32 .22 2.38 5.75 1.25 3.17 1510
1 14.12 1.48 2.32 16.8 95 2.2 2.43 .26 1.57 5 1.17 2.82 1280
1 13.75 1.73 2.41 16 89 2.6 2.76 .29 1.81 5.6 1.15 2.9 1320
1 14.75 1.73 2.39 11.4 91 3.1 3.69 .43 2.81 5.4 1.25 2.73 1150
1 14.38 1.87 2.38 12 102 3.3 3.64 .29 2.96 7.5 1.2 3 1547
1 13.63 1.81 2.7 17.2 112 2.85 2.91 .3 1.46 7.3 1.28 2.88 1310
1 14.3 1.92 2.72 20 120 2.8 3.14 .33 1.97 6.2 1.07 2.65 1280
1 13.83 1.57 2.62 20 115 2.95 3.4 .4 1.72 6.6 1.13 2.57 1130
1 14.19 1.59 2.48 16.5 108 3.3 3.93 .32 1.86 8.7 1.23 2.82 1680
1 13.64 3.1 2.56 15.2 116 2.7 3.03 .17 1.66 5.1 .96 3.36 845
1 14.06 1.63 2.28 16 126 3 3.17 .24 2.1 5.65 1.09 3.71 780
1 12.93 3.8 2.65 18.6 102 2.41 2.41 .25 1.98 4.5 1.03 3.52 770
1 13.71 1.86 2.36 16.6 101 2.61 2.88 .27 1.69 3.8 1.11 4 1035
1 12.85 1.6 2.52 17.8 95 2.48 2.37 .26 1.46 3.93 1.09 3.63 1015
1 13.5 1.81 2.61 20 96 2.53 2.61 .28 1.66 3.52 1.12 3.82 845
1 13.05 2.05 3.22 25 124 2.63 2.68 .47 1.92 3.58 1.13 3.2 830
1 13.39 1.77 2.62 16.1 93 2.85 2.94 .34 1.45 4.8 .92 3.22 1195
1 13.3 1.72 2.14 17 94 2.4 2.19 .27 1.35 3.95 1.02 2.77 1285
1 13.87 1.9 2.8 19.4 107 2.95 2.97 .37 1.76 4.5 1.25 3.4 915
1 14.02 1.68 2.21 16 96 2.65 2.33 .26 1.98 4.7 1.04 3.59 1035
1 13.73 1.5 2.7 22.5 101 3 3.25 .29 2.38 5.7 1.19 2.71 1285
1 13.58 1.66 2.36 19.1 106 2.86 3.19 .22 1.95 6.9 1.09 2.88 1515
1 13.68 1.83 2.36 17.2 104 2.42 2.69 .42 1.97 3.84 1.23 2.87 990
1 13.76 1.53 2.7 19.5 132 2.95 2.74 .5 1.35 5.4 1.25 3 1235
1 13.51 1.8 2.65 19 110 2.35 2.53 .29 1.54 4.2 1.1 2.87 1095
1 13.48 1.81 2.41 20.5 100 2.7 2.98 .26 1.86 5.1 1.04 3.47 920
1 13.28 1.64 2.84 15.5 110 2.6 2.68 .34 1.36 4.6 1.09 2.78 880
1 13.05 1.65 2.55 18 98 2.45 2.43 .29 1.44 4.25 1.12 2.51 1105
1 13.07 1.5 2.1 15.5 98 2.4 2.64 .28 1.37 3.7 1.18 2.69 1020
1 14.22 3.99 2.51 13.2 128 3 3.04 .2 2.08 5.1 .89 3.53 760
1 13.56 1.71 2.31 16.2 117 3.15 3.29 .34 2.34 6.13 .95 3.38 795
1 13.41 3.84 2.12 18.8 90 2.45 2.68 .27 1.48 4.28 .91 3 1035
1 13.88 1.89 2.59 15 101 3.25 3.56 .17 1.7 5.43 .88 3.56 1095
1 13.24 3.98 2.29 17.5 103 2.64 2.63 .32 1.66 4.36 .82 3 680
1 13.05 1.77 2.1 17 107 3 3 .28 2.03 5.04 .88 3.35 885
1 14.21 4.04 2.44 18.9 111 2.85 2.65 .3 1.25 5.24 .87 3.33 1080
1 14.38 3.59 2.28 16 102 3.25 3.17 .27 2.19 4.9 1.04 3.44 1065
1 13.9 1.68 2.12 16 101 3.1 3.39 .21 2.14 6.1 .91 3.33 985
1 14.1 2.02 2.4 18.8 103 2.75 2.92 .32 2.38 6.2 1.07 2.75 1060
1 13.94 1.73 2.27 17.4 108 2.88 3.54 .32 2.08 8.90 1.12 3.1 1260
1 13.05 1.73 2.04 12.4 92 2.72 3.27 .17 2.91 7.2 1.12 2.91 1150
1 13.83 1.65 2.6 17.2 94 2.45 2.99 .22 2.29 5.6 1.24 3.37 1265
1 13.82 1.75 2.42 14 111 3.88 3.74 .32 1.87 7.05 1.01 3.26 1190
1 13.77 1.9 2.68 17.1 115 3 2.79 .39 1.68 6.3 1.13 2.93 1375
1 13.74 1.67 2.25 16.4 118 2.6 2.9 .21 1.62 5.85 .92 3.2 1060
1 13.56 1.73 2.46 20.5 116 2.96 2.78 .2 2.45 6.25 .98 3.03 1120
1 14.22 1.7 2.3 16.3 118 3.2 3 .26 2.03 6.38 .94 3.31 970
1 13.29 1.97 2.68 16.8 102 3 3.23 .31 1.66 6 1.07 2.84 1270
1 13.72 1.43 2.5 16.7 108 3.4 3.67 .19 2.04 6.8 .89 2.87 1285
2 12.37 .94 1.36 10.6 88 1.98 .57 .28 .42 1.95 1.05 1.82 520
2 12.33 1.1 2.28 16 101 2.05 1.09 .63 .41 3.27 1.25 1.67 680
2 12.64 1.36 2.02 16.8 100 2.02 1.41 .53 .62 5.75 .98 1.59 450
2 13.67 1.25 1.92 18 94 2.1 1.79 .32 .73 3.8 1.23 2.46 630
2 12.37 1.13 2.16 19 87 3.5 3.1 .19 1.87 4.45 1.22 2.87 420
2 12.17 1.45 2.53 19 104 1.89 1.75 .45 1.03 2.95 1.45 2.23 355
2 12.37 1.21 2.56 18.1 98 2.42 2.65 .37 2.08 4.6 1.19 2.3 678
2 13.11 1.01 1.7 15 78 2.98 3.18 .26 2.28 5.3 1.12 3.18 502
2 12.37 1.17 1.92 19.6 78 2.11 2 .27 1.04 4.68 1.12 3.48 510
2 13.34 .94 2.36 17 110 2.53 1.3 .55 .42 3.17 1.02 1.93 750
2 12.21 1.19 1.75 16.8 151 1.85 1.28 .14 2.5 2.85 1.28 3.07 718
2 12.29 1.61 2.21 20.4 103 1.1 1.02 .37 1.46 3.05 .906 1.82 870
2 13.86 1.51 2.67 25 86 2.95 2.86 .21 1.87 3.38 1.36 3.16 410
2 13.49 1.66 2.24 24 87 1.88 1.84 .27 1.03 3.74 .98 2.78 472
2 12.99 1.67 2.6 30 139 3.3 2.89 .21 1.96 3.35 1.31 3.5 985
2 11.96 1.09 2.3 21 101 3.38 2.14 .13 1.65 3.21 .99 3.13 886
2 11.66 1.88 1.92 16 97 1.61 1.57 .34 1.15 3.8 1.23 2.14 428
2 13.03 .9 1.71 16 86 1.95 2.03 .24 1.46 4.6 1.19 2.48 392
2 11.84 2.89 2.23 18 112 1.72 1.32 .43 .95 2.65 .96 2.52 500
2 12.33 .99 1.95 14.8 136 1.9 1.85 .35 2.76 3.4 1.06 2.31 750
2 12.7 3.87 2.4 23 101 2.83 2.55 .43 1.95 2.57 1.19 3.13 463
2 12 .92 2 19 86 2.42 2.26 .3 1.43 2.5 1.38 3.12 278
2 12.72 1.81 2.2 18.8 86 2.2 2.53 .26 1.77 3.9 1.16 3.14 714
2 12.08 1.13 2.51 24 78 2 1.58 .4 1.4 2.2 1.31 2.72 630
2 13.05 3.86 2.32 22.5 85 1.65 1.59 .61 1.62 4.8 .84 2.01 515
2 11.84 .89 2.58 18 94 2.2 2.21 .22 2.35 3.05 .79 3.08 520
2 12.67 .98 2.24 18 99 2.2 1.94 .3 1.46 2.62 1.23 3.16 450
2 12.16 1.61 2.31 22.8 90 1.78 1.69 .43 1.56 2.45 1.33 2.26 495
2 11.65 1.67 2.62 26 88 1.92 1.61 .4 1.34 2.6 1.36 3.21 562
2 11.64 2.06 2.46 21.6 84 1.95 1.69 .48 1.35 2.8 1 2.75 680
2 12.08 1.33 2.3 23.6 70 2.2 1.59 .42 1.38 1.74 1.07 3.21 625
2 12.08 1.83 2.32 18.5 81 1.6 1.5 .52 1.64 2.4 1.08 2.27 480
2 12 1.51 2.42 22 86 1.45 1.25 .5 1.63 3.6 1.05 2.65 450
2 12.69 1.53 2.26 20.7 80 1.38 1.46 .58 1.62 3.05 .96 2.06 495
2 12.29 2.83 2.22 18 88 2.45 2.25 .25 1.99 2.15 1.15 3.3 290
2 11.62 1.99 2.28 18 98 3.02 2.26 .17 1.35 3.25 1.16 2.96 345
2 12.47 1.52 2.2 19 162 2.5 2.27 .32 3.28 2.6 1.16 2.63 937
2 11.81 2.12 2.74 21.5 134 1.6 .99 .14 1.56 2.5 .95 2.26 625
2 12.29 1.41 1.98 16 85 2.55 2.5 .29 1.77 2.9 1.23 2.74 428
2 12.37 1.07 2.1 18.5 88 3.52 3.75 .24 1.95 4.5 1.04 2.77 660
2 12.29 3.17 2.21 18 88 2.85 2.99 .45 2.81 2.3 1.42 2.83 406
2 12.08 2.08 1.7 17.5 97 2.23 2.17 .26 1.4 3.3 1.27 2.96 710
2 12.6 1.34 1.9 18.5 88 1.45 1.36 .29 1.35 2.45 1.04 2.77 562
2 12.34 2.45 2.46 21 98 2.56 2.11 .34 1.31 2.8 .8 3.38 438
2 11.82 1.72 1.88 19.5 86 2.5 1.64 .37 1.42 2.06 .94 2.44 415
2 12.51 1.73 1.98 20.5 85 2.2 1.92 .32 1.48 2.94 1.04 3.57 672
2 12.42 2.55 2.27 22 90 1.68 1.84 .66 1.42 2.7 .86 3.3 315
2 12.25 1.73 2.12 19 80 1.65 2.03 .37 1.63 3.4 1 3.17 510
2 12.72 1.75 2.28 22.5 84 1.38 1.76 .48 1.63 3.3 .88 2.42 488
2 12.22 1.29 1.94 19 92 2.36 2.04 .39 2.08 2.7 .86 3.02 312
2 11.61 1.35 2.7 20 94 2.74 2.92 .29 2.49 2.65 .96 3.26 680
2 11.46 3.74 1.82 19.5 107 3.18 2.58 .24 3.58 2.9 .75 2.81 562
2 12.52 2.43 2.17 21 88 2.55 2.27 .26 1.22 2 .9 2.78 325
2 11.76 2.68 2.92 20 103 1.75 2.03 .6 1.05 3.8 1.23 2.5 607
2 11.41 .74 2.5 21 88 2.48 2.01 .42 1.44 3.08 1.1 2.31 434
2 12.08 1.39 2.5 22.5 84 2.56 2.29 .43 1.04 2.9 .93 3.19 385
2 11.03 1.51 2.2 21.5 85 2.46 2.17 .52 2.01 1.9 1.71 2.87 407
2 11.82 1.47 1.99 20.8 86 1.98 1.6 .3 1.53 1.95 .95 3.33 495
2 12.42 1.61 2.19 22.5 108 2 2.09 .34 1.61 2.06 1.06 2.96 345
2 12.77 3.43 1.98 16 80 1.63 1.25 .43 .83 3.4 .7 2.12 372
2 12 3.43 2 19 87 2 1.64 .37 1.87 1.28 .93 3.05 564
2 11.45 2.4 2.42 20 96 2.9 2.79 .32 1.83 3.25 .8 3.39 625
2 11.56 2.05 3.23 28.5 119 3.18 5.08 .47 1.87 6 .93 3.69 465
2 12.42 4.43 2.73 26.5 102 2.2 2.13 .43 1.71 2.08 .92 3.12 365
2 13.05 5.8 2.13 21.5 86 2.62 2.65 .3 2.01 2.6 .73 3.1 380
2 11.87 4.31 2.39 21 82 2.86 3.03 .21 2.91 2.8 .75 3.64 380
2 12.07 2.16 2.17 21 85 2.6 2.65 .37 1.35 2.76 .86 3.28 378
2 12.43 1.53 2.29 21.5 86 2.74 3.15 .39 1.77 3.94 .69 2.84 352
2 11.79 2.13 2.78 28.5 92 2.13 2.24 .58 1.76 3 .97 2.44 466
2 12.37 1.63 2.3 24.5 88 2.22 2.45 .4 1.9 2.12 .89 2.78 342
2 12.04 4.3 2.38 22 80 2.1 1.75 .42 1.35 2.6 .79 2.57 580
3 12.86 1.35 2.32 18 122 1.51 1.25 .21 .94 4.1 .76 1.29 630
3 12.88 2.99 2.4 20 104 1.3 1.22 .24 .83 5.4 .74 1.42 530
3 12.81 2.31 2.4 24 98 1.15 1.09 .27 .83 5.7 .66 1.36 560
3 12.7 3.55 2.36 21.5 106 1.7 1.2 .17 .84 5 .78 1.29 600
3 12.51 1.24 2.25 17.5 85 2 .58 .6 1.25 5.45 .75 1.51 650
3 12.6 2.46 2.2 18.5 94 1.62 .66 .63 .94 7.1 .73 1.58 695
3 12.25 4.72 2.54 21 89 1.38 .47 .53 .8 3.85 .75 1.27 720
3 12.53 5.51 2.64 25 96 1.79 .6 .63 1.1 5 .82 1.69 515
3 13.49 3.59 2.19 19.5 88 1.62 .48 .58 .88 5.7 .81 1.82 580
3 12.84 2.96 2.61 24 101 2.32 .6 .53 .81 4.92 .89 2.15 590
3 12.93 2.81 2.7 21 96 1.54 .5 .53 .75 4.6 .77 2.31 600
3 13.36 2.56 2.35 20 89 1.4 .5 .37 .64 5.6 .7 2.47 780
3 13.52 3.17 2.72 23.5 97 1.55 .52 .5 .55 4.35 .89 2.06 520
3 13.62 4.95 2.35 20 92 2 .8 .47 1.02 4.4 .91 2.05 550
3 12.25 3.88 2.2 18.5 112 1.38 .78 .29 1.14 8.21 .65 2 855
3 13.16 3.57 2.15 21 102 1.5 .55 .43 1.3 4 .6 1.68 830
3 13.88 5.04 2.23 20 80 .98 .34 .4 .68 4.9 .58 1.33 415
3 12.87 4.61 2.48 21.5 86 1.7 .65 .47 .86 7.65 .54 1.86 625
3 13.32 3.24 2.38 21.5 92 1.93 .76 .45 1.25 8.42 .55 1.62 650
3 13.08 3.9 2.36 21.5 113 1.41 1.39 .34 1.14 9.40 .57 1.33 550
3 13.5 3.12 2.62 24 123 1.4 1.57 .22 1.25 8.60 .59 1.3 500
3 12.79 2.67 2.48 22 112 1.48 1.36 .24 1.26 10.8 .48 1.47 480
3 13.11 1.9 2.75 25.5 116 2.2 1.28 .26 1.56 7.1 .61 1.33 425
3 13.23 3.3 2.28 18.5 98 1.8 .83 .61 1.87 10.52 .56 1.51 675
3 12.58 1.29 2.1 20 103 1.48 .58 .53 1.4 7.6 .58 1.55 640
3 13.17 5.19 2.32 22 93 1.74 .63 .61 1.55 7.9 .6 1.48 725
3 13.84 4.12 2.38 19.5 89 1.8 .83 .48 1.56 9.01 .57 1.64 480
3 12.45 3.03 2.64 27 97 1.9 .58 .63 1.14 7.5 .67 1.73 880
3 14.34 1.68 2.7 25 98 2.8 1.31 .53 2.7 13 .57 1.96 660
3 13.48 1.67 2.64 22.5 89 2.6 1.1 .52 2.29 11.75 .57 1.78 620
3 12.36 3.83 2.38 21 88 2.3 .92 .5 1.04 7.65 .56 1.58 520
3 13.69 3.26 2.54 20 107 1.83 .56 .5 .8 5.88 .96 1.82 680
3 12.85 3.27 2.58 22 106 1.65 .6 .6 .96 5.58 .87 2.11 570
3 12.96 3.45 2.35 18.5 106 1.39 .7 .4 .94 5.28 .68 1.75 675
3 13.78 2.76 2.3 22 90 1.35 .68 .41 1.03 9.58 .7 1.68 615
3 13.73 4.36 2.26 22.5 88 1.28 .47 .52 1.15 6.62 .78 1.75 520
3 13.45 3.7 2.6 23 111 1.7 .92 .43 1.46 10.68 .85 1.56 695
3 12.82 3.37 2.3 19.5 88 1.48 .66 .4 .97 10.26 .72 1.75 685
3 13.58 2.58 2.69 24.5 105 1.55 .84 .39 1.54 8.66 .74 1.8 750
3 13.4 4.6 2.86 25 112 1.98 .96 .27 1.11 8.5 .67 1.92 630
3 12.2 3.03 2.32 19 96 1.25 .49 .4 .73 5.5 .66 1.83 510
3 12.77 2.39 2.28 19.5 86 1.39 .51 .48 .64 9.899999 .57 1.63 470
3 14.16 2.51 2.48 20 91 1.68 .7 .44 1.24 9.7 .62 1.71 660
3 13.71 5.65 2.45 20.5 95 1.68 .61 .52 1.06 7.7 .64 1.74 740
3 13.4 3.91 2.48 23 102 1.8 .75 .43 1.41 7.3 .7 1.56 750
3 13.27 4.28 2.26 20 120 1.59 .69 .43 1.35 10.2 .59 1.56 835
3 13.17 2.59 2.37 20 120 1.65 .68 .53 1.46 9.3 .6 1.62 840
3 14.13 4.1 2.74 24.5 96 2.05 .76 .56 1.35 9.2 .61 1.6 560
import math
import sys
import time
import torch
import torchvision.models.detection.mask_rcnn
from coco_utils import get_coco_api_from_dataset
from coco_eval import CocoEvaluator
import utils
def train_one_epoch(model, optimizer, data_loader, device, epoch, print_freq):
model.train()
metric_logger = utils.MetricLogger(delimiter=" ")
metric_logger.add_meter('lr', utils.SmoothedValue(window_size=1, fmt='{value:.6f}'))
header = 'Epoch: [{}]'.format(epoch)
lr_scheduler = None
if epoch == 0:
warmup_factor = 1. / 1000
warmup_iters = min(1000, len(data_loader) - 1)
lr_scheduler = utils.warmup_lr_scheduler(optimizer, warmup_iters, warmup_factor)
for images, targets in metric_logger.log_every(data_loader, print_freq, header):
images = list(image.to(device) for image in images)
targets = [{k: v.to(device) for k, v in t.items()} for t in targets]
loss_dict = model(images, targets)
losses = sum(loss for loss in loss_dict.values())
# reduce losses over all GPUs for logging purposes
loss_dict_reduced = utils.reduce_dict(loss_dict)
losses_reduced = sum(loss for loss in loss_dict_reduced.values())
loss_value = losses_reduced.item()
if not math.isfinite(loss_value):
print("Loss is {}, stopping training".format(loss_value))
print(loss_dict_reduced)
sys.exit(1)
optimizer.zero_grad()
losses.backward()
optimizer.step()
if lr_scheduler is not None:
lr_scheduler.step()
metric_logger.update(loss=losses_reduced, **loss_dict_reduced)
metric_logger.update(lr=optimizer.param_groups[0]["lr"])
return metric_logger
def _get_iou_types(model):
model_without_ddp = model
if isinstance(model, torch.nn.parallel.DistributedDataParallel):
model_without_ddp = model.module
iou_types = ["bbox"]
if isinstance(model_without_ddp, torchvision.models.detection.MaskRCNN):
iou_types.append("segm")
if isinstance(model_without_ddp, torchvision.models.detection.KeypointRCNN):
iou_types.append("keypoints")
return iou_types
@torch.no_grad()
def evaluate(model, data_loader, device):
n_threads = torch.get_num_threads()
# FIXME remove this and make paste_masks_in_image run on the GPU
torch.set_num_threads(1)
cpu_device = torch.device("cpu")
model.eval()
metric_logger = utils.MetricLogger(delimiter=" ")
header = 'Test:'
coco = get_coco_api_from_dataset(data_loader.dataset)
iou_types = _get_iou_types(model)
coco_evaluator = CocoEvaluator(coco, iou_types)
for images, targets in metric_logger.log_every(data_loader, 100, header):
images = list(img.to(device) for img in images)
targets = [{k: v.to(device) for k, v in t.items()} for t in targets]
torch.cuda.synchronize()
model_time = time.time()
outputs = model(images)
outputs = [{k: v.to(cpu_device) for k, v in t.items()} for t in outputs]
model_time = time.time() - model_time
res = {target["image_id"].item(): output for target, output in zip(targets, outputs)}
evaluator_time = time.time()
coco_evaluator.update(res)
evaluator_time = time.time() - evaluator_time
metric_logger.update(model_time=model_time, evaluator_time=evaluator_time)
# gather the stats from all processes
metric_logger.synchronize_between_processes()
print("Averaged stats:", metric_logger)
coco_evaluator.synchronize_between_processes()
# accumulate predictions from all images
coco_evaluator.accumulate()
coco_evaluator.summarize()
torch.set_num_threads(n_threads)
return coco_evaluator
import torch
import torch.nn as nn
import torch.nn.functional as F
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
# 1 input image channel, 6 output channels, 3x3 square convolution kernel
self.conv1 = nn.Conv2d(1, 6, 3)
self.conv2 = nn.Conv2d(6, 16, 3)
# an affine operation: y = Wx + b
self.fc1 = nn.Linear(16*6*6, 120) # 6*6 from image dimension
self.fc2 = nn.Linear(120, 84)
self.fc3 = nn.Linear(84, 10)
def forward(self, x):
# Max pooling over a (2, 2) window
x = F.max_pool2d(F.relu(self.conv1(x)), (2, 2))
# If the size is sqaure you can only specify a single number
x = F.max_pool2d(F.relu(self.conv2(x)), 2)
x = x.view(-1, self.num_flat_features(x))
x = F.relu(self.fc1(x))
x = F.relu(self.fc2(x))
x = self.fc3(x)
return x
def num_flat_features(self, x):
print('dinchak')
print(x.shape)
size = x.size()[1:] # all dimensions except the batch dimension
num_features = 1
for s in size:
num_features *= s
return num_features
net = Net()
print(net)
params = list(net.parameters())
print(len(params))
print(params[0].size())
input = torch.randn(1, 1, 32, 32)
out = net(input)
print(out)
#net.zero_grad()
#out.backward(torch.randn(1, 10))
output = net(input)
target = torch.randn(10) # a dummy target for eaxample
target = target.view(1, -1) # make it the same shape as output
criterion = nn.MSELoss()
loss = criterion(out, target)
print("Loss:", loss)
print(loss.grad_fn) # MSELoss
print(loss.grad_fn.next_functions[0][0]) # Linear
print(loss.grad_fn.next_functions[0][0].next_functions[0][0]) # Relu
# backprop
net.zero_grad() # zeros the gradient buffers of all parameters
print('conv1.bias.grad before backward')
print(net.conv1.bias.grad)
loss.backward()
print('conv1.bias.grad after backward')
print(net.conv1.bias.grad)
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
# -*- coding: utf-8 -*-
import numpy as np
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random input and output data
x = np.random.randn(N, D_in)
y = np.random.randn(N, D_out)
# Randomly initialize weights
w1 = np.random.randn(D_in, H)
w2 = np.random.randn(H, D_out)
learning_rate = 1e-6
for t in range(500):
# Forward pass: compute predicted y
h = x.dot(w1)
h_relu = np.maximum(h, 0)
y_pred = h_relu.dot(w2)
# Compute and print loss
loss = np.square(y_pred - y).sum()
print(t, loss)
# Backprop to compute gradients of w1 and w2 with respect to loss
grad_y_pred = 2.0 * (y_pred - y)
grad_w2 = h_relu.T.dot(grad_y_pred)
grad_h_relu = grad_y_pred.dot(w2.T)
grad_h = grad_h_relu.copy()
grad_h[h < 0] = 0
grad_w1 = x.T.dot(grad_h)
# Update weights
w1 -= learning_rate * grad_w1
w2 -= learning_rate * grad_w2
We can make this file beautiful and searchable if this error is corrected: No tabs found in this TSV file in line 0.
Coat
Bag
Shirt
Trouser
Sandal
Trouser
Sandal
Pullover
Sandal
Bag
Sandal
Dress
T-shirt/top
Trouser
Coat
Pullover
Coat
Sneaker
Trouser
Sandal
Trouser
Trouser
Sneaker
Bag
Dress
Dress
Trouser
Sandal
Coat
Ankle Boot
Dress
Pullover
Sandal
Dress
T-shirt/top
Sandal
T-shirt/top
Coat
T-shirt/top
Bag
Ankle Boot
T-shirt/top
Dress
Bag
Sneaker
Sneaker
Shirt
Trouser
Sneaker
Dress
Shirt
Trouser
Sneaker
Ankle Boot
T-shirt/top
T-shirt/top
Pullover
Shirt
Coat
Trouser
T-shirt/top
T-shirt/top
Sandal
Shirt
Shirt
Sandal
Sneaker
Trouser
Dress
Bag
Trouser
Dress
Dress
Ankle Boot
T-shirt/top
Sneaker
Ankle Boot
Shirt
Ankle Boot
Shirt
Bag
Sandal
Shirt
Bag
Ankle Boot
Dress
Sneaker
Trouser
Coat
Trouser
Bag
Ankle Boot
Pullover
T-shirt/top
Trouser
Pullover
Shirt
Bag
Sandal
Ankle Boot
0 0 0 0 0 0 0 0 0 0 0 9 154 89 114 156 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 14 87 193 206 198 216 238 157 46 4 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 28 161 183 175 182 206 186 198 225 207 173 211 212 33 0 1 0 0 0 0 0 0 0 0 0 0 0 0 179 212 192 162 172 218 132 176 168 161 202 147 152 150 0 0 0 0 0 0 0 0 0 0 0 0 0 41 217 205 215 239 161 113 254 202 92 214 203 166 180 196 26 0 0 0 0 0 0 0 0 0 0 0 0 90 214 202 207 225 243 193 185 224 219 187 182 174 192 203 65 0 0 0 0 0 0 0 0 0 0 0 0 161 212 203 210 170 186 247 199 197 222 159 159 179 180 197 97 0 0 0 0 0 0 0 0 0 0 0 0 189 174 209 164 176 145 203 251 164 191 225 168 143 184 198 106 0 0 0 0 0 0 0 0 0 0 0 0 192 178 212 198 122 122 219 244 187 191 206 194 203 228 204 169 0 0 0 0 0 0 0 0 0 0 0 0 141 192 203 214 138 129 212 196 199 160 198 184 183 226 207 191 0 0 0 0 0 0 0 0 0 0 0 0 177 209 231 156 163 118 162 168 168 196 184 175 181 223 191 148 0 0 0 0 0 0 0 0 0 0 0 0 204 225 227 188 167 148 188 168 188 225 204 205 173 225 153 152 0 0 0 0 0 0 0 0 0 0 0 0 199 227 188 164 215 168 159 117 199 222 195 184 81 184 182 240 0 0 0 0 0 0 0 0 0 0 0 3 204 232 148 166 249 206 222 198 220 215 190 163 116 156 221 203 0 0 0 0 0 0 0 0 0 0 0 30 217 231 161 141 190 126 210 223 223 209 187 200 144 152 227 203 35 0 0 0 0 0 0 0 0 0 0 52 218 230 166 136 149 218 205 199 211 222 129 160 121 142 214 205 59 0 0 0 0 0 0 0 0 0 0 71 216 226 118 157 210 219 205 189 184 234 228 210 184 82 230 210 57 0 0 0 0 0 0 0 0 0 0 48 211 225 93 172 198 225 173 172 180 198 218 225 207 62 222 196 94 0 0 0 0 0 0 0 0 0 0 100 221 214 102 161 217 214 191 183 161 226 190 200 223 127 221 200 100 0 0 0 0 0 0 0 0 0 0 112 227 218 83 165 192 193 208 217 186 212 221 204 189 116 215 214 116 0 0 0 0 0 0 0 0 0 0 149 215 211 34 191 212 209 211 216 221 205 204 186 197 75 222 198 144 0 0 0 0 0 0 0 0 0 0 150 184 225 43 207 207 182 208 215 201 196 190 186 169 57 255 198 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 214 203 186 166 186 215 178 200 241 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 147 54 0 15 169 37 43 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 2 0 0 0 4 2 0 0 12 0 0 0 0 2 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 27 12 0 0 35 11 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 0 0 2 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 0 7 36 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 5 0 0 96 153 165 158 125 0 0 7 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 3 0 0 219 189 40 0 11 118 246 52 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 160 117 0 0 0 0 0 5 178 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 2 6 0 95 162 0 10 3 3 0 5 0 110 128 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 155 79 0 6 0 0 0 0 0 0 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 177 9 0 1 0 0 0 0 0 0 215 42 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 14 255 1 0 0 0 0 0 0 0 0 220 55 0 0 2 7 1 0 0 0 0 0 0 0 0 0 0 44 255 62 0 0 0 0 0 0 0 0 255 62 0 0 0 0 0 1 0 0 0 0 0 67 179 162 154 208 218 182 141 149 148 148 145 143 135 138 209 187 166 145 121 74 0 0 0 0 0 0 39 239 239 235 242 197 228 170 255 224 225 223 223 220 255 221 206 194 216 232 222 184 95 0 0 0 0 0 197 241 216 219 227 179 221 182 232 215 211 208 206 199 208 183 208 181 201 219 186 128 208 17 0 0 0 0 213 238 229 224 232 244 226 230 232 230 224 221 220 218 215 241 222 217 210 220 156 134 255 31 0 0 0 0 241 236 231 228 221 227 226 215 228 230 222 221 223 224 221 224 214 211 214 191 150 157 251 40 0 0 0 130 224 234 230 232 231 221 239 213 232 229 224 222 222 223 221 214 217 208 210 183 167 172 241 148 0 0 0 33 251 233 235 231 231 236 198 224 235 229 220 223 222 222 217 237 199 192 218 188 172 182 233 104 0 0 0 0 241 241 229 237 229 248 0 205 250 222 225 223 222 223 209 254 51 96 247 191 176 187 237 97 0 0 0 0 242 238 230 234 231 254 0 223 243 219 221 223 223 226 210 248 81 97 254 195 180 184 233 107 0 0 0 0 246 237 231 233 231 254 0 224 244 221 223 222 222 223 208 251 85 99 255 191 176 180 231 107 0 0 0 0 245 237 231 234 232 254 0 220 244 221 223 221 221 221 205 251 86 95 255 192 178 181 229 108 0 0 0 0 242 235 229 234 232 254 0 216 241 220 223 222 220 219 204 254 89 93 255 195 185 186 227 107 0 0 0 0 243 239 230 234 227 255 0 219 238 218 221 221 217 215 204 253 95 96 251 195 185 183 231 95 0 0 0 0 247 238 229 233 226 255 0 219 237 219 221 221 218 217 204 250 94 97 252 199 178 180 234 81 0 0 0 0 255 237 228 231 224 255 0 220 238 217 220 221 219 219 206 250 97 97 248 201 199 171 229 71 0 0 0 0 217 234 230 233 226 255 0 222 239 218 219 221 219 221 209 253 109 104 244 184 207 187 219 67 0 0 0 0 222 228 224 225 220 255 0 208 224 213 216 215 214 215 209 226 66 93 224 186 191 181 200 65 0 0 0 0 188 255 245 248 243 254 75 255 255 243 246 242 242 243 237 253 142 200 255 235 225 221 240 0 0 0 0 0 0 78 95 109 107 129 91 115 98 95 89 79 80 80 80 97 95 106 108 111 111 99 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 0 34 140 150 158 172 40 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 0 163 227 239 227 242 168 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 190 181 179 208 232 179 180 193 149 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 162 184 172 168 159 188 176 157 165 168 182 184 150 56 0 0 0 0 0 0 0 0 0 0 3 0 104 188 169 162 164 163 165 175 134 173 162 165 163 162 174 180 38 0 3 0 0 0 0 0 0 0 0 4 172 162 162 159 159 161 158 161 152 158 153 164 159 162 159 173 135 0 0 0 0 0 0 0 0 0 0 55 186 162 149 161 164 157 157 172 165 158 159 159 159 168 169 167 159 0 0 0 0 0 0 0 0 0 0 116 192 178 165 149 162 159 157 156 151 158 156 162 157 162 175 163 172 18 0 0 0 0 0 0 0 0 0 150 188 205 215 163 158 161 158 149 146 162 156 155 153 162 181 165 181 39 0 0 0 0 0 0 0 0 0 180 185 185 229 169 163 163 157 159 172 161 158 152 150 186 200 170 191 74 0 0 0 0 0 0 0 0 0 190 194 180 227 187 162 179 161 165 167 178 164 153 151 192 222 184 192 98 0 0 0 0 0 0 0 0 0 198 194 200 236 198 170 181 159 167 133 175 175 162 159 169 202 181 190 122 0 0 0 0 0 0 0 0 12 203 186 199 245 176 181 175 158 174 167 159 180 168 164 180 214 193 196 150 0 0 0 0 0 0 0 0 36 204 175 204 246 175 181 173 162 175 175 159 173 167 157 190 234 218 191 174 0 0 0 0 0 0 0 0 57 205 170 196 254 168 179 170 164 173 164 165 170 181 162 164 214 224 180 193 0 0 0 0 0 0 0 0 70 206 158 184 221 185 173 175 172 174 163 174 167 178 178 147 146 234 172 205 12 0 0 0 0 0 0 0 81 204 157 190 170 192 173 173 172 187 187 169 172 184 175 161 191 234 176 206 46 0 0 0 0 0 0 0 105 198 162 197 172 191 179 172 172 190 190 172 173 174 180 164 144 235 176 202 67 0 0 0 0 0 0 0 127 191 156 218 122 188 181 170 176 179 159 179 174 178 174 185 92 226 179 199 80 0 0 0 0 0 0 0 143 187 157 221 85 203 182 172 180 187 180 172 174 180 167 198 78 241 181 193 105 0 0 0 0 0 0 0 149 186 163 214 73 208 179 170 178 192 188 168 172 174 167 196 96 221 188 181 128 0 0 0 0 0 0 0 153 185 168 212 52 218 174 173 179 192 174 172 169 170 164 202 87 193 200 176 141 0 0 0 0 0 0 0 157 180 175 206 16 227 174 176 181 188 151 174 168 173 162 203 82 161 210 173 138 0 0 0 0 0 0 0 134 182 182 164 56 235 176 176 176 202 176 172 170 172 168 198 123 95 217 172 132 0 0 0 0 0 0 0 108 187 186 122 90 200 178 178 176 196 173 173 173 173 170 173 165 58 210 173 109 0 0 0 0 0 0 0 81 187 190 61 27 211 182 181 178 202 173 168 168 168 173 198 73 1 203 178 86 0 0 0 0 0 0 0 92 191 193 101 0 145 173 179 181 218 185 181 176 170 176 115 0 18 202 194 159 0 0 0 0 0 0 0 91 173 169 91 0 0 0 0 6 52 72 57 46 7 0 0 0 0 87 85 36 0 0 0
0 0 0 0 0 0 0 0 0 19 95 125 102 103 125 92 102 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 126 164 146 183 154 165 142 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 190 167 165 160 108 167 134 142 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 89 118 162 162 141 162 139 113 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 45 51 167 155 147 144 74 58 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 48 35 128 198 201 113 43 32 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 56 42 92 167 198 100 48 30 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 60 37 99 152 199 99 53 32 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 63 34 103 103 186 126 51 34 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 82 30 120 76 186 136 42 37 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 90 21 133 55 147 149 35 45 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 87 25 133 21 94 155 24 43 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 92 24 141 22 66 159 24 45 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 100 17 138 29 56 168 17 50 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 107 25 138 34 45 188 11 53 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 42 141 40 37 201 14 43 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 42 147 35 12 186 24 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 68 159 0 0 220 21 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 120 138 201 0 0 237 128 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 154 178 201 0 0 203 177 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 142 190 204 0 0 211 178 141 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 190 214 4 0 224 175 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 190 225 11 6 224 180 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 191 230 12 6 216 177 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 191 245 6 40 255 181 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 198 207 11 61 243 181 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 206 224 29 61 214 167 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 227 0 19 203 131 3 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 8 6 0 0 4 3 0 0 0 0 0 9 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 137 236 189 0 0 0 0 0 0 0 0 0 0 0 0 2 0 164 164 139 129 105 65 14 0 0 137 225 255 214 79 0 0 0 0 0 0 0 0 0 0 0 0 2 0 129 177 197 224 235 241 227 186 189 255 249 128 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 65 70 231 255 221 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 6 0 0 0 0 0 227 252 54 0 7 5 6 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 8 0 23 244 242 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 24 243 243 0 0 0 53 204 120 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 1 0 4 0 30 245 239 72 157 249 187 187 60 0 0 0 0 0 0 0 0 0 0 1 0 0 2 0 0 1 0 0 16 252 245 238 195 140 137 159 23 0 0 0 0 0 1 4 8 6 1 0 1 0 0 0 7 0 0 87 252 218 167 112 120 149 156 165 17 0 0 0 1 0 0 0 0 0 0 1 1 1 0 4 0 0 188 252 156 124 156 161 161 150 154 154 0 0 0 0 0 0 0 8 150 224 0 0 2 0 3 0 0 247 208 92 126 135 137 142 144 140 160 143 0 4 9 12 0 15 251 241 246 255 171 0 3 0 0 0 252 189 100 157 153 149 149 154 141 148 149 109 0 0 0 0 0 0 242 231 235 236 237 25 0 0 0 255 191 114 162 148 155 154 145 158 158 149 148 95 0 50 157 94 33 0 187 233 241 236 253 157 0 0 247 226 77 137 146 140 134 136 139 151 152 146 161 87 0 66 181 175 245 231 240 246 240 244 240 244 230 255 202 76 138 130 128 121 117 127 128 130 126 131 163 67 0 0 85 80 67 97 89 97 124 123 126 132 164 97 100 132 131 135 136 133 117 134 131 117 121 121 168 50 0 0 100 138 119 136 113 126 122 113 115 109 116 112 129 132 132 126 125 139 134 130 148 145 149 126 167 34 0 0 47 148 90 103 115 136 122 122 142 117 130 134 120 123 120 126 131 136 136 126 123 124 130 131 154 15 0 0 9 155 168 141 136 128 100 106 145 118 107 109 106 115 121 116 108 100 104 107 106 103 96 101 136 1 0 0 0 0 37 106 155 174 164 170 147 149 159 158 150 138 151 171 171 153 188 167 175 187 175 192 214 9 0 0 0 0 0 0 0 10 48 69 76 93 78 74 62 58 50 46 51 39 41 35 74 101 87 91 84 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 3 129 95 90 89 95 87 95 107 131 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 255 194 217 226 230 206 203 184 232 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 188 156 149 165 175 176 159 144 182 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 182 144 153 164 147 155 159 131 161 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 175 137 144 152 147 146 149 137 152 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 107 178 140 135 156 155 158 143 131 147 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 175 137 132 150 170 155 141 128 144 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 168 132 128 131 176 159 128 128 144 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 165 128 125 117 193 175 122 126 146 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 170 122 128 116 137 173 126 119 150 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 168 113 129 113 110 176 125 128 153 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 176 117 119 114 123 179 116 129 156 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 181 125 120 114 129 172 119 129 156 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 184 122 120 114 134 167 131 123 156 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 202 143 126 134 102 196 144 125 168 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 178 149 138 131 87 215 152 131 168 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 164 129 134 120 90 203 120 116 153 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 129 141 131 72 230 122 123 164 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 164 137 137 135 52 242 128 122 173 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 165 152 150 143 55 236 159 131 179 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 146 140 125 137 42 221 153 107 164 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 150 117 159 36 226 153 114 172 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 146 159 134 152 37 211 172 114 178 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 155 137 162 52 188 175 138 167 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 162 137 168 55 218 167 144 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 114 172 137 168 34 214 159 143 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 199 164 208 95 247 178 173 218 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 119 122 108 0 92 116 123 101 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 1 0 0 0 0 0 0 0 0 8 108 31 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 0 6 168 211 250 96 0 4 0 0 0 0 0 0 0 0 0 0 1 0 156 131 139 155 163 164 141 204 158 205 241 224 70 0 0 1 0 0 0 0 0 0 0 0 0 0 6 0 157 190 115 142 128 157 163 164 202 227 182 214 17 0 3 0 0 0 0 0 0 0 0 0 0 0 9 0 127 71 0 0 0 0 0 0 83 239 19 0 0 0 0 5 3 0 0 0 0 0 0 0 0 0 9 0 123 72 0 8 2 0 0 0 3 244 64 0 1 3 0 0 0 0 0 0 0 0 0 0 0 0 10 0 131 40 0 2 0 0 2 0 0 209 210 0 0 0 0 37 50 0 0 0 0 0 0 0 0 0 0 0 198 3 0 2 0 1 0 0 0 172 238 0 0 72 155 238 139 0 0 0 0 0 0 0 0 14 0 105 151 0 4 0 0 0 0 0 0 31 226 181 221 231 225 205 0 0 0 0 0 0 3 2 0 0 73 223 0 0 2 0 0 0 0 0 26 169 229 220 218 204 224 76 0 0 0 0 1 0 0 0 0 95 196 13 0 0 0 0 0 0 0 136 235 255 156 222 212 222 186 0 0 0 1 8 0 0 0 100 211 116 0 0 0 0 0 0 0 8 199 242 101 0 0 5 215 225 28 0 1 1 0 0 0 120 255 183 208 211 193 0 0 0 0 0 26 230 210 28 0 0 0 0 207 188 0 0 0 0 0 21 189 239 98 144 115 163 238 255 142 0 0 18 233 184 0 0 0 2 0 0 211 138 0 1 0 0 0 81 142 146 0 255 50 181 0 105 255 255 85 218 187 0 0 0 0 1 0 0 215 99 0 1 0 103 186 208 201 190 147 155 125 112 22 0 0 145 249 196 0 0 1 0 0 0 0 0 209 51 0 2 0 0 48 98 171 215 255 246 255 230 152 159 163 218 230 2 0 1 0 0 0 1 0 0 226 39 0 7 0 0 0 0 0 0 0 29 58 132 194 199 206 135 0 0 0 0 0 0 0 1 0 0 152 7 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 4 0 0 0 19 119 78 50 50 47 40 44 84 149 73 0 0 0 0 5 0 0 0 0 0 0 1 0 0 0 92 211 212 221 231 238 255 249 255 241 244 225 221 240 121 14 0 0 1 0 0 0 0 1 0 0 90 195 236 225 213 207 201 207 196 160 186 211 206 204 209 223 234 219 155 33 0 0 0 0 0 0 0 142 245 225 214 215 215 214 215 214 219 235 220 216 218 219 220 220 217 215 225 233 80 0 5 0 0 0 43 225 212 214 216 216 226 222 224 232 219 212 225 230 223 220 218 209 210 214 200 211 182 0 0 0 0 0 144 229 206 218 217 213 209 217 223 218 187 171 175 162 190 227 231 212 215 203 213 201 211 33 0 0 0 0 206 219 212 209 214 210 235 197 141 116 185 182 172 190 137 133 159 220 211 211 208 199 216 66 0 0 0 0 198 214 218 205 206 215 208 140 222 14 90 204 173 212 188 146 144 210 210 204 210 203 214 101 0 0 0 0 207 211 224 219 210 200 140 170 218 0 105 192 165 8 79 149 152 208 209 200 212 201 215 132 0 0 0 17 215 211 221 231 214 183 173 170 201 142 151 157 170 158 102 170 134 173 215 201 210 203 213 160 0 0 0 39 218 210 217 227 213 188 179 175 205 110 180 160 139 190 75 183 164 161 217 193 212 205 209 185 0 0 0 54 219 209 210 230 219 187 167 177 142 138 150 189 163 163 152 156 126 164 212 203 212 204 208 209 0 0 0 65 253 209 210 235 212 210 165 162 142 190 176 160 159 168 192 157 147 206 211 200 214 206 205 221 0 0 0 66 253 210 211 243 208 219 226 161 182 177 132 21 51 108 133 152 164 188 209 199 214 207 201 233 0 0 0 73 253 211 211 240 215 206 214 204 190 225 200 137 141 160 164 195 178 210 209 197 215 208 199 240 25 0 0 81 253 211 210 245 209 212 211 210 217 204 224 198 196 160 159 150 160 169 205 201 215 210 200 240 47 0 0 93 252 210 213 245 211 213 212 207 207 208 205 214 218 210 178 185 175 148 199 204 219 213 200 242 62 0 0 99 251 210 211 245 213 211 212 209 209 209 209 206 201 214 195 182 184 183 201 203 219 215 201 235 76 0 0 110 249 208 208 243 216 210 210 210 210 209 209 208 209 203 204 209 210 200 200 202 217 218 203 232 104 0 0 116 248 210 207 244 218 209 210 211 210 209 209 205 206 208 203 202 200 196 201 200 212 219 204 230 119 0 0 134 238 208 207 237 222 209 210 213 212 211 210 211 209 210 205 202 204 200 202 197 210 219 200 225 139 0 0 139 240 210 209 226 225 206 212 210 211 210 209 211 209 210 207 203 202 202 205 198 212 218 200 224 139 0 0 146 242 210 210 241 239 207 211 207 206 207 208 209 208 209 207 203 203 202 206 200 215 217 199 225 138 0 0 145 243 205 221 204 178 222 207 205 205 207 208 207 206 208 207 204 203 199 197 196 218 218 203 226 136 0 0 162 223 214 221 187 155 212 201 204 204 205 205 204 203 203 202 201 200 198 197 200 216 212 204 209 154 0 0 160 217 205 219 185 191 232 214 217 218 219 220 216 215 214 214 213 214 213 222 177 169 213 198 204 124 0 0 159 245 221 241 171 0 35 27 29 30 29 30 29 28 28 29 26 26 26 42 0 159 238 212 222 149 0 0 37 125 110 139 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 82 88 93 20 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 37 75 78 6 0 0 0 0 1 3 0 0 0 0 10 6 76 247 156 0 0 0 0 0 1 43 110 120 95 93 86 24 0 0 0 0 0 1 0 0 3 60 134 107 42 4 104 191 34 0 13 70 89 82 64 21 61 89 16 0 0 1 1 0 0 0 0 98 137 116 84 140 215 146 34 24 98 12 39 34 79 111 95 79 75 21 0 0 1 0 0 0 0 0 49 158 101 114 89 176 212 182 175 46 24 181 84 153 104 15 0 0 0 0 0 0 0 13 19 0 0 0 120 135 141 119 206 49 128 102 123 217 138 138 52 30 0 0 0 0 0 6 7 16 7 79 128 126 137 113 187 178 191 179 255 123 95 146 144 19 140 170 75 45 120 165 156 170 179 140 135 137 117 0 0 0 0 12 34 92 76 116 99 120 81 72 34 3 6 42 37 21 78 102 92 73 69 60 46 42 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 22 134 169 8 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 181 22 20 149 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 104 53 0 0 52 70 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 109 0 0 0 0 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 0 59 93 0 3 1 0 110 15 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 8 0 118 49 0 1 1 0 74 48 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 132 0 0 1 5 0 66 105 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 150 0 0 3 4 0 34 92 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 3 31 0 1 0 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 15 42 0 2 0 0 0 0 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 30 35 0 2 0 0 1 0 46 8 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 42 17 0 1 0 0 1 0 43 21 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 0 0 0 0 0 0 0 31 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0 0 0 0 0 0 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 165 195 184 143 209 191 197 187 189 194 197 210 122 177 172 187 108 0 0 0 0 0 0 0 0 0 0 182 206 200 124 99 217 191 200 193 200 205 202 209 139 182 202 211 173 0 0 0 0 0 0 0 0 0 0 192 191 189 175 171 195 190 186 185 187 190 194 211 193 189 198 203 180 0 0 0 0 0 0 0 0 0 0 219 191 189 202 208 191 195 193 141 148 201 203 207 227 217 199 206 209 0 0 0 0 0 0 0 0 0 0 220 188 187 188 191 192 195 208 178 190 222 201 214 209 209 202 208 234 0 0 0 0 0 0 0 0 0 7 222 185 187 191 198 194 194 202 207 210 210 212 213 204 207 204 207 242 0 0 0 0 0 0 0 0 0 30 227 187 193 198 203 198 204 209 208 207 216 211 197 248 231 229 207 243 12 0 0 0 0 0 0 0 0 59 227 188 198 199 203 200 199 207 205 202 225 194 207 94 44 181 217 253 62 0 0 0 0 0 0 0 0 86 233 192 199 200 202 200 201 209 208 204 231 201 232 206 192 210 212 245 103 0 0 0 0 0 0 0 0 110 230 197 200 201 201 201 202 210 207 207 221 193 233 219 208 202 202 237 116 0 0 0 0 0 0 0 0 130 220 191 195 198 201 202 200 206 205 206 211 199 221 203 189 198 204 236 120 0 0 0 0 0 0 0 0 148 252 219 229 229 231 223 223 228 223 222 231 225 230 223 223 226 218 254 121 0 0 0 0 0 0 0 0 55 210 163 153 159 161 165 174 184 179 173 182 175 169 173 173 168 163 211 74 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 102 99 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 147 172 84 170 116 209 96 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 0 1 0 53 199 250 154 0 0 0 2 164 224 175 0 0 0 0 1 2 2 2 2 2 1 1 0 1 1 0 0 124 201 154 126 222 227 135 0 0 2 186 246 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 135 195 0 0 0 65 225 255 29 0 0 1 209 233 20 0 14 13 9 9 8 16 0 169 225 154 97 116 107 91 26 16 6 0 1 85 251 147 58 101 107 171 188 177 196 207 199 194 192 228 159 0 51 85 111 130 132 164 183 171 170 178 163 117 126 160 125 116 99 62 55 54 51 54 54 54 51 72 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 43 31 0 0 0 0 0 52 42 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35 108 68 96 110 52 77 92 147 128 17 41 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 106 95 82 56 71 57 52 50 25 42 32 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 138 85 57 47 55 51 42 37 46 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130 100 36 42 61 46 42 23 28 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 133 53 57 53 56 62 33 20 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 75 153 80 75 70 67 73 46 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 37 166 107 73 75 76 53 45 21 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 25 172 115 81 81 66 56 45 12 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 7 170 123 58 67 56 37 37 10 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 158 143 92 65 58 40 42 17 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 160 153 122 87 92 60 65 26 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 128 151 123 82 102 66 61 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 125 152 142 91 117 72 62 28 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 183 130 120 155 100 126 71 63 42 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 185 141 101 160 101 152 63 72 38 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 185 153 82 166 112 161 57 73 50 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 183 178 76 138 145 176 50 82 46 46 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 153 186 195 80 125 171 193 41 105 60 46 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 155 182 197 80 100 176 205 27 108 57 47 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 158 186 215 85 85 202 196 12 141 62 50 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 167 190 226 75 65 221 173 16 156 52 55 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 171 197 242 88 83 236 158 33 203 71 60 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 166 196 240 100 105 250 161 42 182 67 58 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 166 201 237 91 111 247 157 37 190 78 63 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 161 200 230 88 128 255 171 42 200 77 75 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 123 245 135 137 230 185 86 177 55 55 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 103 52 132 122 2 17 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 86 122 124 117 105 112 141 169 177 134 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 220 254 255 252 253 255 254 255 255 247 241 254 255 255 241 37 0 0 0 0 0 0 0 0 0 0 136 235 223 216 213 213 208 208 198 215 211 207 214 208 216 215 225 230 0 0 0 0 0 0 0 0 0 0 207 214 213 215 221 222 238 248 225 222 221 250 234 220 217 217 211 225 65 0 0 0 0 0 0 0 0 82 230 218 218 212 230 185 0 171 174 119 224 28 174 235 212 222 217 225 189 0 0 0 0 0 0 0 0 174 222 219 220 215 211 238 161 3 174 233 114 2 220 225 209 225 220 210 213 23 0 0 0 0 0 0 45 229 220 218 219 210 215 227 255 181 171 255 102 225 254 210 213 220 215 215 235 191 0 0 0 0 0 0 0 107 191 235 241 214 225 170 146 254 122 130 233 143 184 224 209 233 235 236 127 9 0 0 0 0 0 0 0 0 0 68 177 215 217 222 237 95 79 59 183 242 215 214 230 173 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 185 223 213 84 132 117 88 73 226 245 209 254 17 0 0 0 0 0 0 0 0 0 0 0 1 0 3 0 164 233 123 107 137 92 118 46 10 182 217 224 63 0 4 0 0 0 0 0 0 0 0 0 0 0 1 0 140 224 213 255 59 99 91 70 249 218 211 225 48 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 134 226 210 178 11 104 133 4 172 239 211 223 38 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 156 226 198 151 149 182 174 148 149 165 213 224 28 0 3 0 0 0 0 0 0 0 0 0 0 1 0 0 197 220 210 214 216 211 206 217 218 214 210 224 23 0 3 0 0 0 0 0 0 0 0 0 0 2 0 0 224 215 215 220 223 222 226 223 222 223 214 217 33 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 203 213 215 214 214 217 215 219 219 223 215 224 68 0 3 0 0 0 0 0 0 0 0 0 0 1 0 35 215 215 229 230 236 234 236 234 238 230 212 226 141 0 1 1 0 0 0 0 0 0 0 0 0 2 0 74 194 179 195 181 169 171 157 154 160 164 153 183 173 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 191 169 161 170 184 157 185 161 187 178 156 191 207 27 0 1 0 0 0 0 0 0 0 0 1 0 0 186 186 181 192 168 175 160 192 167 189 166 185 154 187 119 0 1 0 0 0 0 0 0 0 0 4 0 14 211 150 205 172 153 163 173 197 167 150 176 183 142 174 186 0 0 1 0 0 0 0 0 0 0 2 0 64 202 151 201 165 175 186 150 196 158 178 182 176 182 173 207 18 0 1 0 0 0 0 0 0 0 0 0 124 193 189 175 185 186 155 158 159 173 182 148 172 159 144 205 42 0 3 0 0 0 0 0 0 0 0 0 159 169 150 159 166 147 173 164 196 145 157 184 214 156 174 196 71 0 1 0 0 0 0 0 0 1 0 0 159 174 185 194 172 183 189 173 157 176 184 181 181 142 177 179 105 0 0 0 0 0 0 0 0 4 0 20 254 189 210 200 189 180 190 183 188 215 177 187 228 212 179 198 180 0 0 0 0 0 0 0 0 1 0 0 65 68 109 148 135 107 148 143 143 128 126 122 129 107 86 85 43 0 0 0 0 0
0 0 0 0 0 0 0 0 0 22 210 166 170 202 232 193 168 187 185 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 187 155 181 189 183 176 185 198 189 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 163 172 161 168 178 166 180 163 181 187 148 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 210 166 172 178 172 172 180 159 174 180 176 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 251 159 195 159 168 180 170 155 176 180 198 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 240 155 215 138 183 176 161 153 168 172 208 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 215 133 202 135 189 178 166 155 155 168 206 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 187 159 198 135 198 180 185 159 150 159 195 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 181 196 163 148 187 172 176 157 146 138 180 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 195 187 146 159 159 185 157 146 148 146 180 65 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 202 180 153 148 161 191 153 140 151 146 180 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 213 172 170 144 178 86 159 150 151 146 180 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 210 165 168 146 185 46 168 151 150 150 183 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 210 166 168 148 181 7 157 157 150 150 185 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 208 163 165 159 172 0 148 170 146 148 181 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 208 165 163 168 166 0 135 178 146 151 187 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 210 166 165 180 146 0 97 183 153 157 193 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 30 217 163 163 196 103 0 75 193 155 161 195 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 228 165 165 204 80 0 65 202 157 163 196 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 232 168 168 206 56 0 43 223 163 168 200 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 228 172 170 208 24 0 9 219 170 174 204 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 234 178 172 208 3 0 0 210 176 174 202 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 65 241 183 180 206 0 0 0 181 183 174 210 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 255 204 187 187 0 0 0 163 198 172 217 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 213 213 200 165 0 0 0 146 204 181 215 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 206 204 208 146 0 1 0 105 210 183 198 142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 225 213 219 120 0 3 0 67 215 200 225 196 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 116 163 191 73 0 3 0 24 176 148 118 46 0 0 0 0 0 0 0
0 0 0 0 4 0 1 1 0 0 0 93 130 80 81 144 125 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 28 255 255 255 255 254 255 62 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 78 186 230 241 220 226 231 240 227 220 236 238 183 67 0 0 0 0 0 0 0 0 0 0 0 0 0 149 215 205 204 202 202 200 212 221 201 193 192 199 206 218 172 0 0 0 0 0 0 0 0 0 0 0 1 200 190 177 192 202 210 206 207 213 215 208 206 192 183 194 216 7 0 0 0 0 0 0 0 0 0 0 62 210 184 183 185 192 206 207 194 207 218 200 201 197 186 192 225 70 0 0 0 0 0 0 0 0 0 0 117 205 174 182 182 190 208 204 194 211 210 206 194 181 182 191 221 127 0 0 0 0 0 0 0 0 0 0 158 206 176 203 188 180 201 197 187 198 198 201 180 186 202 183 212 159 0 0 0 0 0 0 0 0 0 0 182 198 169 227 189 157 176 174 163 189 187 174 157 184 229 182 222 147 0 0 0 0 0 0 0 0 0 0 206 178 186 252 203 160 161 168 163 191 185 154 173 186 254 193 197 234 0 0 0 0 0 0 0 0 0 0 217 165 182 255 196 164 168 166 170 200 176 160 189 178 250 202 178 255 5 0 0 0 0 0 0 0 0 13 222 175 182 241 184 179 166 169 171 193 173 166 186 183 235 200 160 255 31 0 0 0 0 0 0 0 0 35 215 180 195 242 181 177 166 175 162 178 185 166 196 177 231 203 163 255 71 0 0 0 0 0 0 0 0 66 198 167 217 223 195 181 167 166 173 191 181 156 189 190 237 197 159 255 105 0 0 0 0 0 0 0 0 80 191 164 228 162 205 173 172 172 176 195 188 171 181 189 244 217 171 255 97 0 0 0 0 0 0 0 0 97 193 177 213 161 205 173 182 176 175 213 194 193 173 188 238 236 166 215 96 0 0 0 0 0 0 0 0 100 201 173 219 209 186 165 173 176 168 175 181 188 183 188 224 246 169 222 113 0 0 0 0 0 0 0 0 108 193 176 251 209 183 169 184 179 178 191 197 170 183 178 211 248 173 219 116 0 0 0 0 0 0 0 0 101 187 191 224 184 182 181 194 196 192 199 186 180 170 175 199 249 189 215 141 0 0 0 0 0 0 0 0 117 187 212 151 174 253 229 223 196 202 215 187 207 234 238 197 213 199 207 147 0 0 0 0 0 0 0 0 128 190 202 164 221 242 237 227 189 176 197 176 211 240 242 217 204 210 211 155 0 0 0 0 0 0 0 0 128 188 215 157 222 255 239 233 228 248 255 222 218 249 255 205 185 215 212 150 0 0 0 0 0 0 0 0 114 182 221 114 0 18 10 9 2 8 41 13 32 36 24 0 183 221 215 139 0 0 0 0 0 0 0 0 106 190 194 156 0 0 0 0 0 0 0 0 0 0 0 0 190 215 213 129 0 0 0 0 0 0 0 0 60 234 238 67 0 6 3 3 2 2 3 2 3 3 4 0 79 239 226 81 0 0 0 0 0 0 0 0 61 246 245 35 0 3 0 0 0 0 0 0 0 0 2 0 23 251 251 63 0 0 0 0 0 0 0 0 95 237 226 41 0 5 0 0 0 0 0 0 0 0 5 0 35 231 243 94 0 0 0 0 0 0 0 0 0 9 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 7 15 0 0 0 0 0
0 0 0 0 0 0 0 1 1 0 0 0 166 202 196 216 104 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 0 101 216 211 212 217 228 21 0 0 0 4 1 0 0 0 0 0 0 0 0 0 0 1 0 0 44 138 209 205 196 213 215 205 197 202 181 90 2 0 0 0 0 0 0 0 0 0 0 0 0 0 49 171 204 201 195 193 194 201 225 198 197 192 201 208 192 125 0 0 1 0 0 0 0 0 0 0 0 20 201 201 187 189 192 196 196 198 196 195 192 193 188 186 188 219 113 0 0 0 0 0 0 0 0 0 0 135 214 190 193 195 196 192 192 193 188 190 190 195 194 195 190 196 185 0 0 0 0 0 0 0 0 0 0 159 205 196 195 190 194 193 194 195 195 193 192 190 196 194 197 195 212 33 0 0 0 0 0 0 0 0 0 188 201 198 198 196 194 190 192 192 198 195 190 194 197 189 200 193 216 90 0 0 0 0 0 0 0 0 7 197 198 197 202 196 194 193 194 194 197 193 192 193 190 196 201 198 213 131 0 0 0 0 0 0 0 0 47 206 196 190 198 196 195 194 195 196 193 192 195 194 197 202 198 199 212 154 0 0 0 0 0 0 0 0 69 222 208 204 195 197 198 193 193 195 193 194 196 200 195 201 198 205 221 196 0 0 0 0 0 0 0 0 74 220 216 215 192 196 200 192 189 197 197 194 194 198 196 198 201 215 221 180 0 0 0 0 0 0 0 0 88 220 212 220 190 196 199 189 193 195 199 197 193 199 200 194 199 215 218 190 0 0 0 0 0 0 0 0 92 223 213 231 190 196 203 195 200 199 200 195 190 201 202 195 204 220 219 198 0 0 0 0 0 0 0 0 96 247 212 229 194 200 199 192 198 195 198 194 196 201 200 193 205 224 216 203 0 0 0 0 0 0 0 0 110 248 213 224 189 202 196 189 199 195 196 194 196 200 199 196 199 219 214 208 0 0 0 0 0 0 0 0 124 240 212 221 190 205 194 194 201 197 196 197 194 194 198 204 198 217 211 213 1 0 0 0 0 0 0 0 145 231 211 227 200 204 190 196 200 192 193 193 190 195 200 199 200 216 210 217 12 0 0 0 0 0 0 0 166 225 212 210 199 204 188 200 201 189 196 194 192 192 199 200 199 218 210 220 35 0 0 0 0 0 0 0 177 218 229 163 195 200 193 202 194 189 196 197 193 196 196 216 158 192 215 221 47 0 0 0 0 0 0 0 187 212 248 101 197 202 190 198 189 190 190 192 195 196 195 230 129 150 223 221 57 0 0 0 0 0 0 0 200 208 252 64 203 203 194 197 190 197 195 195 195 193 188 241 120 100 227 221 75 0 0 0 0 0 0 0 205 207 255 13 197 207 195 196 194 194 188 197 195 194 183 240 123 64 231 220 89 0 0 0 0 0 0 0 207 210 249 0 197 210 196 192 192 189 192 194 192 195 190 232 138 38 226 221 99 0 0 0 0 0 0 0 207 212 236 0 207 203 196 192 192 190 194 194 195 197 193 211 149 0 220 223 114 0 0 0 0 0 0 0 206 218 208 0 208 197 193 189 184 185 190 189 193 193 189 207 158 0 244 225 128 0 0 0 0 0 0 0 205 221 180 0 253 213 209 208 229 229 225 227 230 206 204 224 179 0 232 231 146 0 0 0 0 0 0 0 178 215 144 0 87 99 98 99 97 103 105 101 101 90 80 80 12 0 166 210 121 0 0 0
0 0 0 0 0 0 1 0 0 0 2 24 53 29 63 62 41 41 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 50 63 86 111 80 65 55 78 60 83 33 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 79 96 94 179 189 187 160 124 164 172 143 91 46 0 3 0 0 0 0 0 0 0 0 0 0 0 0 4 112 86 110 212 233 245 255 243 243 233 156 96 95 5 0 0 0 0 0 0 0 0 0 0 0 0 0 14 107 60 87 195 153 100 130 143 166 193 75 69 155 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 66 96 192 162 105 73 115 170 221 59 29 93 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 148 210 214 193 153 120 145 164 188 217 116 132 8 0 0 0 0 0 0 0 0 0 0 0 0 0 24 209 206 221 233 187 176 152 203 220 203 200 210 225 60 0 0 0 0 0 0 0 0 0 0 0 0 0 88 223 194 181 177 180 167 188 245 235 238 211 200 222 111 0 0 0 0 0 0 0 0 0 0 0 0 0 147 217 212 182 189 225 248 212 205 172 184 173 212 218 176 0 0 0 0 0 0 0 0 0 0 0 0 0 195 207 219 189 200 176 196 215 210 195 222 195 224 217 206 0 0 0 0 0 0 0 0 0 0 0 0 0 221 212 224 187 181 179 188 172 197 192 199 206 224 221 227 0 0 0 0 0 0 0 0 0 0 0 0 8 219 212 239 197 180 184 199 186 197 184 191 203 235 227 228 15 0 0 0 0 0 0 0 0 0 0 0 38 214 211 245 193 190 185 203 196 201 193 193 193 242 225 222 55 0 0 0 0 0 0 0 0 0 0 0 91 214 220 242 184 199 182 200 189 194 204 200 188 237 234 224 101 0 0 0 0 0 0 0 0 0 0 0 108 213 217 243 185 206 191 195 192 196 204 208 203 238 234 221 115 0 0 0 0 0 0 0 0 0 0 0 112 212 221 232 189 200 200 210 199 199 196 211 193 237 229 212 114 0 0 0 0 0 0 0 0 0 0 0 132 205 229 217 181 201 193 203 203 207 205 193 184 225 230 213 126 0 0 0 0 0 0 0 0 0 0 0 150 201 247 195 193 208 194 194 184 204 215 202 185 210 238 210 142 0 0 0 0 0 0 0 0 0 0 0 156 204 250 200 203 197 193 199 193 205 206 213 214 206 240 203 155 0 0 0 0 0 0 0 0 0 0 0 161 206 248 196 193 190 192 214 207 210 210 193 202 206 243 204 161 0 0 0 0 0 0 0 0 0 0 0 164 205 231 192 194 188 196 202 187 211 211 183 197 206 231 202 170 0 0 0 0 0 0 0 0 0 0 0 180 212 233 197 204 187 202 211 202 214 212 189 210 212 233 200 178 0 0 0 0 0 0 0 0 0 0 0 188 236 221 196 203 189 201 205 200 217 211 202 210 213 233 230 186 0 0 0 0 0 0 0 0 0 0 0 0 0 45 208 197 189 193 200 197 217 214 196 203 216 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 210 189 186 197 203 190 210 204 194 205 218 21 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 78 215 205 211 204 210 212 223 210 210 227 211 21 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 116 137 166 211 207 200 175 158 142 39 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 14 206 184 34 0 0 0 1 0 1 0 0 22 13 0 0 0 0 0 0 0 0 0 0 0 0 33 207 249 169 178 221 224 116 0 0 0 0 0 118 226 178 0 0 1 4 2 0 2 0 0 0 95 201 248 224 162 186 239 216 215 245 158 4 0 0 69 195 218 196 0 4 0 0 0 0 0 0 209 233 213 184 141 164 182 185 154 178 229 234 255 252 208 204 255 220 211 255 50 0 0 13 47 41 26 148 221 120 126 123 125 161 175 181 222 252 234 222 226 233 240 243 228 225 214 250 78 0 183 203 131 140 168 122 127 147 133 146 164 187 213 245 239 230 234 231 231 229 227 230 227 232 207 252 108 133 250 221 215 199 191 196 218 206 237 197 202 237 241 228 220 227 222 223 225 224 222 219 222 221 212 245 64 84 231 235 228 229 234 239 242 244 235 230 233 227 217 221 222 224 229 231 228 226 226 225 225 230 221 250 63 0 37 186 227 241 233 224 223 224 223 216 215 218 220 228 233 233 231 232 233 233 233 234 229 227 226 245 110 0 0 0 9 118 201 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 37 2 1 0 0 0 0 0 3 32 50 44 45 48 28 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 229 207 196 184 165 163 164 151 180 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 249 203 199 221 190 191 202 197 200 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 211 195 188 204 189 185 187 176 192 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 211 187 200 198 174 183 183 181 187 154 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 140 210 180 192 203 184 191 184 187 183 139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 180 207 196 199 205 207 188 189 181 186 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 196 193 200 219 214 197 193 181 188 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 244 189 187 174 202 240 209 191 180 198 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 244 183 188 183 200 243 213 196 182 204 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 91 241 184 184 217 108 188 239 193 185 204 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 236 181 174 233 0 152 253 196 186 202 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 125 233 184 184 210 0 130 255 191 191 189 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 153 222 177 205 155 0 113 255 190 192 186 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 173 215 184 222 112 0 70 229 192 195 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 212 183 226 105 0 44 224 193 194 155 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 151 220 186 233 66 0 19 226 198 189 154 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 230 189 236 70 0 7 227 208 194 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 237 188 207 85 0 3 221 208 202 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 248 189 211 118 0 2 218 203 204 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 248 192 211 152 0 0 254 204 202 134 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 239 199 206 186 0 0 251 205 203 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 210 206 200 213 0 0 247 204 208 134 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 217 200 228 0 0 248 201 208 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 219 198 242 14 0 235 201 205 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 216 194 213 43 0 225 200 204 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 216 191 212 68 0 201 201 196 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 216 227 137 0 238 229 219 139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 150 108 41 0 74 102 92 35 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 23 0 0 0 0 1 1 3 1 3 7 1 0 0 0 0 0 0 0 0 0 0 0 0 0 45 149 186 168 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 0 3 131 176 164 143 168 190 17 0 0 0 25 17 17 56 92 31 1 1 0 0 0 1 3 0 0 0 0 0 143 160 162 170 178 200 213 113 54 186 215 213 225 225 229 137 0 0 0 0 0 0 0 0 43 56 0 0 66 219 176 174 186 178 204 204 219 237 219 219 147 96 62 25 0 1 0 0 0 0 29 105 170 200 29 0 0 213 196 172 188 182 166 219 172 31 35 13 0 0 0 0 3 3 3 0 0 125 158 153 145 166 176 0 0 111 213 188 217 202 205 219 43 0 0 0 0 0 0 0 0 0 0 0 47 166 147 154 172 168 194 86 0 0 205 215 217 221 229 251 123 0 13 5 1 0 0 0 0 25 49 17 113 204 200 204 196 190 192 255 56 15 192 227 207 253 205 213 241 174 133 129 123 107 98 43 23 41 43 41 39 84 102 103 86 105 92 80 56 29 31 9 0 0 0 0 0 1 3 9 11 15 25 41 23 43 37 21 11 11 0 0 0 0 3 0 31 31 15 27 31 25 31 29 41 43 47 47 43 51 58 52 0 13 15 29 31 25 33 35 41 33 41 39 19 23 23 21 15 19 19 17 21 15 7 7 9 11 13 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 13 10 3 0 2 2 4 11 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 212 234 212 206 218 197 207 164 140 157 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 208 195 203 210 217 196 215 144 89 113 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 223 170 201 205 208 179 208 175 145 136 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 210 169 203 200 221 195 197 184 125 150 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 189 154 201 203 193 186 197 191 123 129 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 178 150 190 197 201 227 199 180 114 94 92 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 181 161 147 173 183 199 236 222 191 119 87 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 164 133 168 205 123 175 245 189 113 83 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 187 132 163 213 92 151 251 188 105 94 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 199 126 160 226 56 112 253 184 105 101 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 201 127 154 229 5 81 254 176 105 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 200 135 146 228 0 62 255 170 103 89 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 181 152 150 227 0 52 255 164 100 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 153 162 137 233 0 54 234 159 98 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 178 147 231 0 52 232 156 97 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 182 149 233 0 50 237 164 94 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 169 156 216 0 10 233 175 112 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 174 176 171 0 0 247 201 144 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 189 194 138 0 0 209 217 156 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130 195 202 131 0 0 196 221 162 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 120 196 208 130 0 0 190 224 164 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 200 208 134 0 0 191 226 167 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 199 209 127 0 0 180 228 164 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 199 210 107 0 0 161 229 155 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 194 209 67 0 0 143 225 138 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 203 221 57 0 0 156 240 156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 118 119 16 0 0 65 137 62 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 9 246 206 205 215 207 207 202 242 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 56 255 235 246 240 237 240 226 255 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 244 218 230 227 224 228 217 254 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 242 238 226 233 232 225 227 220 253 148 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 232 230 234 231 228 224 219 245 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 255 227 232 234 232 234 232 222 248 161 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 255 223 232 232 231 232 232 224 249 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 255 224 231 232 237 226 230 226 251 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130 255 224 230 229 255 237 227 222 254 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 255 219 223 246 192 237 236 223 255 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 255 218 220 255 12 222 251 225 255 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 255 215 248 222 0 244 255 227 255 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 255 222 255 140 0 216 245 229 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 171 254 221 255 84 0 193 250 225 255 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 255 224 255 79 0 156 254 225 255 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 255 225 255 59 0 72 250 230 255 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 255 227 255 0 0 0 236 232 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 255 228 233 3 0 0 255 236 255 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 255 228 242 42 0 0 235 234 235 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 231 246 102 0 9 244 231 235 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 224 239 247 151 0 1 237 234 233 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 165 244 245 155 0 0 255 239 230 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 106 250 241 174 0 0 223 245 227 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 241 242 206 0 0 206 248 227 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 228 243 207 0 0 220 250 224 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 226 243 219 0 0 193 254 204 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 254 220 0 0 94 255 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 227 170 0 0 64 255 139 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 0 0 0 49 35 148 24 0 1 0 0 73 146 1 0 0 0 0 0 0 0 0 0 1 4 0 0 0 43 77 168 136 65 227 102 0 0 0 1 184 215 120 0 0 0 0 0 0 0 2 1 0 0 0 68 165 231 206 174 142 146 171 186 70 1 1 114 199 206 168 0 0 0 0 4 5 0 0 0 0 99 175 222 187 180 145 189 215 231 215 211 219 196 200 234 209 197 183 0 0 4 2 0 0 0 5 70 184 183 187 148 146 172 183 216 206 184 209 218 219 234 231 203 194 202 197 1 0 0 0 24 89 137 162 148 145 145 148 164 183 178 190 200 199 208 208 209 213 215 178 181 186 199 187 1 1 63 120 145 156 149 152 162 171 172 187 183 184 184 199 206 209 222 228 227 224 219 249 224 224 221 203 17 98 183 181 183 186 189 184 183 184 180 193 200 208 218 221 222 255 238 206 187 155 140 136 127 108 130 205 21 38 112 104 123 150 170 180 196 216 219 216 205 183 148 99 49 17 0 0 0 0 0 0 0 0 0 5 0 1 5 35 30 5 0 0 0 0 0 0 0 0 0 0 5 14 26 32 170 149 150 216 74 17 32 41 24 0 0 13 33 43 23 33 36 32 26 30 41 42 42 46 43 45 60 55 95 80 74 108 60 61 61 60 30 0 0 0 0 0 0 0 5 8 0 8 13 8 4 2 1 8 14 17 2 10 5 4 8 17 19 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 4 0 47 177 83 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 132 54 131 36 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 13 132 0 59 123 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 77 138 0 0 137 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 123 123 0 0 115 50 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 168 74 0 0 88 109 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 49 172 3 0 0 21 170 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 115 143 0 0 0 0 140 81 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 170 104 0 1 1 0 55 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 53 185 54 0 2 0 0 0 165 69 0 3 0 0 0 0 0 0 0 0 0 0 0 0 1 3 2 0 99 171 0 0 3 3 2 0 94 140 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 163 0 0 0 0 0 0 24 228 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 85 85 121 145 134 48 30 21 30 0 0 0 170 46 0 0 0 0 0 0 0 0 0 0 0 0 0 117 216 162 216 200 193 203 213 200 195 185 212 197 174 180 174 202 137 0 0 0 0 0 0 0 0 0 0 184 219 138 150 167 196 190 182 185 177 179 171 183 199 190 182 160 214 108 0 0 0 0 0 0 0 0 0 172 195 117 100 138 163 159 207 197 179 159 168 154 184 170 155 121 179 199 0 0 0 0 0 0 0 0 0 117 205 106 129 155 160 139 165 170 185 153 166 168 178 159 142 171 207 136 0 0 0 0 0 0 0 0 0 111 208 97 138 157 146 142 142 166 193 170 155 151 146 149 174 189 224 54 0 0 0 0 0 0 0 0 0 134 165 115 148 156 153 149 162 179 188 182 167 145 127 134 171 171 244 98 0 0 0 0 0 0 0 0 0 115 149 133 155 148 153 168 176 182 191 196 174 167 151 160 168 171 219 123 0 0 0 0 0 0 0 0 0 105 150 146 157 162 162 168 172 174 173 172 179 165 160 155 153 167 216 155 0 0 0 0 0 0 0 0 0 136 154 148 151 163 162 166 176 172 173 168 160 150 150 156 163 170 212 142 0 0 0 0 0 0 0 0 0 150 155 150 148 148 165 160 157 170 174 172 155 150 145 154 166 165 203 140 0 0 0 0 0 0 0 0 0 140 160 157 163 162 167 163 148 159 180 172 168 168 154 151 159 162 201 127 0 0 0 0 0 0 0 0 0 129 156 159 174 183 170 168 162 166 173 168 173 167 171 170 191 163 224 87 0 0 0 0 0 0 0 0 0 117 176 161 182 188 172 165 178 193 191 189 179 170 180 184 203 163 202 36 0 0 0 0 0 0 0 0 0 13 254 178 180 190 207 188 191 182 179 167 186 178 160 182 180 197 223 0 0 0 0 0 0 0 0 0 0 0 109 202 186 191 184 173 185 183 177 191 188 194 197 194 195 206 100 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 144 173 28 57 34 226 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 202 156 121 139 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 197 110 17 139 249 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 162 191 173 144 197 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 220 191 208 197 156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 197 162 144 185 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 162 115 98 185 86 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 139 115 110 139 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 156 104 115 133 110 150 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 162 121 127 127 115 150 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 168 110 127 127 121 150 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 173 104 139 139 121 144 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 168 104 144 156 127 144 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 173 104 144 150 121 150 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 191 98 150 144 104 162 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 86 179 115 144 144 115 156 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 168 127 144 156 127 156 156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 168 121 139 162 121 156 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 168 127 144 162 139 162 173 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 168 133 144 173 150 173 168 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 185 139 150 179 150 173 179 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 185 144 144 185 162 173 179 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 173 150 144 191 173 173 162 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 179 156 150 191 173 179 173 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 208 185 162 162 202 185 185 191 57 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 150 150 139 191 185 156 168 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 185 150 139 127 185 179 179 185 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 121 46 52 202 179 40 75 34 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 6 59 0 4 0 4 0 41 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 88 0 1 0 2 0 72 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 0 0 0 0 0 82 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 177 42 30 0 21 74 150 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 223 198 192 227 196 208 231 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 241 230 233 230 235 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 196 228 219 219 221 226 206 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 229 223 224 222 226 252 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 226 224 224 221 222 226 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 238 222 226 225 221 219 236 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 244 222 227 227 222 219 240 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 185 239 222 226 225 221 219 233 181 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 215 235 224 228 227 222 219 232 209 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223 234 222 228 228 223 222 229 226 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 234 223 229 229 223 224 228 236 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 236 234 224 229 228 224 225 228 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 235 225 231 226 225 225 228 244 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 240 235 225 232 227 226 225 229 244 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 238 227 232 226 227 226 230 245 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 235 239 225 234 229 230 226 230 244 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 233 236 229 232 224 227 227 231 245 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 243 239 234 248 246 240 233 234 247 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 246 194 195 190 184 181 145 208 241 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 243 193 166 170 200 159 146 190 246 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 206 174 147 165 223 161 123 151 211 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 133 224 170 184 191 189 184 131 178 207 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 193 148 219 190 142 149 167 182 187 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 48 0 9 0 37 130 7 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 170 153 143 143 142 142 140 134 139 85 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 20 255 249 251 255 255 255 255 255 255 239 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 247 232 238 245 244 242 242 235 234 213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 135 153 231 203 202 204 210 208 207 232 244 218 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 247 212 197 192 181 186 187 185 167 213 248 215 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 193 198 195 191 195 194 190 197 186 211 247 213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 181 200 194 188 194 185 190 189 200 179 205 253 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 192 186 183 182 181 182 183 192 168 200 255 186 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 165 188 189 190 190 180 185 182 184 166 203 255 164 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 149 196 191 186 191 197 184 179 190 166 208 255 127 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 121 204 184 174 173 207 178 175 192 162 211 255 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 205 173 167 172 213 165 180 180 152 218 255 54 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 205 167 171 180 221 161 168 172 155 219 255 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 210 177 172 181 224 164 181 177 160 223 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35 209 178 160 193 230 166 183 175 164 225 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 205 173 151 191 230 161 176 157 164 230 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 205 168 154 202 232 166 168 154 173 231 227 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 207 177 159 212 234 174 187 156 183 232 230 26 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 205 178 149 214 238 180 178 157 196 234 227 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 206 177 150 220 236 176 174 153 205 235 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 210 179 159 226 233 179 180 160 206 237 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 187 159 227 237 177 186 158 209 237 222 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 197 184 154 220 227 169 180 153 205 239 173 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 186 183 159 255 255 184 191 136 199 255 171 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 176 191 155 65 101 182 198 148 62 198 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 192 158 0 0 182 188 156 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 164 217 177 0 0 218 214 155 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 115 37 0 0 83 141 58 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 68 160 160 44 70 0 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 2 61 129 177 229 221 82 37 28 108 101 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 59 136 179 158 120 191 54 94 89 25 82 94 66 0 4 2 0 0 0 0 0 0 0 0 0 0 0 54 115 75 51 21 16 214 85 103 30 2 115 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 44 16 28 16 0 7 28 0 0 44 44 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 63 49 0 0 0 9 16 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 2 0 25 89 35 47 0 16 47 80 66 2 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 2 0 37 82 37 54 23 68 63 63 54 2 0 0 0 2 0 0 0 2 2 0 0 2 0 0 0 0 4 0 75 80 42 54 49 54 73 63 37 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 82 40 23 82 92 68 28 73 30 2 0 0 0 0 0 0 0 0 2 0 0 0 2 2 0 0 0 11 18 54 188 153 68 113 92 49 18 0 0 0 0 0 0 2 0 0 2 0 0 0 0 0 0 0 7 28 134 240 59 0 0 7 118 49 11 2 2 0 0 2 0 0 0 0 0 0 0 0 0 0 0 14 25 181 167 2 0 0 0 0 106 51 0 2 2 0 2 2 0 0 9 2 0 0 0 0 0 0 14 18 181 170 0 0 0 0 0 0 103 47 0 0 0 0 2 2 9 0 56 110 0 0 0 0 0 2 9 165 155 0 0 0 0 0 0 0 108 49 0 0 0 2 2 9 23 4 33 238 0 0 2 0 2 4 132 177 0 0 0 0 0 0 0 0 108 42 0 0 0 0 0 18 25 30 2 255 18 0 0 0 2 82 195 0 0 4 2 0 0 0 0 0 103 42 0 7 14 0 0 14 11 16 2 113 127 2 7 0 47 203 54 0 2 2 0 0 2 0 0 0 106 25 0 42 103 103 87 89 80 73 75 33 51 44 54 132 245 89 0 0 4 0 0 0 0 0 0 0 125 44 0 0 0 11 44 68 77 89 101 118 106 139 127 110 23 0 0 0 2 0 0 0 0 0 0 0 231 186 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 34 88 106 107 96 63 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 215 217 220 222 222 233 75 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 202 240 241 240 243 251 242 179 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 5 0 82 219 211 231 238 243 235 200 224 0 0 7 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 150 230 191 196 193 199 188 191 250 66 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 49 146 234 224 209 228 167 197 227 207 212 239 169 49 0 0 0 0 0 0 0 0 0 0 0 0 0 175 219 216 209 209 219 224 200 212 218 206 200 206 211 214 163 0 0 0 0 0 0 0 0 0 0 0 79 222 195 200 202 201 199 224 195 211 215 196 199 205 200 193 215 60 0 0 0 0 0 0 0 0 0 0 187 214 197 199 201 205 200 218 202 212 212 191 205 200 201 193 214 173 0 0 0 0 0 0 0 0 0 0 250 209 202 197 202 202 202 189 190 212 210 194 199 197 192 197 213 219 0 0 0 0 0 0 0 0 0 32 247 207 222 199 196 200 199 190 199 209 186 201 196 196 192 213 201 225 13 0 0 0 0 0 0 0 0 60 237 198 223 195 197 197 194 200 201 207 196 199 194 193 193 221 201 225 77 0 0 0 0 0 0 0 0 95 237 193 216 197 199 200 193 197 192 191 196 195 194 191 192 217 197 222 108 0 0 0 0 0 0 0 0 119 226 191 221 198 197 200 194 194 191 192 197 194 193 192 192 227 204 214 130 0 0 0 0 0 0 0 0 157 221 194 238 205 198 202 195 188 193 194 193 187 191 193 192 249 208 212 151 0 0 0 0 0 0 0 0 171 210 202 210 208 197 199 196 189 186 190 191 189 193 194 188 212 218 213 164 0 0 0 0 0 0 0 0 174 209 205 163 216 197 210 206 200 194 197 201 194 196 194 195 169 224 208 164 0 0 0 0 0 0 0 0 176 211 209 147 219 207 210 199 197 195 196 198 193 200 198 197 142 226 210 164 0 0 0 0 0 0 0 0 181 211 210 121 223 214 209 200 192 196 200 197 193 197 212 214 137 225 209 163 0 0 0 0 0 0 0 0 183 211 212 118 236 210 211 206 198 200 199 198 195 195 201 211 125 225 209 164 0 0 0 0 0 0 0 0 181 212 214 113 238 210 208 204 200 199 199 201 194 194 195 202 105 224 209 165 0 0 0 0 0 0 0 0 180 211 220 88 234 210 207 205 202 206 201 206 208 196 192 206 142 222 211 161 0 0 0 0 0 0 0 0 179 213 223 64 235 213 205 206 207 209 205 206 201 197 195 194 114 223 210 158 0 0 0 0 0 0 0 0 177 216 225 65 240 218 212 206 196 207 204 204 205 200 211 187 86 234 208 155 0 0 0 0 0 0 0 0 181 208 240 28 187 204 197 201 200 209 209 200 197 188 194 149 49 255 200 159 0 0 0 0 0 0 0 0 174 210 225 4 234 210 207 212 217 221 225 220 206 199 207 168 6 207 200 119 0 0 0 0 0 0 0 0 140 220 226 0 149 146 120 134 143 143 139 133 110 106 135 57 2 210 216 82 0 0 0 0 0 0 0 0 51 116 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 112 9 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 77 84 85 87 61 43 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 65 214 210 213 242 255 254 247 235 212 191 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 20 191 197 198 191 212 241 229 238 234 210 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 198 201 199 199 221 242 214 195 199 177 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 153 205 195 194 226 255 255 206 206 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 17 101 209 192 191 236 255 210 196 209 116 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 26 76 206 196 194 254 203 172 201 201 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 28 46 230 197 202 251 189 187 205 192 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 8 0 214 199 218 236 178 189 207 203 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 213 198 227 218 180 187 205 195 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 225 197 229 205 186 184 211 215 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 23 236 193 228 202 179 192 217 226 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 58 205 191 222 213 192 255 222 205 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 90 207 194 197 246 182 210 237 210 201 20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 160 204 192 191 219 227 193 254 241 210 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 11 230 196 197 199 193 246 252 234 220 224 139 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 98 208 194 198 199 193 225 248 162 168 183 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 205 196 199 199 197 243 184 184 174 206 150 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 229 194 200 198 196 226 181 201 134 186 206 149 0 0 0 0 0 0 0 0 0 1 4 5 0 0 0 98 235 192 201 195 220 190 220 82 0 207 205 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 226 196 200 196 219 200 207 119 0 0 215 199 145 0 0 0 0 0 0 0 0 0 0 48 147 135 141 227 212 196 201 199 214 189 155 0 0 0 213 201 143 0 0 0 0 0 0 0 0 0 35 203 207 207 201 209 218 199 190 228 193 217 0 0 0 0 179 202 140 0 0 0 0 0 0 0 0 0 108 201 192 196 200 197 200 213 236 209 194 168 0 0 0 0 175 201 141 0 0 0 0 0 0 0 0 0 98 185 185 192 195 200 203 230 220 187 213 89 0 3 0 0 173 202 141 0 0 0 0 0 0 0 0 0 126 204 184 176 170 174 174 168 178 184 201 47 0 3 0 0 168 201 152 0 0 0 0 0 0 0 0 0 18 168 208 234 235 201 212 205 200 196 244 0 0 2 0 0 179 213 184 0 0 0 0 0 0 0 0 0 0 0 0 48 62 157 111 170 134 54 71 0 0 0 0 0 97 93 58 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 80 180 101 156 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 83 165 168 88 98 50 61 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 155 126 130 101 118 105 78 101 108 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 156 101 131 90 110 118 71 66 116 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 15 180 196 116 123 85 118 141 78 43 125 93 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 56 160 233 140 108 95 115 116 58 33 180 105 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 146 228 153 113 98 116 133 66 43 191 106 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 116 250 226 138 145 101 116 80 53 185 125 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 118 133 130 205 173 153 96 70 103 31 125 198 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 125 96 0 161 148 86 91 73 100 53 0 206 66 8 0 0 0 0 0 0 0 0 0 0 0 0 0 150 106 60 0 168 153 103 93 88 76 63 0 151 118 23 0 0 0 0 0 0 0 0 0 0 0 0 0 168 115 43 0 166 170 103 153 170 36 68 0 80 163 38 0 0 0 0 0 0 0 0 0 0 0 0 0 185 105 0 0 211 160 93 145 218 35 113 0 23 200 33 0 0 0 0 0 0 0 0 0 0 0 0 20 205 56 0 63 193 150 106 121 205 40 113 25 0 198 68 0 0 0 0 0 0 0 0 0 0 0 0 78 195 8 0 90 186 173 98 136 210 36 98 56 0 125 123 0 0 0 0 0 0 0 0 0 0 0 0 121 143 5 0 143 176 195 86 160 171 55 98 70 0 46 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 181 165 185 88 178 173 85 116 65 0 3 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223 123 151 91 171 193 60 98 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 220 118 200 86 173 198 36 100 85 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 186 146 218 85 161 211 40 95 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 10 185 143 233 91 148 220 46 85 141 23 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 25 165 153 253 90 146 225 50 66 166 55 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 38 180 165 255 96 155 221 50 58 213 73 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 35 185 180 216 120 158 216 33 116 208 76 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 28 176 243 235 140 130 220 26 170 195 115 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 55 188 228 158 111 233 205 41 185 211 143 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 35 53 0 0 0 35 196 18 21 110 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 125 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 61 77 40 37 37 42 54 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 195 212 220 253 253 252 255 222 218 236 138 18 0 0 0 0 0 0 0 0 0 0 0 0 0 111 195 214 202 190 192 198 202 201 197 194 191 200 214 209 177 0 0 0 0 0 0 0 0 0 0 0 71 221 193 189 188 196 196 193 191 192 193 193 194 191 191 189 216 176 0 0 0 0 0 0 0 0 0 0 187 213 195 194 192 196 196 194 194 195 194 192 198 197 195 196 193 212 37 0 0 0 0 0 0 0 0 0 207 210 205 196 195 194 195 197 199 201 197 192 196 195 194 202 196 214 93 0 0 0 0 0 0 0 0 0 216 210 212 205 197 196 198 202 204 203 200 197 195 198 196 210 206 216 120 0 0 0 0 0 0 0 0 0 230 207 219 211 197 201 201 203 205 206 206 206 201 201 200 222 209 216 146 0 0 0 0 0 0 0 0 0 236 205 220 216 201 210 209 208 208 208 208 210 210 208 209 236 206 212 177 0 0 0 0 0 0 0 0 13 238 205 216 220 204 208 208 208 208 209 209 209 208 205 206 233 211 206 210 0 0 0 0 0 0 0 0 35 238 204 217 226 204 208 209 209 209 209 209 209 209 211 205 240 213 202 232 0 0 0 0 0 0 0 0 58 238 201 225 224 208 211 209 209 209 209 209 209 208 209 211 229 220 200 233 4 0 0 0 0 0 0 0 78 237 200 241 126 216 214 210 211 211 210 210 210 208 217 197 140 240 199 235 36 0 0 0 0 0 0 0 88 237 202 246 74 221 214 210 211 211 210 210 210 208 221 200 89 245 199 234 64 0 0 0 0 0 0 0 96 234 204 246 42 233 213 210 211 211 210 210 210 209 218 205 57 249 198 233 84 0 0 0 0 0 0 0 109 232 209 235 26 237 210 210 211 211 210 210 210 207 212 232 48 247 203 231 97 0 0 0 0 0 0 0 121 227 215 220 3 242 206 211 212 210 210 210 210 211 207 241 30 226 208 230 101 0 0 0 0 0 0 0 126 224 220 199 0 246 205 212 213 211 210 210 210 210 202 244 4 206 213 222 109 0 0 0 0 0 0 0 133 209 222 179 14 247 204 213 214 211 209 209 210 210 201 245 21 194 220 223 116 0 0 0 0 0 0 0 138 208 228 144 29 246 205 212 213 214 211 211 210 209 203 243 52 182 221 217 118 0 0 0 0 0 0 0 138 208 247 112 28 247 202 213 215 215 214 214 214 209 201 243 89 148 228 215 122 0 0 0 0 0 0 0 135 209 252 61 33 247 211 216 215 216 217 216 216 211 209 245 108 96 249 206 127 0 0 0 0 0 0 0 132 210 241 34 30 227 209 211 212 213 212 211 210 209 208 227 101 58 253 205 132 0 0 0 0 0 0 0 135 211 235 5 60 239 225 230 231 232 232 230 229 227 221 237 140 28 240 204 138 0 0 0 0 0 0 0 139 214 225 0 26 209 158 162 163 162 161 160 159 158 153 189 84 9 230 208 136 0 0 0 0 0 0 0 134 214 214 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 219 211 133 0 0 0 0 0 0 0 160 224 207 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 217 223 148 0 0 0 0 0 0 0 127 215 173 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 165 208 103 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 0 36 51 33 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 147 220 161 183 120 89 45 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 153 208 198 162 161 189 200 202 187 154 149 146 128 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 177 159 220 193 201 193 191 200 193 204 211 218 186 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 181 186 183 166 185 25 29 193 253 202 196 190 211 51 0 0 0 0 0 0 0 0 0 0 0 4 0 45 198 188 146 160 158 0 0 0 50 233 214 192 216 130 0 0 0 0 0 0 0 0 0 0 0 0 0 140 176 211 212 183 202 232 182 42 0 25 213 190 201 208 0 0 0 0 0 0 0 0 0 2 0 18 233 170 178 148 94 209 226 192 234 255 237 191 203 191 195 232 2 0 0 0 0 0 0 0 0 0 0 0 157 147 189 112 0 0 188 219 196 200 199 200 201 205 199 229 33 0 1 1 1 3 0 0 0 0 60 102 235 181 191 225 234 65 170 227 207 216 215 211 216 217 211 248 63 0 0 0 0 2 4 11 0 54 255 153 188 23 200 202 209 252 232 209 211 212 209 209 212 213 209 253 85 2 3 1 1 0 0 0 0 63 174 120 197 0 151 224 203 199 199 208 213 213 210 208 208 209 208 249 68 0 0 0 0 1 55 86 118 122 167 203 210 234 221 212 206 208 213 210 209 205 211 207 204 205 206 250 60 0 2 0 0 143 218 187 156 117 213 202 212 208 209 203 213 206 205 209 211 209 209 208 209 208 208 249 54 93 177 176 176 179 168 175 185 197 204 208 214 206 203 208 207 207 203 204 214 215 210 210 213 210 208 249 52 65 176 171 189 195 197 204 197 202 197 196 202 204 202 202 203 203 200 200 207 212 213 210 210 206 203 247 54 54 205 170 183 199 189 197 198 195 195 194 202 208 204 202 202 203 204 203 202 204 206 210 210 205 202 247 54 47 208 165 186 208 208 209 203 205 201 200 203 205 203 200 199 200 202 201 200 204 210 210 209 206 203 247 53 28 198 171 180 183 191 197 199 197 193 201 199 198 198 197 200 205 203 202 201 202 209 209 206 212 206 249 50 31 179 171 176 180 178 187 198 189 194 201 202 197 198 197 198 201 203 207 202 198 202 207 208 211 207 211 46 8 192 198 192 186 178 171 183 189 194 187 190 191 190 193 197 201 202 203 201 200 205 212 210 215 216 234 64 0 0 53 151 197 226 234 229 240 235 238 249 246 245 244 245 248 241 234 232 230 235 233 229 188 181 195 27 0 0 0 0 0 18 56 81 105 106 96 81 64 49 41 28 17 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 64 122 16 1 115 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 174 136 162 176 174 160 168 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 147 127 104 111 114 118 142 153 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 178 162 174 168 169 179 167 154 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 232 218 217 234 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 154 233 207 205 235 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 107 230 211 210 228 100 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 231 209 207 229 142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 208 214 207 212 211 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 230 208 206 210 217 228 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 56 236 212 212 213 214 227 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 242 216 215 217 218 236 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 81 243 214 221 224 220 242 63 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 240 218 221 226 219 245 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 244 224 229 233 219 245 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 138 246 228 228 230 225 252 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 241 227 228 231 224 251 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 238 232 235 225 227 248 199 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 237 235 231 232 226 245 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 173 240 237 236 239 231 241 215 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 197 241 232 236 236 232 239 226 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 213 241 235 237 236 234 239 228 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 227 239 238 238 237 239 239 228 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 237 238 239 242 237 240 239 236 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66 223 237 240 241 239 241 237 244 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 225 235 237 239 238 240 234 246 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 242 247 251 255 243 247 243 254 126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 92 186 142 175 143 236 209 148 185 77 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 7 34 157 85 18 11 46 134 119 9 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 46 57 54 27 119 167 227 255 197 195 72 36 64 53 33 0 0 1 0 0 0 0 0 0 0 0 22 58 41 37 33 26 7 19 85 119 43 17 14 32 32 41 53 57 0 0 0 0 0 0 0 0 0 0 39 34 29 29 31 29 31 21 4 0 11 23 37 37 31 32 33 46 28 0 0 0 0 0 0 0 0 11 44 31 31 33 32 31 34 33 33 33 34 32 32 31 32 31 36 33 42 0 0 0 0 0 0 0 0 27 42 33 31 29 32 32 31 31 31 32 32 32 31 32 33 31 31 41 46 0 0 0 0 0 0 0 0 36 39 41 36 29 29 32 32 32 32 33 33 33 32 32 32 28 41 47 47 9 0 0 0 0 0 0 0 41 34 49 38 31 29 33 33 33 33 33 33 33 33 34 33 29 55 39 44 18 0 0 0 0 0 0 14 39 33 48 63 29 32 34 33 33 34 36 36 34 38 38 38 36 63 36 42 26 0 0 0 0 0 0 27 37 32 44 95 28 34 33 33 33 34 34 34 34 33 43 37 52 80 37 43 38 0 0 0 0 0 0 29 38 39 62 135 32 33 32 33 36 36 34 34 36 31 42 23 111 121 43 44 36 0 0 0 0 0 0 0 1 6 32 83 38 28 33 34 37 37 36 36 34 36 37 18 144 89 1 1 0 0 0 0 0 0 0 0 0 0 0 0 34 33 32 32 33 34 36 36 34 34 34 22 98 16 0 0 0 0 0 0 0 0 0 0 0 0 0 2 39 32 32 32 33 34 36 36 36 36 38 28 53 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 32 32 32 33 34 36 36 36 34 36 37 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 32 32 33 34 34 36 36 34 37 34 36 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 33 33 33 34 36 36 36 34 38 34 38 34 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 33 29 33 33 34 36 36 36 36 37 34 34 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 29 34 33 34 36 36 36 36 36 36 34 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 29 34 33 34 36 36 36 36 36 34 32 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 29 34 33 34 36 36 36 36 36 33 32 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 28 34 33 34 36 36 36 36 36 37 33 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 36 27 34 33 34 36 36 36 36 36 37 33 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 33 29 34 33 34 36 36 36 36 36 33 33 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 32 29 34 33 34 36 36 36 36 34 38 34 31 2 0 0 0 0 0 0 0 0 0 0 0 0 0 4 36 27 33 33 34 34 34 36 34 36 37 33 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 44 31 37 36 36 36 37 36 37 36 33 32 43 14 0 1 0 0 0 0 0 0 0 0 0 0 0 0 31 29 32 31 29 33 39 37 38 34 29 31 43 11 0 2 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 3 3 0 90 239 245 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 3 0 0 0 27 236 225 237 218 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 3 10 0 0 0 0 54 171 167 216 181 227 230 225 26 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 24 119 207 255 154 170 225 229 242 239 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 129 204 238 207 125 0 0 203 255 242 237 236 255 18 0 0 0 0 0 0 0 0 0 0 5 0 109 249 212 135 40 0 0 0 0 162 248 234 238 231 255 110 0 0 0 0 0 0 0 0 0 0 5 0 61 91 0 0 0 0 1 9 0 141 249 232 235 230 252 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 0 124 252 230 236 230 251 113 0 0 0 0 0 0 0 0 0 0 0 0 4 6 2 0 0 0 0 10 0 76 249 230 237 235 255 3 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 5 0 0 0 173 255 234 232 253 174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 115 228 255 179 233 240 242 27 0 0 1 1 0 5 13 7 1 5 2 0 0 0 2 0 5 0 0 183 228 85 0 0 119 255 176 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 7 0 17 221 191 0 0 0 0 132 255 87 0 0 0 3 0 0 0 23 160 158 92 14 0 0 0 0 0 5 231 169 0 0 3 0 0 142 255 0 0 1 3 4 5 0 134 241 246 223 174 154 73 0 0 0 0 216 185 0 0 2 0 0 0 144 231 0 0 0 0 0 0 0 251 242 222 234 227 167 105 86 0 0 189 216 0 0 0 0 0 0 0 147 201 0 0 0 3 37 18 41 220 239 230 228 234 237 176 40 0 186 243 0 0 0 0 0 0 1 0 140 180 0 2 0 112 255 255 239 239 240 237 234 232 233 249 199 210 239 28 0 0 0 0 0 0 10 0 149 178 0 12 0 0 72 138 172 196 211 255 255 227 227 217 213 194 7 0 5 0 0 0 0 0 5 0 105 114 0 6 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 3 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 51 179 146 144 142 140 134 132 159 77 26 0 0 0 0 0 0 0 0 0 0 0 2 0 0 34 159 230 185 240 183 159 102 124 150 193 212 167 201 163 116 6 0 0 0 0 0 0 0 2 0 8 130 179 146 114 140 173 197 195 95 148 185 177 167 144 120 136 157 181 71 0 0 0 0 0 0 0 0 175 183 165 165 150 157 140 134 173 183 161 134 134 140 134 148 153 142 173 185 0 0 0 0 0 0 0 59 232 179 153 130 132 124 132 126 122 122 126 132 132 134 138 142 136 169 159 224 148 0 0 0 0 0 0 179 195 191 179 130 142 136 134 132 130 134 134 132 134 130 132 138 134 185 175 193 179 0 0 0 0 0 110 220 181 206 201 142 136 130 132 130 128 130 130 130 130 130 136 148 142 220 189 167 185 116 0 0 0 0 28 173 195 179 218 155 150 136 136 134 134 130 128 128 126 134 144 153 165 201 177 204 136 20 0 0 0 0 0 0 126 214 255 181 161 155 146 140 138 138 136 138 146 148 159 155 177 244 195 87 0 0 0 0 0 0 0 0 0 20 165 197 165 153 144 138 136 134 136 142 155 148 148 153 191 169 10 0 0 0 0 0 0 0 0 0 0 0 0 175 171 150 144 138 136 132 132 136 144 146 148 163 185 0 0 4 2 0 0 0 0 0 0 2 0 2 0 161 185 144 142 136 134 134 134 134 138 140 150 169 165 0 2 2 2 2 0 0 0 0 0 0 0 0 0 144 189 136 144 140 136 132 132 136 138 140 148 179 138 0 0 0 0 0 0 0 0 0 0 0 0 2 0 120 199 142 153 146 144 144 144 148 153 153 146 183 132 0 0 0 0 0 0 0 0 0 0 0 0 2 0 102 199 144 155 150 150 148 148 153 157 146 144 187 118 0 0 0 0 0 0 0 0 0 0 0 0 2 0 83 201 146 153 153 150 144 144 148 155 146 140 193 110 0 2 0 0 0 0 0 0 0 0 0 0 2 0 51 201 144 155 155 146 142 146 148 153 161 134 193 112 0 2 0 0 0 0 0 0 0 0 0 0 0 0 40 189 148 157 150 146 144 146 150 150 163 148 179 116 0 2 0 0 0 0 0 0 0 2 0 0 2 0 59 195 155 157 144 146 144 146 148 153 159 150 173 108 0 2 0 0 0 0 0 0 0 0 0 0 2 0 99 201 153 159 146 146 144 144 148 153 150 148 175 112 0 2 0 0 0 0 0 0 0 0 2 0 2 0 140 191 153 159 159 150 146 153 157 155 148 150 171 132 0 0 2 0 0 0 0 0 0 2 0 0 0 0 169 163 157 161 163 159 159 163 163 159 150 144 159 153 0 0 2 0 0 0 0 0 0 0 0 2 0 0 195 155 157 165 171 171 169 169 165 159 159 146 150 183 0 0 4 0 0 0 0 0 0 0 0 2 0 6 208 161 161 167 171 175 173 171 167 161 157 148 146 201 8 0 2 0 0 0 0 0 0 0 0 4 0 26 216 157 161 165 167 171 175 175 169 165 159 155 148 208 32 0 4 0 0 0 0 0 0 0 2 4 0 38 216 155 163 167 167 171 169 165 163 159 159 153 144 199 32 0 4 0 0 0 0 0 0 0 2 4 0 65 248 171 169 169 169 169 171 171 171 169 169 169 169 236 42 0 4 0 0 0 0 0 0 0 0 4 0 32 157 153 148 142 144 144 140 134 132 132 134 128 116 146 12 0 2 0 0 0 0
0 0 0 0 0 0 2 5 0 0 0 110 195 135 147 195 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 30 103 147 212 255 255 182 108 81 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 75 137 150 142 118 123 183 171 124 139 156 167 131 52 0 0 2 0 0 0 0 0 0 0 1 0 87 138 137 126 118 109 123 123 114 105 118 113 114 120 124 137 119 0 0 1 0 0 0 0 0 0 0 20 136 120 119 121 119 112 109 102 108 89 112 106 117 116 111 116 144 81 0 3 0 0 0 0 0 0 0 94 136 122 113 108 117 111 104 96 113 99 111 107 102 113 117 109 129 119 0 0 0 0 0 0 0 0 0 149 133 114 113 118 109 100 105 112 116 111 95 96 114 112 107 114 136 132 10 0 0 0 0 0 0 0 0 148 142 131 117 113 114 111 110 108 120 116 115 111 108 113 96 129 133 140 45 0 0 0 0 0 0 0 0 141 154 147 134 104 110 123 113 103 125 115 126 118 105 106 123 174 141 141 74 0 0 0 0 0 0 0 26 161 136 194 143 130 120 118 122 121 131 118 118 111 117 135 127 182 144 143 71 0 0 0 0 0 0 0 53 160 123 218 171 132 136 124 128 125 132 125 121 119 138 131 151 179 140 145 95 0 0 0 0 0 0 0 53 157 135 206 185 118 132 135 124 113 139 118 130 124 116 115 152 194 156 148 127 0 0 0 0 0 0 0 49 154 142 183 187 109 138 131 128 123 145 129 138 125 127 130 140 196 163 151 129 0 0 0 0 0 0 0 66 150 135 183 182 111 140 128 129 131 145 133 128 129 143 124 125 184 161 163 151 0 0 0 0 0 0 0 85 146 125 194 195 112 141 130 132 125 139 128 130 130 134 130 123 175 167 159 162 0 0 0 0 0 0 0 76 142 129 193 176 117 139 135 136 127 151 124 139 134 136 141 130 202 176 152 167 16 0 0 0 0 0 0 83 136 134 196 147 112 129 118 124 133 157 125 143 133 132 119 116 222 168 156 172 29 0 0 0 0 0 0 103 139 118 194 160 112 133 121 126 132 145 132 139 131 127 119 125 195 166 159 164 42 0 0 0 0 0 0 101 132 131 191 153 112 130 126 126 131 150 130 138 127 130 133 121 172 191 159 157 60 0 0 0 0 0 0 99 120 153 179 130 121 121 127 122 125 165 125 140 126 126 136 116 156 199 150 149 81 0 0 0 0 0 0 110 118 139 195 118 120 126 122 122 131 162 123 142 133 125 131 123 144 183 154 156 75 0 0 0 0 0 0 110 130 135 194 117 123 127 118 125 136 149 126 134 132 133 122 124 130 187 162 147 78 0 0 0 0 0 0 97 116 152 189 95 125 121 119 121 129 146 126 140 124 131 127 123 113 197 161 136 102 0 0 0 0 0 0 100 111 148 163 96 123 118 115 113 120 153 121 141 120 118 131 126 104 198 165 134 103 0 0 0 0 0 0 114 124 143 156 113 145 130 134 133 136 145 132 134 135 135 132 144 119 187 168 131 105 0 0 0 0 0 0 99 133 153 126 77 142 121 127 139 148 129 138 146 135 145 134 134 82 173 160 131 123 0 0 0 0 0 0 61 140 177 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 148 177 162 75 0 0 0 0 0 0 32 118 138 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 154 119 32 0 0 0
0 0 0 0 0 1 1 1 0 0 0 73 0 0 0 50 31 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 5 145 188 158 176 214 27 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 32 46 59 36 0 102 194 145 1 13 72 61 49 34 21 0 0 0 0 0 0 0 0 0 0 2 46 53 48 42 39 42 24 12 39 39 11 43 48 46 48 58 64 33 0 0 0 0 0 0 0 0 0 5 17 21 10 8 5 1 0 8 64 40 5 5 6 4 8 5 0 38 70 0 0 0 0 0 0 0 1 119 29 3 40 46 54 69 72 100 32 63 94 91 80 73 76 63 53 170 175 0 0 0 0 0 0 0 16 168 159 136 159 163 164 167 164 198 35 95 190 170 167 164 169 161 171 161 166 4 0 0 0 0 0 0 55 140 143 143 106 124 121 116 132 163 1 58 155 131 126 124 116 140 193 163 208 79 0 0 0 0 0 0 86 182 156 194 128 136 150 155 156 182 81 123 179 163 162 171 148 191 206 143 83 14 0 0 0 0 0 0 5 31 53 196 171 101 102 88 75 81 100 87 69 69 65 73 64 108 131 6 20 34 0 0 0 0 0 0 16 14 0 77 9 0 0 0 0 0 0 0 0 4 8 6 14 0 77 49 27 3 0 0 0 0 0 0 0 0 1 0 0 10 0 2 1 0 0 0 1 0 0 5 28 9 0 0 0 0 0 0 0 0 0 0 1 0 0 0 17 116 94 102 89 95 92 96 100 104 113 136 177 39 0 0 1 1 0 0 0 0 0 0 0 0 2 0 1 182 153 143 184 188 183 186 178 176 167 143 136 10 0 2 0 0 0 0 0 0 0 0 0 0 1 0 0 10 19 16 20 13 14 13 10 12 9 13 19 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 2 0 0 0 0 27 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 84 72 41 29 29 26 33 42 48 71 84 161 25 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 184 182 185 199 207 200 205 206 207 186 181 169 19 0 2 0 0 0 0 0 0 0 0 0 0 2 0 0 141 160 155 171 166 167 169 167 163 173 164 164 35 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 214 168 170 182 174 177 179 177 175 185 189 200 23 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 94 123 148 162 164 176 173 159 160 136 113 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 4 0 0 1 2 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 70 81 0 1 0 0 0 0 0 0 0 0 0 0 2 0 11 186 163 146 147 138 138 133 135 146 163 213 254 101 0 3 0 0 0 0 0 0 0 0 0 0 2 0 0 151 209 219 226 228 228 230 231 227 223 179 118 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 2 5 0 25 31 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 41 42 34 31 32 29 31 35 38 44 66 77 27 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 14 28 28 29 29 27 32 39 38 36 35 11 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 100 113 120 89 42 44 28 19 15 18 17 10 8 4 1 0 0 6 27 42 0 0 0 0 0 0 0 240 141 139 231 195 233 222 219 211 205 208 206 201 204 199 192 194 194 198 183 207 105 0 0 7 0 41 157 233 0 160 215 196 201 198 199 200 203 202 199 202 203 205 206 206 207 205 196 211 79 0 6 0 15 169 101 122 0 203 219 205 209 221 220 219 219 230 232 233 223 213 219 223 220 210 208 219 46 0 0 0 186 73 144 28 0 216 218 206 212 188 175 183 194 128 113 109 177 187 180 172 184 211 210 255 93 0 0 141 145 0 175 0 0 226 218 210 219 198 205 207 206 214 226 219 217 216 208 212 201 216 204 255 106 0 50 208 0 83 87 0 0 227 217 207 210 215 216 209 244 97 168 107 210 226 216 221 220 222 205 249 121 0 186 69 0 125 4 0 0 244 215 203 207 208 212 211 237 164 198 151 225 225 207 214 212 214 204 244 142 95 160 0 71 67 0 0 0 209 212 206 213 206 209 203 211 243 250 228 231 205 208 204 208 208 204 239 149 164 56 59 123 0 0 0 0 210 211 205 205 206 207 207 212 210 222 199 221 204 209 206 208 211 203 235 166 148 107 121 0 0 0 0 0 217 208 209 210 208 208 207 210 219 232 203 223 207 205 211 209 212 204 235 168 0 16 0 1 0 3 0 7 220 201 205 201 198 201 201 204 212 223 199 215 202 199 204 200 204 202 215 170 0 0 1 0 0 4 0 0 207 223 216 231 231 232 231 233 240 248 238 246 235 234 235 235 237 230 255 195 2 1 0 0 0 1 0 0 77 160 154 147 153 152 147 145 149 152 148 148 144 146 145 145 140 136 134 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 139 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 53 239 207 151 169 217 222 222 188 213 10 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 175 222 227 252 252 248 251 250 252 236 3 0 0 0 0 0 0 0 0 0 0 0 0 0 6 1 0 1 255 232 233 228 223 228 236 235 248 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 9 0 0 221 244 227 230 235 240 244 241 235 255 117 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 237 232 240 236 240 243 245 239 233 255 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 255 194 236 242 239 240 241 246 243 237 255 124 0 0 0 0 0 0 0 0 0 0 0 0 3 0 16 247 219 243 241 237 238 240 240 244 251 240 243 142 0 0 0 0 0 0 0 0 0 0 3 2 0 0 181 255 229 238 238 244 243 243 243 241 251 214 222 181 0 0 0 0 0 0 0 3 2 0 0 0 0 199 251 197 238 244 244 245 245 246 242 252 240 207 223 227 0 0 0 4 7 2 0 0 0 0 0 113 233 245 221 247 245 245 245 247 245 243 253 248 173 176 202 255 26 0 1 0 0 0 0 0 51 146 255 253 227 212 237 240 243 245 240 238 244 232 253 171 119 120 191 254 64 0 0 42 77 104 150 253 244 249 229 201 218 226 244 230 234 231 229 242 244 237 233 164 185 189 215 254 93 0 85 215 217 223 213 220 236 232 238 247 247 243 237 233 237 235 229 241 241 244 225 227 233 233 205 243 49 0 193 220 213 212 206 222 239 235 234 234 232 234 233 228 238 251 245 239 251 237 204 205 209 205 208 228 32 74 208 185 200 205 204 229 242 239 243 246 249 248 242 235 221 221 214 223 208 205 213 218 221 223 209 255 96 109 229 222 216 207 200 184 200 201 191 205 199 191 210 241 255 255 255 223 226 213 220 216 213 219 214 230 59 0 50 107 190 243 223 255 249 246 255 249 255 255 241 149 94 47 16 0 158 255 245 254 255 244 230 255 69 0 0 0 0 0 0 58 35 66 138 82 70 132 8 0 0 0 0 0 51 152 71 108 134 60 144 157 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0 0 3 0 0 0 0 12 69 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 18 116 215 73 118 100 67 140 168 112 226 131 61 0 0 1 0 0 0 0 0 0 0 0 1 0 72 173 209 223 225 175 56 74 194 147 63 180 204 201 202 175 81 0 0 0 0 0 0 0 0 0 0 54 210 212 207 202 202 216 210 91 70 77 200 195 174 182 178 194 190 50 0 0 0 0 0 0 0 0 0 169 200 191 197 216 217 190 214 210 156 197 195 121 98 154 187 164 173 191 0 0 0 0 0 0 0 0 0 212 184 174 189 102 128 200 183 168 182 166 191 111 5 85 196 143 184 218 0 0 0 0 0 0 0 0 0 223 198 178 191 198 152 191 171 169 171 170 163 185 108 154 162 153 205 226 4 0 0 0 0 0 0 0 36 218 208 198 181 191 204 189 183 174 175 178 174 174 184 167 149 201 209 219 35 0 0 0 0 0 0 0 72 218 193 233 236 178 168 196 164 155 175 170 149 167 149 187 197 210 201 208 81 0 0 0 0 0 0 0 116 197 180 225 255 180 149 197 122 90 120 118 112 129 97 118 224 211 197 183 136 0 0 0 0 0 0 0 162 190 183 207 243 204 166 169 191 194 200 116 116 127 222 184 217 243 193 183 142 0 0 0 0 0 0 0 33 150 188 223 251 212 182 193 175 173 177 174 157 177 191 190 200 200 143 91 0 0 0 0 0 0 0 0 0 0 32 90 203 207 170 174 141 146 142 147 139 157 155 175 174 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 209 174 169 150 153 149 147 141 150 166 177 136 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 136 202 176 168 155 156 150 146 145 147 168 166 150 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 119 200 183 168 157 161 155 148 153 143 170 169 154 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 81 201 182 160 156 160 154 141 152 141 161 171 140 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 56 207 178 161 162 164 160 142 152 148 157 176 125 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 33 205 174 166 160 167 160 147 148 154 149 178 122 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 54 205 170 166 164 168 159 150 146 161 143 178 107 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 93 203 169 168 168 168 161 154 147 162 148 175 100 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 116 196 171 169 170 169 162 159 148 156 153 168 127 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 128 191 175 177 175 171 166 160 149 160 160 167 161 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 145 191 174 178 170 174 168 160 153 153 164 164 180 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 162 189 177 174 170 174 170 164 162 155 156 162 161 14 0 2 0 0 0 0 0 0 0 0 0 0 0 0 167 187 176 170 173 167 162 156 153 154 159 161 173 43 0 5 0 0 0 0 0 0 0 0 0 0 0 0 205 200 194 196 198 201 193 180 169 169 174 163 181 66 0 5 0 0 0 0 0 0 0 0 2 0 0 0 116 123 108 118 132 142 134 129 127 128 129 120 159 28 0 3 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 192 146 111 235 198 208 177 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 16 217 231 232 221 192 176 191 220 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 28 214 215 201 172 205 196 192 220 130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 211 197 178 174 214 209 196 219 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 242 213 201 220 218 217 219 231 221 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 135 225 200 214 224 204 241 91 206 207 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 169 215 192 199 214 225 234 0 209 223 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 221 205 197 201 210 251 198 0 166 225 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 216 200 200 204 206 252 148 0 159 228 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 221 204 206 208 207 221 156 0 118 238 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 218 205 207 209 217 211 217 0 84 229 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 193 217 201 214 208 213 207 238 0 0 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 202 217 200 214 216 218 204 216 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 225 216 206 220 221 216 204 218 116 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 237 214 202 220 218 225 207 217 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 248 213 210 222 208 225 213 219 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 251 215 216 221 231 230 212 219 201 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 252 215 209 226 249 210 212 217 219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 253 215 212 220 243 203 225 219 229 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 251 211 215 215 240 206 227 220 234 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 250 207 213 222 242 197 227 214 203 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 251 211 212 223 239 196 233 221 212 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 249 216 208 220 233 195 236 219 213 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 227 217 206 224 230 198 228 223 216 9 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 226 227 214 202 210 227 197 225 217 227 45 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 68 244 234 238 251 255 247 240 214 221 38 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 140 141 140 105 96 129 106 64 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 98 125 186 130 91 90 70 54 53 49 49 41 40 39 40 32 26 28 28 28 27 28 33 59 13 0 0 42 217 206 205 194 223 239 235 243 240 238 237 240 239 235 231 230 229 229 229 228 236 204 205 199 185 139 88 177 77 214 201 209 198 201 199 201 200 199 201 201 200 199 200 199 197 201 201 201 199 197 198 219 162 156 167 3 0 213 174 206 212 205 205 203 200 194 195 194 190 185 191 201 202 200 198 203 208 207 213 155 59 207 150 4 76 178 185 154 220 213 212 208 212 212 216 213 212 210 209 210 205 211 220 213 210 152 227 79 144 61 96 85 181 163 251 95 158 168 189 191 194 192 189 186 195 201 202 213 221 217 190 145 133 107 208 220 219 0 20 255 101 156 251 109 156 136 154 155 161 160 162 180 179 175 176 172 161 129 98 107 137 121 219 184 163 47 0 255 0 196 249 127 172 178 156 159 157 126 144 153 143 143 138 139 135 130 135 152 146 153 223 201 197 3 103 255 8 225 206 133 150 185 163 202 196 174 189 190 190 190 190 196 191 201 209 188 138 165 217 220 161 0 156 250 22 229 220 188 158 196 217 209 208 216 207 206 212 210 211 213 220 215 216 228 183 189 233 171 0 0 172 166 0 255 210 186 167 197 204 195 194 199 194 193 189 190 190 182 186 183 185 178 174 205 228 177 0 0 206 92 0 255 205 181 157 165 159 173 177 178 182 183 181 178 181 175 169 170 168 176 184 203 218 181 0 0 216 77 38 255 205 187 152 165 182 190 192 192 192 189 187 182 181 183 184 181 175 182 197 192 192 190 0 0 219 85 77 255 205 175 150 183 192 193 195 192 192 193 193 189 184 187 187 183 194 209 198 177 184 198 0 0 208 113 82 255 206 179 160 194 191 191 194 192 193 189 191 189 186 181 174 174 169 158 154 166 183 209 1 0 182 180 66 230 193 189 171 182 185 193 195 195 197 189 190 192 192 194 189 176 165 156 163 166 176 222 27 0 41 255 177 212 169 174 176 190 200 201 202 203 201 209 207 202 196 196 196 189 182 176 180 190 193 214 19 0 0 136 231 203 195 197 201 203 199 201 201 199 196 192 192 192 191 194 197 196 196 194 191 188 197 204 0 0 0 0 86 239 197 198 209 228 237 238 238 236 233 232 230 227 224 221 214 206 197 189 202 201 232 176 0 0 2 0 0 147 203 203 208 200 186 182 184 184 182 183 184 184 184 187 194 195 200 199 201 203 190 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 62 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 1 5 0 0 17 216 93 122 253 15 0 3 1 0 99 181 157 29 0 0 0 0 0 0 0 0 0 1 0 0 13 145 181 145 157 126 144 0 0 0 0 0 145 181 204 132 0 0 0 0 0 0 1 0 0 0 0 21 179 169 132 95 159 192 206 161 87 9 5 87 157 179 208 212 0 0 3 1 5 0 0 0 0 0 196 105 126 103 147 181 159 122 175 227 216 227 253 216 210 204 198 221 15 0 0 0 0 0 0 29 62 138 153 134 134 138 163 175 196 194 167 171 190 175 192 182 188 194 188 231 44 0 3 19 58 95 114 122 138 124 186 153 140 171 188 196 186 184 194 204 188 165 175 208 181 198 192 194 62 110 97 114 114 130 120 124 132 126 163 194 179 182 198 196 196 212 206 190 210 212 214 218 219 219 221 221 110 109 142 169 167 163 151 145 165 181 182 196 231 218 214 216 218 229 223 214 233 223 221 255 233 206 173 120 42 0 52 87 101 134 163 179 212 227 219 194 223 206 186 179 151 118 107 112 79 48 27 9 0 0 0 0 25 0 0 0 9 11 11 5 1 0 3 0 0 0 0 0 0 0 0 0 0 11 29 36 44 58 66 64 48 0 0 0 0 7 7 21 35 29 42 42 29 40 36 35 38 46 52 48 56 60 50 52 48 38 48 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 15 33 83 0 0 2 0 0 0 0 38 10 0 0 0 0 0 0 0 1 1 4 0 0 0 0 27 101 165 195 153 148 0 0 0 0 0 0 255 43 0 0 0 1 0 0 0 0 0 0 0 1 69 170 132 205 120 158 93 192 149 21 0 3 11 106 140 1 0 1 2 0 0 0 0 0 53 137 135 232 117 176 125 95 120 65 144 191 184 211 166 59 42 76 53 48 0 0 0 0 8 43 33 151 199 188 109 119 114 121 140 192 95 117 185 190 195 198 213 158 136 201 204 251 59 28 113 86 92 96 154 132 127 86 121 133 132 156 143 139 84 158 130 140 185 188 194 205 211 202 191 197 122 39 200 152 144 140 146 137 137 151 154 158 168 156 216 109 58 96 96 114 211 179 211 214 214 214 213 211 162 0 0 35 99 148 172 180 160 139 144 153 159 158 161 115 78 101 164 189 169 154 156 133 124 112 94 90 55 22 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 23 27 24 26 18 11 12 10 8 11 13 14 15 14 14 14 16 21 21 20 19 20 20 21 22 28 23 0 0 2 12 14 17 21 20 21 22 19 18 18 18 19 19 18 18 17 17 18 20 21 22 21 18 18 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 108 195 226 151 35 0 0 0 21 97 198 205 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 207 234 218 217 233 251 255 254 255 251 225 228 216 229 236 0 0 0 0 0 0 0 0 0 0 0 0 75 237 207 214 215 215 169 172 181 148 142 196 217 213 205 234 156 0 0 0 0 0 0 0 0 0 0 0 158 230 211 214 213 221 227 198 201 172 203 232 210 212 209 220 217 0 0 0 0 0 0 0 0 0 0 0 229 225 213 211 208 207 215 221 183 199 219 206 210 208 213 215 249 0 0 0 0 0 0 0 0 0 0 16 223 219 217 218 208 209 209 210 208 212 210 210 210 212 213 214 222 28 0 0 0 0 0 0 0 0 0 109 232 217 223 218 217 214 213 210 210 212 212 212 210 210 214 213 224 92 0 0 0 0 0 0 0 0 0 188 230 239 233 218 222 219 217 214 211 213 214 218 216 210 255 242 240 172 0 0 0 0 0 0 0 0 0 0 17 44 70 249 218 220 218 216 214 216 216 216 227 212 22 67 48 21 0 0 0 0 0 0 0 0 0 0 0 0 0 251 220 216 220 215 216 215 214 214 219 240 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 251 225 221 225 218 217 216 221 223 221 242 0 0 6 3 0 0 0 0 0 0 0 0 0 0 3 0 11 220 220 215 222 217 219 214 220 218 220 242 0 0 1 0 0 0 0 0 0 0 0 0 0 0 3 0 47 228 217 213 221 218 223 215 218 218 216 245 0 0 2 0 0 0 0 0 0 0 0 0 0 0 4 0 58 232 217 216 222 217 223 217 219 219 215 211 0 0 4 0 0 0 0 0 0 0 0 0 0 0 3 0 81 235 216 217 223 219 224 219 220 220 214 218 31 0 3 0 0 0 0 0 0 0 0 0 0 0 2 0 110 237 216 217 223 219 224 217 220 220 214 224 50 0 4 0 0 0 0 0 0 0 0 0 0 0 1 0 133 237 215 219 223 219 224 217 222 218 213 229 87 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 178 235 215 220 224 220 225 218 223 218 212 228 133 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 216 233 210 220 224 220 226 218 222 220 212 227 159 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 235 228 214 222 224 218 224 218 221 216 208 224 192 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 217 222 215 221 226 218 221 219 221 216 213 219 226 0 0 0 0 0 0 0 0 0 0 0 0 5 0 21 231 222 224 222 231 229 216 222 223 219 216 215 211 0 0 3 0 0 0 0 0 0 0 0 0 5 0 32 232 212 215 215 210 222 229 222 213 218 214 209 216 5 0 3 0 0 0 0 0 0 0 0 0 4 0 14 225 215 209 205 214 211 224 218 213 217 223 241 202 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 98 201 216 235 242 243 238 239 237 222 200 168 61 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 30 59 107 108 63 9 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 5 0 0 0 0 0 23 10 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 11 51 40 32 0 3 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 50 255 199 203 214 192 188 197 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 224 200 208 216 172 195 197 192 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 235 211 204 210 218 159 192 181 189 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 74 250 204 206 209 208 165 196 185 183 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 238 196 200 203 201 172 195 189 182 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 241 196 199 202 204 178 185 192 193 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 61 242 190 208 194 190 202 174 181 188 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 241 195 195 197 218 218 208 178 179 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 234 206 182 209 196 199 229 202 173 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 241 200 188 221 93 209 218 204 182 122 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 101 244 187 175 230 0 210 242 197 192 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 101 245 189 207 154 0 187 236 199 200 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 116 238 186 220 48 0 144 241 200 203 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 234 187 181 0 0 96 238 202 208 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 224 186 186 0 0 41 231 208 211 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 172 210 187 194 0 0 9 223 213 214 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 211 203 210 131 0 0 0 215 217 210 30 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 210 206 172 0 0 0 211 218 215 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 65 255 188 238 3 0 0 235 218 223 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 252 195 201 59 0 0 225 220 201 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 213 210 211 132 0 0 223 221 202 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 217 221 170 0 0 216 223 203 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 221 206 197 0 0 186 224 208 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 217 204 217 0 0 164 225 207 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 182 211 196 0 0 154 227 209 34 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 160 216 206 40 0 118 229 193 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 111 218 220 71 0 136 248 190 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 50 216 147 0 0 55 150 102 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 33 42 0 2 0 0 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 212 137 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 48 176 204 185 85 0 0 0 134 72 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 194 193 226 239 238 222 171 168 205 84 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 196 177 223 239 223 210 210 218 210 196 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 176 204 204 239 230 222 218 209 201 200 199 108 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 176 198 181 222 220 232 220 204 210 214 209 209 202 0 0 0 0 0 0 0 0 0 0 0 2 0 0 177 192 174 218 209 221 225 211 211 217 212 208 197 216 21 0 0 0 0 0 0 0 1 0 0 0 51 218 189 194 215 212 224 224 219 211 213 207 187 204 198 223 118 0 0 1 3 3 2 4 0 0 0 124 247 180 178 217 221 227 219 215 217 216 214 203 204 210 208 211 196 0 0 0 0 0 0 0 0 0 143 215 165 114 213 227 226 219 215 214 221 214 211 217 212 207 184 197 207 0 0 0 16 43 72 94 151 202 248 127 198 209 199 211 210 211 214 214 213 212 210 213 220 201 194 197 222 24 0 145 171 166 166 206 167 92 94 189 210 201 203 218 218 214 210 210 212 214 216 218 220 214 211 198 224 36 83 200 192 186 169 153 110 139 187 195 163 205 210 212 211 210 209 211 214 212 210 210 206 205 205 199 231 78 133 211 195 198 206 207 231 229 222 208 213 202 199 195 193 195 196 195 193 193 193 193 195 195 188 186 215 79 0 142 230 216 216 247 237 230 228 229 230 233 240 245 249 248 247 247 248 246 244 241 237 240 235 221 255 94 0 0 0 32 82 108 134 155 164 160 153 141 137 111 101 93 92 96 101 113 127 135 135 136 132 132 129 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 38 97 119 111 83 99 166 160 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 130 214 195 195 209 227 255 234 220 186 185 233 183 88 0 0 0 0 0 0 0 0 0 0 0 0 91 177 185 172 161 160 158 144 139 127 121 174 163 164 175 181 149 0 0 0 0 0 0 0 0 0 0 0 186 166 155 163 150 177 160 177 181 167 172 153 152 149 153 157 171 146 0 0 0 0 0 0 0 0 0 0 115 195 161 153 161 174 158 164 149 150 157 155 164 150 157 160 178 60 0 0 0 0 0 0 0 0 0 0 0 230 205 150 164 174 147 146 171 152 153 161 158 157 163 195 157 0 0 0 0 0 0 0 0 0 0 0 0 60 216 167 167 171 152 169 135 150 171 152 171 153 169 191 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 188 153 169 152 166 161 143 163 144 169 155 175 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 52 200 155 164 163 160 136 149 167 139 155 166 116 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 183 171 167 160 166 127 144 166 149 152 161 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 174 185 158 160 166 139 150 160 149 152 174 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 214 180 186 164 125 155 172 150 163 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 99 202 183 189 194 177 197 177 177 172 152 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 191 174 169 181 169 157 175 167 158 166 153 60 0 6 0 0 0 0 0 0 0 0 0 0 0 3 0 15 183 166 195 180 149 160 157 177 147 161 160 107 0 4 1 0 0 0 0 0 0 0 0 0 0 1 0 66 197 160 203 136 171 163 160 163 149 158 157 138 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 80 197 152 199 132 174 157 160 160 149 152 153 172 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 110 195 152 199 136 181 163 171 143 150 149 153 152 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 152 192 152 191 130 191 174 177 143 157 158 155 158 12 0 3 0 0 0 0 0 0 0 0 0 0 0 0 153 197 149 189 129 199 171 180 138 157 163 158 166 34 0 3 0 0 0 0 0 0 0 0 0 0 0 0 157 199 133 194 136 194 172 180 139 153 152 158 166 46 0 4 0 0 0 0 0 0 0 0 0 0 0 0 157 186 138 188 139 197 186 177 143 157 157 160 171 59 0 1 0 0 0 0 0 0 0 0 0 0 0 0 164 177 144 186 147 194 192 178 147 158 166 163 175 66 0 6 0 0 0 0 0 0 0 0 0 0 0 0 167 180 164 189 166 195 195 169 152 160 158 166 181 69 0 6 0 0 0 0 0 0 0 0 0 0 0 0 155 180 172 199 175 202 203 161 161 172 167 171 171 24 0 1 0 0 0 0 0 0 0 0 0 0 0 0 149 183 163 195 163 192 202 146 152 152 153 161 157 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 15 183 205 213 186 228 233 195 208 208 205 230 160 0 4 1 0 0 0 0 0 0 0 0 0 0 0 0 0 29 102 121 167 213 200 195 197 178 141 51 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 0 1 2 0 0 0 138 176 172 148 54 0 0 2 2 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 0 0 115 226 239 236 254 241 19 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 137 203 208 180 188 205 211 185 218 169 81 0 0 0 0 0 0 0 0 0 0 0 0 3 0 12 148 181 179 165 161 168 176 202 176 172 167 175 185 162 23 0 3 0 0 0 0 0 0 0 0 1 0 134 193 164 165 167 165 178 188 180 186 170 170 162 168 191 152 0 0 0 0 0 0 0 0 0 0 0 0 154 193 173 164 166 163 160 161 171 159 171 170 174 175 184 182 13 0 2 0 0 0 0 0 0 0 0 0 180 193 193 164 166 162 168 170 166 165 171 170 174 175 180 200 57 0 2 0 0 0 0 0 0 0 0 22 196 191 219 167 171 163 165 170 177 170 163 170 168 172 179 199 113 0 0 0 0 0 0 0 0 0 0 69 206 186 229 175 169 172 171 176 181 178 174 177 176 180 183 194 169 0 0 0 0 0 0 0 0 0 0 116 210 184 235 211 163 180 180 183 178 182 184 180 201 163 202 190 206 0 0 0 0 0 0 0 0 0 0 142 210 196 251 214 166 183 180 188 183 185 189 181 197 212 229 193 195 15 0 0 0 0 0 0 0 0 0 179 211 197 254 207 161 185 180 190 188 192 190 181 186 243 242 196 202 60 0 0 0 0 0 0 0 0 0 206 210 198 255 195 163 186 185 183 181 196 183 189 172 221 249 200 205 120 0 0 0 0 0 0 0 0 0 220 216 175 243 183 170 186 186 187 185 194 187 193 174 213 255 205 204 169 0 0 0 0 0 0 0 0 9 240 216 171 207 178 180 185 188 190 194 192 186 186 181 197 255 213 198 216 0 0 0 0 0 0 0 0 46 214 213 191 186 174 185 187 186 190 187 187 193 193 189 188 195 231 194 240 0 0 0 0 0 0 0 0 72 221 211 188 149 191 181 195 188 191 191 196 196 200 193 203 126 220 201 244 17 0 0 0 0 0 0 0 86 223 217 179 95 210 180 196 191 188 192 199 200 195 193 217 85 177 211 211 52 0 0 0 0 0 0 0 109 218 222 155 65 224 187 192 190 196 203 192 195 199 193 223 75 174 213 212 74 0 0 0 0 0 0 0 119 213 230 109 45 227 182 195 190 202 199 202 196 200 191 220 89 197 214 239 80 0 0 0 0 0 0 0 109 212 244 98 39 227 186 195 194 204 193 208 197 194 200 219 112 218 214 245 72 0 0 0 0 0 0 0 79 215 250 45 58 225 188 193 196 209 192 206 201 186 199 207 131 229 222 218 61 0 0 0 0 0 0 0 78 211 242 47 127 210 188 193 210 207 200 197 207 199 197 196 165 215 215 216 114 0 0 0 0 0 0 0 173 215 250 114 168 194 195 198 216 199 204 208 190 210 196 198 173 227 232 236 188 0 0 0 0 0 0 0 160 204 207 103 192 181 192 197 211 197 201 211 192 202 196 188 181 150 156 107 7 0 0 0 0 0 0 0 0 0 0 0 235 203 200 210 219 209 216 222 201 201 201 207 203 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 139 185 195 193 181 152 204 214 175 215 151 0 0 3 4 1 0 0 0 0 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 61 73 61 52 58 71 73 90 96 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 189 220 202 219 187 184 187 200 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 183 161 145 147 176 166 160 146 142 157 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 173 163 182 160 165 142 150 151 142 162 35 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 145 175 134 137 134 165 152 146 145 133 155 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 165 150 146 139 146 144 147 150 143 154 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 155 146 160 162 167 166 166 165 149 153 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 183 147 162 154 147 222 177 128 131 135 154 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 199 146 140 163 192 166 197 230 197 154 157 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 184 156 150 139 182 34 163 219 167 174 156 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 173 168 146 134 147 175 0 123 222 186 157 150 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 179 142 132 171 97 0 79 255 183 161 167 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 188 143 141 170 16 0 14 252 179 166 189 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 194 142 152 143 0 0 0 231 186 163 182 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 198 134 162 96 0 0 0 181 204 163 167 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 194 143 152 130 0 0 0 145 209 172 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 155 167 155 0 0 0 137 218 168 154 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 165 156 182 0 0 0 140 213 162 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 172 154 158 0 0 0 139 199 163 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 175 152 187 28 0 0 182 197 189 137 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 59 185 152 188 59 0 0 193 185 178 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 171 156 162 97 0 0 179 183 168 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 186 168 160 145 0 0 242 170 167 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 194 167 157 0 8 219 160 179 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 70 194 183 192 0 30 215 185 158 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 178 160 194 0 30 199 177 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 111 196 213 9 0 182 183 61 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 122 50 0 0 73 99 1 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 50 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 198 210 21 0 0 0 0 62 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 123 213 197 229 43 0 0 0 210 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 28 224 199 204 213 246 188 168 200 232 197 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 227 206 203 211 204 211 240 250 225 225 212 0 0 0 0 0 0 0 0 0 0 1 2 0 0 0 0 198 237 200 207 218 226 227 220 221 223 221 225 19 0 0 0 0 0 4 1 3 0 0 0 0 0 124 207 223 195 211 216 219 218 220 224 228 226 220 238 92 0 0 4 6 0 0 0 0 0 0 66 145 220 237 206 208 219 213 221 224 228 226 222 225 227 220 233 203 0 0 0 0 0 0 0 4 77 190 252 208 199 207 214 223 216 225 226 224 229 229 225 220 224 227 215 249 0 0 28 112 123 155 178 229 208 212 201 206 213 213 213 211 214 222 219 214 217 220 222 219 218 216 218 254 32 6 209 191 201 206 211 214 207 210 219 218 223 225 217 223 227 225 224 217 217 214 213 220 218 216 216 255 50 49 192 176 180 170 181 200 203 204 209 212 214 219 217 220 218 214 213 212 212 210 209 211 211 212 206 240 47 113 197 185 192 187 192 188 187 194 192 192 194 196 198 202 205 207 209 209 209 209 208 207 206 207 200 242 93 66 193 216 212 203 200 196 199 209 212 212 213 214 210 210 206 206 207 205 205 205 204 207 206 206 204 239 86 0 3 103 191 243 255 254 233 221 208 211 208 205 208 211 212 210 213 217 216 217 218 221 225 234 238 255 63 0 0 0 0 0 40 92 141 171 195 201 205 208 205 203 202 202 196 189 189 189 192 188 174 147 130 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 114 192 176 160 106 0 0 0 0 0 0 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 138 171 178 191 255 97 23 170 204 127 113 151 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 184 148 154 163 183 194 212 210 189 200 228 105 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 49 190 153 166 168 192 205 193 179 177 164 191 56 0 0 0 0 0 0 0 0 0 0 0 0 2 0 19 158 176 170 166 194 239 218 178 166 174 166 188 27 0 0 0 0 0 0 0 0 0 0 0 0 3 0 122 167 158 158 161 194 230 186 195 192 190 184 196 92 0 0 0 0 0 0 0 0 0 0 0 0 3 0 99 194 191 190 177 127 145 179 164 178 170 168 164 217 49 0 0 0 0 0 0 0 0 0 2 0 0 35 162 198 187 210 220 231 173 197 150 159 153 153 177 187 0 0 0 1 2 1 1 1 1 3 0 0 46 131 174 186 149 175 215 179 230 182 200 213 211 215 191 186 0 0 1 0 0 0 0 0 0 0 0 73 132 116 193 161 140 190 196 121 226 222 212 189 183 186 172 208 34 0 0 0 12 0 0 0 0 17 91 125 108 123 171 162 171 210 179 191 185 162 176 171 169 169 170 205 73 0 29 109 91 113 112 112 114 113 94 96 113 135 167 174 184 178 184 230 183 179 178 181 184 185 167 211 72 0 117 140 83 58 71 91 93 76 96 122 129 148 170 214 222 184 170 159 178 163 171 170 169 170 164 200 26 68 173 161 160 136 126 119 125 137 150 161 166 172 170 178 191 178 174 194 176 190 190 191 188 191 190 224 38 18 129 176 175 177 171 161 157 166 170 163 163 165 162 182 201 214 251 198 209 198 188 185 179 175 176 207 68 0 0 31 120 170 172 180 175 185 183 180 190 201 214 164 112 49 3 0 155 167 157 176 179 182 176 216 87 2 0 0 0 0 25 78 114 122 154 145 138 115 24 0 0 0 0 0 173 190 167 171 165 162 158 172 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 67 33 33 37 69 32 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 88 189 146 155 159 209 159 0 0 0 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 178 141 158 145 154 139 164 27 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 79 176 231 255 200 175 171 243 187 177 143 242 226 143 79 0 0 0 0 0 0 0 0 0 1 0 0 228 238 230 228 224 226 243 151 179 197 239 171 232 226 228 230 212 65 0 0 0 0 0 0 0 1 0 113 197 164 148 155 157 159 174 192 169 161 186 166 162 154 144 157 182 203 0 0 0 0 0 0 0 1 0 187 173 162 168 163 165 166 171 171 143 173 152 155 155 153 157 162 147 191 55 0 0 0 0 0 0 0 26 207 166 153 157 153 153 152 160 163 136 153 150 151 149 149 154 149 149 185 124 0 0 0 0 0 0 0 100 236 206 193 198 201 199 193 193 194 182 183 180 182 185 189 188 179 190 220 220 0 0 0 0 0 0 0 170 240 232 234 232 231 228 226 224 227 224 226 225 225 218 226 229 224 241 226 253 0 0 0 0 0 0 0 204 234 233 229 226 230 226 226 222 221 220 220 220 218 208 220 226 217 230 221 234 79 0 0 0 0 0 40 202 209 224 238 208 221 210 203 210 204 208 209 207 208 204 212 212 211 223 205 204 146 0 0 0 0 0 6 93 135 179 207 158 167 159 147 153 152 149 149 149 150 142 152 149 175 204 147 110 45 0 0 0 0 0 0 0 0 0 57 191 174 162 161 166 167 160 161 161 164 155 158 179 144 0 0 0 0 0 0 0 0 0 0 3 1 0 19 198 164 165 164 164 162 159 160 159 163 160 147 176 146 0 0 0 1 0 0 0 0 0 0 0 2 0 0 250 224 227 228 231 231 226 227 227 228 231 211 223 183 0 2 1 0 0 0 0 0 0 1 2 1 0 0 232 225 214 216 221 219 217 215 215 217 219 191 222 161 0 0 1 0 0 0 0 0 0 1 1 2 0 0 233 228 227 230 238 235 230 231 230 229 241 209 217 151 0 1 0 0 0 0 0 0 0 0 0 2 0 0 184 183 165 169 182 178 170 174 173 167 179 164 180 118 0 1 0 0 0 0 0 0 0 0 0 1 0 0 160 170 158 156 169 164 156 159 159 155 157 158 175 109 0 1 2 0 0 0 0 0 0 0 0 1 0 0 161 173 161 161 171 166 159 161 162 159 153 166 179 90 0 2 0 0 0 0 0 0 0 0 0 1 0 0 171 184 164 168 177 171 164 167 168 170 158 160 203 75 0 2 0 0 0 0 0 0 0 0 0 2 0 0 213 230 228 234 241 235 227 231 233 235 230 210 235 78 0 4 0 0 0 0 0 0 0 1 0 0 0 0 213 224 211 217 223 219 213 215 216 217 212 205 228 81 0 4 0 0 0 0 0 0 0 0 0 0 0 0 230 229 230 231 240 237 233 234 235 235 235 214 231 96 0 5 0 0 0 0 0 0 0 0 0 0 0 0 180 182 168 171 185 185 175 177 179 179 181 179 190 81 0 1 0 0 0 0 0 0 0 0 0 1 0 0 192 180 177 179 181 180 178 178 179 177 176 174 182 91 0 2 0 0 0 0 0 0 0 0 0 1 1 0 100 103 94 95 96 97 95 94 94 93 93 87 113 45 0 1 1 0 0 0
0 0 0 0 0 0 3 0 0 23 95 53 49 50 52 59 100 136 26 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 143 222 238 234 255 236 246 243 242 229 222 202 58 0 0 0 0 0 0 0 0 0 0 0 0 3 129 209 239 223 219 226 227 231 236 240 223 211 218 235 236 189 84 0 0 0 0 0 0 0 0 0 33 218 238 222 215 221 219 217 220 225 226 216 208 219 218 217 218 232 233 42 0 0 0 0 0 0 0 0 212 236 211 218 220 219 217 218 227 225 231 232 228 214 218 219 221 211 228 170 0 0 0 0 0 0 0 0 222 223 222 217 219 218 232 231 198 192 174 187 198 233 230 217 217 213 223 196 0 0 0 0 0 0 0 36 237 226 223 221 210 234 157 112 130 172 144 161 125 123 170 225 208 216 224 215 13 0 0 0 0 0 0 63 242 229 227 225 234 234 224 227 209 181 176 184 214 212 181 218 202 218 223 223 47 0 0 0 0 0 0 90 242 230 237 237 175 63 162 224 195 213 220 205 100 95 245 215 209 225 220 224 61 0 0 0 0 0 0 87 236 219 237 214 109 148 90 48 76 116 133 130 159 107 254 155 186 236 211 225 81 0 0 0 0 0 0 179 251 233 254 218 208 236 162 139 137 150 91 87 139 105 200 119 220 246 231 231 169 0 0 0 0 0 0 90 160 155 147 221 132 41 37 48 20 57 64 64 43 32 40 101 254 34 55 35 8 0 0 0 0 0 0 0 0 0 0 255 155 217 215 206 178 224 218 150 181 174 157 188 220 0 0 0 0 0 0 0 0 0 0 1 4 0 0 222 241 224 230 220 153 147 152 183 174 219 219 217 180 0 0 3 4 0 0 0 0 0 0 0 1 0 0 221 228 207 132 206 254 206 173 209 251 193 139 213 181 0 0 1 0 0 0 0 0 0 0 0 3 0 0 220 226 216 161 127 116 141 156 119 104 105 178 220 181 0 0 1 0 0 0 0 0 0 0 0 3 0 0 222 222 221 238 234 211 188 181 162 197 222 213 216 180 0 0 1 0 0 0 0 0 0 0 0 4 0 0 221 220 219 214 218 225 228 232 237 222 212 208 221 192 0 0 0 0 0 0 0 0 0 0 0 4 0 0 228 220 220 219 218 217 213 212 212 212 212 211 224 172 0 0 0 0 0 0 0 0 0 0 0 3 0 56 239 217 221 223 221 221 221 218 215 214 215 213 226 173 0 0 0 0 0 0 0 0 0 0 0 4 0 113 245 219 223 223 223 222 221 219 218 217 218 215 221 206 0 0 0 0 0 0 0 0 0 0 0 2 0 152 245 220 226 223 223 223 222 221 220 219 218 216 219 198 0 0 2 0 0 0 0 0 0 0 0 0 0 195 239 223 225 225 224 223 223 222 220 220 219 217 217 214 9 0 3 0 0 0 0 0 0 0 1 0 0 208 234 225 225 225 224 225 223 222 221 219 219 220 214 235 68 0 5 0 0 0 0 0 0 0 3 0 0 221 230 226 225 223 224 224 223 223 222 222 223 218 224 191 72 0 6 0 0 0 0 0 0 0 5 0 27 236 225 227 226 224 225 226 224 224 223 223 222 217 232 161 36 0 0 0 0 0 0 0 0 0 5 0 75 251 225 227 231 229 229 228 226 224 224 224 225 224 227 209 79 0 0 0 0 0 0 0 0 0 4 0 33 215 219 218 220 216 216 215 217 218 219 219 212 208 208 199 99 0 5 0 0 0 0
0 0 0 0 0 0 0 0 0 38 121 122 84 73 75 125 161 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 149 237 253 254 140 149 130 152 225 217 251 253 202 89 0 0 0 0 0 0 0 0 0 0 0 0 149 232 234 221 215 219 220 113 121 164 205 207 207 210 220 230 203 0 0 0 0 0 0 0 0 0 0 41 237 217 216 217 218 217 234 229 167 201 220 209 211 215 207 203 229 134 0 0 0 0 0 0 0 0 0 141 242 218 222 220 217 218 218 220 228 220 210 215 213 210 214 212 213 190 0 0 0 0 0 0 0 0 0 171 243 226 223 221 219 219 216 213 206 211 215 214 201 216 211 211 218 210 2 0 0 0 0 0 0 0 0 206 238 231 226 220 219 219 216 215 214 217 219 208 153 219 209 212 222 217 29 0 0 0 0 0 0 0 0 234 232 234 230 223 218 220 217 214 215 219 215 220 222 214 207 226 221 226 60 0 0 0 0 0 0 0 0 249 231 234 234 233 223 224 224 221 219 222 221 218 214 211 211 235 218 230 95 0 0 0 0 0 0 0 0 254 229 232 238 241 230 229 230 229 223 226 227 229 227 214 220 230 220 230 120 0 0 0 0 0 0 0 0 255 227 228 245 248 234 228 230 228 222 225 228 226 233 215 221 229 222 231 144 0 0 0 0 0 0 0 9 255 227 224 254 250 233 228 229 227 224 226 228 220 232 225 223 236 222 233 163 0 0 0 0 0 0 0 29 255 225 233 231 246 237 225 228 227 227 224 225 224 220 243 203 216 229 230 189 0 0 0 0 0 0 0 34 255 226 242 158 255 233 226 228 228 227 225 225 229 212 253 204 177 235 230 199 0 0 0 0 0 0 0 38 255 230 236 96 255 227 229 229 228 229 227 224 229 210 252 198 120 255 229 210 0 0 0 0 0 0 0 54 237 231 237 22 255 225 229 230 229 229 228 225 227 217 237 176 55 255 225 219 0 0 0 0 0 0 0 81 238 231 231 0 255 231 227 229 229 228 227 227 228 219 229 220 21 255 228 233 0 0 0 0 0 0 0 85 239 234 214 0 255 230 229 230 230 229 229 228 228 222 223 243 5 255 226 244 0 0 0 0 0 0 0 92 240 238 178 0 255 226 230 230 230 229 229 228 230 226 215 254 0 255 227 216 0 0 0 0 0 0 0 106 237 245 138 0 255 231 230 231 232 231 230 228 228 227 221 247 0 243 231 223 30 0 0 0 0 0 0 119 237 248 96 0 255 228 232 233 234 234 233 231 230 233 232 237 0 218 236 225 53 0 0 0 0 0 0 132 239 246 68 0 255 235 233 234 235 236 235 234 232 229 232 253 0 165 244 229 74 0 0 0 0 0 0 139 239 243 31 0 255 232 231 232 233 235 234 232 231 227 227 254 0 131 245 230 92 0 0 0 0 0 0 144 238 238 0 0 255 241 235 235 233 233 232 230 230 228 231 255 0 63 243 230 116 0 0 0 0 0 0 142 242 232 0 0 221 204 211 220 227 229 228 226 222 211 209 225 0 1 233 234 128 0 0 0 0 0 0 97 248 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 208 240 115 0 0 0 0 0 0 107 255 201 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 192 254 142 0 0 0 0 0 0 61 203 150 0 0 0 0 0 2 2 1 1 1 3 2 1 0 0 0 127 195 85 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 30 42 0 0 0 0 0 2 0 0 0 0 4 38 49 2 0 0 0 0 0 0 0 0 0 0 0 40 66 64 62 12 0 0 0 0 0 0 0 23 47 55 70 72 0 0 0 0 0 0 0 0 0 0 0 70 55 36 51 66 57 15 126 216 165 55 40 77 55 60 40 100 23 0 2 0 0 0 0 0 0 0 25 87 51 34 51 34 60 34 62 81 70 40 57 49 45 66 32 79 57 0 0 0 0 0 0 0 0 0 53 70 45 45 53 51 42 53 47 25 42 57 42 51 53 53 34 81 94 0 0 0 0 0 0 0 0 15 66 55 47 49 49 42 40 47 53 55 47 49 40 53 51 51 45 64 87 30 0 0 0 0 0 2 0 30 64 55 47 47 47 49 36 49 53 42 47 51 45 53 55 49 47 60 87 47 0 0 0 0 0 0 2 47 62 53 40 51 49 51 36 47 57 45 47 51 45 49 57 51 47 51 94 66 15 0 2 0 0 0 15 64 62 51 36 53 49 53 32 40 62 42 47 49 45 45 62 53 51 36 102 72 34 0 0 0 0 0 27 70 57 40 40 53 47 55 32 38 64 45 45 49 45 40 62 53 49 30 105 72 47 0 0 0 0 0 32 72 64 42 36 55 51 49 38 42 62 53 45 47 53 42 57 55 49 34 98 55 47 0 0 0 0 0 90 64 49 51 49 47 47 49 36 42 62 55 42 45 51 45 55 57 51 32 90 38 87 199 0 0 0 235 220 21 45 32 42 57 51 49 38 40 64 62 45 42 51 47 49 62 53 25 100 109 10 244 23 0 0 23 0 66 171 21 57 49 49 49 36 40 64 66 45 42 51 49 47 64 60 15 145 186 36 27 0 0 70 27 180 207 141 0 77 60 45 51 42 38 64 68 45 40 51 53 42 72 57 25 60 203 222 111 38 0 27 0 111 252 25 25 53 51 45 51 51 36 64 70 47 42 49 55 38 72 57 19 94 145 199 34 40 0 124 30 207 195 45 17 62 53 45 51 49 36 64 72 49 45 49 55 42 62 68 21 94 154 175 158 60 32 197 137 135 188 94 17 66 55 42 51 49 36 64 77 49 45 49 53 49 51 75 36 53 175 115 165 203 75 55 47 255 126 0 51 60 55 45 51 49 34 64 79 51 45 49 51 55 45 79 47 70 32 188 143 60 57 62 57 130 102 60 36 68 42 47 51 55 40 64 85 57 45 49 57 53 47 77 53 64 68 90 12 109 62 0 57 34 64 70 30 79 40 47 51 53 40 62 85 57 45 49 55 51 51 75 60 75 77 72 92 15 0 0 0 70 94 32 62 68 36 53 53 51 38 60 81 60 51 51 53 55 55 72 68 55 42 38 0 0 0 0 0 0 0 19 83 49 45 51 51 51 36 55 77 60 53 53 51 55 55 64 72 57 0 0 0 0 0 0 0 0 0 32 79 55 62 68 64 60 45 62 94 72 64 68 64 70 72 75 90 62 0 0 0 0 2 0 0 0 0 8 38 25 27 23 15 17 25 40 57 21 8 17 23 32 36 23 49 30 0 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 155 195 202 193 209 203 160 68 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 187 209 180 195 172 185 198 181 255 16 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 28 193 167 168 159 146 147 168 156 194 135 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 145 193 157 188 215 176 186 223 176 188 190 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 83 198 201 188 166 174 200 198 171 173 201 209 188 21 0 0 0 0 0 0 0 0 0 0 2 0 0 154 215 192 190 211 224 192 186 190 193 219 200 190 202 207 63 0 4 0 0 0 0 0 0 1 4 0 24 209 190 189 187 185 192 219 182 194 227 188 186 188 188 204 178 0 0 1 0 0 0 0 0 1 0 0 141 207 194 188 189 185 190 210 174 188 196 183 189 190 191 198 202 43 0 2 0 0 0 0 0 2 0 7 183 200 204 193 191 186 185 203 175 188 192 185 186 189 196 202 208 149 0 0 0 0 0 0 0 1 0 83 176 170 186 184 197 199 197 210 180 187 197 201 201 202 198 191 185 178 0 0 0 0 0 0 0 0 0 138 155 163 160 140 150 160 175 199 190 193 199 175 164 155 153 165 150 177 33 0 0 0 0 0 0 0 5 157 149 178 167 153 156 148 143 152 162 153 150 142 150 155 159 180 159 175 106 0 0 0 0 0 0 0 66 164 151 176 163 153 156 155 155 158 161 151 157 156 158 160 161 175 157 168 163 0 0 0 0 0 0 0 124 165 152 175 162 151 158 156 155 157 160 158 159 154 158 160 162 176 155 160 193 0 0 0 0 0 0 0 175 156 148 175 158 150 158 155 154 157 164 158 155 155 158 160 161 174 155 160 199 26 0 0 0 0 0 28 193 151 153 176 158 150 155 152 151 156 166 155 150 156 152 158 163 170 157 153 200 59 0 0 0 0 0 65 181 141 144 174 153 148 153 156 155 156 168 155 151 163 155 153 156 167 146 138 183 83 0 0 0 0 0 122 196 170 179 206 174 171 164 156 149 150 164 153 150 151 161 166 178 200 196 158 183 145 0 0 0 0 0 156 200 181 186 208 187 190 195 193 180 177 168 161 176 186 198 188 181 194 226 176 195 184 0 0 0 0 0 163 191 173 184 204 182 180 178 182 182 201 188 190 187 184 183 180 180 190 219 168 182 187 0 0 0 0 0 177 190 177 192 208 182 186 184 180 172 191 184 185 179 175 187 187 176 199 229 174 180 195 0 0 0 0 0 184 186 175 199 210 188 194 187 179 177 196 186 192 186 174 180 186 186 213 215 179 177 194 0 0 0 0 0 194 186 181 208 209 189 182 177 177 185 198 184 187 191 179 185 196 190 205 181 189 180 190 0 0 0 0 0 200 185 201 205 208 195 188 183 187 196 202 180 181 183 179 182 187 191 198 144 210 184 188 0 0 0 0 0 200 176 205 180 186 224 207 209 207 205 203 191 207 208 210 209 207 205 220 124 203 191 165 0 0 0 0 0 201 191 207 167 0 72 55 43 34 16 16 47 60 68 73 55 25 2 0 74 208 194 149 0 0 0 0 0 197 207 215 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 70 228 219 140 0 0 0 0 0 86 191 207 71 0 5 2 2 2 2 2 1 2 2 2 2 2 2 0 4 125 158 58 0 0
0 0 0 0 0 0 0 0 0 0 49 142 97 85 49 81 68 110 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 205 193 254 195 205 165 177 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 188 172 151 183 160 150 141 147 140 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 209 184 183 186 149 152 156 155 152 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 210 170 184 193 166 158 151 150 145 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 213 166 181 193 174 162 157 152 158 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 194 165 171 177 202 160 152 150 155 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 144 176 157 172 170 174 166 158 150 147 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 179 150 161 170 210 182 158 147 144 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 123 190 144 150 156 152 216 166 153 152 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 202 149 150 160 65 229 181 157 155 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 51 208 157 150 177 62 237 184 162 163 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 22 208 163 147 184 0 226 194 165 170 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 192 170 156 179 0 195 200 167 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 178 162 166 0 183 202 170 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 179 167 163 0 182 198 171 130 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 177 167 167 0 188 197 167 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 176 165 163 0 172 204 165 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 82 188 174 118 0 105 208 168 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 187 178 78 0 51 205 174 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 184 177 81 0 20 204 183 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 71 186 181 70 0 13 204 187 109 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 190 174 44 0 0 198 192 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 195 173 33 0 0 198 188 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 194 173 18 0 0 208 194 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 213 165 1 0 0 199 190 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 219 197 0 0 0 211 190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 130 131 0 0 0 133 133 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 97 139 136 106 97 122 142 133 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 129 237 238 241 232 197 190 228 243 230 246 214 97 0 0 0 0 0 0 0 0 0 0 0 0 0 47 207 222 207 202 214 222 227 228 220 214 212 206 216 230 188 10 0 0 0 0 0 0 0 0 0 0 0 217 214 202 206 204 208 227 216 216 219 221 208 208 214 206 228 219 0 0 0 0 0 0 0 0 0 0 38 214 199 205 209 207 200 205 214 213 211 203 203 212 213 215 212 227 31 0 0 0 0 0 0 0 0 0 133 219 207 202 206 204 207 209 200 210 204 204 204 212 212 210 217 234 140 0 0 0 0 0 0 0 0 0 218 215 210 205 207 209 207 214 207 213 215 209 207 210 211 227 235 228 235 0 0 0 0 0 0 0 0 73 219 202 205 198 198 203 202 209 208 209 208 207 203 208 214 238 238 212 229 83 0 0 0 0 0 0 0 114 211 224 221 218 199 204 200 207 203 199 202 208 206 214 224 249 239 236 221 106 0 0 0 0 0 0 0 0 4 113 233 193 218 205 204 209 201 206 202 201 206 211 228 250 254 151 8 0 0 0 0 0 0 0 0 0 0 0 0 5 243 205 201 208 206 205 210 206 208 213 253 42 0 0 0 0 0 0 0 0 0 0 0 1 1 2 0 5 237 203 203 213 206 207 213 208 207 216 255 24 0 5 1 0 0 0 0 0 0 0 0 0 0 0 0 12 237 203 208 210 204 206 201 205 209 214 235 32 0 3 0 0 0 0 0 0 0 0 0 0 0 2 0 26 215 204 206 206 204 212 208 211 211 214 235 35 0 3 0 0 0 0 0 0 0 0 0 0 0 2 0 81 220 203 207 204 202 206 208 208 217 211 236 73 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 139 220 204 213 211 203 203 207 211 215 208 236 124 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 171 217 205 203 207 213 203 207 206 207 210 235 162 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 209 213 203 201 203 205 205 211 206 207 211 230 197 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 236 210 204 206 209 203 214 212 209 212 211 223 219 0 0 1 0 0 0 0 0 0 0 0 0 4 0 6 208 206 205 202 211 203 204 209 206 204 212 219 204 0 0 3 0 0 0 0 0 0 0 0 0 2 0 51 219 207 211 205 213 208 211 214 214 207 210 217 216 0 0 4 0 0 0 0 0 0 0 0 0 2 0 102 222 203 210 204 210 210 213 210 210 206 210 214 219 10 0 5 0 0 0 0 0 0 0 0 0 1 0 134 218 203 210 205 210 207 204 207 213 213 216 214 225 40 0 2 0 0 0 0 0 0 0 0 0 0 0 178 219 205 211 205 209 205 207 206 205 206 216 212 226 61 0 3 0 0 0 0 0 0 0 0 0 0 0 179 210 209 216 208 212 207 206 212 211 211 214 209 226 82 0 8 0 0 0 0 0 0 0 0 1 0 0 198 225 209 206 195 204 205 206 211 210 211 213 222 246 118 0 8 0 0 0 0 0 0 0 0 0 1 0 54 185 244 247 246 243 240 241 241 243 247 253 197 146 6 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 78 113 146 166 164 161 129 92 27 0 0 0 0 0 0 0 0 0
0 0 2 0 0 0 0 86 182 201 191 164 150 122 120 148 162 192 210 186 91 0 0 0 0 0 0 0 0 0 0 3 0 40 217 243 207 205 217 225 235 214 215 241 226 229 220 222 249 224 39 0 2 0 0 0 0 0 2 0 0 188 203 188 188 190 215 219 211 217 212 200 206 211 203 201 202 221 208 0 0 1 0 0 0 0 2 0 84 207 186 190 192 192 192 211 220 213 214 215 208 204 203 204 212 209 231 95 0 2 0 0 0 0 1 0 150 205 188 190 190 195 195 192 195 199 200 199 200 204 205 210 216 215 234 161 0 0 0 0 0 0 0 0 202 202 190 189 189 190 198 201 202 201 200 199 202 205 207 212 218 216 227 214 0 0 0 0 0 0 0 0 190 198 190 189 189 186 194 200 200 197 198 196 197 205 210 216 219 219 219 207 0 0 0 0 0 0 0 37 204 196 193 188 187 191 203 206 204 201 200 200 201 207 212 218 218 218 218 223 9 0 0 0 0 0 0 80 208 195 198 192 187 191 202 206 205 202 202 204 206 208 214 219 216 221 215 233 69 0 0 0 0 0 0 136 208 196 200 196 188 194 199 203 203 202 201 202 203 207 213 219 219 227 213 234 136 0 0 0 0 0 0 204 197 198 208 199 186 200 195 202 202 202 200 202 203 207 213 220 222 222 217 224 218 0 0 0 0 0 10 199 191 200 218 200 182 203 192 200 202 202 199 202 202 206 215 220 223 226 216 215 218 8 0 0 0 0 141 224 198 201 210 204 189 206 190 203 204 199 195 204 202 204 217 216 223 221 212 216 244 145 0 0 0 0 24 118 184 216 237 202 193 202 189 205 203 200 195 205 204 207 215 214 225 240 232 206 180 42 0 0 0 0 0 0 0 5 106 226 197 202 187 207 202 200 196 206 206 207 218 215 248 131 41 0 0 0 0 0 0 0 0 1 0 0 0 239 202 194 189 208 202 199 195 206 205 205 216 215 250 0 0 0 0 0 0 0 0 0 0 0 2 0 0 240 204 188 193 208 202 199 194 208 204 207 216 213 248 0 0 3 0 0 0 0 0 0 0 0 2 0 0 201 204 186 197 208 202 199 196 211 206 205 217 214 245 0 0 2 0 0 0 0 0 0 0 0 4 0 12 207 200 187 200 209 203 199 197 214 206 204 215 213 213 0 0 4 0 0 0 0 0 0 0 0 2 0 50 215 196 192 201 210 203 199 201 214 207 205 217 211 222 31 0 2 1 0 0 0 0 0 0 0 3 0 115 221 191 189 207 210 205 200 205 213 207 207 219 210 228 91 0 2 0 0 0 0 0 0 0 0 0 0 182 210 184 199 209 211 205 201 206 215 208 208 216 212 226 153 0 1 0 0 0 0 0 0 0 3 0 0 198 197 187 203 209 208 203 203 207 216 210 208 216 214 219 228 0 0 2 0 0 0 0 0 0 6 0 60 211 189 204 202 211 207 203 201 210 217 211 208 217 214 212 222 22 0 6 0 0 0 0 0 0 7 0 151 208 188 198 201 203 199 201 201 210 211 206 215 215 213 202 231 137 0 8 0 0 0 0 0 0 4 0 77 216 223 206 207 196 211 219 214 219 216 214 213 212 213 232 234 95 0 4 0 0 0 0 0 0 0 0 0 13 179 253 253 250 232 219 222 226 227 237 248 255 255 205 43 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 138 200 228 227 217 202 190 169 113 8 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 83 107 0 0 0 0 0 0 0 57 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 9 0 34 213 190 153 22 0 0 0 0 134 213 101 0 3 0 0 0 0 0 0 0 0 0 0 1 3 0 11 210 184 114 138 227 177 75 45 147 174 197 151 0 0 0 0 0 0 0 0 0 0 4 3 0 1 0 0 78 180 90 139 197 208 209 224 206 168 201 179 0 0 0 0 0 0 0 0 4 2 0 0 2 5 2 0 0 154 207 190 196 189 195 191 159 160 188 210 51 0 1 0 0 0 0 1 0 0 27 24 0 0 0 0 0 75 234 231 213 168 206 221 195 205 188 204 155 0 0 2 0 0 2 0 36 136 221 186 0 49 41 77 127 171 199 154 156 86 143 148 110 167 188 201 219 0 0 1 1 1 1 0 150 222 140 101 209 255 219 215 203 192 167 63 102 85 199 161 81 58 166 196 206 22 0 2 0 2 0 0 157 184 140 122 188 195 189 200 194 210 253 242 216 129 217 220 106 159 207 190 212 84 0 0 0 0 0 94 220 204 214 245 250 229 169 188 207 159 40 43 78 201 200 198 203 209 200 190 209 144 0 55 81 44 5 119 200 178 197 165 12 191 200 191 211 188 0 0 0 60 255 224 218 209 218 209 232 209 0 113 148 79 43 155 231 200 229 140 0 139 255 224 219 254 179 87 112 92 146 82 114 140 154 151 121 60 0 0 130 142 104 63 90 119 164 123 46 72 77 82 40 44 61 70 44 0 0 22 67 10 0 0 0 68 109 0 0 34 136 146 149 91 107 94 87 107 97 82 122 146 168 167 166 177 140 158 150 159 159 135 157 162 47 0 0 0 0 0 11 46 106 100 97 151 107 102 87 13 12 0 0 74 106 91 107 95 126 85 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 131 101 0 0 0 0 0 0 0 0 65 151 0 0 0 0 0 0 0 0 0 0 0 0 0 0 146 220 247 235 227 173 148 106 107 127 128 219 233 244 218 144 0 0 0 0 0 0 0 0 0 0 144 232 251 234 228 229 217 221 234 214 223 232 215 221 231 225 230 244 230 145 0 0 0 0 0 0 0 162 253 231 226 233 231 232 228 214 211 208 217 205 214 228 229 229 227 220 227 252 180 0 0 0 0 0 0 119 242 227 232 234 231 229 233 231 231 233 231 232 229 232 233 227 228 227 223 237 115 0 0 0 0 0 0 108 245 226 234 232 231 230 228 228 227 227 226 232 228 224 231 228 226 228 225 242 87 0 0 0 0 0 0 104 255 228 233 231 230 229 232 231 229 230 229 232 228 228 234 231 227 229 225 255 75 0 0 0 0 0 0 95 241 226 230 225 225 223 227 225 224 225 224 225 221 223 228 225 223 225 220 233 65 0 0 0 0 0 0 79 241 223 229 227 226 224 225 224 224 224 223 226 218 223 229 225 223 229 221 237 70 0 0 0 0 0 0 0 253 235 234 229 230 229 231 230 230 229 228 232 223 226 232 228 224 225 229 253 0 0 0 0 0 0 0 0 124 249 228 228 227 226 230 228 228 227 226 229 221 226 231 227 225 221 242 115 0 0 0 0 0 0 0 0 43 247 228 229 228 226 229 229 230 228 225 229 220 227 231 227 224 223 233 18 0 0 0 0 0 0 0 0 0 231 229 230 227 224 227 227 227 228 221 226 221 227 228 227 220 227 213 0 0 0 0 0 0 0 0 0 0 212 231 227 225 225 229 227 225 227 223 227 222 227 228 230 221 230 231 0 0 0 0 0 0 0 0 0 0 229 231 224 224 225 224 223 225 223 220 224 219 225 225 222 218 229 202 0 0 0 0 0 0 0 0 0 0 217 232 222 220 221 220 220 219 218 218 221 217 221 221 220 214 229 183 0 0 0 0 0 0 0 0 0 0 208 240 227 225 226 225 228 228 226 224 227 224 226 228 228 219 235 187 0 0 0 0 0 0 0 0 0 0 197 240 225 222 225 226 225 222 224 223 225 221 224 228 226 217 234 186 0 0 0 0 0 0 0 0 0 0 192 239 224 222 224 225 226 224 226 225 226 220 223 230 227 217 235 186 0 0 0 0 0 0 0 0 0 0 177 241 223 222 223 225 226 226 225 224 224 222 220 226 229 219 234 188 0 0 0 0 0 0 0 0 0 0 172 243 224 226 224 225 227 226 224 224 223 224 222 225 233 219 235 203 0 0 0 0 0 0 0 0 0 0 172 239 220 223 222 220 222 222 220 220 219 218 216 224 214 204 222 190 0 0 0 0 0 0 0 0 0 0 171 238 220 221 221 219 221 221 218 219 218 217 217 224 208 203 221 193 0 0 0 0 0 0 0 0 0 0 175 240 225 223 227 223 226 225 221 225 223 223 220 225 229 220 232 217 0 0 0 0 0 0 0 0 0 0 177 241 224 222 223 224 227 230 219 224 221 221 224 221 225 218 230 187 0 0 0 0 0 0 0 0 0 0 154 238 223 221 224 220 220 218 219 220 219 215 214 218 223 219 225 186 0 0 0 0 0 0 0 0 0 0 211 252 221 251 251 241 244 226 250 246 251 251 252 252 253 231 244 201 0 0 0 0 0 0 0 0 0 0 80 118 77 99 93 92 97 102 102 101 99 98 96 94 92 88 102 98 0 0 0 0 0
0 0 0 0 0 0 0 0 0 8 136 116 0 0 0 0 0 89 137 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 255 227 226 124 67 93 190 223 255 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 69 237 217 223 231 240 235 225 218 238 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 49 236 223 224 212 204 210 220 221 241 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 42 235 222 226 227 223 228 228 220 237 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 235 224 226 228 227 229 227 224 238 52 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 240 226 228 231 228 229 229 225 245 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 241 226 229 230 228 229 230 224 247 75 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 35 240 226 228 230 229 230 230 224 248 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 243 227 230 230 230 232 230 224 248 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 250 225 231 231 231 233 231 226 244 184 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 251 225 231 234 232 233 231 228 242 206 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 245 227 232 234 233 235 231 229 239 227 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 198 243 228 232 233 235 237 231 227 235 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 209 241 228 232 235 237 238 231 229 233 255 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 228 239 228 233 237 240 239 230 231 233 255 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 236 237 228 234 239 243 238 229 234 233 255 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 245 236 229 233 239 242 237 227 234 232 255 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 207 235 229 235 239 241 237 227 234 234 255 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223 239 221 229 233 240 232 228 233 234 255 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 216 255 247 236 235 230 229 232 239 255 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 254 255 234 226 230 254 193 244 68 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 147 254 232 219 212 135 249 69 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 87 244 226 172 144 255 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 51 255 187 150 219 79 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 187 168 216 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 130 202 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 70 146 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 41 119 23 0 2 0 0 1 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 41 196 172 215 22 0 0 0 0 0 0 69 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 8 222 162 122 184 173 128 0 0 0 100 176 157 26 0 0 0 0 1 0 0 4 0 0 0 0 38 181 182 159 13 184 148 85 190 144 203 194 159 101 78 78 0 1 0 0 1 0 0 0 0 57 98 140 140 103 0 0 0 44 129 188 163 44 113 109 53 63 109 28 0 0 2 0 0 11 17 114 141 169 255 185 0 0 0 1 1 0 0 32 134 153 104 128 113 84 0 0 0 0 1 0 58 196 137 209 144 112 207 240 4 0 2 1 0 4 0 0 0 138 110 101 94 0 0 0 0 0 0 0 23 160 82 181 129 95 125 213 42 0 0 0 0 0 0 0 0 154 81 109 58 0 14 0 0 69 160 113 85 113 86 119 159 78 75 193 73 0 0 0 11 28 56 56 101 225 147 168 157 153 173 134 47 119 160 165 176 123 103 119 209 123 98 215 234 86 137 126 137 134 135 126 119 107 75 78 57 19 14 22 42 0 36 94 119 168 166 148 159 162 128 135 157 84 88 81 64 58 50 28 20 131 135 141 144 148 154 178 129 0 0 0 0 13 23 47 57 45 41 23 14 23 8 0 0 0 0 0 0 63 81 61 48 29 13 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 75 0 0 31 0 0 3 0 0 0 3 0 3 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 171 238 151 255 121 0 0 0 1 3 3 10 0 0 2 0 0 0 0 0 0 0 0 0 0 12 0 26 179 227 238 216 236 183 1 0 0 0 0 0 19 180 19 0 0 0 0 0 0 0 0 0 3 0 0 218 243 224 221 230 214 226 255 152 34 0 28 111 217 146 38 0 1 0 0 0 0 0 2 0 0 0 223 239 216 232 230 218 218 192 217 236 255 255 230 255 160 153 108 0 1 0 0 2 1 6 0 0 63 213 239 217 235 222 219 221 226 229 218 209 212 214 217 143 155 208 104 0 0 1 0 0 0 0 0 113 235 226 218 224 212 202 210 220 221 222 228 222 209 213 191 167 221 205 134 0 0 0 0 0 26 66 169 255 209 207 209 209 204 206 212 219 218 225 221 216 239 254 255 219 192 202 137 0 0 3 58 130 143 152 175 162 195 210 207 205 207 206 210 216 227 210 192 227 242 204 199 203 197 201 138 0 63 178 166 136 122 119 131 135 155 189 213 212 209 215 220 233 232 187 196 185 167 179 179 187 206 200 183 0 89 195 183 192 201 202 227 226 218 219 231 236 235 241 231 215 182 159 168 168 181 204 204 214 211 197 183 48 0 108 179 194 190 185 184 177 174 180 182 192 194 176 170 183 199 218 223 232 233 214 210 207 206 205 201 66 0 0 16 112 193 235 241 230 218 211 218 227 231 233 241 244 237 230 230 236 226 245 234 240 225 198 91 0 0 0 0 0 0 0 40 70 102 126 130 127 127 117 107 94 96 90 106 56 12 63 45 33 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 120 92 96 98 86 91 96 103 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 255 236 249 251 252 238 240 239 254 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 142 235 196 208 207 227 217 197 199 238 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 185 230 207 202 220 228 221 199 198 244 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 201 216 205 208 214 228 218 205 204 231 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 219 210 208 218 216 217 215 212 206 212 187 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 220 212 214 216 219 225 216 208 208 207 205 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 220 214 215 219 222 238 228 217 208 208 208 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 212 219 214 218 230 157 236 218 215 212 210 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 201 227 215 218 234 73 243 207 216 216 201 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 232 215 221 239 47 246 215 215 220 199 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 188 237 213 225 241 0 247 223 209 228 189 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 240 210 230 234 0 245 230 208 240 142 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 163 246 209 238 222 0 231 235 205 250 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 253 204 243 209 0 224 244 211 252 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 253 212 246 198 0 184 237 211 253 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 254 212 252 155 0 155 240 211 253 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 62 254 212 254 113 0 140 244 215 253 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 255 213 239 92 0 114 245 217 253 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 255 218 233 53 0 101 244 219 253 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 254 221 231 38 0 89 242 222 247 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 254 224 223 7 0 75 242 224 235 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 217 228 216 0 0 70 240 225 228 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 208 229 213 0 0 72 239 227 204 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 201 232 213 0 0 73 238 233 180 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 206 236 207 0 0 51 230 233 94 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 124 253 163 0 0 0 220 231 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 239 120 0 0 0 183 204 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 33 127 149 192 148 165 175 193 177 140 38 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 238 220 204 209 201 218 199 204 202 221 255 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 74 220 197 186 178 135 197 166 167 191 198 229 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 208 211 211 201 180 207 174 200 213 212 226 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 235 228 218 206 212 209 212 208 212 229 233 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 156 226 200 228 219 220 223 222 220 225 238 236 164 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 171 215 189 226 230 219 221 220 222 233 218 218 153 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 193 251 136 198 239 217 222 219 224 232 192 248 164 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 249 58 196 240 219 221 220 225 231 156 244 138 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 255 18 210 239 219 219 221 226 234 121 255 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 237 35 234 229 218 220 221 224 238 134 255 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 176 219 54 254 219 219 220 222 221 240 166 223 105 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 188 210 153 251 216 221 218 219 222 231 215 241 125 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 184 229 226 218 220 219 218 222 224 231 228 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 150 226 227 221 219 219 221 218 221 221 221 223 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 178 239 222 218 219 219 220 219 220 216 224 234 104 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 37 245 221 219 218 219 219 219 220 217 185 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 220 217 220 219 219 217 220 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 223 215 220 219 219 216 223 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 218 224 215 218 220 221 213 226 248 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 213 227 218 220 218 221 217 227 197 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 200 230 218 220 217 221 217 229 219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 211 234 216 219 219 219 217 231 213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 240 216 222 219 220 216 230 187 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 142 241 215 220 216 217 213 230 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 142 245 222 227 221 223 225 233 191 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 74 222 191 223 210 205 180 209 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 108 13 0 143 100 0 34 53 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 3 0 34 148 111 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 125 24 33 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 60 0 0 0 33 25 0 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 6 100 0 2 0 11 63 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 63 85 0 3 0 0 79 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 95 50 0 2 0 0 72 9 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 12 99 22 0 2 0 0 77 29 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 24 103 10 0 1 1 0 78 53 0 3 0 0 0 0 0 0 0 0 0 0 0 3 5 2 2 1 0 52 101 0 0 2 1 0 58 77 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 54 66 0 0 0 0 0 37 87 0 0 0 0 0 0 0 0 0 0 0 0 0 10 23 0 0 1 15 73 29 0 0 0 0 0 21 74 0 0 0 0 0 0 0 0 0 0 0 0 0 161 232 209 207 255 187 82 235 212 213 217 222 241 214 54 236 224 185 177 203 90 0 0 0 0 0 0 0 1 213 204 201 220 85 12 254 204 207 208 205 210 213 3 200 212 208 208 231 88 0 0 0 0 0 0 0 0 248 213 202 233 125 91 231 194 197 198 196 203 209 30 187 211 199 204 202 0 0 0 0 0 0 0 0 0 226 223 208 213 232 230 205 208 208 207 206 204 214 228 222 208 207 215 225 0 0 0 0 0 0 0 0 0 202 229 212 214 208 206 212 211 211 211 209 208 209 207 208 212 207 219 194 0 0 0 0 0 0 0 0 0 176 230 208 215 213 214 216 214 214 215 214 213 212 213 214 218 211 226 163 0 0 0 0 0 0 0 0 0 160 236 214 216 214 213 214 215 215 214 215 215 215 215 216 219 213 229 103 0 0 0 0 0 0 0 0 0 129 236 214 219 217 215 213 215 215 214 215 215 215 215 216 218 213 228 58 0 0 0 0 0 0 0 0 0 61 232 213 219 218 218 217 217 217 217 217 217 218 218 218 218 212 225 37 0 0 0 0 0 0 0 0 0 13 255 217 217 218 218 218 218 218 219 219 219 218 214 212 212 216 214 0 0 0 0 0 0 0 0 0 0 0 242 221 216 218 218 217 218 217 217 217 216 227 243 241 232 221 233 0 0 0 0 0 0 0 0 0 0 0 230 224 216 221 221 220 220 220 220 218 228 211 161 171 164 224 195 0 0 0 0 0 0 0 0 0 0 0 225 224 212 216 217 220 219 220 221 215 242 163 3 21 26 222 167 0 0 0 0 0 0 0 0 0 0 0 210 234 221 222 220 218 219 218 219 218 223 230 232 241 210 238 121 0 2 0 0 0 0 0 0 0 1 0 162 249 226 231 231 231 231 232 230 230 230 229 230 231 227 242 77 0 3 0 0 0 0 0 0 0 4 0 100 253 238 255 255 255 255 255 255 255 255 255 255 241 240 241 26 0 1 0 0 0 0 0 0 0 0 0 0 34 24 17 22 28 26 28 38 37 36 43 46 51 58 59 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 45 168 140 145 145 145 146 146 147 171 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 255 255 255 255 255 255 255 255 255 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 169 243 218 224 224 224 225 226 222 251 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 211 238 226 231 232 233 232 233 229 245 181 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 217 229 227 229 231 229 230 230 226 238 199 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 223 224 227 228 230 228 228 229 227 229 213 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 222 225 226 230 229 232 228 227 226 224 215 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 232 236 233 226 227 233 228 226 226 229 222 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 114 233 227 223 239 227 224 227 208 198 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 181 230 225 228 243 231 225 224 214 195 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 187 243 227 222 237 146 244 223 221 236 193 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 166 244 217 226 237 58 254 223 221 234 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 249 218 226 236 37 255 222 219 241 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 111 255 215 229 234 9 255 224 219 246 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 255 214 229 238 0 244 231 215 255 121 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 255 217 226 241 0 233 238 208 255 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 255 220 235 238 0 216 246 218 255 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 255 224 231 236 0 205 254 221 255 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 255 227 233 236 0 185 241 222 255 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 245 227 232 227 0 148 243 223 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 217 230 230 216 0 133 246 223 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 194 236 232 213 0 113 245 224 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 170 238 234 211 0 90 244 225 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 135 241 234 192 0 76 243 230 239 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 241 236 178 0 61 240 235 217 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 237 234 174 0 16 233 237 203 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 48 247 252 211 0 4 240 255 212 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 146 171 66 0 0 135 174 68 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 9 6 0 0 0 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 209 231 248 252 250 253 246 206 132 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 227 243 234 234 248 246 238 230 234 250 126 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 57 231 213 227 234 232 231 235 232 218 218 222 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 239 207 213 236 235 232 232 229 210 215 207 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 211 245 229 197 220 221 221 222 203 221 235 222 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 154 239 213 217 218 214 215 215 199 235 167 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 238 220 221 215 210 249 98 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 225 220 214 211 215 251 112 0 2 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 208 218 218 224 210 221 100 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 16 213 244 255 218 204 218 143 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 76 232 235 234 218 211 220 223 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 161 225 218 218 220 206 209 213 32 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 214 218 222 221 218 210 207 217 89 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 207 211 225 218 218 209 208 217 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 44 221 206 225 218 218 210 207 215 203 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 227 204 224 222 216 211 210 210 196 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 232 203 225 222 216 211 214 208 204 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 235 203 225 222 217 210 214 209 211 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 167 234 202 223 223 220 210 214 209 215 44 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 185 235 203 224 224 220 210 216 213 221 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 197 237 193 225 224 218 209 217 213 223 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 224 242 189 224 227 223 209 217 214 227 91 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 241 242 193 232 234 222 211 222 217 229 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 213 243 197 224 221 221 213 225 222 230 115 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 224 241 210 221 220 220 216 230 224 232 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 243 252 215 238 235 229 228 237 229 244 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 181 199 186 185 208 206 197 209 214 86 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 23 57 0 0 0 0 0 0 74 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 205 249 254 236 80 5 8 67 202 253 254 232 83 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 255 246 246 252 255 255 255 255 255 246 242 255 217 0 0 0 0 0 0 0 0 0 0 0 0 0 0 164 245 235 249 245 239 243 245 242 245 247 246 237 238 20 0 0 0 0 0 0 0 0 0 0 0 0 0 220 250 235 244 251 243 245 244 247 250 248 244 231 255 72 0 0 0 0 0 0 0 0 0 0 0 0 0 240 247 241 246 255 253 250 249 251 252 253 254 237 255 120 0 0 0 0 0 0 0 0 0 0 0 0 0 223 249 150 238 247 232 238 241 223 209 249 190 199 255 173 0 0 0 0 0 0 0 0 0 0 0 0 0 237 250 65 213 237 207 229 216 225 194 255 110 133 255 193 0 0 0 0 0 0 0 0 0 0 0 0 32 244 255 9 195 253 221 233 226 226 216 255 90 100 253 212 0 0 0 0 0 0 0 0 0 0 0 0 81 255 247 0 208 255 229 248 230 225 233 255 100 2 252 232 3 0 0 0 0 0 0 0 0 0 0 0 114 255 223 0 199 255 220 237 230 228 218 255 124 0 255 251 44 0 0 0 0 0 0 0 0 0 0 0 136 255 205 0 198 255 220 229 216 228 231 255 148 0 238 254 87 0 0 0 0 0 0 0 0 0 0 0 185 255 166 0 233 252 224 230 219 223 231 255 217 0 219 255 118 0 0 0 0 0 0 0 0 0 0 0 198 254 131 0 255 231 230 238 245 241 225 239 255 0 171 255 147 0 0 0 0 0 0 0 0 0 0 0 216 255 135 53 255 224 232 227 222 242 235 235 255 99 169 255 184 0 0 0 0 0 0 0 0 0 0 0 84 163 0 156 248 225 219 227 227 219 225 228 244 202 15 143 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 204 245 226 228 238 230 226 218 238 240 250 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 212 244 220 222 231 235 228 223 226 233 251 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 227 243 224 226 232 236 228 230 228 231 230 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 227 247 222 224 229 228 223 238 228 236 238 1 0 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 229 251 228 224 241 235 223 235 222 236 238 6 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 236 254 240 243 251 254 229 232 249 246 247 16 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 236 249 239 247 246 241 240 243 243 238 245 22 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 229 246 224 228 223 228 229 230 230 221 240 27 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 227 240 224 228 227 231 227 224 231 225 243 41 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 218 237 228 229 228 232 229 229 232 225 243 55 0 7 0 0 0 0 0 0 0 0 0 0 0 0 5 0 239 255 234 239 233 233 237 248 255 249 255 68 0 7 0 0 0 0 0 0 0 0 0 0 0 0 3 0 71 169 195 215 227 225 223 223 201 172 146 0 0 3 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 10 131 101 113 126 102 60 64 85 86 94 91 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 54 136 161 194 201 219 216 213 218 200 197 174 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 133 53 75 137 149 125 152 132 86 182 176 179 35 0 0 0 0 0 0 0 0 0 0 0 3 0 27 206 182 179 143 145 155 103 114 134 123 103 92 143 89 0 0 0 0 0 1 0 0 0 1 4 0 2 126 50 122 197 183 165 181 211 216 168 133 191 174 169 137 0 0 0 0 1 1 0 0 0 2 5 0 79 176 126 125 136 188 181 185 179 222 131 173 255 215 182 214 52 0 0 3 4 3 4 4 2 0 0 46 123 103 123 139 153 158 201 208 187 172 106 131 184 185 185 223 47 2 0 0 0 0 0 0 0 0 50 119 101 91 96 107 137 142 153 186 205 215 181 180 196 196 179 196 1 0 0 21 34 39 26 15 42 85 109 93 121 102 111 120 121 130 135 138 160 176 203 172 140 169 152 202 62 0 113 117 131 131 120 110 118 115 107 110 122 143 132 144 133 142 132 125 135 163 173 152 157 139 135 166 22 81 166 132 124 115 101 104 116 121 118 132 125 134 150 128 123 148 153 170 168 193 171 174 169 153 153 157 3 18 117 162 169 161 144 126 117 115 115 121 131 143 151 169 166 161 195 194 168 162 138 134 128 133 132 156 13 0 0 37 105 149 172 183 171 161 149 160 172 189 172 164 136 101 84 15 100 202 164 155 160 172 178 209 42 0 0 0 0 0 17 43 68 93 94 72 53 31 19 0 0 0 0 0 58 149 97 92 86 74 66 77 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 8 89 147 129 96 91 100 138 175 181 73 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 145 227 251 246 229 255 238 179 242 253 244 238 253 250 217 78 0 0 0 0 0 0 0 0 0 0 1 189 225 213 213 207 203 217 221 197 220 230 219 205 213 214 220 222 106 0 0 0 0 0 0 0 0 0 164 215 200 209 211 214 207 207 215 224 218 211 207 213 215 214 209 203 223 68 0 0 0 0 0 0 0 2 238 200 205 206 212 211 212 212 206 204 208 206 208 208 209 214 205 205 218 186 0 0 0 0 0 0 0 93 212 202 203 206 209 212 209 212 211 218 213 216 219 222 223 206 199 210 212 202 0 0 0 0 0 0 0 171 218 208 198 199 203 212 209 202 220 177 125 154 207 181 194 209 202 213 204 219 149 0 0 0 0 0 0 26 182 215 225 202 211 209 205 211 200 218 217 160 133 124 132 184 206 221 228 209 74 0 0 0 0 0 0 0 0 29 145 225 211 137 193 224 135 226 240 234 125 133 166 159 208 242 149 11 0 0 0 0 0 0 0 0 0 0 0 103 195 110 192 236 172 201 214 244 143 124 161 152 211 0 0 0 0 0 0 0 0 0 0 1 0 7 0 117 190 122 196 241 201 208 219 241 154 86 155 189 222 0 0 3 0 0 0 0 0 0 0 1 0 4 0 125 203 117 174 239 198 167 244 236 65 133 172 198 216 0 0 2 0 0 0 0 0 0 0 0 0 2 0 119 201 114 183 238 219 204 212 123 106 184 182 206 176 0 0 1 0 0 0 0 0 0 0 0 0 3 0 120 215 168 202 234 217 226 170 152 180 208 209 204 209 0 0 2 0 0 0 0 0 0 0 0 0 3 0 128 214 200 208 216 219 225 184 178 230 211 202 204 219 0 0 2 0 0 0 0 0 0 0 0 0 3 0 138 213 198 203 201 208 210 162 207 212 205 205 203 223 0 0 1 0 0 0 0 0 0 0 0 0 0 0 146 210 198 204 205 205 208 215 210 205 208 205 202 196 13 0 2 0 0 0 0 0 0 0 0 0 0 0 164 208 196 205 205 207 207 206 205 208 208 207 203 203 25 0 3 0 0 0 0 0 0 0 0 1 0 0 179 208 198 206 205 208 207 206 208 208 207 209 203 212 41 0 3 0 0 0 0 0 0 0 0 0 0 0 205 208 202 207 207 208 211 211 208 210 209 210 205 217 65 0 3 0 0 0 0 0 0 0 0 1 0 0 215 207 205 208 209 209 210 211 211 212 211 212 207 221 96 0 1 0 0 0 0 0 0 0 0 1 0 0 223 208 209 210 211 212 211 212 214 215 214 215 209 222 131 0 0 0 0 0 0 0 0 0 0 1 0 0 228 209 209 210 211 211 212 213 215 216 214 215 211 221 152 0 0 0 0 0 0 0 0 0 0 2 0 0 197 210 208 210 210 210 210 213 214 213 212 213 211 223 174 0 0 0 0 0 0 0 0 0 0 2 0 0 201 211 210 210 210 209 210 212 213 212 212 213 210 221 185 0 0 0 0 0 0 0 0 0 0 3 0 1 214 210 207 202 204 205 207 209 210 209 207 206 207 216 170 0 0 0 0 0 0 0 0 0 0 2 0 0 237 224 221 239 232 223 222 222 222 223 232 240 220 229 225 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 101 139 155 169 181 184 182 183 168 135 99 82 17 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 60 0 0 0 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 237 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 204 171 208 30 0 0 1 3 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 113 207 164 160 149 184 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 46 174 171 205 163 131 194 224 205 144 76 9 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 74 225 177 164 138 155 178 194 200 201 209 223 187 160 134 0 0 1 0 0 0 0 0 0 1 0 0 180 166 158 168 173 205 237 238 232 200 198 202 202 202 183 179 33 0 1 0 0 4 4 0 0 0 0 159 184 182 178 109 185 234 98 59 172 251 216 198 198 203 189 189 65 0 2 1 0 0 0 0 0 49 155 222 146 182 224 159 96 0 0 10 0 15 197 247 209 193 190 201 139 0 0 0 0 1 60 123 185 175 176 182 80 0 3 0 10 156 235 255 189 9 0 6 163 192 181 189 174 0 0 72 134 176 194 192 183 174 171 168 213 167 130 215 255 216 197 188 199 247 170 108 202 208 200 208 182 0 58 151 130 135 145 156 161 180 181 170 163 196 211 174 165 165 168 168 162 170 192 187 164 165 157 150 128 0 13 17 11 13 17 15 26 41 68 86 81 68 73 88 91 94 95 98 99 103 98 91 99 101 95 90 87 0 34 33 15 9 5 3 0 0 0 2 10 9 9 15 19 25 30 32 29 25 28 30 18 16 10 0 41 50 4 64 68 52 41 36 24 20 18 8 17 27 15 14 16 19 22 24 33 30 30 33 34 34 36 37 54 20 0 19 37 56 93 109 114 114 112 108 104 103 108 107 99 96 88 96 87 98 81 97 88 86 78 82 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 19 0 0 0 0 0 0 3 0 0 255 142 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 209 230 190 72 0 5 2 0 0 0 59 190 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 167 221 246 168 0 0 0 0 29 184 216 76 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 214 218 231 157 0 43 43 51 213 195 207 28 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 229 216 223 246 255 255 255 255 218 216 197 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 65 235 215 227 218 208 201 195 206 223 234 200 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 227 228 227 217 210 209 209 227 220 230 155 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 186 219 226 224 212 207 207 207 230 230 234 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 240 222 230 230 211 208 208 208 228 233 236 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75 249 236 225 227 225 209 209 207 211 233 235 231 137 0 0 0 0 0 0 0 0 0 0 0 0 0 67 249 232 223 231 229 220 211 211 207 216 234 232 236 160 0 0 0 1 4 3 2 4 5 0 0 0 101 247 225 218 230 227 233 216 207 207 208 209 225 231 235 204 0 0 0 0 0 0 0 0 0 0 0 168 255 214 215 219 211 210 223 189 194 197 186 192 222 212 224 232 19 0 0 0 27 34 28 33 68 155 243 247 210 227 219 217 206 215 231 212 212 215 228 249 251 245 228 238 43 0 0 149 194 189 214 232 254 244 214 213 228 220 224 224 238 243 245 234 219 210 204 197 204 210 199 229 34 0 20 215 208 197 201 200 196 201 211 214 205 217 232 236 219 191 166 153 179 191 186 193 189 194 209 238 29 0 89 225 217 222 221 220 228 219 217 216 217 228 219 200 205 230 255 255 252 242 229 231 226 222 222 209 37 0 42 195 210 223 220 214 211 223 216 220 230 214 242 250 251 212 145 28 45 252 223 225 218 228 221 209 51 0 0 0 18 91 159 214 241 226 255 250 225 255 212 25 0 0 0 0 26 255 204 207 255 186 205 255 72 0 0 0 0 0 0 0 0 1 38 34 0 19 0 0 0 0 1 0 0 77 0 0 46 0 12 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 3 0 50 34 0 4 0 0 0 2 0 30 90 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 110 86 0 6 0 0 0 2 0 7 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 23 0 1 0 0 0 0 0 0 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 144 51 0 2 4 3 4 2 0 0 147 21 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 153 115 0 0 0 0 0 0 0 96 181 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 145 134 237 115 86 51 86 131 191 160 134 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 161 131 160 170 220 187 207 223 151 80 142 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 169 195 192 182 176 153 203 125 163 123 163 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 199 197 190 222 132 105 160 139 70 180 193 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 207 201 120 147 161 189 146 203 200 172 199 111 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 101 212 200 201 193 207 216 208 203 231 190 157 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 207 68 144 224 125 187 237 193 163 119 166 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 184 180 125 149 161 138 93 203 208 175 136 207 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 158 160 206 121 185 220 176 224 164 133 112 217 163 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 175 215 206 66 183 170 127 242 192 216 165 220 169 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 191 200 197 153 207 243 191 163 218 186 159 223 170 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 218 180 180 237 223 214 194 50 203 108 190 126 180 17 0 0 0 0 0 0 0 0 0 0 0 0 0 18 255 180 172 127 129 137 183 160 181 176 155 207 239 21 0 0 0 0 0 0 0 0 0 0 0 0 0 61 172 180 167 85 102 190 100 225 211 222 185 199 202 18 0 0 0 0 0 0 0 0 0 0 0 0 0 97 198 111 185 205 159 185 173 208 194 220 117 184 227 16 0 0 0 0 0 0 0 0 0 0 0 0 0 112 226 192 218 203 215 185 218 241 186 176 176 204 208 65 0 0 0 0 0 0 0 0 0 0 0 0 0 122 208 179 185 171 219 229 190 184 166 99 171 183 165 120 0 0 0 0 0 0 0 0 0 0 0 0 0 139 206 103 120 237 189 184 225 131 194 221 138 151 218 103 0 0 0 0 0 0 0 0 0 0 0 0 0 166 167 127 134 117 169 230 201 115 246 194 197 218 150 92 0 0 0 0 0 0 0 0 0 0 0 0 0 109 227 215 201 105 186 197 211 41 224 215 145 163 196 168 0 0 0 0 0 0 0 0 0 0 0 0 0 120 147 185 123 102 140 124 220 109 154 90 81 143 169 170 0 0 0 0 0 0 0 0 0 0 0 0 0 184 120 143 152 208 193 177 220 245 210 182 222 194 117 144 0 0 0 0 0 0 0 0 0 0 0 0 0 24 99 108 135 56 123 121 143 134 64 7 117 97 49 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 131 224 77 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 203 216 238 236 191 165 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 2 0 0 192 200 210 228 245 248 245 248 186 40 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 162 208 198 216 240 235 231 234 227 254 239 0 0 0 0 0 0 0 0 0 0 1 1 0 0 2 0 95 232 146 224 221 232 237 239 240 236 241 187 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 156 203 197 217 217 223 234 234 236 235 244 203 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 246 206 240 227 217 199 209 217 217 199 219 238 16 0 0 0 0 0 3 0 1 1 2 0 4 0 120 233 197 218 253 197 163 219 187 184 199 197 192 212 20 0 0 0 0 0 0 3 1 0 0 5 0 0 219 187 225 195 167 209 225 225 227 212 201 200 204 232 28 0 0 0 0 0 0 1 4 3 0 0 47 171 197 178 139 224 202 183 236 192 185 189 198 197 210 209 54 0 0 0 2 3 1 0 0 0 0 43 182 214 199 216 209 228 204 134 199 191 198 215 218 217 211 212 95 0 0 1 0 0 0 0 27 71 131 246 198 166 210 194 157 237 211 198 206 211 217 220 213 217 212 213 155 0 0 0 12 47 21 98 255 230 227 187 208 133 227 203 167 222 205 214 198 198 205 204 200 207 212 211 190 0 0 99 159 85 94 150 129 70 99 123 151 128 207 197 201 203 201 205 217 227 224 226 224 224 216 209 204 0 0 179 209 157 150 159 52 83 146 175 188 210 216 217 221 222 222 210 209 204 207 204 209 213 210 205 203 0 14 134 192 218 227 222 226 229 234 225 222 224 220 223 214 206 206 209 212 216 214 214 208 213 204 199 192 8 42 120 106 127 148 158 168 182 196 202 215 203 189 177 175 168 158 153 148 136 125 122 125 123 134 121 120 49 2 45 89 94 105 103 97 92 95 94 101 107 107 103 100 98 99 104 107 105 107 109 112 106 101 97 117 34 0 0 0 3 15 24 43 55 60 56 62 69 73 66 62 61 62 62 61 62 69 72 64 66 61 62 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 1 0 0 151 206 202 194 161 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 158 254 229 227 240 254 224 0 0 0 3 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 253 231 228 229 230 227 249 113 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 13 154 254 241 220 227 239 235 236 222 216 244 255 166 32 0 0 3 0 0 0 0 0 0 0 0 0 128 229 240 230 219 215 209 225 229 219 210 214 221 230 241 241 155 0 0 1 0 0 0 0 0 1 0 13 237 225 217 223 228 235 223 217 236 221 227 239 232 223 218 219 239 46 0 2 0 0 0 0 0 3 0 105 239 221 221 223 219 234 242 238 188 230 230 225 221 218 223 219 237 189 0 0 0 0 0 0 0 0 0 174 240 222 222 219 222 217 223 214 140 218 220 216 219 220 218 225 227 223 1 0 1 0 0 0 0 0 0 212 229 224 220 218 225 218 221 228 235 227 222 220 220 220 219 228 220 240 107 0 2 0 0 0 0 0 61 242 225 229 221 220 223 220 221 225 214 221 221 219 219 220 219 225 226 234 213 0 0 0 0 0 0 0 137 245 227 232 223 218 221 220 218 227 224 222 221 214 223 220 220 227 233 227 223 0 0 0 0 0 0 0 198 242 233 233 236 214 227 217 225 222 196 220 223 218 224 215 224 238 237 223 242 76 0 0 0 0 0 0 248 233 237 227 254 211 223 219 223 216 170 212 224 222 223 218 238 239 238 222 240 160 0 0 0 0 0 45 236 227 241 235 255 223 221 221 221 227 226 233 224 218 224 222 231 242 241 229 231 234 0 0 0 0 0 62 234 226 242 238 188 237 219 220 226 226 229 227 223 220 217 243 166 206 244 225 221 231 33 0 0 0 0 136 253 235 241 231 137 247 219 222 223 222 222 223 222 220 220 243 177 181 242 236 242 246 136 0 0 0 0 12 130 203 255 214 160 253 214 222 223 224 222 222 222 220 224 226 217 146 255 207 147 35 0 0 0 0 0 0 0 0 72 48 221 237 216 222 224 224 220 220 221 220 224 218 254 38 40 0 0 0 0 0 0 0 0 0 0 0 0 1 255 220 222 222 222 222 221 222 222 221 228 217 255 57 0 0 0 1 0 0 0 0 0 0 0 3 0 66 239 219 224 221 222 220 221 223 222 222 228 218 238 96 0 3 0 0 0 0 0 0 0 0 0 3 0 93 241 218 224 221 222 221 221 222 222 221 227 220 237 105 0 3 0 0 0 0 0 0 0 0 0 3 0 121 242 216 224 221 222 221 222 223 222 222 227 220 235 109 0 3 0 0 0 0 0 0 0 0 0 4 0 139 241 214 226 222 223 223 222 222 222 222 224 219 235 112 0 3 0 0 0 0 0 0 0 0 0 3 0 149 239 215 227 223 224 224 223 222 222 223 223 219 239 122 0 3 0 0 0 0 0 0 0 0 0 1 0 160 236 218 227 224 225 225 224 224 224 225 222 218 237 127 0 3 0 0 0 0 0 0 0 0 0 0 0 153 233 214 220 215 215 216 216 214 213 219 219 217 243 143 0 3 0 0 0 0 0 0 0 0 0 4 0 186 236 228 255 255 254 253 253 254 255 255 234 221 223 156 0 5 0 0 0 0 0 0 0 0 0 1 0 0 10 38 84 103 126 139 137 122 94 81 55 14 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 225 208 201 203 205 205 208 208 219 215 210 211 211 213 199 192 189 185 183 150 164 85 0 0 0 0 12 112 245 242 245 245 245 248 247 249 230 244 251 248 252 250 248 251 249 253 252 249 255 200 0 0 0 105 239 254 238 235 232 239 242 238 236 222 168 180 249 241 223 224 245 239 244 211 231 241 236 245 220 57 0 124 243 237 239 234 255 215 232 249 239 188 253 252 246 249 235 233 249 241 252 212 232 250 244 240 243 219 24 60 254 246 235 243 241 203 219 255 252 254 222 239 244 243 253 255 252 255 248 253 226 184 237 243 255 162 0 41 145 250 241 244 250 222 155 171 239 250 243 247 248 248 254 252 209 162 252 249 253 195 197 246 237 96 0 41 115 248 240 250 249 226 200 187 225 250 247 246 244 254 212 152 191 237 250 242 255 198 235 251 216 62 0 35 93 255 217 188 254 248 254 255 251 246 247 247 250 251 219 227 245 249 250 244 252 218 248 247 213 49 0 34 76 216 231 214 252 241 244 241 248 249 252 250 254 251 255 255 249 247 242 179 245 253 244 249 201 15 0 26 71 190 255 246 243 243 250 253 240 246 255 202 149 181 249 241 240 247 247 243 249 244 244 252 220 0 0 0 86 134 246 242 255 251 249 202 191 247 255 202 83 150 255 246 252 248 246 248 246 253 230 254 178 0 0 0 92 84 221 198 235 251 245 215 233 248 255 182 33 123 255 251 243 249 254 252 249 254 210 250 126 0 0 0 56 121 241 202 223 255 245 255 251 252 253 253 252 245 255 247 225 233 229 249 250 247 233 241 54 0 2 0 0 103 231 230 214 253 245 247 252 230 240 235 242 251 246 247 201 201 233 249 243 244 255 211 0 0 1 0 0 132 213 240 255 255 255 255 255 255 255 255 255 255 255 255 252 250 255 255 253 254 233 78 0 0 0 0 20 143 90 91 99 108 118 109 117 149 75 26 34 32 33 34 50 43 29 40 54 56 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 0 25 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 89 106 125 82 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 42 104 123 104 138 89 21 93 106 21 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 82 155 133 125 17 0 0 2 114 57 85 14 0 0 0 0 0 0 0 0 0 0 0 0 0 0 31 102 127 93 29 0 0 0 12 116 80 36 78 57 0 0 0 0 0 0 0 0 0 0 2 0 2 2 108 80 0 0 0 0 0 0 82 65 31 61 59 82 23 0 0 0 0 0 0 0 0 0 2 0 0 2 0 0 0 4 8 4 0 27 82 36 59 59 59 97 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 2 0 0 4 0 61 59 57 65 68 95 97 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 44 65 87 99 104 91 91 87 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 0 0 78 108 95 76 78 116 187 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 93 78 136 221 182 187 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 121 189 191 182 161 187 57 0 0 0 0 0 0 0 2 0 0 0 2 0 0 0 0 2 0 12 138 189 182 201 187 167 189 214 19 0 0 0 0 2 0 0 0 0 0 0 2 2 0 0 0 0 19 140 187 182 161 180 167 184 195 221 8 0 0 0 0 0 0 0 0 2 4 2 2 0 0 0 0 25 167 182 172 172 174 159 142 174 153 155 0 0 0 0 0 0 19 10 0 0 0 0 2 2 0 0 17 136 161 144 144 157 170 184 174 193 170 148 0 0 0 0 0 2 70 74 19 65 55 2 0 0 0 0 116 170 174 150 159 165 191 182 140 165 176 140 0 2 0 0 0 17 31 31 97 59 65 119 95 53 0 95 172 170 191 178 212 174 123 114 138 133 167 114 0 0 0 0 0 44 161 14 27 252 89 44 123 97 53 193 159 161 163 150 174 204 174 174 201 110 157 104 0 2 0 0 31 34 193 91 0 87 255 25 61 55 163 165 170 153 172 159 146 140 163 204 172 161 170 63 0 99 74 38 48 68 12 44 59 31 51 48 131 206 170 136 157 155 231 133 163 161 176 193 146 159 172 31 0 70 142 144 144 157 189 155 172 172 176 178 178 159 99 144 123 110 146 138 150 159 172 157 176 170 184 17 0 6 140 142 176 163 191 176 199 189 155 165 174 140 174 170 176 184 187 144 129 121 121 144 167 159 167 8 0 0 85 119 142 125 161 182 182 176 155 138 163 163 148 163 210 191 187 176 184 184 172 144 150 159 157 2 0 0 55 146 114 102 93 121 189 167 187 180 174 161 153 159 170 170 163 163 138 163 180 178 172 180 142 0 0 0 0 112 155 174 206 163 214 159 180 201 191 189 206 204 218 244 199 229 227 227 221 210 199 218 174 0 0 2 0 0 0 36 87 127 148 146 133 119 97 87 65 55 42 25 17 21 27 6 40 133 106 104 80 0 0
0 0 0 0 0 0 0 2 0 0 110 179 43 5 12 26 120 167 60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 119 186 180 179 111 106 144 178 178 190 51 0 5 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 163 182 173 174 204 199 213 171 177 191 153 0 0 0 0 0 0 0 0 0 0 0 0 0 1 2 0 74 191 194 180 159 202 213 186 168 185 195 177 27 0 1 0 0 0 0 0 0 0 0 0 0 2 0 1 154 191 208 183 158 205 249 185 170 188 209 187 137 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 167 196 217 181 157 205 248 175 172 194 217 185 181 50 0 0 0 0 0 0 0 0 0 0 0 0 0 162 146 207 222 178 156 205 238 178 174 192 219 196 156 156 0 0 0 0 0 0 0 0 0 0 0 0 142 190 161 216 229 172 160 207 241 182 174 190 223 205 151 214 161 0 0 0 0 0 0 0 0 0 0 1 179 236 224 218 234 171 168 210 246 197 173 192 224 213 220 216 107 0 0 0 0 0 0 0 0 0 0 0 0 45 200 223 232 170 173 218 242 205 179 195 218 227 217 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 34 233 229 168 172 219 231 204 174 194 217 229 12 0 1 0 0 0 0 0 0 0 0 0 0 0 2 0 93 239 224 173 176 213 228 210 176 196 216 241 92 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 156 234 219 163 185 214 228 217 183 186 215 238 157 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 180 230 217 161 187 215 227 220 186 183 214 237 175 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 178 235 215 161 187 219 229 224 189 181 213 250 124 0 2 0 0 0 0 0 0 0 0 0 0 0 5 0 140 237 213 164 189 219 230 224 190 168 223 199 0 0 2 0 0 0 0 0 0 0 0 0 0 0 4 0 12 219 215 164 192 218 233 222 195 161 236 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 222 162 194 217 236 220 205 161 236 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 203 218 163 196 220 235 220 213 154 238 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 218 216 165 196 221 237 220 217 154 235 171 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 24 231 211 167 195 221 242 221 219 161 232 192 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 0 52 236 202 164 200 223 245 221 220 159 227 204 0 0 1 0 0 0 0 0 0 0 0 0 0 0 8 0 82 235 185 160 204 222 246 220 220 162 213 220 0 0 3 0 0 0 0 0 0 0 0 0 0 0 2 0 136 214 157 164 207 228 238 221 224 171 205 230 0 0 4 0 0 0 0 0 0 0 0 0 0 0 6 0 153 190 167 173 210 224 235 222 220 188 202 239 12 0 5 0 0 0 0 0 0 0 0 0 0 0 5 0 172 207 164 175 206 233 255 233 229 194 200 244 27 0 5 0 0 0 0 0 0 0 0 0 0 0 6 0 156 235 176 192 235 235 115 197 186 186 211 229 0 0 3 0 0 0 0 0 0 0 0 0 0 0 4 0 60 54 10 82 0 19 0 0 0 53 179 182 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 179 195 185 189 194 194 204 217 213 213 212 209 208 206 208 206 200 201 199 201 190 179 179 187 139 0 0 157 255 233 235 245 245 244 241 238 237 237 236 239 238 236 237 238 237 239 240 240 246 247 233 244 225 12 42 203 233 231 233 233 232 232 231 231 231 230 229 232 231 231 233 235 234 232 230 228 229 224 228 226 243 164 50 195 243 234 239 236 236 235 235 236 236 236 236 236 236 236 236 236 236 236 236 237 235 233 237 233 246 148 50 198 244 235 239 237 236 236 236 236 236 236 236 236 236 236 236 236 235 235 235 235 236 235 238 233 246 146 51 216 245 236 240 237 238 237 236 236 236 236 236 236 236 236 236 236 235 236 237 237 238 237 240 234 246 146 49 214 244 235 240 239 238 238 237 237 237 237 238 238 237 237 238 237 235 236 239 240 240 237 240 234 245 148 51 214 246 236 238 238 237 238 238 239 239 239 239 239 238 239 239 239 238 239 238 239 238 236 239 233 248 140 52 214 247 237 237 237 237 238 238 239 239 239 238 239 238 239 240 240 240 240 238 238 237 236 238 233 250 125 48 218 246 236 237 237 237 238 238 239 238 238 238 238 238 239 240 240 239 239 238 238 238 237 239 234 255 110 45 222 246 236 237 237 237 237 237 238 239 238 238 238 238 239 240 239 239 239 238 238 239 237 239 235 255 106 44 226 246 236 237 237 238 237 240 241 236 240 240 238 239 239 238 239 239 239 238 238 239 238 240 235 255 116 38 227 245 234 241 238 237 238 234 237 241 237 238 235 237 238 239 238 239 239 238 238 237 238 240 236 246 155 35 220 245 237 238 237 238 241 238 234 241 242 247 252 250 249 246 240 239 240 239 240 239 240 242 237 247 153 54 216 235 235 238 238 239 241 242 238 244 248 19 35 65 17 105 249 235 239 240 241 242 242 241 232 242 151 64 193 211 224 228 228 227 226 227 226 230 246 0 5 6 0 68 255 222 223 225 226 226 226 226 224 236 154 67 187 208 221 221 221 220 221 220 218 223 212 28 23 6 22 131 238 216 220 222 224 224 227 228 221 238 161 71 151 228 219 221 219 219 223 226 234 237 217 95 49 55 32 141 226 215 217 217 217 218 222 221 218 242 96 36 122 202 229 228 235 231 217 199 192 187 218 252 255 255 252 247 240 237 238 239 239 240 236 242 245 190 0 0 28 9 25 44 51 48 31 19 21 15 32 67 84 86 94 98 95 96 99 102 102 110 130 127 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 79 23 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 63 127 242 134 0 32 53 85 227 248 255 224 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 15 223 227 227 228 223 255 255 237 238 226 246 166 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 208 213 214 219 213 201 195 208 228 232 248 140 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 230 220 217 228 213 210 210 222 233 228 249 90 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 0 218 222 214 228 211 212 214 220 236 226 252 64 0 2 0 0 0 0 0 0 0 0 0 0 0 1 0 16 255 214 221 228 208 214 219 221 232 228 253 80 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 160 226 208 219 226 207 217 221 221 231 229 247 98 0 1 0 0 0 0 0 0 1 0 0 0 6 0 34 255 210 224 221 226 213 222 220 219 238 228 247 158 0 0 0 0 0 0 0 0 0 0 0 4 0 0 226 211 207 217 221 227 211 220 220 222 239 228 236 241 0 0 0 0 0 1 3 4 5 1 0 0 0 204 231 198 211 210 222 225 215 219 218 222 229 236 227 240 67 0 0 2 5 0 0 0 0 0 0 56 210 233 195 211 214 220 218 230 227 224 222 224 220 232 230 246 193 0 0 0 0 0 0 4 5 78 179 251 221 197 212 212 216 221 225 234 231 229 226 226 230 226 228 235 252 0 0 0 116 194 236 242 253 254 214 203 201 209 212 215 222 227 230 232 232 232 231 232 233 226 227 231 255 0 0 180 225 200 203 200 203 195 199 207 213 217 217 218 225 229 231 235 238 238 241 243 243 240 240 235 255 9 0 199 220 216 216 210 210 211 209 214 215 219 221 226 237 243 241 239 232 229 221 218 214 209 208 195 241 73 62 203 193 209 226 231 235 240 243 239 242 241 241 243 236 219 207 193 196 196 199 197 199 199 204 196 237 79 107 225 205 195 186 185 193 200 207 210 214 209 198 189 180 191 213 235 238 211 203 209 203 201 202 193 235 55 0 89 193 245 255 246 230 215 206 196 195 198 206 230 245 249 217 157 92 236 215 217 221 219 219 206 255 76 0 0 0 0 58 93 144 187 205 208 214 204 194 145 80 20 0 0 0 167 197 170 183 181 179 176 187 37 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 67 0 0 0 0 0 0 0 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 6 0 3 0 0 0 3 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 16 3 0 3 0 0 0 6 23 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 73 0 0 3 0 0 73 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 124 73 33 0 0 0 50 70 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 43 134 43 87 43 0 46 87 80 171 16 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 164 114 127 161 67 154 117 147 194 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 137 140 150 124 167 137 177 171 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 154 161 114 93 100 97 134 187 174 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 137 83 93 97 80 127 181 137 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 137 157 100 83 117 120 147 174 120 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 144 120 124 107 127 140 137 147 150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 144 93 134 100 90 127 117 130 167 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 107 93 167 120 114 161 117 97 137 53 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 117 87 127 157 120 134 191 117 104 120 134 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 46 114 124 130 154 110 114 174 150 127 110 181 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 73 110 154 107 171 93 130 177 130 107 130 191 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 87 140 134 100 208 107 97 241 150 140 147 154 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 36 134 144 97 120 191 93 114 231 147 117 137 154 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 53 120 164 83 167 174 77 120 234 221 83 147 164 184 10 0 0 0 0 0 0 0 0 0 0 0 0 0 63 150 177 70 171 181 87 124 221 238 80 157 130 181 40 0 0 0 0 0 0 0 0 0 0 0 0 0 63 127 194 77 167 204 70 110 204 228 107 157 134 167 107 0 0 0 0 0 0 0 0 0 0 0 0 0 97 124 208 93 191 187 50 110 147 241 80 150 150 124 144 0 0 0 0 0 0 0 0 0 0 0 0 0 93 114 231 50 255 191 46 137 184 241 130 137 164 120 167 0 0 0 0 0 0 0 0 0 0 0 0 16 100 107 187 87 251 150 67 117 137 241 104 124 114 130 140 13 0 0 0 0 0 0 0 0 0 0 0 60 77 174 174 100 140 130 93 120 117 184 114 90 194 167 140 87 0 0 0 0 0 0 0 0 0 0 0 50 67 161 187 110 177 120 117 124 144 77 167 90 197 194 117 67 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 117 127 100 80 80 43 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 0 40 95 102 0 0 3 0 0 0 0 84 82 0 0 0 0 0 0 0 0 0 0 0 3 0 0 13 243 225 201 255 132 0 0 0 0 0 183 241 198 11 0 0 0 0 0 0 0 0 0 0 0 0 76 206 191 177 204 191 255 217 34 0 0 57 231 222 214 101 0 0 0 0 0 0 0 0 0 0 7 186 208 158 214 241 207 205 216 239 255 235 180 240 216 219 230 206 0 0 2 5 2 5 7 0 0 112 239 177 197 220 172 169 253 220 212 206 226 246 255 242 233 215 214 199 0 0 0 0 0 0 0 24 180 201 168 192 235 148 187 185 196 251 229 213 207 221 212 201 216 199 203 198 0 0 0 12 55 109 148 204 194 155 202 231 237 187 173 185 184 243 233 237 227 210 229 226 211 187 213 220 0 0 177 211 220 220 218 219 223 199 202 212 240 243 158 184 248 235 235 240 233 223 213 196 247 206 196 226 2 125 205 187 188 192 191 206 227 201 196 195 213 234 236 241 233 224 213 222 216 175 174 183 200 206 204 218 22 179 198 194 203 198 203 240 209 227 253 255 226 216 221 211 213 217 218 213 213 201 199 187 198 206 203 227 92 28 210 203 198 192 207 251 250 250 249 234 200 178 195 190 187 185 177 183 171 177 186 186 193 189 189 208 99 0 0 124 206 229 221 191 190 180 177 173 181 217 229 242 237 239 246 249 254 249 244 237 230 216 197 252 180 0 0 0 0 47 99 168 186 199 195 202 169 144 93 48 30 16 12 20 45 96 161 184 196 204 210 158 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 176 188 139 121 133 121 109 121 103 109 115 115 121 188 72 0 0 0 0 0 0 0 0 0 0 0 0 24 188 127 121 109 103 121 157 151 157 139 127 121 127 176 236 0 0 0 0 0 0 0 0 0 0 0 0 103 212 176 151 151 133 109 103 91 97 115 151 194 200 218 255 12 0 0 0 0 0 0 0 0 0 0 0 97 163 139 145 139 151 145 139 133 145 151 145 151 170 182 194 6 0 0 0 0 0 0 0 0 0 0 0 72 127 115 109 109 103 121 133 139 139 145 139 121 127 139 194 18 0 0 0 0 0 0 0 0 0 0 0 97 115 115 115 115 103 109 115 127 127 121 109 127 127 109 182 54 0 0 0 0 0 0 0 0 0 0 0 127 127 121 115 109 103 109 103 109 115 121 109 115 121 115 157 85 0 0 0 0 0 0 0 0 0 0 0 103 109 115 109 103 109 109 109 109 115 121 109 109 115 115 145 91 0 0 0 0 0 0 0 0 0 0 0 115 115 109 103 103 109 109 109 103 109 115 103 109 109 121 139 91 0 0 0 0 0 0 0 0 0 0 0 103 97 97 103 103 103 103 103 103 109 97 103 109 115 115 133 115 0 0 0 0 0 0 0 0 0 0 0 103 91 97 97 97 97 103 97 97 115 103 103 109 115 121 127 115 0 0 0 0 0 0 0 0 0 0 0 97 85 91 97 97 97 97 97 85 109 115 103 109 115 133 121 121 0 0 0 0 0 0 0 0 0 0 0 109 91 97 91 85 85 85 91 85 97 97 97 109 109 103 109 127 0 0 0 0 0 0 0 0 0 0 0 91 109 109 103 91 85 85 78 78 103 85 103 103 109 97 103 127 0 0 0 0 0 0 0 0 0 0 0 103 109 97 97 85 85 85 85 103 85 91 109 109 109 97 103 127 0 0 0 0 0 0 0 0 0 0 0 85 109 97 91 85 85 78 91 97 66 85 91 97 109 109 109 133 0 0 0 0 0 0 0 0 0 0 0 85 121 103 91 85 85 72 91 103 103 109 91 97 109 109 109 133 0 0 0 0 0 0 0 0 0 0 0 78 115 103 91 85 78 72 85 85 103 91 97 109 103 109 109 133 0 0 0 0 0 0 0 0 0 0 0 85 121 103 91 91 91 78 97 85 109 91 109 109 103 109 109 127 0 0 0 0 0 0 0 0 0 0 0 85 127 103 103 109 103 85 127 66 103 121 115 115 109 109 109 133 0 0 0 0 0 0 0 0 0 0 0 72 133 109 109 103 97 97 133 42 115 121 127 115 109 121 127 133 0 0 0 0 0 0 0 0 0 0 0 66 139 109 109 109 97 109 145 18 127 133 127 121 115 121 139 139 0 0 0 0 0 0 0 0 0 0 0 66 145 109 103 103 97 121 145 0 121 133 109 115 121 133 145 121 0 0 0 0 0 0 0 0 0 0 0 72 145 109 103 103 97 115 139 0 133 139 115 121 127 121 176 97 0 0 0 0 0 0 0 0 0 0 0 72 170 103 97 115 97 139 91 0 115 145 109 121 133 97 212 85 0 0 0 0 0 0 0 0 0 0 0 0 176 115 115 115 97 200 66 0 60 200 151 139 145 157 218 0 0 0 0 0 0 0 0 0 0 0 0 0 127 157 121 103 133 145 0 0 0 151 151 151 145 176 54 0 0 0 0 0 0 0 0 0 0 0 0 0 85 151 109 103 157 91 0 0 0 109 194 139 145 194 30 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 41 83 77 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 32 197 181 161 137 10 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 108 134 64 183 243 215 161 80 107 86 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 45 111 76 184 135 222 181 96 222 51 100 40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 86 79 89 14 79 82 32 67 90 67 80 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 94 137 57 65 87 68 45 75 68 49 87 102 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 81 149 96 68 74 125 135 93 63 55 92 87 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 82 178 120 89 96 71 81 128 104 85 154 106 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 71 167 180 68 99 92 86 85 101 83 196 129 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 40 118 149 156 99 95 102 100 108 110 53 192 113 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 136 119 21 89 88 100 140 90 80 7 255 130 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 123 159 62 101 107 71 156 110 98 34 219 124 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 38 122 197 74 95 99 85 106 90 102 61 203 120 47 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 129 187 55 101 112 86 120 118 110 32 160 129 56 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 135 165 55 108 122 93 112 119 104 56 131 132 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 138 156 51 113 131 88 104 147 99 77 135 138 77 0 0 0 0 0 0 0 0 0 0 0 0 0 0 58 149 146 51 107 131 98 110 147 102 75 143 150 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 76 187 147 64 101 120 99 104 141 110 73 147 166 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 35 87 82 92 116 107 110 147 113 95 111 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 74 90 90 111 104 108 152 120 89 132 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 89 95 119 112 120 156 124 89 137 33 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 90 98 129 111 123 148 134 88 134 51 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 96 88 92 117 118 113 118 154 89 132 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 90 94 110 119 112 106 167 88 132 101 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 102 93 94 107 118 107 105 179 88 123 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 90 86 98 112 108 101 177 95 125 154 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 123 118 114 123 131 124 129 222 138 160 122 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17 50 67 76 76 67 81 98 22 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 142 171 175 142 226 150 175 148 139 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 172 175 183 193 188 140 197 150 109 39 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 126 137 139 114 153 115 129 117 79 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 112 178 101 123 137 110 90 110 109 96 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 123 137 117 107 136 159 133 123 91 85 93 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 155 134 139 147 167 139 148 129 96 95 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 128 147 142 153 164 180 152 137 129 107 74 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 134 123 152 210 207 172 163 131 109 55 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 131 121 117 190 180 190 148 121 110 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 140 117 102 129 33 247 172 142 134 49 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 144 137 101 136 72 0 255 174 142 133 36 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 142 104 139 22 0 239 180 145 134 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 136 140 99 128 0 0 185 186 142 134 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 110 128 102 128 0 0 140 188 139 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 101 150 142 131 0 0 110 191 136 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 177 148 121 0 0 82 190 140 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 159 155 118 0 0 49 188 156 114 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 74 172 158 120 0 0 36 197 172 131 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 72 169 153 137 0 0 42 196 155 118 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 167 148 145 0 0 63 196 152 112 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 28 171 156 148 0 0 76 193 155 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7 163 155 159 0 0 80 178 155 71 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 161 147 133 0 0 107 178 150 45 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 164 174 180 0 0 174 169 156 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 174 147 0 0 177 145 129 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 144 131 152 0 0 188 180 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 142 167 0 0 186 144 136 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 159 163 0 0 188 134 82 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 4 6 0 0 0 0 1 2 3 0 0 0 0 0 0 0 0 5 2 2 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 6 5 4 4 5 5 5 4 8 9 0 0 0 0 0 4 0 80 121 57 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 93 60 0 0 0 1 0 0 132 170 131 45 56 125 216 182 150 142 104 47 22 27 30 32 39 41 53 104 192 0 0 0 0 0 29 93 152 163 194 158 163 148 141 142 154 154 160 157 158 164 172 174 176 180 184 210 195 4 0 0 0 0 9 196 147 94 214 196 182 160 140 150 124 153 169 164 163 157 163 171 179 180 185 190 200 121 0 0 0 0 131 204 0 3 210 201 206 211 209 207 203 127 113 115 121 200 199 209 205 199 192 187 159 96 0 0 0 0 175 13 0 0 233 211 207 206 210 195 215 129 89 77 135 215 195 203 202 197 200 190 193 96 0 0 0 0 159 0 0 81 228 206 205 195 196 198 194 220 242 248 230 198 201 194 189 196 209 195 238 14 0 0 0 20 144 0 0 143 235 208 215 218 218 221 227 229 226 227 230 227 224 218 219 214 210 207 214 0 0 0 0 17 186 0 0 160 221 203 198 183 179 174 172 167 164 164 166 163 172 180 187 192 196 194 224 17 0 0 0 10 171 0 0 172 210 204 200 207 211 212 211 206 199 198 201 206 207 202 196 190 191 191 228 23 0 0 0 5 146 0 0 195 216 207 204 208 208 212 215 212 202 201 212 216 211 208 207 202 200 196 235 14 0 0 0 7 126 0 0 210 217 206 214 209 210 210 210 209 210 212 214 209 209 210 210 203 197 200 234 18 0 0 0 4 92 0 0 168 219 205 208 206 204 200 196 200 211 212 202 190 190 190 191 200 199 198 231 23 0 0 0 7 73 0 0 163 228 208 216 215 214 215 215 218 219 218 215 215 214 212 210 212 212 204 241 25 0 0 0 0 65 0 0 174 238 218 227 228 228 230 230 229 228 228 229 230 230 228 225 224 216 209 242 10 0 0 0 0 61 8 0 165 236 213 214 214 214 215 215 216 216 216 216 210 211 211 209 205 204 206 237 2 0 0 0 0 55 33 0 164 240 215 216 217 218 219 219 220 220 220 220 218 219 217 214 210 209 208 236 6 0 0 0 0 19 77 0 159 242 217 220 219 220 220 220 219 219 219 220 218 217 212 208 210 211 209 243 18 0 0 0 0 0 123 0 149 243 217 221 221 221 221 222 220 219 219 221 216 214 211 209 207 208 206 246 39 0 0 0 4 0 90 63 81 248 218 219 218 222 227 227 224 223 221 219 217 215 212 212 207 206 208 218 54 0 0 0 0 0 0 154 203 245 229 225 232 238 238 233 230 230 226 220 216 215 213 214 210 201 198 217 58 0 0 0 0 3 0 162 243 214 236 250 238 217 214 228 235 227 220 213 210 208 207 205 203 198 200 212 16 0 0 0 0 3 0 116 226 204 213 227 221 199 202 211 214 223 229 221 223 222 218 215 206 191 191 121 0 0 0 0 0 9 0 99 239 213 215 211 210 203 206 204 220 120 22 62 59 61 61 63 38 23 0 0 0 0 0 0 0 4 0 38 202 225 231 233 255 252 223 220 255 109 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 2 0 0 0 27 69 80 94 99 93 80 38 0 0 2 3 3 3 3 2 3 1 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 0 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 2 0 21 164 193 104 0 3 0 0 13 94 91 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 74 145 166 174 181 182 177 186 177 156 164 32 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 148 161 165 163 157 160 174 152 137 142 15 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 161 138 164 164 162 166 164 166 147 151 173 8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 151 143 160 167 168 164 164 167 144 155 171 0 0 0 0 0 0 0 0 0 0 1 0 1 2 0 8 147 133 153 165 174 170 165 174 167 144 163 168 0 0 0 0 0 0 0 0 0 0 1 3 0 0 0 100 153 139 152 168 174 172 173 175 162 154 155 195 29 0 0 0 0 1 1 0 0 0 0 1 5 0 66 156 138 149 148 166 179 170 171 178 160 157 146 185 99 0 0 0 0 0 1 1 0 0 3 2 0 51 148 128 129 119 142 170 177 169 168 175 154 157 146 161 141 0 1 0 0 1 0 1 1 1 0 0 58 131 119 133 84 93 149 170 169 167 164 177 145 156 151 150 166 12 2 4 3 0 0 0 0 0 2 79 112 78 104 90 77 135 148 164 176 170 173 158 109 149 150 148 164 25 0 0 0 0 3 8 30 58 83 49 26 83 66 66 136 161 148 150 150 155 144 122 147 164 155 152 167 21 0 41 89 75 52 45 60 66 46 64 88 76 104 158 158 161 169 158 158 144 138 143 133 133 136 118 140 6 14 133 135 121 105 94 108 122 144 152 135 161 181 168 162 146 118 116 128 136 147 146 157 178 199 192 229 30 111 197 172 165 153 151 153 143 143 147 153 144 130 142 145 160 183 253 255 211 209 208 210 211 205 201 202 28 0 49 139 186 210 217 219 214 204 194 192 189 189 203 212 238 160 81 0 9 240 241 230 227 219 215 214 73 0 0 0 0 25 43 77 114 140 179 190 189 181 118 29 0 0 0 0 0 110 94 71 62 44 37 35 1 2 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 0 0 0 11 21 0 0 0 12 23 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 99 207 231 245 250 244 246 239 228 217 153 2 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 127 223 205 200 183 200 211 206 188 197 204 218 222 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 236 210 205 200 199 191 187 191 197 195 206 199 217 58 0 3 0 0 0 0 0 0 0 0 0 0 0 12 231 215 214 196 194 190 191 193 194 192 196 205 216 86 0 1 0 0 0 0 0 0 0 0 0 0 0 51 235 207 204 196 191 187 185 189 189 193 211 206 216 143 0 0 0 0 0 0 0 0 0 0 0 0 0 82 223 200 206 197 192 190 192 197 192 196 199 214 217 181 0 0 0 0 0 0 0 0 0 0 0 0 0 110 223 214 195 197 207 196 201 200 202 210 189 212 220 209 0 0 0 0 0 0 0 0 0 0 0 0 0 151 223 246 209 227 216 199 199 195 213 207 193 251 216 220 0 0 0 0 0 0 0 0 0 0 0 0 0 171 230 197 34 238 204 206 196 202 231 231 188 158 238 220 16 0 0 0 0 0 0 0 0 0 0 0 0 192 234 145 16 227 222 209 197 204 221 232 155 0 249 208 47 0 0 0 0 0 0 0 0 0 0 0 0 208 238 71 144 241 227 212 201 204 231 232 231 0 238 219 73 0 0 0 0 0 0 0 0 0 0 0 0 215 234 117 211 226 220 204 202 204 217 214 239 44 185 225 106 0 0 0 0 0 0 0 0 0 0 0 0 220 235 108 197 239 221 199 204 199 218 232 236 128 180 227 128 0 0 0 0 0 0 0 0 0 0 0 0 216 239 99 191 229 205 205 211 209 210 215 237 111 174 229 139 0 0 0 0 0 0 0 0 0 0 0 0 214 236 130 205 208 198 197 200 200 198 192 229 138 153 233 141 0 0 0 0 0 0 0 0 0 0 0 0 212 232 189 232 234 234 225 235 235 224 224 240 201 131 235 131 0 0 0 0 0 0 0 0 0 0 0 0 200 235 159 116 137 137 137 137 136 136 134 153 121 138 234 124 0 0 0 0 0 0 0 0 0 0 0 0 190 238 60 0 0 0 0 0 0 0 0 0 0 132 236 115 0 0 0 0 0 0 0 0 0 0 0 0 160 237 82 0 5 0 0 0 0 0 1 2 0 136 236 97 0 0 0 0 0 0 0 0 0 0 0 0 150 237 78 0 4 0 0 0 0 0 0 2 0 129 237 86 0 0 0 0 0 0 0 0 0 0 0 0 147 238 85 0 4 0 0 0 0 0 0 1 0 125 238 88 0 0 0 0 0 0 0 0 0 0 0 0 123 239 80 0 3 0 0 0 0 0 0 2 0 114 239 87 0 0 0 0 0 0 0 0 0 0 0 0 122 238 140 0 0 0 0 0 0 0 0 0 0 133 238 73 0 0 0 0 0 0 0 0 0 0 0 4 242 222 234 7 0 1 0 0 0 0 1 0 33 237 216 204 0 0 0 0 0 0 0 0 0 0 0 106 224 210 249 125 0 0 0 0 0 0 3 0 131 248 201 232 78 0 0 0 0 0 0 0 0 0 0 206 236 227 252 255 0 0 2 0 0 0 0 0 251 252 218 232 212 0 0 0 0 0 0 0 0 0 0 76 86 81 131 71 0 0 1 0 0 0 0 0 79 131 87 142 96 0 0 0 0 0
0 0 0 0 0 0 0 0 2 0 11 196 189 201 193 164 0 0 0 1 2 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 109 225 115 84 139 255 100 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 11 61 82 172 198 116 0 184 221 145 120 123 78 14 0 0 0 0 0 0 0 0 0 0 1 0 1 85 122 96 114 202 157 185 183 218 193 64 76 95 137 133 94 0 0 0 0 0 0 0 0 0 3 0 75 96 67 58 84 128 23 95 46 85 135 57 77 76 65 88 190 71 0 1 0 0 0 0 0 0 0 0 83 101 54 71 56 38 75 84 57 59 57 76 76 75 82 77 162 164 0 0 0 0 0 0 0 0 0 3 78 97 58 65 67 61 75 66 63 82 83 76 67 71 132 77 116 196 14 0 0 0 0 0 0 0 0 30 79 73 58 63 65 63 72 66 63 71 73 66 54 145 154 54 82 176 119 0 0 0 0 0 0 0 0 53 75 66 52 57 58 63 64 60 63 63 65 53 129 177 120 52 84 134 193 0 0 0 0 0 0 0 0 65 75 78 47 47 51 59 56 52 57 56 58 92 163 181 83 50 88 103 207 7 0 0 0 0 0 0 10 84 69 107 56 65 65 63 58 58 63 72 83 117 162 172 138 64 90 96 188 60 0 0 0 0 0 0 1 41 41 82 61 61 61 58 54 51 64 66 96 106 146 166 190 51 65 58 125 96 0 0 0 0 0 0 112 138 109 95 52 69 63 60 65 56 75 59 109 102 144 158 170 102 145 127 181 157 0 0 0 0 0 0 19 96 125 203 69 72 64 61 65 67 67 59 103 120 142 157 94 19 135 121 95 5 0 0 0 0 0 0 0 0 0 0 65 73 60 64 57 70 59 83 60 159 127 169 84 0 0 0 0 0 0 0 0 0 0 0 3 2 0 0 64 83 61 71 58 71 56 95 44 144 147 151 79 0 5 3 4 1 0 0 0 0 0 0 0 0 1 0 58 83 61 73 60 71 54 85 83 86 172 151 78 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 54 82 64 75 63 75 66 71 112 58 160 172 76 0 2 0 0 0 0 0 0 0 0 0 0 0 2 0 47 84 70 76 66 78 75 61 119 64 126 184 91 0 2 0 0 0 0 0 0 0 0 0 0 0 3 0 50 81 77 75 60 77 77 64 104 100 82 182 104 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 45 81 84 77 65 77 73 72 72 144 76 169 125 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 50 84 86 71 70 76 72 81 66 117 112 147 146 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 48 85 81 64 76 82 81 77 78 88 135 160 152 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 45 97 86 65 81 81 79 77 78 84 121 172 135 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 54 106 84 69 84 83 83 79 79 76 109 175 140 0 0 1 0 0 0 0 0 0 0 0 0 0 2 0 59 106 75 75 90 89 88 84 83 75 102 176 145 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 76 109 83 94 89 89 95 84 82 79 108 177 166 0 0 2 0 0 0 0 0 0 0 0 0 0 1 0 54 95 85 94 96 102 97 91 100 92 116 172 150 0 0 2 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 111 151 132 148 106 135 135 129 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 244 240 236 251 201 236 242 223 246 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 207 185 204 214 221 214 205 179 185 90 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 223 204 196 218 219 217 198 183 185 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 88 234 191 210 223 211 222 231 201 198 110 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 126 232 191 205 217 234 233 216 205 204 164 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 138 234 178 194 215 189 227 212 203 186 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 234 174 199 228 140 226 224 194 184 154 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 60 242 169 189 237 108 221 232 198 174 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 243 173 178 251 69 215 240 185 171 81 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 205 178 167 252 19 192 252 175 173 28 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 154 180 158 252 0 161 255 176 165 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 106 191 155 251 0 136 234 175 152 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 103 193 166 245 0 122 230 172 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 176 164 251 0 135 231 170 131 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 89 170 164 252 0 118 229 164 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 176 174 209 0 82 226 167 144 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 118 183 191 190 0 46 224 168 145 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 184 203 181 0 36 226 181 160 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 104 212 218 182 0 39 232 202 166 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 79 228 227 176 0 37 237 224 162 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 232 232 153 0 30 234 232 149 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 43 230 234 157 0 19 230 236 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 226 235 128 0 21 232 237 103 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 214 240 118 0 16 228 240 119 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 212 241 194 0 43 233 236 59 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 195 255 178 0 22 238 239 18 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 176 34 0 0 155 155 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 72 103 198 117 94 77 93 179 179 62 4 0 0 0 0 0 0 0 0 0 0 0 2 0 0 51 119 153 239 96 147 255 240 239 222 192 75 121 145 99 35 0 0 0 0 0 0 0 0 0 0 0 89 126 87 75 80 87 62 49 60 70 58 46 90 109 111 116 165 51 0 0 0 0 0 0 0 0 0 5 114 72 77 82 85 76 82 86 85 82 80 80 89 85 104 107 85 127 0 0 0 0 0 0 0 0 0 43 124 87 79 100 92 123 56 83 87 89 72 82 73 97 97 63 93 143 15 0 0 0 0 0 0 0 0 69 113 97 164 148 62 182 90 79 80 69 89 86 90 110 100 77 194 130 46 0 0 0 0 0 0 0 0 82 126 116 117 130 65 121 147 80 79 80 239 58 128 87 69 104 96 116 72 0 0 0 0 0 0 0 0 107 114 140 119 137 170 128 121 79 83 73 191 130 104 83 97 136 106 114 83 0 0 0 0 0 0 0 0 123 114 96 94 93 161 92 87 89 90 80 80 123 111 138 174 178 134 154 73 0 0 0 0 0 0 0 0 119 104 110 93 86 82 77 83 92 94 90 94 80 83 97 96 143 96 177 87 0 0 0 0 0 0 0 1 144 195 109 86 99 92 104 104 87 83 89 93 96 106 87 106 119 120 171 162 0 0 0 0 0 0 0 4 138 165 85 99 97 73 116 119 138 87 94 92 83 109 82 89 116 162 158 158 0 0 0 0 0 0 0 4 164 199 141 144 162 119 124 136 117 111 85 89 116 114 107 87 99 195 171 126 0 0 0 0 0 0 0 22 79 199 179 133 104 86 184 155 127 114 87 111 82 117 123 85 119 94 130 102 0 0 0 0 0 0 0 32 72 181 221 114 111 107 113 113 136 106 86 133 99 109 179 144 124 96 194 123 0 0 0 0 0 0 0 35 79 155 249 153 51 102 85 90 130 79 89 85 157 93 119 126 127 119 175 150 14 0 0 0 0 0 0 45 75 145 245 127 62 82 96 90 76 97 93 83 86 144 103 58 225 194 188 143 35 0 0 0 0 0 0 56 79 155 250 73 70 85 93 97 97 94 94 102 79 73 63 60 147 204 187 192 48 0 0 0 0 0 0 59 96 133 249 29 73 87 96 86 93 92 94 83 100 172 175 55 145 229 144 128 63 0 0 0 0 0 0 46 110 185 194 26 75 73 90 87 100 93 89 110 97 86 153 77 72 211 167 73 56 0 0 0 0 0 0 60 63 192 212 66 123 110 104 86 102 96 93 155 106 212 171 69 65 199 164 75 41 0 0 0 0 0 0 56 70 177 177 2 141 145 124 72 93 94 90 181 65 189 128 143 66 202 172 70 45 0 0 0 0 0 0 62 60 196 178 79 216 174 187 82 100 107 77 161 138 111 99 167 38 221 168 65 51 0 0 0 0 0 0 63 63 211 133 0 116 137 76 103 109 111 109 109 113 167 103 114 0 182 164 69 49 0 0 0 0 0 0 65 94 208 170 0 150 131 111 123 119 119 123 124 136 195 161 134 9 160 221 53 55 0 0 0 0 0 0 55 134 253 123 0 76 66 77 76 79 80 85 79 66 59 59 75 0 86 216 103 87 0 0 0 0 0 0 21 100 208 131 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 211 100 55 0 0 0 0 0 0 28 103 174 93 0 4 0 0 0 0 0 0 0 0 0 0 2 0 7 181 87 39 0 0 0
0 0 0 0 0 0 0 0 0 0 37 177 213 203 161 169 93 193 165 59 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 61 171 193 187 207 255 91 221 185 183 169 209 209 137 3 0 0 0 0 0 0 0 0 0 1 0 13 155 155 137 137 143 105 127 93 119 143 113 135 121 131 165 171 43 0 0 0 0 0 0 0 0 0 0 115 171 109 109 157 143 175 131 123 119 133 143 143 153 113 123 161 141 0 0 0 0 0 0 0 0 0 0 153 159 129 125 163 147 157 141 139 135 135 127 143 151 129 129 147 165 7 0 0 0 0 0 0 0 0 0 153 159 159 129 163 147 147 141 139 133 135 125 153 151 135 145 139 163 23 0 0 0 0 0 0 1 0 13 147 141 195 141 163 145 127 129 133 131 133 121 137 143 161 163 123 163 49 0 0 0 0 0 0 1 0 37 187 127 205 181 141 121 121 123 123 129 129 115 121 123 191 175 95 157 87 0 0 0 0 0 0 1 0 49 181 117 205 199 111 111 121 121 121 125 129 117 117 103 201 185 87 151 117 0 0 0 0 0 0 1 0 71 173 89 201 205 101 121 125 125 129 129 137 123 123 103 189 187 93 145 133 0 0 0 0 0 0 0 0 109 169 105 205 213 111 139 139 133 133 129 139 127 137 117 197 193 103 145 161 0 0 0 0 0 0 0 0 123 155 115 213 221 129 147 149 137 129 123 135 131 143 127 205 203 107 133 175 0 0 0 0 0 0 0 0 155 135 127 223 227 129 147 159 135 123 127 141 143 145 137 221 207 109 131 189 0 0 0 0 0 0 0 3 181 123 133 231 207 131 151 161 141 131 131 143 141 151 141 201 207 105 129 199 0 0 0 0 0 0 0 21 185 113 151 215 181 139 151 159 145 139 137 147 145 149 161 163 205 131 115 207 13 0 0 0 0 0 0 71 159 95 173 195 165 155 155 165 151 141 139 149 149 157 157 173 157 149 113 199 39 0 0 0 0 0 0 115 147 83 195 143 179 153 151 163 151 153 135 145 149 151 161 193 119 171 97 197 67 0 0 0 0 0 0 149 133 89 201 101 207 151 163 163 159 163 133 147 155 153 145 205 75 177 97 183 83 0 0 0 0 0 0 179 123 113 179 95 219 139 161 157 155 153 141 151 151 161 143 209 43 169 109 163 121 0 0 0 0 0 0 193 105 133 163 127 215 143 165 147 147 157 141 149 147 159 149 213 51 167 125 149 139 0 0 0 0 0 41 197 95 151 131 141 189 153 171 147 149 169 143 147 153 155 143 217 67 153 149 137 163 0 0 0 0 0 85 177 101 169 105 157 177 161 165 157 155 159 153 143 161 155 151 185 87 141 159 125 183 0 0 0 0 0 117 163 105 177 89 185 189 171 167 165 151 155 157 155 153 165 171 193 121 99 183 111 181 0 0 0 0 0 167 135 121 171 0 77 93 135 155 155 137 153 153 115 171 145 131 187 21 65 203 119 175 0 0 0 0 0 171 125 143 143 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 21 207 137 177 0 0 0 0 0 163 121 157 65 0 3 3 0 0 0 0 0 0 0 0 0 0 0 0 0 193 141 169 0 0 0 0 0 175 151 147 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 173 161 179 0 0 0 0 0 9 137 113 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 101 113 51 0 0
0 0 0 0 0 0 0 0 0 0 0 5 0 42 177 148 7 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 18 107 0 7 94 0 0 0 0 2 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 0 141 43 0 0 104 70 0 7 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 2 0 19 144 0 0 0 54 119 0 1 2 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 4 0 109 119 0 1 0 0 146 42 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 161 79 0 3 0 0 111 131 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 21 191 21 0 2 2 0 57 185 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 190 0 0 2 3 0 14 200 57 0 3 0 4 5 4 1 0 0 0 0 0 0 0 0 0 0 0 177 174 0 0 0 0 0 0 219 146 0 0 0 0 0 0 0 0 0 0 0 118 129 119 117 126 86 79 192 168 32 43 9 0 8 76 187 169 68 80 120 98 96 108 23 0 0 0 0 92 195 168 172 166 164 199 198 175 146 172 180 141 157 148 179 180 198 156 156 136 125 187 45 0 0 0 0 84 181 159 156 168 144 154 191 189 111 121 115 107 89 110 210 147 149 140 145 145 136 119 0 0 0 0 14 192 196 174 176 199 171 95 137 125 105 114 111 109 137 119 140 108 149 211 190 181 115 182 52 0 0 0 0 79 194 180 160 169 179 185 211 165 148 140 117 131 140 131 179 196 180 151 168 180 159 187 4 0 0 0 0 0 194 160 89 109 126 182 141 118 124 92 158 119 105 131 127 174 144 107 94 87 129 48 0 0 0 0 0 0 194 156 131 143 129 154 155 170 180 129 227 195 129 171 158 169 162 146 178 167 106 62 0 0 0 0 0 0 186 154 118 134 138 128 139 134 141 119 215 185 127 131 134 143 155 149 149 169 113 34 0 0 0 0 0 0 167 164 154 175 168 165 161 166 170 146 230 208 164 178 168 160 159 161 165 157 123 37 0 0 0 0 0 0 151 190 186 185 186 181 176 184 190 189 243 245 184 171 153 157 150 159 148 172 143 33 0 0 0 0 0 0 144 190 186 158 155 151 154 159 161 171 251 215 151 168 160 161 158 153 123 172 145 28 0 0 0 0 0 0 128 195 180 159 175 166 167 175 166 162 255 208 153 181 185 175 171 164 151 189 144 27 0 0 0 0 0 0 115 189 168 147 161 177 176 174 177 169 251 219 166 189 184 179 172 164 194 189 141 37 0 0 0 0 1 0 87 187 161 164 170 174 179 176 181 176 249 229 171 186 185 184 170 177 196 179 117 26 0 0 0 0 3 0 104 202 180 165 174 177 180 181 179 185 239 232 175 186 188 191 176 200 189 191 167 37 0 0 0 0 3 0 90 206 192 186 181 180 181 184 181 189 232 241 178 190 192 195 189 205 196 204 180 0 0 0 0 0 4 0 17 186 185 195 195 190 196 197 197 179 215 220 182 194 186 189 197 197 192 205 159 0 0 0 0 0 0 0 0 192 205 201 235 237 231 222 227 219 240 242 229 235 230 236 246 211 213 217 100 0 1 0 0 0 1 0 0 7 73 64 77 79 70 69 69 70 67 69 76 78 82 79 77 74 74 48 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 20 24 25 1 1 0 0 0 0 0 36 128 4 0 0 0 0 0 0 0 0 0 0 0 2 0 0 123 116 52 33 57 73 80 85 84 85 60 115 131 28 0 0 0 0 0 0 0 0 0 2 0 0 26 102 49 71 122 89 17 0 0 0 0 0 4 79 92 0 0 0 0 0 2 1 0 5 0 0 4 55 60 9 0 0 0 45 106 79 0 2 75 83 72 116 114 1 0 0 0 0 1 1 5 0 4 67 91 22 0 0 2 1 0 0 0 56 48 100 42 4 0 48 115 0 0 0 0 0 1 0 0 49 102 48 0 0 2 0 0 0 1 4 0 0 162 14 0 0 0 42 120 0 0 0 1 1 0 1 91 76 0 0 5 1 0 0 1 1 1 2 0 65 110 60 0 5 0 34 131 18 0 0 1 0 5 130 38 0 0 2 0 0 0 0 0 0 0 0 0 114 21 124 0 0 0 67 126 53 4 5 4 0 104 104 0 5 4 1 2 2 1 1 1 0 0 0 4 120 88 135 0 0 52 127 107 85 0 0 0 0 38 16 0 0 0 0 0 0 0 0 0 0 0 0 0 48 114 0 0 1 100 61 85 52 93 143 139 115 142 130 108 119 114 122 142 170 186 206 161 169 179 248 255 212 222 195 208 182 153 162 182 0 38 89 104 126 135 139 148 154 148 147 142 127 114 104 95 81 44 30 33 18 181 217 210 213 214 212 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 57 71 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 78 162 192 22 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 1 97 128 116 157 120 131 148 134 148 170 26 0 2 0 0 0 0 0 0 0 0 0 0 0 0 1 0 67 96 83 142 185 192 193 183 183 170 171 22 0 3 0 0 0 0 0 0 0 0 0 0 1 0 0 0 70 56 101 72 79 161 206 198 186 175 161 6 0 3 0 0 0 0 0 0 0 0 0 0 1 1 0 0 76 180 167 137 183 139 174 211 158 153 175 7 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 80 96 93 132 222 205 118 125 143 151 156 7 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 109 125 55 130 164 143 226 165 145 158 158 26 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 106 85 116 240 207 255 205 136 144 154 167 39 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 151 191 189 133 141 139 162 161 149 178 59 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 115 181 160 134 124 131 158 147 144 147 185 64 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 90 154 181 189 181 160 157 165 164 144 192 122 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 5 113 134 159 175 149 137 162 192 163 141 153 188 21 0 1 0 0 0 0 0 0 0 0 0 0 2 0 46 115 91 113 158 135 122 120 137 146 164 144 174 145 0 0 0 0 0 0 0 0 0 0 0 0 0 0 83 82 85 107 137 160 140 166 175 160 157 163 155 190 65 0 0 0 0 0 0 0 0 0 0 7 0 40 94 87 113 130 117 157 181 166 162 161 163 172 164 157 152 0 0 0 0 0 0 0 0 0 3 0 16 89 80 87 104 125 124 119 116 133 170 174 166 159 157 153 171 25 0 0 0 0 0 0 1 0 0 0 86 95 90 93 99 108 108 119 114 142 181 164 171 172 160 151 182 63 0 0 0 0 1 1 0 0 6 69 80 83 102 120 118 121 115 130 119 136 176 164 158 148 140 135 170 27 1 1 0 0 0 0 0 32 74 71 70 94 104 126 126 126 115 128 110 123 146 132 130 126 153 176 223 15 1 0 0 0 14 37 73 82 68 73 85 85 78 86 95 118 117 118 111 125 168 171 184 215 233 204 224 0 0 7 38 66 74 75 79 76 75 90 81 80 88 92 100 121 116 98 160 180 138 252 219 219 210 199 214 0 25 77 75 79 66 65 78 88 87 88 81 82 96 96 90 103 125 197 166 0 12 255 208 208 207 200 205 0 60 108 83 78 74 79 83 87 83 87 89 88 88 72 97 165 166 37 0 0 62 221 206 209 207 201 195 0 5 142 146 134 115 97 75 67 74 85 86 86 79 130 216 96 0 0 0 0 57 225 204 209 206 204 171 0 0 0 14 82 151 172 174 174 168 159 151 158 199 193 28 0 0 1 3 0 44 211 199 202 196 190 167 0 1 0 0 0 0 0 9 50 72 90 106 103 75 0 0 0 1 0 0 0 0 21 0 0 0 0 0 0
embeddings {
tensor_name: "default:00000"
metadata_path: "00000/default/metadata.tsv"
sprite {
image_path: "00000/default/sprite.png"
single_image_dim: 28
single_image_dim: 28
}
tensor_path: "00000/default/tensors.tsv"
}
# -*- coding: utf-8 -*-
import torch
dtype = torch.float
device = torch.device("cpu")
# device = torch.device("cuda:0") # Uncomment this to run on GPU
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random input and output data
x = torch.randn(N, D_in, device=device, dtype=dtype)
y = torch.randn(N, D_out, device=device, dtype=dtype)
# Randomly initialize weights
w1 = torch.randn(D_in, H, device=device, dtype=dtype)
w2 = torch.randn(H, D_out, device=device, dtype=dtype)
learning_rate = 1e-6
for t in range(500):
# Forward pass: compute predicted y
h = x.mm(w1)
h_relu = h.clamp(min=0)
y_pred = h_relu.mm(w2)
# Compute and print loss
loss = (y_pred - y).pow(2).sum().item()
if t % 100 == 99:
print(t, loss)
# Backprop to compute gradients of w1 and w2 with respect to loss
grad_y_pred = 2.0 * (y_pred - y)
grad_w2 = h_relu.t().mm(grad_y_pred)
grad_h_relu = grad_y_pred.mm(w2.t())
grad_h = grad_h_relu.clone()
grad_h[h < 0] = 0
grad_w1 = x.t().mm(grad_h)
# Update weights using gradient descent
w1 -= learning_rate * grad_w1
w2 -= learning_rate * grad_w2
import tensorflow as tf
import numpy as np
# First we set up the computational graph:
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create placeholders for the input and target data; these will be filled
# with real data when we execute the graph.
x = tf.placeholder(tf.float32, shape=(None, D_in))
y = tf.placeholder(tf.float32, shape=(None, D_out))
# Create Variables for the weights and initialize them with random data.
# A TensorFlow Variable persists its value across executions of the graph.
w1 = tf.Variable(tf.random_normal((D_in, H)))
w2 = tf.Variable(tf.random_normal((H, D_out)))
# Forward pass: Compute the predicted y using operations on TensorFlow Tensors.
# Note that this code does not actually perform any numeric operations; it
# merely sets up the computational graph that we will later execute.
h = tf.matmul(x, w1)
h_relu = tf.maximum(h, tf.zeros(1))
y_pred = tf.matmul(h_relu, w2)
# Compute loss using operations on TensorFlow Tensors
loss = tf.reduce_sum((y - y_pred) ** 2.0)
# Compute gradient of the loss with respect to w1 and w2.
grad_w1, grad_w2 = tf.gradients(loss, [w1, w2])
# Update the weights using gradient descent. To actually update the weights
# we need to evaluate new_w1 and new_w2 when executing the graph. Note that
# in TensorFlow the the act of updating the value of the weights is part of
# the computational graph; in PyTorch this happens outside the computational
# graph.
learning_rate = 1e-6
new_w1 = w1.assign(w1 - learning_rate * grad_w1)
new_w2 = w2.assign(w2 - learning_rate * grad_w2)
# Now we have built our computational graph, so we enter a TensorFlow session to
# actually execute the graph.
with tf.Session() as sess:
# Run the graph once to initialize the Variables w1 and w2.
sess.run(tf.global_variables_initializer())
# Create numpy arrays holding the actual data for the inputs x and targets
# y
x_value = np.random.randn(N, D_in)
y_value = np.random.randn(N, D_out)
for t in range(500):
# Execute the graph many times. Each time it executes we want to bind
# x_value to x and y_value to y, specified with the feed_dict argument.
# Each time we execute the graph we want to compute the values for loss,
# new_w1, and new_w2; the values of these Tensors are returned as numpy
# arrays.
loss_value, _, _ = sess.run([loss, new_w1, new_w2],
feed_dict={x: x_value, y: y_value})
if t % 100 == 99:
print(t+1, loss_value)
# -*- coding: utf-8 -*-
import torch
dtype = torch.float
device = torch.device("cpu")
# device = torch.device("cuda:0") # Uncomment this to run on GPU
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold input and outputs.
# Setting requires_grad=False indicates that we do not need to compute gradients
# with respect to these Tensors during the backward pass.
x = torch.randn(N, D_in, device=device, dtype=dtype)
y = torch.randn(N, D_out, device=device, dtype=dtype)
# Create random Tensors for weights.
# Setting requires_grad=True indicates that we want to compute gradients with
# respect to these Tensors during the backward pass.
w1 = torch.randn(D_in, H, device=device, dtype=dtype, requires_grad=True)
w2 = torch.randn(H, D_out, device=device, dtype=dtype, requires_grad=True)
learning_rate = 1e-6
for t in range(500):
# Forward pass: compute predicted y using operations on Tensors; these
# are exactly the same operations we used to compute the forward pass using
# Tensors, but we do not need to keep references to intermediate values since
# we are not implementing the backward pass by hand.
y_pred = x.mm(w1).clamp(min=0).mm(w2)
# Compute and print loss using operations on Tensors.
# Now loss is a Tensor of shape (1,)
# loss.item() gets the scalar value held in the loss.
loss = (y_pred - y).pow(2).sum()
if t % 100 == 99:
print(t+1, loss.item())
# Use autograd to compute the backward pass. This call will compute the
# gradient of loss with respect to all Tensors with requires_grad=True.
# After this call w1.grad and w2.grad will be Tensors holding the gradient
# of the loss with respect to w1 and w2 respectively.
loss.backward()
# Manually update weights using gradient descent. Wrap in torch.no_grad()
# because weights have requires_grad=True, but we don't need to track this
# in autograd.
# An alternative way is to operate on weight.data and weight.grad.data.
# Recall that tensor.data gives a tensor that shares the storage with
# tensor, but doesn't track history.
# You can also use torch.optim.SGD to achieve this.
with torch.no_grad():
w1 -= learning_rate * w1.grad
w2 -= learning_rate * w2.grad
# Manually zero the gradients after updating weights
w1.grad.zero_()
w2.grad.zero_()
# -*- coding: utf-8 -*-
import torch
class MyReLU(torch.autograd.Function):
"""
We can implement our own custom autograd Functions by subclassing
torch.autograd.Function and implementing the forward and backward passes
which operate on Tensors.
"""
@staticmethod
def forward(ctx, input):
"""
In the forward pass we receive a Tensor containing the input and return
a Tensor containing the output. ctx is a context object that can be used
to stash information for backward computation. You can cache arbitrary
objects for use in the backward pass using the ctx.save_for_backward method.
"""
print("Cutom forward function")
ctx.save_for_backward(input)
return input.clamp(min=0)
@staticmethod
def backward(ctx, grad_output):
"""
In the backward pass we receive a Tensor containing the gradient of the loss
with respect to the output, and we need to compute the gradient of the loss
with respect to the input.
"""
print("Cutom backward function")
input, = ctx.saved_tensors
grad_input = grad_output.clone()
grad_input[input < 0] = 0
return grad_input
dtype = torch.float
device = torch.device("cpu")
# device = torch.device("cuda:0") # Uncomment this to run on GPU
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold input and outputs.
x = torch.randn(N, D_in, device=device, dtype=dtype)
y = torch.randn(N, D_out, device=device, dtype=dtype)
# Create random Tensors for weights.
w1 = torch.randn(D_in, H, device=device, dtype=dtype, requires_grad=True)
w2 = torch.randn(H, D_out, device=device, dtype=dtype, requires_grad=True)
learning_rate = 1e-6
for t in range(500):
# To apply our Function, we use Function.apply method. We alias this as 'relu'.
relu = MyReLU.apply
# Forward pass: compute predicted y using operations; we compute
# ReLU using our custom autograd operation.
y_pred = relu(x.mm(w1)).mm(w2)
# Compute and print loss
loss = (y_pred - y).pow(2).sum()
if t % 100 == 99:
print(t+1, loss.item())
# Use autograd to compute the backward pass.
loss.backward()
# Update weights using gradient descent
with torch.no_grad():
w1 -= learning_rate * w1.grad
w2 -= learning_rate * w2.grad
# Manually zero the gradients after updating weights
w1.grad.zero_()
w2.grad.zero_()
# -*- coding: utf-8 -*-
import torch
class TwoLayerNet(torch.nn.Module):
def __init__(self, D_in, H, D_out):
"""
In the constructor we instantiate two nn.Linear modules and assign them as
member variables.
"""
super(TwoLayerNet, self).__init__()
self.linear1 = torch.nn.Linear(D_in, H)
self.linear2 = torch.nn.Linear(H, D_out)
def forward(self, x):
"""
In the forward function we accept a Tensor of input data and we must return
a Tensor of output data. We can use Modules defined in the constructor as
well as arbitrary operators on Tensors.
"""
h_relu = self.linear1(x).clamp(min=0)
y_pred = self.linear2(h_relu)
return y_pred
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold inputs and outputs
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
# Construct our model by instantiating the class defined above
model = TwoLayerNet(D_in, H, D_out)
# Construct our loss function and an Optimizer. The call to model.parameters()
# in the SGD constructor will contain the learnable parameters of the two
# nn.Linear modules which are members of the model.
criterion = torch.nn.MSELoss(reduction='sum')
optimizer = torch.optim.SGD(model.parameters(), lr=1e-4)
for t in range(500):
# Forward pass: Compute predicted y by passing x to the model
y_pred = model(x)
# Compute and print loss
loss = criterion(y_pred, y)
if t % 100 == 99:
print(t+1, loss.item())
# Zero gradients, perform a backward pass, and update the weights.
optimizer.zero_grad()
loss.backward()
optimizer.step()
# -*- coding: utf-8 -*-
import random
import torch
class DynamicNet(torch.nn.Module):
def __init__(self, D_in, H, D_out):
"""
In the constructor we construct three nn.Linear instances that we will use
in the forward pass.
"""
super(DynamicNet, self).__init__()
self.input_linear = torch.nn.Linear(D_in, H)
self.middle_linear = torch.nn.Linear(H, H)
self.output_linear = torch.nn.Linear(H, D_out)
def forward(self, x):
"""
For the forward pass of the model, we randomly choose either 0, 1, 2, or 3
and reuse the middle_linear Module that many times to compute hidden layer
representations.
Since each forward pass builds a dynamic computation graph, we can use normal
Python control-flow operators like loops or conditional statements when
defining the forward pass of the model.
Here we also see that it is perfectly safe to reuse the same Module many
times when defining a computational graph. This is a big improvement from Lua
Torch, where each Module could be used only once.
"""
h_relu = self.input_linear(x).clamp(min=0)
for _ in range(random.randint(0, 3)):
h_relu = self.middle_linear(h_relu).clamp(min=0)
y_pred = self.output_linear(h_relu)
return y_pred
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold inputs and outputs
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
# Construct our model by instantiating the class defined above
model = DynamicNet(D_in, H, D_out)
# Construct our loss function and an Optimizer. Training this strange model with
# vanilla stochastic gradient descent is tough, so we use momentum
criterion = torch.nn.MSELoss(reduction='sum')
optimizer = torch.optim.SGD(model.parameters(), lr=1e-4, momentum=0.9)
for t in range(500):
# Forward pass: Compute predicted y by passing x to the model
y_pred = model(x)
# Compute and print loss
loss = criterion(y_pred, y)
if t % 100 == 99:
print(t+1, loss.item())
# Zero gradients, perform a backward pass, and update the weights.
optimizer.zero_grad()
loss.backward()
optimizer.step()
# -*- coding: utf-8 -*-
import torch
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold inputs and outputs
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
# Use the nn package to define our model as a sequence of layers. nn.Sequential
# is a Module which contains other Modules, and applies them in sequence to
# produce its output. Each Linear Module computes output from input using a
# linear function, and holds internal Tensors for its weight and bias.
model = torch.nn.Sequential(
torch.nn.Linear(D_in, H),
torch.nn.ReLU(),
torch.nn.Linear(H, D_out),
)
# The nn package also contains definitions of popular loss functions; in this
# case we will use Mean Squared Error (MSE) as our loss function.
loss_fn = torch.nn.MSELoss(reduction='sum')
learning_rate = 1e-4
for t in range(500):
# Forward pass: compute predicted y by passing x to the model. Module objects
# override the __call__ operator so you can call them like functions. When
# doing so you pass a Tensor of input data to the Module and it produces
# a Tensor of output data.
y_pred = model(x)
# Compute and print loss. We pass Tensors containing the predicted and true
# values of y, and the loss function returns a Tensor containing the
# loss.
loss = loss_fn(y_pred, y)
if t % 100 == 99:
print(t+1, loss.item())
# Zero the gradients before running the backward pass.
model.zero_grad()
# Backward pass: compute gradient of the loss with respect to all the learnable
# parameters of the model. Internally, the parameters of each Module are stored
# in Tensors with requires_grad=True, so this call will compute gradients for
# all learnable parameters in the model.
loss.backward()
# Update the weights using gradient descent. Each parameter is a Tensor, so
# we can access its gradients like we did before.
with torch.no_grad():
for param in model.parameters():
param -= learning_rate * param.grad
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
# -*- coding: utf-8 -*-
import torch
# N is batch size; D_in is input dimension;
# H is hidden dimension; D_out is output dimension.
N, D_in, H, D_out = 64, 1000, 100, 10
# Create random Tensors to hold inputs and outputs
x = torch.randn(N, D_in)
y = torch.randn(N, D_out)
# Use the nn package to define our model and loss function.
model = torch.nn.Sequential(
torch.nn.Linear(D_in, H),
torch.nn.ReLU(),
torch.nn.Linear(H, D_out),
)
loss_fn = torch.nn.MSELoss(reduction='sum')
# Use the optim package to define an Optimizer that will update the weights of
# the model for us. Here we will use Adam; the optim package contains many other
# optimization algorithms. The first argument to the Adam constructor tells the
# optimizer which Tensors it should update.
learning_rate = 1e-4
optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)
for t in range(500):
# Forward pass: compute predicted y by passing x to the model.
y_pred = model(x)
# Compute and print loss.
loss = loss_fn(y_pred, y)
if t % 100 == 99:
print(t+1, loss.item())
# Before the backward pass, use the optimizer object to zero all of the
# gradients for the variables it will update (which are the learnable
# weights of the model). This is because by default, gradients are
# accumulated in buffers( i.e, not overwritten) whenever .backward()
# is called. Checkout docs of torch.autograd.backward for more details.
optimizer.zero_grad()
# Backward pass: compute gradient of the loss with respect to model
# parameters
loss.backward()
# Calling the step function on an Optimizer makes an update to its
# parameters
optimizer.step()
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Display the source blob
Display the rendered blob
Raw
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
import random
import torch
from torchvision.transforms import functional as F
def _flip_coco_person_keypoints(kps, width):
flip_inds = [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]
flipped_data = kps[:, flip_inds]
flipped_data[..., 0] = width - flipped_data[..., 0]
# Maintain COCO convention that if visibility == 0, then x, y = 0
inds = flipped_data[..., 2] == 0
flipped_data[inds] = 0
return flipped_data
class Compose(object):
def __init__(self, transforms):
self.transforms = transforms
def __call__(self, image, target):
for t in self.transforms:
image, target = t(image, target)
return image, target
class RandomHorizontalFlip(object):
def __init__(self, prob):
self.prob = prob
def __call__(self, image, target):
if random.random() < self.prob:
height, width = image.shape[-2:]
image = image.flip(-1)
bbox = target["boxes"]
bbox[:, [0, 2]] = width - bbox[:, [2, 0]]
target["boxes"] = bbox
if "masks" in target:
target["masks"] = target["masks"].flip(-1)
if "keypoints" in target:
keypoints = target["keypoints"]
keypoints = _flip_coco_person_keypoints(keypoints, width)
target["keypoints"] = keypoints
return image, target
class ToTensor(object):
def __call__(self, image, target):
image = F.to_tensor(image)
return image, target
from collections import defaultdict, deque
import datetime
import pickle
import time
import torch
import torch.distributed as dist
import errno
import os
class SmoothedValue(object):
"""Track a series of values and provide access to smoothed values over a
window or the global series average.
"""
def __init__(self, window_size=20, fmt=None):
if fmt is None:
fmt = "{median:.4f} ({global_avg:.4f})"
self.deque = deque(maxlen=window_size)
self.total = 0.0
self.count = 0
self.fmt = fmt
def update(self, value, n=1):
self.deque.append(value)
self.count += n
self.total += value * n
def synchronize_between_processes(self):
"""
Warning: does not synchronize the deque!
"""
if not is_dist_avail_and_initialized():
return
t = torch.tensor([self.count, self.total], dtype=torch.float64, device='cuda')
dist.barrier()
dist.all_reduce(t)
t = t.tolist()
self.count = int(t[0])
self.total = t[1]
@property
def median(self):
d = torch.tensor(list(self.deque))
return d.median().item()
@property
def avg(self):
d = torch.tensor(list(self.deque), dtype=torch.float32)
return d.mean().item()
@property
def global_avg(self):
return self.total / self.count
@property
def max(self):
return max(self.deque)
@property
def value(self):
return self.deque[-1]
def __str__(self):
return self.fmt.format(
median=self.median,
avg=self.avg,
global_avg=self.global_avg,
max=self.max,
value=self.value)
def all_gather(data):
"""
Run all_gather on arbitrary picklable data (not necessarily tensors)
Args:
data: any picklable object
Returns:
list[data]: list of data gathered from each rank
"""
world_size = get_world_size()
if world_size == 1:
return [data]
# serialized to a Tensor
buffer = pickle.dumps(data)
storage = torch.ByteStorage.from_buffer(buffer)
tensor = torch.ByteTensor(storage).to("cuda")
# obtain Tensor size of each rank
local_size = torch.tensor([tensor.numel()], device="cuda")
size_list = [torch.tensor([0], device="cuda") for _ in range(world_size)]
dist.all_gather(size_list, local_size)
size_list = [int(size.item()) for size in size_list]
max_size = max(size_list)
# receiving Tensor from all ranks
# we pad the tensor because torch all_gather does not support
# gathering tensors of different shapes
tensor_list = []
for _ in size_list:
tensor_list.append(torch.empty((max_size,), dtype=torch.uint8, device="cuda"))
if local_size != max_size:
padding = torch.empty(size=(max_size - local_size,), dtype=torch.uint8, device="cuda")
tensor = torch.cat((tensor, padding), dim=0)
dist.all_gather(tensor_list, tensor)
data_list = []
for size, tensor in zip(size_list, tensor_list):
buffer = tensor.cpu().numpy().tobytes()[:size]
data_list.append(pickle.loads(buffer))
return data_list
def reduce_dict(input_dict, average=True):
"""
Args:
input_dict (dict): all the values will be reduced
average (bool): whether to do average or sum
Reduce the values in the dictionary from all processes so that all processes
have the averaged results. Returns a dict with the same fields as
input_dict, after reduction.
"""
world_size = get_world_size()
if world_size < 2:
return input_dict
with torch.no_grad():
names = []
values = []
# sort the keys so that they are consistent across processes
for k in sorted(input_dict.keys()):
names.append(k)
values.append(input_dict[k])
values = torch.stack(values, dim=0)
dist.all_reduce(values)
if average:
values /= world_size
reduced_dict = {k: v for k, v in zip(names, values)}
return reduced_dict
class MetricLogger(object):
def __init__(self, delimiter="\t"):
self.meters = defaultdict(SmoothedValue)
self.delimiter = delimiter
def update(self, **kwargs):
for k, v in kwargs.items():
if isinstance(v, torch.Tensor):
v = v.item()
assert isinstance(v, (float, int))
self.meters[k].update(v)
def __getattr__(self, attr):
if attr in self.meters:
return self.meters[attr]
if attr in self.__dict__:
return self.__dict__[attr]
raise AttributeError("'{}' object has no attribute '{}'".format(
type(self).__name__, attr))
def __str__(self):
loss_str = []
for name, meter in self.meters.items():
loss_str.append(
"{}: {}".format(name, str(meter))
)
return self.delimiter.join(loss_str)
def synchronize_between_processes(self):
for meter in self.meters.values():
meter.synchronize_between_processes()
def add_meter(self, name, meter):
self.meters[name] = meter
def log_every(self, iterable, print_freq, header=None):
i = 0
if not header:
header = ''
start_time = time.time()
end = time.time()
iter_time = SmoothedValue(fmt='{avg:.4f}')
data_time = SmoothedValue(fmt='{avg:.4f}')
space_fmt = ':' + str(len(str(len(iterable)))) + 'd'
if torch.cuda.is_available():
log_msg = self.delimiter.join([
header,
'[{0' + space_fmt + '}/{1}]',
'eta: {eta}',
'{meters}',
'time: {time}',
'data: {data}',
'max mem: {memory:.0f}'
])
else:
log_msg = self.delimiter.join([
header,
'[{0' + space_fmt + '}/{1}]',
'eta: {eta}',
'{meters}',
'time: {time}',
'data: {data}'
])
MB = 1024.0 * 1024.0
for obj in iterable:
data_time.update(time.time() - end)
yield obj
iter_time.update(time.time() - end)
if i % print_freq == 0 or i == len(iterable) - 1:
eta_seconds = iter_time.global_avg * (len(iterable) - i)
eta_string = str(datetime.timedelta(seconds=int(eta_seconds)))
if torch.cuda.is_available():
print(log_msg.format(
i, len(iterable), eta=eta_string,
meters=str(self),
time=str(iter_time), data=str(data_time),
memory=torch.cuda.max_memory_allocated() / MB))
else:
print(log_msg.format(
i, len(iterable), eta=eta_string,
meters=str(self),
time=str(iter_time), data=str(data_time)))
i += 1
end = time.time()
total_time = time.time() - start_time
total_time_str = str(datetime.timedelta(seconds=int(total_time)))
print('{} Total time: {} ({:.4f} s / it)'.format(
header, total_time_str, total_time / len(iterable)))
def collate_fn(batch):
return tuple(zip(*batch))
def warmup_lr_scheduler(optimizer, warmup_iters, warmup_factor):
def f(x):
if x >= warmup_iters:
return 1
alpha = float(x) / warmup_iters
return warmup_factor * (1 - alpha) + alpha
return torch.optim.lr_scheduler.LambdaLR(optimizer, f)
def mkdir(path):
try:
os.makedirs(path)
except OSError as e:
if e.errno != errno.EEXIST:
raise
def setup_for_distributed(is_master):
"""
This function disables printing when not in master process
"""
import builtins as __builtin__
builtin_print = __builtin__.print
def print(*args, **kwargs):
force = kwargs.pop('force', False)
if is_master or force:
builtin_print(*args, **kwargs)
__builtin__.print = print
def is_dist_avail_and_initialized():
if not dist.is_available():
return False
if not dist.is_initialized():
return False
return True
def get_world_size():
if not is_dist_avail_and_initialized():
return 1
return dist.get_world_size()
def get_rank():
if not is_dist_avail_and_initialized():
return 0
return dist.get_rank()
def is_main_process():
return get_rank() == 0
def save_on_master(*args, **kwargs):
if is_main_process():
torch.save(*args, **kwargs)
def init_distributed_mode(args):
if 'RANK' in os.environ and 'WORLD_SIZE' in os.environ:
args.rank = int(os.environ["RANK"])
args.world_size = int(os.environ['WORLD_SIZE'])
args.gpu = int(os.environ['LOCAL_RANK'])
elif 'SLURM_PROCID' in os.environ:
args.rank = int(os.environ['SLURM_PROCID'])
args.gpu = args.rank % torch.cuda.device_count()
else:
print('Not using distributed mode')
args.distributed = False
return
args.distributed = True
torch.cuda.set_device(args.gpu)
args.dist_backend = 'nccl'
print('| distributed init (rank {}): {}'.format(
args.rank, args.dist_url), flush=True)
torch.distributed.init_process_group(backend=args.dist_backend, init_method=args.dist_url,
world_size=args.world_size, rank=args.rank)
torch.distributed.barrier()
setup_for_distributed(args.rank == 0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment