console
{
const Disk = class {
constructor() {
this.x = 0;
this.y = -10000;
this.vx = 2 * Math.random() - 1;
this.vy = 2 * Math.random() - 1;
this.r = 0;
this.sat = 0;
}
anim() {
this.x += this.vx;
this.y += this.vy;
ctx.beginPath();
ctx.strokeStyle = "#fff";
ctx.fillStyle = this.color;
ctx.fillStyle = "hsl(30, " + this.sat + "%, 50%)";
ctx.arc(this.x, this.y, this.r, 0, 2 * Math.PI);
ctx.fill();
ctx.stroke();
if (this.y < -canvas.y - canvas.height) {
this.r = doll.s * 4 + Math.random() * doll.s * 3;
this.y =
this.r + canvas.height * 0.5 - canvas.y + Math.random() * canvas.height;
this.x = -canvas.x + Math.random() * canvas.width - canvas.width * 0.5;
this.sat = 0;
}
}
};
const Doll = class {
constructor(size, structure) {
this.s = size;
this.points = [];
this.links = [];
this.angles = [];
const len = (p0, p1) => {
for (const link of structure.links) {
if (
(link.p0 === p0 && link.p1 === p1) ||
(link.p0 === p1 && link.p1 === p0)
) {
return link.length;
break;
}
}
return 1;
};
for (const link of structure.links) {
this.links.push(new Doll.Link(this, link));
}
for (const constraint of structure.constraints) {
this.angles.push(
new Doll.Angle(
this.points[constraint.p1],
this.points[constraint.p2],
this.points[constraint.p3],
len(constraint.p1, constraint.p2) * size,
len(constraint.p2, constraint.p3) * size,
constraint.angle,
constraint.range,
0.05
)
);
}
}
anim() {
for (const angle of this.angles) angle.solve();
for (const point of this.points) point.anim();
for (const link of this.links) link.draw();
}
collide(disks) {
for (const point of this.points) {
for (const disk of disks) {
const dx = point.x - disk.x;
const dy = point.y - disk.y;
const sd = dx * dx + dy * dy;
const w = 0.5 * point.w + disk.r;
if (sd < w * w) {
const d = Math.sqrt(sd);
point.x += 0.5 * dx / d * (w - d);
point.y += 0.5 * dy / d * (w - d);
if (disk.sat < 70) disk.sat++;
}
}
}
}
};
Doll.Point = class {
constructor() {
this.x = 0;
this.y = 0;
this.xb = 0;
this.yb = 0;
this.w = 0;
this.mass = 1;
}
anim() {
if (pointer.pointDrag && this === pointer.pointDrag) {
this.x = this.xb = pointer.x - canvas.x - canvas.width * 0.5;
this.y = this.yb = pointer.y - canvas.y - canvas.height * 0.5;
} else {
const vx = (this.x - this.xb) * 0.995;
const vy = (this.y - this.yb) * 0.995;
this.xb = this.x;
this.yb = this.y;
this.x += vx;
this.y += vy + 0.15 * this.mass;
}
}
};
Doll.Angle = class {
constructor(p1, p2, p3, len1, len2, angle, range, force) {
this.p1 = p1;
this.p2 = p2;
this.p3 = p3;
this.len1 = len1;
this.len2 = len2;
this.angle = angle;
this.range = range;
this.force = force;
}
solve() {
let a, b, c, e, m;
let m1, m2, m3, x1, y1;
let cos, sin;
a = Math.atan2(this.p2.y - this.p1.y, this.p2.x - this.p1.x);
b = Math.atan2(this.p3.y - this.p2.y, this.p3.x - this.p2.x);
c = this.angle - (b - a);
c = c > Math.PI ? c - 2 * Math.PI : c < -Math.PI ? c + 2 * Math.PI : c;
e = Math.abs(c) > this.range ? (-Math.sign(c) * this.range + c) * this.force : 0;
m = this.p1.mass + this.p2.mass;
m1 = this.p1.mass / m;
m2 = this.p2.mass / m;
cos = Math.cos(a - e);
sin = Math.sin(a - e);
x1 = this.p1.x + (this.p2.x - this.p1.x) * m2;
y1 = this.p1.y + (this.p2.y - this.p1.y) * m2;
this.p1.x = x1 - cos * this.len1 * m2;
this.p1.y = y1 - sin * this.len1 * m2;
this.p2.x = x1 + cos * this.len1 * m1;
this.p2.y = y1 + sin * this.len1 * m1;
a = Math.atan2(this.p2.y - this.p3.y, this.p2.x - this.p3.x) + e;
m = this.p2.mass + this.p3.mass;
m2 = this.p2.mass / m;
m3 = this.p3.mass / m;
cos = Math.cos(a);
sin = Math.sin(a);
x1 = this.p3.x + (this.p2.x - this.p3.x) * m2;
y1 = this.p3.y + (this.p2.y - this.p3.y) * m2;
this.p3.x = x1 - cos * this.len2 * m2;
this.p3.y = y1 - sin * this.len2 * m2;
this.p2.x = x1 + cos * this.len2 * m3;
this.p2.y = y1 + sin * this.len2 * m3;
}
};
Doll.Link = class {
constructor(doll, link) {
this.length = link.length * doll.s;
this.width = link.width * doll.s;
this.offset = link.offset || 0.0;
this.image = link.img ? document.getElementById(link.img) : null;
doll.points[link.p0] = this.p0 = doll.points[link.p0] ? doll.points[link.p0] : new Doll.Point();
doll.points[link.p1] = this.p1 = doll.points[link.p1] ? doll.points[link.p1] : new Doll.Point();
if (this.width > this.p0.w) this.p0.w = this.width;
this.p0.mass++;
this.p1.mass++;
}
draw() {
if (!this.image) return;
const dx = this.p1.x - this.p0.x;
const dy = this.p1.y - this.p0.y;
const a = Math.atan2(dy, dx);
const d = Math.sqrt(dx * dx + dy * dy);
ctx.save();
ctx.translate(this.p0.x, this.p0.y);
ctx.rotate(a);
ctx.drawImage(
this.image, -this.width * 0.15 - this.width * this.offset, -this.width * 0.5,
d + this.width * 0.3,
this.width
);
ctx.restore();
}
};
// ---- set canvas ----
const canvas = {
init() {
this.elem = document.querySelector("canvas");
this.resize();
this.x = 0;
this.y = 0;
this.s = 0.01;
window.addEventListener("resize", () => canvas.resize(), false);
return this.elem.getContext("2d");
},
resize() {
this.width = this.elem.width = this.elem.offsetWidth;
this.height = this.elem.height = this.elem.offsetHeight;
},
scroll(p) {
if (!pointer.pointDrag) {
this.x += (-p.x - this.x) * this.s;
this.y += (-p.y - this.y) * this.s;
if (this.s < 0.25) this.s += 0.001;
} else this.s = 0.01;
ctx.translate(this.x + this.width * 0.5, this.y + this.height * 0.45);
}
};
// ---- set pointer ----
const pointer = {
init(canvas) {
this.x = 0;
this.y = 0;
window.addEventListener("mousemove", e => this.move(e), false);
canvas.elem.addEventListener("touchmove", e => this.move(e), false);
window.addEventListener("mousedown", e => this.down(e), false);
window.addEventListener("touchstart", e => this.down(e), false);
window.addEventListener("mouseup", e => this.up(e), false);
window.addEventListener("touchend", e => this.up(e), false);
},
down(e) {
this.move(e);
let msd = 1000000;
for (const point of doll.points) {
const dx = point.x + canvas.x - this.x + canvas.width * 0.5;
const dy = point.y + canvas.y - this.y + canvas.height * 0.5;
const sd = dx * dx + dy * dy;
if (sd < canvas.width * 0.05 * canvas.width * 0.05) {
if (sd < msd) {
msd = sd;
this.pointDrag = point;
}
}
}
},
up(e) {
this.pointDrag = null;
},
move(e) {
let touchMode = e.targetTouches,
pointer;
if (touchMode) {
e.preventDefault();
pointer = touchMode[0];
} else pointer = e;
this.x = pointer.clientX;
this.y = pointer.clientY;
}
};
// ---- init ----
const ctx = canvas.init();
pointer.init(canvas);
// ---- main loop ----
const run = () => {
requestAnimationFrame(run);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.save();
canvas.scroll(doll.points[3]);
for (const disk of disks) disk.anim();
doll.collide(disks);
doll.anim();
ctx.restore();
};
const disks = [];
for (let i = 0; i < 10; i++) {
disks.push(new Disk());
}
const doll = new Doll(Math.sqrt(canvas.width) / 2, {
links: [{
p0: 0,
p1: 1,
length: 7,
width: 2.5,
img: "arm-right"
}, {
p0: 1,
p1: 2,
length: 7,
width: 2.5,
img: "hand-right"
}, {
p0: 3,
p1: 7,
length: 6,
width: 3.5,
img: "left-leg"
}, {
p0: 7,
p1: 8,
length: 7,
width: 3,
img: "left-foot"
}, {
p0: 3,
p1: 9,
length: 6,
width: 2.5,
offset: 0.3,
img: "right-leg"
}, {
p0: 9,
p1: 10,
length: 7,
width: 4,
offset: 0.05,
img: "right-foot"
}, {
p0: 0,
p1: 4,
length: 4.5,
width: 4.5,
offset: -0.2,
img: "head"
}, {
p0: 0,
p1: 11,
length: 4,
width: 5,
offset: 0.1,
img: "tors"
}, {
p0: 11,
p1: 3,
length: 4,
width: 3,
offset: 0.2,
img: "stomach"
}, {
p0: 0,
p1: 5,
length: 6,
width: 2,
img: "left-arm"
}, {
p0: 5,
p1: 6,
length: 7,
width: 4,
img: "left-hand"
}],
constraints: [{
p1: 4,
p2: 0,
p3: 11,
angle: 0,
range: 1
}, {
p1: 0,
p2: 1,
p3: 2,
angle: -Math.PI / 2,
range: Math.PI / 2
}, {
p1: 0,
p2: 5,
p3: 6,
angle: -Math.PI / 2,
range: Math.PI / 2
}, {
p1: 11,
p2: 3,
p3: 7,
angle: -Math.PI / 4,
range: Math.PI / 3
}, {
p1: 11,
p2: 3,
p3: 9,
angle: Math.PI / 4,
range: Math.PI / 3
}, {
p1: 3,
p2: 7,
p3: 8,
angle: Math.PI / 2,
range: Math.PI / 3
}, {
p1: 3,
p2: 9,
p3: 10,
angle: Math.PI / 2,
range: Math.PI / 3
}, {
p1: 0,
p2: 11,
p3: 3,
angle: 0,
range: 0.1
}, {
p1: 11,
p2: 0,
p3: 1,
angle: Math.PI / 2,
range: Math.PI / 3
}, {
p1: 11,
p2: 0,
p3: 5,
angle: -Math.PI / 2,
range: Math.PI / 3
}]
});
run();
}
<canvas></canvas>
<div id="textures">
<img id="head" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAScAAADqCAMAAADXhXOtAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkZBNjUyODQ0NjhFNTExRTdBNzJBRTVDMTg1RUE0MUM4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkZBNjUyODQ1NjhFNTExRTdBNzJBRTVDMTg1RUE0MUM4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RkE2NTI4NDI2OEU1MTFFN0E3MkFFNUMxODVFQTQxQzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RkE2NTI4NDM2OEU1MTFFN0E3MkFFNUMxODVFQTQxQzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7DDS9lAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAUqSURBVHja7N3ZktwgDAXQq///6TykUpW2wQhbgJbL48yEhhPMImgMYdIkkIBOdKITnehEJyY60YlOdOqV75roNDY6SIVoSHTSIR2CQjylbE4vawWPTAud3lUMqOX0rz6TdfPKtMrppzrq+gHFnK61UdURjpmWOekVQjCtcepU57HyvpmWOD1U515pvEihnHrFfVMR/1JfnJolXjO1dOw0M45ffrKcaT8UPra071UAYjtpH8kjTAGdVEu57u8Q32myj2/26SNHZHAyDCJ1mhWKOz1U6sVSJa3T1aLzgKK203BCNbeiy+rUCj2h9TelnToddWMkRGUndYAOsZiMnZpdEZ3GU03z+WUOp7noyyemzWjLP2RJc9rfutZ/hn1ryulkFyOg01InE0okYLoutHsfF8sJK53uIqBTf0+5/WmhnIBlUKPNeI9OirpYO/XipyZQK+OZqxvRL4HmP8VxPHOj1fjogi+nbon2QpnOSLeeV8H55Cs+7pbJkRNcO2Gr0+AkmGOmt1CvnZ7OC3hmwubnbvaUGBAaCt86otaiU5w7YXs/3pyuuGd6BQWD0U1RBCA4FGwmAoOPB50OBlN2QqEk04sT7jWZ5o/bFmXy5wRkgEJVpkkoOvlwAnJAoS6TIycgCxQKM3lxAvJAoTKTCyfQKQvTBBRKMx13Ap0yMemhUJvpqBNqOb3e6qrg9D0AESy9cbKYj+V3MskuvZNFhoiY5pwsMkR6J4scgfROBlkC+Z2+54nIaYFTM1MET1qnLzkjQVI6oXqik6UTE+hEJzrRiU50IhSd6EQnOtGJTnSiE53eQNGITnSiE53oRCc60YlOdKITnehEJzpJ7wUrdLq60EnlxOdO4QQ6aZyw+k0qOZxAJ41Tp4UxYfy9Q55jvbD0xj864XYg3uqcfVqn/ioG7KPw+9YJm++3JHUarojBQU8VNwBnB6rYCjiNgir+xPnmlFNtKTpZQYFLvZl+vDaUjKkYBcb/LzfT3tdT+ZF7lGJA6vYWVOU9WYw+QXefWO2BriMF7hE3q08nJRQU9/iVn2Lef1zeqXOt462DL36KpX//5WXKUNvp6aLQH6gIr6tb3jH1Zpf/T9ZV58ey2okaaniVWuY29nRA5QKV+arVyfXK4y3HhZ0GJ55+oeo6qS/H/jvLolN/Wj44m1GUCTY3sadnetw2L+rUq5XB+xHyOo1P9VR1avQ8gyaF0ky/TnP7CPmdpOc0OHdYzKnHhMn9ljpMcg9B9aDKOTUnkJdYlHJfKrNTt1Yv9qXKMHVmA62/rOUkih2oif27OkzqAEElp8kQ0rzTp+luQKZGJMXeyWtLFJmEmnb6VpyQTPf7C4ydvHZu8jFhOZMLKPHl5HS4FNngZFGe8EwVnGSLk0mBwjMNnWZLNFpvBmUydXooXnQmWfXSTSdO4t3JxfJFZJMTQjsJnXYzPTshspPQaT/TJqfwTLLsHdNnnSSK09nHTnY6GRY0PNMKp+PLYHHvtCFcoMiNTqpbc2Svk2GTX/BEbWba4rSk59nLZO2ETc2pny2dVLMNCeKEjU6NnIVOqrzjOGGvk+xhiu+k+sKTRyf9ntRwbJ/bRxWJ5aSF6vyq/2/lYFqy163KST1ilXES/bP1WJR0ThqouSfLsdPaBrV7vErgJHWdhlDu+p9D+whzTuKeaZeTAF5mQq72OU8tL844ifFKLHCik4WTPELQSRmEptP0VLq80+OQTidlZKMKk3ytEp0+QAmdJjt6OiVau+1yir522+eUP/0RYACCVHqBS4dMZAAAAABJRU5ErkJggg==">
<img id="hand-right" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZEAAACNCAMAAABBnLcxAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjFCMEFCNTkzNjhFNjExRTdBMkQ4OTdGMEJDMkIzNjUyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjFCMEFCNTk0NjhFNjExRTdBMkQ4OTdGMEJDMkIzNjUyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MUIwQUI1OTE2OEU2MTFFN0EyRDg5N0YwQkMyQjM2NTIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MUIwQUI1OTI2OEU2MTFFN0EyRDg5N0YwQkMyQjM2NTIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7mdCfyAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAOvSURBVHja7N3RluogDIXh5P1fetY56hodtS0QYBP+3IwXpVP4GtpaQHNCK2yvytq/QESG4hGIKGnIk2QXsY+BiJLGBxP7n0j3P48P76l23/CxKSKBHjcRO9nmNLq0nu3IcWvNkIhvQNuSIzYQ0fKIJjE8xEwQUSMxPBBJ6BFJYoAgktEjkMTwECNBBJGkHmEkBggiST2iSBBBJK1HEIkBgkhaj+1FTDAmixgeCiL2oTHG25ioiA0WOWyHgSyyHkNFJo6XWaK/emoBGyEyb2jGYiDtzWBdmqBTqtgyHA3NYL1OyViU29DOBSNcZP54P/M1KapRrH+P/TLQ+enDtwOwFTuoOBOTuYBmImghsbVvaBKaGB5iJoaHGIkBIkZieIiZGCBiJAaIGIkBIkZigIiRGCBiJAaIGAkiaiQGiBiJAYIIcUhigIiZGCBdmvr0BdyxCM3Y59SvIkGka09UQWKAdL00bCyiusRAcQlbFuTp4qnw3VzNmJ4UAzff7mg03oFWjkLMMuzEaxtgCkgpSTaPKVXynUX0pjO0zbBYXUR0hknLES0tojzpJ44kocdiV/c1RYpnosiRXC+XLj1m1iuEJCWH5JNiFpHV5vS2J0lOjalVayRJ6yGYJtfKqN5bBa3nJmWyrsj6C0S0kCTWaK1fy1T6hvutzBpta1Y0vkSqTpLkHvU1bN5TbZLk1qivYsAOK5MkvUdlHSN2WlZOQ2TQunXdTpIeJJlzo4EkZsmvpUR8aHQ9utLdnGyeX6OqnkE7L9t+johPir6HGfSl41iR2atvdz5vlhIRWQm9L0nxbppFnn6d/P4b5geDn/0XQmld+vFJ4hUkEY+wX1a90YvhSVJapOBLNM8Roy/uxYUuz1bwDUWmkPjFGT2eJwY/KJYWuyjimaLkXccIkdcD8mszQz1bdCFpKf8m4nuBCJI8Sl8S8ZwRTxJR3K+swuG+s8k4Eb8q4pkj1iTg1sBP19fy9KFDgsh1lWEir99F7Qty+pAyScT3BQm732x8Fel/RHxrkJD7m4hz+vvUBd8w5ER8b48Ak4Bexr49zEMiIkL4ZBJEEMlNgshAEkSWTJKAYUa0f2iSIJKv20Kkb5Iggggix0URWT9JEEGEbgsRRPKSVBRFRC1JEBEQcUTURBwRNRFHROvS3kSCSB8RR0Ss20JEN0kQQQSR4/KIILIXCSJqJOXFEelK4oioJUl5eUSEkqSqeREpIhnxH2n0AhNHRIvEEREzQUQJZVhLIaIWPwIMAB0Lg0bf7EZhAAAAAElFTkSuQmCC">
<img id="arm-right" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASMAAABeCAMAAABfNYK0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjM5MUFFNDk2NjhFNjExRTc5M0JBQTQyNDdGMzIxRTg5IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjM5MUFFNDk3NjhFNjExRTc5M0JBQTQyNDdGMzIxRTg5Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzkxQUU0OTQ2OEU2MTFFNzkzQkFBNDI0N0YzMjFFODkiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MzkxQUU0OTU2OEU2MTFFNzkzQkFBNDI0N0YzMjFFODkiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7tCjzKAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAGOSURBVHja7NxLDoMwDEXR1/1vurOqqBHP0HzscD1GCRzl0xRsvQgXggAjjDDCCCOMMCIwwgijIkY6RvzabY0Uj2Ojp5fsY6Tu0e6lrJGGRLuXmkbSBKMaU1BzhQ4cVZYpTRb6WthV2Eij47eLamu2pke5vT8BUTZP5SFKO/i0WGjxXA21oPpEN0ivYT/Q6PLAFESWSRD58wBEfsOFyCph5JEEkUXCyCMJIox6/CqHCKMOSIIII4ymIAkijDDCKI8RChhhhBFGGO10FoEBI4wwwqgGEUZWCKMAEUaeiP9GPBFGnggjK8R7ES+EkQXC6NQmkNaJD0af41jsO38GTyAXAiCM7gM99JvRu7lZAAVysxAK5K8B9HSjTrmiAAXyIAF6+ZIxADWFdsjLHgfUzO9PcL5MBpSiBkLrufL4JKmlYZ5tKU+amixjn3BM/SOMInW0MFpaa+y0B2rWyW6i9epDzphJFZDcK4Hxi015o45QofbLGv0rd6GtzYxCZn2LfpU36mKMUaF7qXBfmeItwACmUSd7kRT6uAAAAABJRU5ErkJggg==">
<img id="tors" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASUAAAE8CAMAAACxYFcWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiMTk4MjQwZC0xMDcyLTI1NDYtYjgzYS0wYzJjNGExNTg5NjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Qjk1RjVCMkY2OEU1MTFFNzk3RkZERjY5QUJBNjVFNjYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Qjk1RjVCMkU2OEU1MTFFNzk3RkZERjY5QUJBNjVFNjYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Mjc2ZWMxMmEtYjE5Ny01ODQ2LTk1NGEtNzYxYzRlNGFhNjIwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOmIxOTgyNDBkLTEwNzItMjU0Ni1iODNhLTBjMmM0YTE1ODk2OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PuQIcf4AAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAABE1JREFUeNrs3VGO7DgMQ1Fy/5seDDDz16+fksi2LF1uoOADKohtICUnRm6ajIXph6D0N6F+Ulok1MtJK5HaQGkpURcnLUfq4KTlRB2ctAXpdihtMrqbSduQbobSTqRrnbQX6VInbTa6E0oHkO5z0hGk25x0COkuJx1DuglKJ5H+dRJKXQql40g3SKkEUnUoVUEqzVRIqbCTCiHVhVItpKJM5ZRKOqkcUkWnkkrlnFQSqRqUqiKVkqqtVAVKxZFqQN2gdF5KdyAdltI9SAed7lI6BXWd0hEo3Yd0wOlOpd2XCroSaXef7lXaCXW10jany5U2OelypD1Quh9pg1OHLq136tGl1U7qgrQUqpWS9irp3qB0zEntkFZshTsq5fdJLZGy+9RVKbdQnZWE0lYo9UZKclJ3pBSmAUoJTiOUPjtpBNJXKE1B+sQ0SEkorXXSJKTXTtOUlKAkwYTSW6aBSvqoJMGE0mummUpPnaYqCaV0Jk1FesQ0WEko5TKNVhJKmUwajRRlmq4kJi6NCSUmLosJpQgTShEmlJ4pSTCh9IVJIAWY6BJKWUxMXIQJJZSymFBCKYtJIKGUxIQSSllMKEWYUEIJpZ1MKKGUxSSQ4kow/cqEEkrJSuCg9JmJiXughA1KKG1hQinChBJdQgklnks3MqGEEkooVWNCCSWUdjKhhBJKO5lQQimLiTsUlFA6oAQKXfrMhBJKKJ1Qguk3JpRQQgmlakx8dQGlfCWYUEJpPRNfYnzYJZRQYuK2KsGEEhO3mokuRZhQQgkllEorwfQHJpRQQumcEkw/M6GEEkoooYQSSiih9EgJph+ZUEIJpZNKMIWUYEIJJZTKKcEUUoIJpZR9HEpRJZwiEwdTrEsohZRgCinhhFKeEkwhJZj+R/Lvf1lMAkowoZSmBJMjSkYpomSUUMpSMkgRJaOEUgQJpSwlo4RSACmkZJRQQmmnkocjoRRBQgkllAoqeTYSShEkJg6lzUpMHEp/RUIpgsRzCaUsJCYugoQSSklGKIWQokpGCaW/IKEUQUIpgoRSBCmsZJRQ+h0JpYARShGjB0oejIRSwAilENIDJc9FeqLkqUYoBU+0PZvJKCUZPVTyUKTJSk/W7aFMz5Y9VMkrlTzR6LmSJyINVPKLvHAdZ/RGyeOMZinZG5U8jGiQklFaS/RSydOQ3il5FNEAJaO0C8lvX0YHEb1X8iikrkrOzfutzSCk90oeQ9RRyS6l5DFGzZTsekoeQvRRyVOQ/PF0aoRRFyWXVvIEou9KHoH0Wcn9iTKUPADJGYfC7ZEylNzdKEfJzY2SlNzbKEvJrY3SlNwayXk/2dfoOiWfSep9TFOjXCW3FEpXWujkTkruaJSvtMTJ/ZTcjWiNUiqU3VfJrYyWKbmT0Tql71D2CCV3MVqr9BrK1bL+wu9+ow1Kz6RcMxvvIS4V2qv0H5V/0CktdEDp0qCEEkoooYRS1/wjwAC9Jm+J+wBo5QAAAABJRU5ErkJggg==">
<img id="stomach" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYcAAAC8CAMAAACkCpKWAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDozMWFhNGZmNS1lYTZmLWRiNGMtYmIxMC1jYjY4MTliMDE2ZWUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RDMyMUI4Mzc2OEU1MTFFNzkzMzJDRTg3QzNBRjFFNDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RDMyMUI4MzY2OEU1MTFFNzkzMzJDRTg3QzNBRjFFNDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MzFhYTRmZjUtZWE2Zi1kYjRjLWJiMTAtY2I2ODE5YjAxNmVlIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjMxYWE0ZmY1LWVhNmYtZGI0Yy1iYjEwLWNiNjgxOWIwMTZlZSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnqRCiwAAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAAA2hJREFUeNrs3eGSmkAQReHb7//SqbK2jCIowzQzt+Gcf9laZOwPBN0kq3BOj+IGacAgOxluAaEBx/PRQQqHXIZjkxQO6Q4aui0OW6NsHubqphdWGeagXoZrnx7jHNRzJunqL1MzHPTrPmq5nYRDnsNjgmtf+8Eg4ZDrsFHjZjgMcbglw5kOaqhhKxwaP1RSWzvteB+XcuB3h8PH9EcT4DDx+L8HQ7uD5lZgojrdQdP7fmdg4qBTHSRLBpOTpncRqoPw/tSMXsEylqA6ClufUM29qiTtWZUU3K7xibvVbRTSRVL3pxsq5LDk7kIoHFFJf1jBkHKr3AshGPYPcOWHg1kQgsHiJU8oWEAIBgsIweDxSSUMFhI4eEAIBo/3JDBYQAgGCwjBYOnAiOZACAYLCMFgASEY7ByYDQ53hxAMFhCCAQcgPh2YCg5AhGDAgZYOTAQHIHAwc2AeOODwdGAc0yFw8HFgGDjggAMOtOLALAwgcMCBXh2YhAMEDjjQiwNZQDAFHAgHHAgHXwiGgAPhgAOtQTADHAgHNwhGgAMRERERERERERERERERERHRLeNvbOBAOOBAawo44EA44EA44EDfGHDAgXBwY8ABB3pzAAIH+mPAwccBCBzo+f/o4uDiAAQOxO/LwoEWDPw+RQ8GHKwcgJjMgIMHQzyvE4QDDPH/QkEWDkDgAEO8XirIwgGIeQzxjkI43JohFipk4QDEJIb4+DPNYIjPL5CFAxAzGFYcgJjAsOaAhIsDEKMZNhyAGMyw5YDEWIZtByBGMnxxQGIgw1cHJIYx/HCAYhDDbwckBijscvCXKPLPaeLSDmVWGt0OUejJlVQo7lBotZHiUOyplVPY7RDFzvJiCvsdotjhVQqhxSGqHWCVFIo6nAURkxCaHKqdEE0LXmyRQNpYywaq96rb+iDbj33O+A85FLz8bS+5fR6nGbQ7xLmjPefEz5vZy9ZpAMccYuQRnnX0JR65aXPvdThPonVnx9cchilMIPaO8Pgdia3BQYcYe91d+TbriY5zOEFi985+3V7eyyGG3oXiMEiiYV/d676aQ6JEHHAIHLIhmvaEQzfExiZte8Ih5xPNt41DzT+GwqELImGhOHRD5Kz0ygz9939DDC76piHT4fNm5gZ3mZYOj8kzSQMHwuEi/RNgAJg1QZUD4KjhAAAAAElFTkSuQmCC">
<img id="right-leg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYQAAACECAMAAACnFKxVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjk5RUM5RjY1NjhFNTExRTdCQzAzRUZGRTdEQkZFMjcyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjk5RUM5RjY2NjhFNTExRTdCQzAzRUZGRTdEQkZFMjcyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OTlFQzlGNjM2OEU1MTFFN0JDMDNFRkZFN0RCRkUyNzIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OTlFQzlGNjQ2OEU1MTFFN0JDMDNFRkZFN0RCRkUyNzIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4y55S2AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAKxSURBVHja7N3RcoIwFIThPe//0u1MrdUBNZCcnE35d7jsoOwHCagFBSmPqGBRBD0sWM5HkL6X3QAxCUHvQ53ZCGoLQ1MWgloJOCKyEHQ49GqAoGCiHoqgjgAxBEHdAaITQcNC02cRNDYcEycQlBAgDiEoLaM34Id24cvECoQRDnp3/bgahyoIOsYlHXhry1CoyOBETzp17S4QxvQk/e9LRlUTvOtJ3f2vAWGC8FDV33KZ02M5GUxxXgNB/zx+B4QuZ9AJsf2Rw+e/Poygy+QYxO07klffnXS9ki5r0NjQuDOE1y+kqxs8fxX4cGqW0UUTgkjFuZkwqFcAwYBBGNQzCIN6BWFQrwCCgYIwqFcQBvUKIBgoCIN6BWFQrwCCgQIILgjUUasAgoGCMAABhcj5kRUBYT0FEEAgAsEFgRpAICCAQEAAgTwgkHoFKgCBgAACYWIGgYAAAgEBBAICCOSFAQggEBBAIL8GIBgYgAACAcHEAAQQMAABBMJdjkAgEje+szIAwcAABAMDEAwMQDAw4J9E6glAAAGC4AYjIEAAgg8BCC4IKNQSgGBAwC05DQhAMCDgNs0GBCAYIaBQSMCTRKr7B8FCgKdLWRjwnDUQIODZmx4EPIXWgIDnMY8n6EVAoeAw2CCgUGGwOXjocb4BCAYG22mEJnX/bPlv0W1JMdiZy6+8Izf0mGCw97JXGDCe9urbft7a2BSEWHAESR2y2+qJsQjh33noPmDH0/g9ASHmIIRt901blGywX08MRwiHOXJnf2/eqFSDWQhhMoEO7CnSFCI6V66wVBi/u0YkKYxY25kz4twRaFRliQb3lQ9aWRgobEd0x/01611+Gs1WGXo+vf/wjqJWIX37/Ala5vWVCRZJ10dWEExDCAgMELr/sW3HlOaPInQcEEHfn/MlwAD/fjKrKPMSjAAAAABJRU5ErkJggg==">
<img id="right-foot" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdMAAAERCAMAAAAXAL0gAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjc2OUYyNzNDNjhFNTExRTdBRjQ1QjFEM0UwRjNBMEFCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjc2OUYyNzNENjhFNTExRTdBRjQ1QjFEM0UwRjNBMEFCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NzY5RjI3M0E2OEU1MTFFN0FGNDVCMUQzRTBGM0EwQUIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NzY5RjI3M0I2OEU1MTFFN0FGNDVCMUQzRTBGM0EwQUIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6ojUP7AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAVfSURBVHja7N3rcts4DAZQ8P1fei+z7bZNbFkSKYLg+cY/M6GpY0ASE1PRpFrCIWAqQxTin3TiYDof9PcwLVKhXVmZZqrRPqhME5LeVGWaUfSeKtOkpDdQmSYVvaHKlKk8R3pVlWlm0muoTHObXlFlmpyUaUHT86pM85sG03KkZ1GZrmAaTOuZBtNypKdQmdZDZbqKaTCtZxpMmUp+02C6baEyrVeoTJnKTNNgummhMq1XqEzrFSpTpjIV1fm0HirTeqhMy5lac6iHyrScaWPKVNKjMmUqZZov03pXvkzroTJdbd3hmJXpeqZHqkxXNA2m9UzfqjJlKvlRma5qGkzrmQbTeqbBlKnkNw2mTCW/aTBlKvlNgylTWbP5Ml27ToNpPdNgukOhMlWnks00mG5QqEz1XtF7Re9FqvcyZcpUFlxGYspUmMpg08aUqazYepkyFb1X1ClT/7PNlClTYSpMZQQpU3UqTOV5Uqb1lpGY6r2i94rey5Sp3suUqTAVpkyZMmXKVJhKziUHpkxF7xV1ypQpU6Y7nE6ZMhWmwpQpU6ZMdyBlylSYClOmTJkOM/XJSER6TSO+e2uQ1jT9+xf9+/rvd0b7cBTpT9rD9M4okq9O748juUx7jCOPtd5j024jyUNlemTacyjJYNp3KEnQe3uPJdNNg2li0ngtGd0H5TXH9LhOhwwm/UjPmwbT5KRnTYeNJrNMR44n65r++ro68bJ/l43HTaN7LoH+8SsKFX88bRpj0mvSBWyHH9J4hvSU6uftHemxaYxN9ymvCBsP1+l80+pX2U8czUdNDw9/+funKGgaQ2e8l2lkMX338Zpz17Sq6IemERNRZ94NL0mayTTGN6WEsE9WxwTTr+9m+irHaNAWc0zjyWRbulqsQt9OcZbpz/WCDAtXa4J+YBrVUp/06JlBwXQ90o1MkywDxxNrOPHaVHkuWKUvplvMtPzty36mbbMi/X7SUYe0/LIR0z1Av5t4VCE9PK09dzE8e+5Rk/TlFUpB0S+zKlKnJy42y4F+mVQUIY0Uu07k6FNR50Zm+gVVlgntatqdNdF0YlvSV6ulS4L+hrq3aZ+bnGyNh+lN2ZRX/0ivnmKj5Xz/6vRayWb+UDI9hxstf6PRe+udPZjWQ2XKVJjKlAs7h4GpMBWmwlS+mkJlKkyFqXQwhcpUUpMyrWoKlalkJmVa1hRqIVKmTGUdU6h1SCvvTcfUAalCWnlfUKZQq5AyrUf62xe3HJZ6plCZSkrSCc+BksGkf34R2rFJaXX8X9ivn9cGNW/1vbd5Z0o1Keh7nMZ0VdJXPO3AlOo4pBNfUDqzj087NoXa2TLO31+c2J7p4Jm2VDtTXt006/Nd1A6fUwx14JnwzDG++WibRvWp2vz0IN9+XFGjesXux1ny56vfRrFtoCnVDpV4YXPRsaZcx4J+d4R7fEwa1a5XPlcZ+o0SV3v+Xpt7PPT8qD59IC61h/j1bfy8YACa5TGd51E3atJtxcTZM3nxc2/L8uDqR0w//mHXtCuZLvmAjp00R5oupNrqZeCceNYzTc7aymb41IDWM824nWxrTGvVa2tMR/5ZCejipvPrtTGtxtr2yKR5Aq1n+jhra0yLmTamtVTbZpk6YaT1TBvQeqYNKFOrC/lNWy/B/9cdd9bMYdp02XqmjWk90y6qIOuZQk1mqlIrmkItaNpBlWU9U6jpTO+rwsxn2pjWM72pCjOl6Ue7thFdzPSzrfiiddqdiGkSVWrLmVKtaNpcEdUzxVrStLl9qWfa3JXWM233d45nCpWpBszUxRJTixCVTdvRZhAgVzR9X68glzX9IduAFjMVprvlLwEGAAEuSDcWeOtjAAAAAElFTkSuQmCC">
<img id="left-arm" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAUYAAACACAMAAABAzzDfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4OTJDRUU2NjhFNTExRTc5QTE5RjhBMkZGQjVGODdCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU4OTJDRUU3NjhFNTExRTc5QTE5RjhBMkZGQjVGODdCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg5MkNFRTQ2OEU1MTFFNzlBMTlGOEEyRkZCNUY4N0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTg5MkNFRTU2OEU1MTFFNzlBMTlGOEEyRkZCNUY4N0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5wGqK2AAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAAJZSURBVHja7N3broIwEIXh1fd/6Z0YNLCVQ9sFTId/woUXBvVjWkqRjgphCEEA4wMZpcUGY/1naCXK7MXn+6jvWKVgnJKtP7b2uI6omxx1SdadEP+/+T7yCIyXEv7sFwZlnHdmihSDMKrEYhuQUQNE9xlyQqkZNCgXYQfj1ghjl0m5CCsYNd96d6tsiDrWcM27Vi7Dnd/afWnQzJhE0Tcoa2DUgPH9m9zj2lpGjRxFsl3g70Iqq+K1fYdAPJURqRpIoehwFIgOR6HocBSKDkeh6HAUig5HoehwhPEURlyaHIWiw1EowhjGUSg6HGG0M+IB472OQtHLCIZjjgJGCyMSMMKYixEIGGHMxYgDjDDmYoQBRhhhJL4YUYARRhgJGGGEEUYCRhhhhJFoY8QRRhhhJBaIMMIIY7KOkfvUMMY5S8PouQ7kH2Uwxhl4wwhjFEUYLYqFJxFgDKMIowMRRo8ijBZFHgS2KMJoUeTpfosijBZFGC2KMDYYansVeoSaMrGwuJYHEcbu5gyjiZCFB7sb88pKy3hVJyKMjjyE0WXIgtWdbRlGUxqymL8lDWF0EVKhw0L48Hoxpb0rPFYg7wFypbp2ckMp28Sn3snymjLfDGE81dJh9BSdx9HCiKOHEUgYr3bMV+b7Fsfd2XEYHYw4ehhx9DBmk7yPMRXknYxDQL4mbFSWU2DBGF/vHS7FIjKGzMpDJ8kSjvEz13n2/Ope42ww6bpP4GZcP9CWzq2s/A3Td+MkHuPbstXznXUVzSAUn5NxmTPlWL5FBQnA+HPfubxuYHxQ/AkwAFAbIkZOWaQSAAAAAElFTkSuQmCC">
<img id="left-hand" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfkAAAC/CAMAAADKHlUTAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkY4RkRFQ0Q4NjhFNDExRTdCQjNDODg2RDA4NzI3M0I1IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkY4RkRFQ0Q5NjhFNDExRTdCQjNDODg2RDA4NzI3M0I1Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6RjhGREVDRDY2OEU0MTFFN0JCM0M4ODZEMDg3MjczQjUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6RjhGREVDRDc2OEU0MTFFN0JCM0M4ODZEMDg3MjczQjUiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4hBYWbAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAARUSURBVHja7NzbtoMgDEVR8v8/fZ7PqCWoCSXZa7+2Ws30gkgZRjQzKAHyBHmCPEGeIE+yTcZAXtN9Cz3yZ8oP5EXh8+mRR56cJT+QRx55LfmBvCg88sgjrwWPvCp8Mj3y58IjjzzyWvDIq8IjrwqPvKg78rLwyKvCI68Kj7yoO/LAI68Fj7yoO/Ky8MiLujMOTxUeeVF35IFHXsodeVV35IH3VoV8K3cPNOACgXwx+LC7A/LJF9VH7mNDBwDyy1z73MeOViHyN7x2wY/AQwb5GK8fwI97QT6rRZbvPp6z39lC5G+D7YMfz4J8WmN8C/x4EeTTWuPZt/jxMsjntcbTTvgREuQzH8Pi4SODfOZz2MHw7sYh/9LsWHj3pQ/CCX2tR8A79MiHmJ3o7h2UGAehnQg/o0c+8mw9Dn5ij/zn9IMhhR7HBPmN9+KD3L+P88BdIMiLwl/SD9xF7QfwHVAf0A/gu5zKdwf3Aa+Dj3y7m/zqbiHfr3W3uGeL8hFjToHfj794hNyqDNI18JeOj/tlgru0/Vf5kJEoeJ9r/0U+bMQH3j+39z4OH48A+On2n/Lhr4CBPtL+Qz7nNTDgh9KP+PJifnpL7798ZnfyEea6L2bnV/utLxa2mvNO/nr6h/HDgiSf5dw9Lpvv/5/n2+6veqthdmntVBIaizdKMloUhYeEBxfA4lXh2fBphcrK0yPwXr6rOezTepWSp/8vsGxF5On1Da/esF7ksK9W8UB53vFsqWkDa9gflbgNOuw3C83ZfrU9/tfq07eQj98S/7vl6etf7ZNavu73kf/pMZD3q/4SxenrPtMl/9TCMrXpS3bgbDnCSl0wH+x0uZ6nfReW85+MXu14la094X7SoQ9Bt/vjeQOySfeRqPyLh4c2XYeC8m86DFr1GmvJS/3Rc2myHNx70vudkLC3tF+YKwf3lvYLHdCw97T350vBvSe+sPzZM/fkV9597YT7dvw9FwhJ+XNnadt5c3BnSIJ9i/7+hoGWvBUM8pLsiQbe8BLYu9rP50RrIm8NgryiegaFO6QM9qb23il//L+oZdSD7f1RpMNgb4hvLeWtewIrNPuo1q3eNJIGX1PehBJUp+lnJdr3ppeQUnnyhnob+/kqrIq8aed1webXg0P7c4zcd3EWtwt5A70+vresXcob5tX9vaXsi7whXpreXci+yhvgheXdhWwib1g3g5//BXzX/BngJco7S3350NLpcXsq/RJ+/tf/3EnSINzffbP8Q5HvCkD/QYetRcnPfh6aPvB2Y9I5ZPrLL00FR0rDG6aKrTvkq8sb8pr0hrwmvSGvSW/Ia+Ib8qL6yIvqG/Ka9oa8Jr0hr2lvyEvSB62Y2lazN+Q17Q15SfvAVVLVOvix66OkqkcSJUCeIE+QJ8gT5AnyBHmCPEGeIE+QJ8gT5AnyBHmCPEGeIE+QJ8gT5AnyBHmCPEEeeYI8QZ4gT5AnyBPkCfIEeVIifwIMAPQbBwaP8QnDAAAAAElFTkSuQmCC">
<img id="left-leg" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAU4AAACdCAMAAADsUGFuAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM3NzhCM0U4NjhFNDExRTdCNUM3RkUwNDkwN0NGMzgyIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM3NzhCM0U5NjhFNDExRTdCNUM3RkUwNDkwN0NGMzgyIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Qzc3OEIzRTY2OEU0MTFFN0I1QzdGRTA0OTA3Q0YzODIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6Qzc3OEIzRTc2OEU0MTFFN0I1QzdGRTA0OTA3Q0YzODIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6vB4RZAAAABlBMVEUAAAD///+l2Z/dAAAAAnRSTlP/AOW3MEoAAALxSURBVHja7N3bcsMgDEXRo///6c40beNJcwF8wAK2XvIWw4q42EmQgjCGIIATTjgJOOGEc8qu6ru76tlp7UL5LOA0YsJpxYTTqwmnVRNOo2UPzWU59clSvS67WU7CaaeU+g0K7wC73Xz8tfph0CXBVCTnlCq60qljl2OaOHUyBrci4SOQu4E8cZr0estGTvWJmZegZk5pXs0h290Mlu29VY5Js45TY+LdTP0zw/6+xNj0N3JqXBwBzZeOHJwaGv0umYJTq0Qk4BSaRk7B6eMUmkZONI2cYDo5l0Ec/Hhca2pe+BUVmn05wXRyYunkJDWdnFjCmQTzPyeYTk404cyjuQpnpOQE08k58cyZhHURziOs36j8XZfjdJPWTSpa9JGxZ+hXv+XCnGfztOUzWpyzXbUt6bWD5mH9d/yKrIhTO8XzPw6rkAHOQcscnFZPOK2ecFpB4bR6wmn1hNMKCqfVE06rJ5xWUDjhzAsKJ5x5QeG0gsJp9YSzEyeecOadO+GEMzEnnnAm28fDCSeccBJwJuLEE044d+HE03lXBCfZmZkTT+tghxPOxJx4wgknnET9RglOOOFcVHOxQ9PgXEoTzs6ceJ7QhBPOqTjx9HLi2awJZ//sxNOanXjCmXiw4+nNTji9nJk8QwGnublKPGJKipOlnerz5ep0td5etbCpOC6cH4/dvHYuKOGMmTiPHXq+nOlWt7iLexFnTMl5/jTemj2HIgoH+6zpWX9yvrE1s9QYHlCPoHRZqy2dl5BzZJWH96rVpfOcnj/HM9eOrLhK82PX4xRn9Emnt6qPV760Iknlp6pOC6DjnPvSc96H5amBsx40opThxR4xYailIozF8/wMFfOGwus5ouzK7JzloI5VdAPOIlDXrmQHzs+gtl3eHpxvRcfuRxbhfLG3Me/vNuI8PAe/30SaN8zbcXa9AQk4l23PXs2HE04CTjjhJOCEE044CTjhhHM3l8avEZF7CQongx1OAk444YST8MWXAAMACxteGQDDx/YAAAAASUVORK5CYII=">
<img id="left-foot" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAewAAAC5CAMAAADdwPyiAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo1NjA3Nzc0MC02MTM2LTgzNGEtYjZmNS1mYWJiZGI3ODcxM2UiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzE1NUVCQjk2OEU0MTFFNzlEOUU5REJGRTdEMjVCQzEiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzE1NUVCQjg2OEU0MTFFNzlEOUU5REJGRTdEMjVCQzEiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTYwNzc3NDAtNjEzNi04MzRhLWI2ZjUtZmFiYmRiNzg3MTNlIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjU2MDc3NzQwLTYxMzYtODM0YS1iNmY1LWZhYmJkYjc4NzEzZSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkV+jM8AAAAGUExURQAAAP///6XZn90AAAACdFJOU/8A5bcwSgAABHFJREFUeNrs3duS2yAMgGHp/V+604tut9PEGxud9Sv3GcNnYcAGRIkuIel/QCy6WwhvIPkdYG+w/hvnWGC3gBaT9Aa7EfYpN9idrA+1we5EfcgNdjNrsBdZn3CD3c4a7E3YAvYe68faYDe0fqoNNthEaeuH2mCDTdS2fqYNNthEdWwBe4812JuwBWywwQYb7M7WD7TBBptogC1ggw32ROy73GC3xhawF2Hf4gYbbKIN9g1usPtjC9iLsD/lBnsEtoCNNtgjsQXsRdgCNtpgg00Mf2qDDTYxcWYF7DnaYIN9A1v+2VGRe6Ow9im2/cZrhJv2EbbHhj2En/ZjbK89XIhPsTUK22/xP+GX28+wHVeNEn7aT7A9F6AQntz3sT2/UidcuW9je37KSvim9k1szw9ZieyntgRM3BBzsJlF7TKvIufUpHcZa7AXWX+OLWcBT771DwpiZY12AepPsQXsAdbXCmJmjXYF6zBstPOtLxHE0BrsfOpLBVNsuAtYXyCIqTXaq7DRzqa+MBBja7gLYEsgNtzJ1u+0xdwa7nzrN9ou2DTm2dav698NG+5U63fY4hcIpmFLODbgadavat4fmx5bknUWNimegS2J2F9J/sk6lf9/WPfDfokvdxYtTsSPaU0l2drwZsH6J+322CNSHuw9/f+obvFU7FbgUYOgydhNRnxx5Z+PXd47rvQrsEuDBxZ9DXZZ8MByr8Ku2GUTsNeAhzZp6dOlu8EF7DpvZGZYg10gxaO7psuxU1NcwN6S5wmjTlG0U8gF7DWzLwL2mvQWsHfkd15hRNF255YCE5Vg+3OXmY7+wkbbwbtgKcC25y75cukvNtqG2nWLALbpYKzuG+Nv2GhbgFdvnMA2a9brX7Io2iYp3uH+FEX7HL1JYySK9ponD9g7sdGe3qUURXsnNtqbsNHehA33YGuwV2PDPdb69cw+tbMIG+2R1m/f2VFDi7Dhnmd9/TaeelqEvXFjhrnU+tkqlz+rWqFvbX1/SRPgba0frV/Du6f148WKgLej1qOVqdRmK2o9XYZMlfah1vM151RrG2uLDQao2WrQl6fsAj4f2hAb7fLShthwl2a2xoY7g1juTY5M2AoI4hRstPNb6zhsuCNHzunYcFeEdsOGuyK1GzbaRR7TIdhw10pqZ2y4i1HrtJ2Woc7DRruStf8RCbMnr8CeyB29dMZHQtE+Hf50sQ463Gj6KLcFtYadZDV9OqODdeCxZcO7wg2sI8+omz3oaWAdewplr2FVTuF0CnZJbqtzV+tbJ5wvO/OFkk25vKtedSO3Q7nrW2edHK0ebfHXVu/vjsjzPSkbbOf8zj3Z3rhAOhf7sH60XJS3zs+Mmy26lkpmS2xdgP0ReWFiM+092A0uyhmbegUb7IHYtJh7tHk8gg32QGw6vmCDPRCbIe0ebeYvwAZ7oLaCvQZbwV6DrWCvwVawt2hHXxw+adrx1wZPlraCvUcb7DXaKReGTTx32mUhE66tYO/gTq1wsF0r99sn0gU+h/4lwADEr9Nlw+3y9AAAAABJRU5ErkJggg==">
</div>
body,
html {
position: absolute;
margin: 0;
padding: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
canvas {
position: absolute;
width: 100%;
height: 100%;
background: radial-gradient(circle at center, #fff 0%, #333 100%);
cursor: pointer;
}
#textures {
position: absolute;
visibility: hidden;
}