commit a2e3afb01dce9eee975368e7ac38541166c93a0f Author: Marcus Noble Date: Sat May 21 10:42:57 2016 +0100 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..81f8ab1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +build +node_modules +npm-debug.log +.DS_store \ No newline at end of file diff --git a/app.js b/app.js new file mode 100644 index 0000000..fcaaa61 --- /dev/null +++ b/app.js @@ -0,0 +1,100 @@ +"use strict"; +const fs = require('fs'); +const https = require('https'); +const express = require('express'); +const app = express(); +const Metalsmith = require('metalsmith'); +const inplace = require('metalsmith-in-place'); +const layouts = require('metalsmith-layouts'); +const markdown = require('metalsmith-markdownit'); +const permalinks = require('metalsmith-permalinks'); +const collections = require('metalsmith-collections'); +const pagination = require('metalsmith-pagination'); +const define = require('metalsmith-define'); +const feed = require('metalsmith-feed'); +const sass = require('metalsmith-sass'); +const Handlebars = require('handlebars'); +const emoji = require('markdown-it-emoji'); +const moment = require('moment'); + +const port = process.env.PORT || 8000; + +app.use(express.static(__dirname + '/build')); + +var md = markdown('commonmark', {html: true}); +md.parser.use(emoji); + +Handlebars.registerHelper('markdown', function(text) { + return md.parser.render(text); +}); +Handlebars.registerHelper('moment', function(date, format) { + return new moment(date).format(format); +}); + + +Metalsmith(__dirname) + .use(define({ + site: { + title: 'Marcus Noble', + description: 'Awesomeness with a side of geek', + url: 'https://blog.marcusnoble.co.uk' + } + })) + .use(collections({ + posts: { + pattern: 'posts/*', + sortBy: 'date', + reverse: true, + }, + projects: { + pattern: 'projects/*' + }, + pages: { + pattern: 'pages/*' + } + })) + .use(inplace({ + engine: 'handlebars', + directory: 'templates', + partials: 'templates/partials' + })) + .use(md) + .use(permalinks({ + pattern: ':date-:title', + date: 'YYYY-MM-DD', + linksets: [ + { + match: { collection: 'pages' }, + pattern: ':title' + } + ] + })) + .use(feed({ + collection: 'posts', + destination: 'feed.xml' + })) + .use(pagination({ + 'collections.posts': { + perPage: 5, + layout: 'index.html', + first: 'index.html', + noPageOne: true, + path: 'page:num/index.html', + pageMetadata: { + title: 'Posts' + } + } + })) + .use(layouts({ + engine: 'handlebars', + directory: 'templates', + partials: 'templates/partials' + })) + .use(sass()) + .build(function(err) { + if (err) throw err; + + app.listen(port, function () { + console.log(`App listening on port ${port}`); + }); + }); diff --git a/package.json b/package.json new file mode 100644 index 0000000..c3b56b9 --- /dev/null +++ b/package.json @@ -0,0 +1,26 @@ +{ + "private": true, + "main": "app.js", + "scripts": { + "start": "node app.js" + }, + "dependencies": { + "express": "^4.13.4", + "handlebars": "^4.0.5", + "markdown-it-emoji": "^1.1.1", + "metalsmith": "^2.1.0", + "metalsmith-collections": "^0.7.0", + "metalsmith-define": "^2.0.1", + "metalsmith-feed": "^0.2.0", + "metalsmith-in-place": "^1.4.4", + "metalsmith-layouts": "^1.6.5", + "metalsmith-markdownit": "^0.3.0", + "metalsmith-pagination": "^1.4.0", + "metalsmith-permalinks": "^0.5.0", + "metalsmith-sass": "^1.3.0", + "moment": "^2.13.0" + }, + "engines": { + "node": "6.0.0" + } +} diff --git a/src/css/_underlines.scss b/src/css/_underlines.scss new file mode 100644 index 0000000..0618a6a --- /dev/null +++ b/src/css/_underlines.scss @@ -0,0 +1,64 @@ +@mixin textShadowToCropUnderline($color) { + text-shadow: + .01em 0 $color, + -.01em 0 $color, + 0 .01em $color, + 0 -.01em $color, + + .06em 0 $color, + -.06em 0 $color, + .09em 0 $color, + -.09em 0 $color, + + .12em 0 $color, + -.12em 0 $color, + .15em 0 $color, + -.15em 0 $color; +} + +@mixin linkUnderlines($background, $color, $hoverColor) { + color: $color; + text-decoration: none; + @include textShadowToCropUnderline($background); + + background-image: + linear-gradient($background, $background), + linear-gradient($background, $background), + linear-gradient($color, $color); + background-size: + .05em 2px, + .05em 2px, + 2px 2px; + background-repeat: + no-repeat, + no-repeat, + repeat-x; + background-position: 0% 1.08em, 100% 1.08em, 0% 1.08em; + + &::selection { + @include textShadowToCropUnderline($selectionColor); + background-color: $selectionColor; + } + &::-moz-selection { + @include textShadowToCropUnderline($selectionColor); + background-color: $selectionColor; + } + &:before, + &:after, + *, + *:before, + *:after { + text-shadow: none; + } + &:visited { + color: $color; + } + + &:hover { + color: $hoverColor; + background-image: + linear-gradient($background, $background), + linear-gradient($background, $background), + linear-gradient($hoverColor, $hoverColor); + } +} \ No newline at end of file diff --git a/src/css/main.scss b/src/css/main.scss new file mode 100644 index 0000000..1c30068 --- /dev/null +++ b/src/css/main.scss @@ -0,0 +1,299 @@ +$border-color: rgba(9, 39, 64, 0.72); +$link-color: #AD4E4E; +$nav-height: 40px; +$selectionColor: #D2D2D2; +$background-color: #F4F5F6; + +@import "_underlines.scss"; + +body { + padding-top: $nav-height; + background: $background-color; +} + +* { + &::selection { + background-color: $selectionColor; + } + &::-moz-selection { + background-color: $selectionColor; + } +} + +a { + color: #4a4a4a; + transition: color ease .3s; + margin: 0 3px; + + &:hover { + color: $link-color; + text-decoration: none; + } + + &+img { + border-bottom: none; + } +} + +pre code { + overflow: scroll; +} + +figure p { + margin: 0; +} + +iframe { + max-width: 100%; + border: 0; + overflow: scroll; +} + +.emoji { + display: inline !important; + margin: 0 !important; +} + +nav { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: $nav-height; + display: block; + font-size: 1.2em; + background: $border-color; + border-bottom: 2px solid saturate($border-color, 60%); + z-index: 10; + text-align: center; + + .github-icon { + position: fixed; + top: 0; + right: 10px; + } + + .twitter-icon { + position: fixed; + top: 0; + right: 40px; + } + + a { + line-height: $nav-height; + height: $nav-height; + padding: 0 5px; + color: #fff; + display: inline-block; + border: none; + + svg { + height: $nav-height / 2; + vertical-align: text-bottom; + margin: 10px auto; + } + } + + a:hover { + background: #fff; + color: $border-color; + border-bottom: 2px solid saturate($border-color, 60%); + + svg path { + fill: $border-color; + } + } +} + +#logo { + text-align: center; + img { + width: 200px; + border: 2px solid $border-color; + border-radius: 100px; + padding: 0; + margin: 0 auto; + box-shadow: 3px 3px 5px 3px #ccc; + } +} + +.header, .post-list li article { + border-bottom: 1px solid rgba($border-color, .2); + position: relative; +} + +.header::after, .post-list li article::after { + display: block; + content: ""; + width: 7px; + height: 7px; + border: 1px solid $border-color; + position: absolute; + bottom: -5px; + left: 50%; + margin-left: -5px; + background: #fff; + border-radius: 100%; + box-shadow: rgba(232,232,232,.5) 0 0 0 5px; +} + +.right { + float: right !important; +} + +.center { + text-align: center; +} + +.post-list { + list-style: none; +} + +.post, .page { + padding: 0 7px; + + a { + @include linkUnderlines($background-color, #4a4a4a, $link-color); + } +} + + + +.post-meta { + display: inline-block; + margin: 15px -7px 5px -7px; + font-size: 1.5rem; + color: #fff; + padding:4px 20px 4px 20px; + position: relative; + box-shadow: inset 0px 1px 0px rgba(255,255,255,.3), + inset 0px 0px 20px rgba(0,0,0,0.1), + 0px 1px 1px rgba(0,0,0,0.4); + background: $border-color; + width: 100%; + text-align: left; + + a { + color: #9EABB3; + text-decoration: none; + } + + a:hover { + text-decoration: underline; + } + + &::before { + content: ""; + width: .2em; + bottom: -.45em; + position: absolute; + display: block; + border: .9em solid $border-color; + box-shadow: 0px 1px 0px rgba(0,0,0,0.4); + z-index: -2; + left: -1.2em; + border-right-width: .75em; + border-left-color: transparent; + } + &::after { + content: ""; + width: .2em; + bottom: -.45em; + position: absolute; + display: block; + border: 0.9em solid rgba(9, 39, 64, 0.72); + box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.4); + z-index: -2; + right: -1.2em; + border-left-width: .75em; + border-right-color: transparent; + } + + span::before{ + content:""; + bottom:-.5em; + position:absolute; + display:block; + border-style:solid; + border-color: #000 transparent transparent transparent; + z-index:-1; + left: 0; + border-width: .5em 0 0 .5em; + } + span::after{ + content: ""; + bottom: -.5em; + position: absolute; + display: block; + border-style: solid; + border-color: #000 transparent transparent transparent; + z-index: -1; + right: 0; + border-width: .5em .5em 0 0; + } +} + +.post-body { + margin-bottom: 100px; + + a { + font-size: 1.3em; + } + + img{ + display: block; + max-width: 100%; + margin: 0 auto; + } +} + +.pagination { + text-align: center; + margin: 30px; +} + + + + + +@media (max-width: 768px) { + nav { + display: block; + height: auto; + + .nav-right { + position: fixed; + top: 0; + right: 0; + + span { + display: none; + } + } + } +} + + +.card { + display:block; + border: 1px solid $border-color; + border-radius: 0.3em; + padding: 10px; + box-shadow: 1px 1px 2px $border-color; + background-size: cover; + background-position: center center; + position: relative; +} + +.experience-list { + h3 { + font-size: 2em; + } +} + +.project-image { + width: 100%; + height: 100px; + background-size: cover; + background-position: center; +} \ No newline at end of file diff --git a/src/images/AzurePortalError.png b/src/images/AzurePortalError.png new file mode 100644 index 0000000..46ffc3b Binary files /dev/null and b/src/images/AzurePortalError.png differ diff --git a/src/images/Clock.png b/src/images/Clock.png new file mode 100644 index 0000000..a5e97ff Binary files /dev/null and b/src/images/Clock.png differ diff --git a/src/images/CrowdLighter.jpg b/src/images/CrowdLighter.jpg new file mode 100644 index 0000000..0a33aa4 Binary files /dev/null and b/src/images/CrowdLighter.jpg differ diff --git a/src/images/DudeWheresMyCat.jpg b/src/images/DudeWheresMyCat.jpg new file mode 100644 index 0000000..4bc0a83 Binary files /dev/null and b/src/images/DudeWheresMyCat.jpg differ diff --git a/src/images/Fit.png b/src/images/Fit.png new file mode 100644 index 0000000..9c4b4a1 Binary files /dev/null and b/src/images/Fit.png differ diff --git a/src/images/GoogleFit.png b/src/images/GoogleFit.png new file mode 100644 index 0000000..996bb10 Binary files /dev/null and b/src/images/GoogleFit.png differ diff --git a/src/images/GooglePageInsights.PNG b/src/images/GooglePageInsights.PNG new file mode 100644 index 0000000..5495681 Binary files /dev/null and b/src/images/GooglePageInsights.PNG differ diff --git a/src/images/HackathonProjector.jpg b/src/images/HackathonProjector.jpg new file mode 100644 index 0000000..04a8d5b Binary files /dev/null and b/src/images/HackathonProjector.jpg differ diff --git a/src/images/JSOxLogos.png b/src/images/JSOxLogos.png new file mode 100644 index 0000000..51b8667 Binary files /dev/null and b/src/images/JSOxLogos.png differ diff --git a/src/images/JSOxfordLogo.png b/src/images/JSOxfordLogo.png new file mode 100644 index 0000000..d4c86c1 Binary files /dev/null and b/src/images/JSOxfordLogo.png differ diff --git a/src/images/Jenkins.jpg b/src/images/Jenkins.jpg new file mode 100644 index 0000000..57d82fb Binary files /dev/null and b/src/images/Jenkins.jpg differ diff --git a/src/images/Mechanism.png b/src/images/Mechanism.png new file mode 100644 index 0000000..7771f90 Binary files /dev/null and b/src/images/Mechanism.png differ diff --git a/src/images/MrRobot.png b/src/images/MrRobot.png new file mode 100644 index 0000000..8adb315 Binary files /dev/null and b/src/images/MrRobot.png differ diff --git a/src/images/Nodebots2015Components.jpg b/src/images/Nodebots2015Components.jpg new file mode 100644 index 0000000..bec5e87 Binary files /dev/null and b/src/images/Nodebots2015Components.jpg differ diff --git a/src/images/NodebotsJoePerks.jpg b/src/images/NodebotsJoePerks.jpg new file mode 100644 index 0000000..2abc07e Binary files /dev/null and b/src/images/NodebotsJoePerks.jpg differ diff --git a/src/images/NotResponding.png b/src/images/NotResponding.png new file mode 100644 index 0000000..c3e67ed Binary files /dev/null and b/src/images/NotResponding.png differ diff --git a/src/images/Pixels.png b/src/images/Pixels.png new file mode 100644 index 0000000..b87f604 Binary files /dev/null and b/src/images/Pixels.png differ diff --git a/src/images/QControl.jpg b/src/images/QControl.jpg new file mode 100644 index 0000000..3f81dbb Binary files /dev/null and b/src/images/QControl.jpg differ diff --git a/src/images/SQLGraph.png b/src/images/SQLGraph.png new file mode 100644 index 0000000..5a6ab01 Binary files /dev/null and b/src/images/SQLGraph.png differ diff --git a/src/images/Stickers.png b/src/images/Stickers.png new file mode 100644 index 0000000..416dce0 Binary files /dev/null and b/src/images/Stickers.png differ diff --git a/src/images/Up.png b/src/images/Up.png new file mode 100644 index 0000000..f3d0dcd Binary files /dev/null and b/src/images/Up.png differ diff --git a/src/images/Wellness.png b/src/images/Wellness.png new file mode 100644 index 0000000..a98dfb2 Binary files /dev/null and b/src/images/Wellness.png differ diff --git a/src/images/about_me_pic.jpg b/src/images/about_me_pic.jpg new file mode 100644 index 0000000..4c944dd Binary files /dev/null and b/src/images/about_me_pic.jpg differ diff --git a/src/images/bootstrap-acknowledgeinput.jpg b/src/images/bootstrap-acknowledgeinput.jpg new file mode 100644 index 0000000..d52f197 Binary files /dev/null and b/src/images/bootstrap-acknowledgeinput.jpg differ diff --git a/src/images/butler.jpg b/src/images/butler.jpg new file mode 100644 index 0000000..e69881f Binary files /dev/null and b/src/images/butler.jpg differ diff --git a/src/images/conways-game-of-life.PNG b/src/images/conways-game-of-life.PNG new file mode 100644 index 0000000..986e6df Binary files /dev/null and b/src/images/conways-game-of-life.PNG differ diff --git a/src/images/emoji/unicode/0023-20e3.png b/src/images/emoji/unicode/0023-20e3.png new file mode 100644 index 0000000..98bbd1a Binary files /dev/null and b/src/images/emoji/unicode/0023-20e3.png differ diff --git a/src/images/emoji/unicode/002a-20e3.png b/src/images/emoji/unicode/002a-20e3.png new file mode 100644 index 0000000..7e1d790 Binary files /dev/null and b/src/images/emoji/unicode/002a-20e3.png differ diff --git a/src/images/emoji/unicode/0030-20e3.png b/src/images/emoji/unicode/0030-20e3.png new file mode 100644 index 0000000..5195fe7 Binary files /dev/null and b/src/images/emoji/unicode/0030-20e3.png differ diff --git a/src/images/emoji/unicode/0031-20e3.png b/src/images/emoji/unicode/0031-20e3.png new file mode 100644 index 0000000..a1f9e7c Binary files /dev/null and b/src/images/emoji/unicode/0031-20e3.png differ diff --git a/src/images/emoji/unicode/0032-20e3.png b/src/images/emoji/unicode/0032-20e3.png new file mode 100644 index 0000000..f3f4cdb Binary files /dev/null and b/src/images/emoji/unicode/0032-20e3.png differ diff --git a/src/images/emoji/unicode/0033-20e3.png b/src/images/emoji/unicode/0033-20e3.png new file mode 100644 index 0000000..c836bdf Binary files /dev/null and b/src/images/emoji/unicode/0033-20e3.png differ diff --git a/src/images/emoji/unicode/0034-20e3.png b/src/images/emoji/unicode/0034-20e3.png new file mode 100644 index 0000000..14c3438 Binary files /dev/null and b/src/images/emoji/unicode/0034-20e3.png differ diff --git a/src/images/emoji/unicode/0035-20e3.png b/src/images/emoji/unicode/0035-20e3.png new file mode 100644 index 0000000..3ade94c Binary files /dev/null and b/src/images/emoji/unicode/0035-20e3.png differ diff --git a/src/images/emoji/unicode/0036-20e3.png b/src/images/emoji/unicode/0036-20e3.png new file mode 100644 index 0000000..9ec6fcf Binary files /dev/null and b/src/images/emoji/unicode/0036-20e3.png differ diff --git a/src/images/emoji/unicode/0037-20e3.png b/src/images/emoji/unicode/0037-20e3.png new file mode 100644 index 0000000..c32ddf5 Binary files /dev/null and b/src/images/emoji/unicode/0037-20e3.png differ diff --git a/src/images/emoji/unicode/0038-20e3.png b/src/images/emoji/unicode/0038-20e3.png new file mode 100644 index 0000000..edfad67 Binary files /dev/null and b/src/images/emoji/unicode/0038-20e3.png differ diff --git a/src/images/emoji/unicode/0039-20e3.png b/src/images/emoji/unicode/0039-20e3.png new file mode 100644 index 0000000..f4c6bfa Binary files /dev/null and b/src/images/emoji/unicode/0039-20e3.png differ diff --git a/src/images/emoji/unicode/00a9.png b/src/images/emoji/unicode/00a9.png new file mode 100644 index 0000000..c9fc588 Binary files /dev/null and b/src/images/emoji/unicode/00a9.png differ diff --git a/src/images/emoji/unicode/00ae.png b/src/images/emoji/unicode/00ae.png new file mode 100644 index 0000000..6fc86a4 Binary files /dev/null and b/src/images/emoji/unicode/00ae.png differ diff --git a/src/images/emoji/unicode/1f004.png b/src/images/emoji/unicode/1f004.png new file mode 100644 index 0000000..2101f01 Binary files /dev/null and b/src/images/emoji/unicode/1f004.png differ diff --git a/src/images/emoji/unicode/1f0cf.png b/src/images/emoji/unicode/1f0cf.png new file mode 100644 index 0000000..43514f1 Binary files /dev/null and b/src/images/emoji/unicode/1f0cf.png differ diff --git a/src/images/emoji/unicode/1f170.png b/src/images/emoji/unicode/1f170.png new file mode 100644 index 0000000..ee0119b Binary files /dev/null and b/src/images/emoji/unicode/1f170.png differ diff --git a/src/images/emoji/unicode/1f171.png b/src/images/emoji/unicode/1f171.png new file mode 100644 index 0000000..c1646d2 Binary files /dev/null and b/src/images/emoji/unicode/1f171.png differ diff --git a/src/images/emoji/unicode/1f17e.png b/src/images/emoji/unicode/1f17e.png new file mode 100644 index 0000000..36a772b Binary files /dev/null and b/src/images/emoji/unicode/1f17e.png differ diff --git a/src/images/emoji/unicode/1f17f.png b/src/images/emoji/unicode/1f17f.png new file mode 100644 index 0000000..d2e154b Binary files /dev/null and b/src/images/emoji/unicode/1f17f.png differ diff --git a/src/images/emoji/unicode/1f18e.png b/src/images/emoji/unicode/1f18e.png new file mode 100644 index 0000000..3689254 Binary files /dev/null and b/src/images/emoji/unicode/1f18e.png differ diff --git a/src/images/emoji/unicode/1f191.png b/src/images/emoji/unicode/1f191.png new file mode 100644 index 0000000..9a6f23d Binary files /dev/null and b/src/images/emoji/unicode/1f191.png differ diff --git a/src/images/emoji/unicode/1f192.png b/src/images/emoji/unicode/1f192.png new file mode 100644 index 0000000..9d0f2e3 Binary files /dev/null and b/src/images/emoji/unicode/1f192.png differ diff --git a/src/images/emoji/unicode/1f193.png b/src/images/emoji/unicode/1f193.png new file mode 100644 index 0000000..8384ce3 Binary files /dev/null and b/src/images/emoji/unicode/1f193.png differ diff --git a/src/images/emoji/unicode/1f194.png b/src/images/emoji/unicode/1f194.png new file mode 100644 index 0000000..372d2e3 Binary files /dev/null and b/src/images/emoji/unicode/1f194.png differ diff --git a/src/images/emoji/unicode/1f195.png b/src/images/emoji/unicode/1f195.png new file mode 100644 index 0000000..ad75212 Binary files /dev/null and b/src/images/emoji/unicode/1f195.png differ diff --git a/src/images/emoji/unicode/1f196.png b/src/images/emoji/unicode/1f196.png new file mode 100644 index 0000000..8a2e048 Binary files /dev/null and b/src/images/emoji/unicode/1f196.png differ diff --git a/src/images/emoji/unicode/1f197.png b/src/images/emoji/unicode/1f197.png new file mode 100644 index 0000000..06eeb47 Binary files /dev/null and b/src/images/emoji/unicode/1f197.png differ diff --git a/src/images/emoji/unicode/1f198.png b/src/images/emoji/unicode/1f198.png new file mode 100644 index 0000000..21a862e Binary files /dev/null and b/src/images/emoji/unicode/1f198.png differ diff --git a/src/images/emoji/unicode/1f199.png b/src/images/emoji/unicode/1f199.png new file mode 100644 index 0000000..0bff34b Binary files /dev/null and b/src/images/emoji/unicode/1f199.png differ diff --git a/src/images/emoji/unicode/1f19a.png b/src/images/emoji/unicode/1f19a.png new file mode 100644 index 0000000..7a5a9a7 Binary files /dev/null and b/src/images/emoji/unicode/1f19a.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1e8.png b/src/images/emoji/unicode/1f1e6-1f1e8.png new file mode 100644 index 0000000..b89c0c0 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1e9.png b/src/images/emoji/unicode/1f1e6-1f1e9.png new file mode 100644 index 0000000..3a5ae40 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1ea.png b/src/images/emoji/unicode/1f1e6-1f1ea.png new file mode 100644 index 0000000..ff5049f Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1eb.png b/src/images/emoji/unicode/1f1e6-1f1eb.png new file mode 100644 index 0000000..2291c80 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1ec.png b/src/images/emoji/unicode/1f1e6-1f1ec.png new file mode 100644 index 0000000..77446f5 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1ee.png b/src/images/emoji/unicode/1f1e6-1f1ee.png new file mode 100644 index 0000000..b76e3c5 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f1.png b/src/images/emoji/unicode/1f1e6-1f1f1.png new file mode 100644 index 0000000..d74b39c Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f2.png b/src/images/emoji/unicode/1f1e6-1f1f2.png new file mode 100644 index 0000000..a70f12d Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f4.png b/src/images/emoji/unicode/1f1e6-1f1f4.png new file mode 100644 index 0000000..43fbb42 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f6.png b/src/images/emoji/unicode/1f1e6-1f1f6.png new file mode 100644 index 0000000..88a5346 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f6.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f7.png b/src/images/emoji/unicode/1f1e6-1f1f7.png new file mode 100644 index 0000000..e8e90dc Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f8.png b/src/images/emoji/unicode/1f1e6-1f1f8.png new file mode 100644 index 0000000..9d57ee1 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1f9.png b/src/images/emoji/unicode/1f1e6-1f1f9.png new file mode 100644 index 0000000..1eacc4f Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1fa.png b/src/images/emoji/unicode/1f1e6-1f1fa.png new file mode 100644 index 0000000..1bd65d9 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1fc.png b/src/images/emoji/unicode/1f1e6-1f1fc.png new file mode 100644 index 0000000..e92b030 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1fd.png b/src/images/emoji/unicode/1f1e6-1f1fd.png new file mode 100644 index 0000000..57b7c86 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1fd.png differ diff --git a/src/images/emoji/unicode/1f1e6-1f1ff.png b/src/images/emoji/unicode/1f1e6-1f1ff.png new file mode 100644 index 0000000..5c55462 Binary files /dev/null and b/src/images/emoji/unicode/1f1e6-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1e6.png b/src/images/emoji/unicode/1f1e7-1f1e6.png new file mode 100644 index 0000000..7fd740d Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1e7.png b/src/images/emoji/unicode/1f1e7-1f1e7.png new file mode 100644 index 0000000..8844c64 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1e7.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1e9.png b/src/images/emoji/unicode/1f1e7-1f1e9.png new file mode 100644 index 0000000..98ff344 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ea.png b/src/images/emoji/unicode/1f1e7-1f1ea.png new file mode 100644 index 0000000..0803f26 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1eb.png b/src/images/emoji/unicode/1f1e7-1f1eb.png new file mode 100644 index 0000000..5188fe5 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ec.png b/src/images/emoji/unicode/1f1e7-1f1ec.png new file mode 100644 index 0000000..268e95c Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ed.png b/src/images/emoji/unicode/1f1e7-1f1ed.png new file mode 100644 index 0000000..c19823f Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ee.png b/src/images/emoji/unicode/1f1e7-1f1ee.png new file mode 100644 index 0000000..b18ac44 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ef.png b/src/images/emoji/unicode/1f1e7-1f1ef.png new file mode 100644 index 0000000..40c8302 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ef.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f1.png b/src/images/emoji/unicode/1f1e7-1f1f1.png new file mode 100644 index 0000000..cb7248a Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f2.png b/src/images/emoji/unicode/1f1e7-1f1f2.png new file mode 100644 index 0000000..31cf9ad Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f3.png b/src/images/emoji/unicode/1f1e7-1f1f3.png new file mode 100644 index 0000000..22dfba9 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f4.png b/src/images/emoji/unicode/1f1e7-1f1f4.png new file mode 100644 index 0000000..d079ff4 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f6.png b/src/images/emoji/unicode/1f1e7-1f1f6.png new file mode 100644 index 0000000..8abf4fb Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f6.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f7.png b/src/images/emoji/unicode/1f1e7-1f1f7.png new file mode 100644 index 0000000..ae82eb5 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f8.png b/src/images/emoji/unicode/1f1e7-1f1f8.png new file mode 100644 index 0000000..3855a85 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1f9.png b/src/images/emoji/unicode/1f1e7-1f1f9.png new file mode 100644 index 0000000..736cc2b Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1fb.png b/src/images/emoji/unicode/1f1e7-1f1fb.png new file mode 100644 index 0000000..f85834d Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1fc.png b/src/images/emoji/unicode/1f1e7-1f1fc.png new file mode 100644 index 0000000..84474f6 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1fe.png b/src/images/emoji/unicode/1f1e7-1f1fe.png new file mode 100644 index 0000000..be3b3d8 Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1e7-1f1ff.png b/src/images/emoji/unicode/1f1e7-1f1ff.png new file mode 100644 index 0000000..f991dfa Binary files /dev/null and b/src/images/emoji/unicode/1f1e7-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1e6.png b/src/images/emoji/unicode/1f1e8-1f1e6.png new file mode 100644 index 0000000..4a679be Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1e8.png b/src/images/emoji/unicode/1f1e8-1f1e8.png new file mode 100644 index 0000000..72a07b4 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1e9.png b/src/images/emoji/unicode/1f1e8-1f1e9.png new file mode 100644 index 0000000..82cee84 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1eb.png b/src/images/emoji/unicode/1f1e8-1f1eb.png new file mode 100644 index 0000000..f2c5642 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1ec.png b/src/images/emoji/unicode/1f1e8-1f1ec.png new file mode 100644 index 0000000..0e11c12 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1ed.png b/src/images/emoji/unicode/1f1e8-1f1ed.png new file mode 100644 index 0000000..5ff86b8 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1ee.png b/src/images/emoji/unicode/1f1e8-1f1ee.png new file mode 100644 index 0000000..bd6d29e Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f0.png b/src/images/emoji/unicode/1f1e8-1f1f0.png new file mode 100644 index 0000000..bf21fd3 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f1.png b/src/images/emoji/unicode/1f1e8-1f1f1.png new file mode 100644 index 0000000..1ffca75 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f2.png b/src/images/emoji/unicode/1f1e8-1f1f2.png new file mode 100644 index 0000000..cf6259f Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f3.png b/src/images/emoji/unicode/1f1e8-1f1f3.png new file mode 100644 index 0000000..6df6740 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f4.png b/src/images/emoji/unicode/1f1e8-1f1f4.png new file mode 100644 index 0000000..fc264c2 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f5.png b/src/images/emoji/unicode/1f1e8-1f1f5.png new file mode 100644 index 0000000..0ba299c Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1f7.png b/src/images/emoji/unicode/1f1e8-1f1f7.png new file mode 100644 index 0000000..ebca1a6 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1fa.png b/src/images/emoji/unicode/1f1e8-1f1fa.png new file mode 100644 index 0000000..8f09223 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1fb.png b/src/images/emoji/unicode/1f1e8-1f1fb.png new file mode 100644 index 0000000..c16374c Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1fc.png b/src/images/emoji/unicode/1f1e8-1f1fc.png new file mode 100644 index 0000000..956146a Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1fd.png b/src/images/emoji/unicode/1f1e8-1f1fd.png new file mode 100644 index 0000000..51346ff Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1fd.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1fe.png b/src/images/emoji/unicode/1f1e8-1f1fe.png new file mode 100644 index 0000000..339566e Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1e8-1f1ff.png b/src/images/emoji/unicode/1f1e8-1f1ff.png new file mode 100644 index 0000000..ada3707 Binary files /dev/null and b/src/images/emoji/unicode/1f1e8-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1ea.png b/src/images/emoji/unicode/1f1e9-1f1ea.png new file mode 100644 index 0000000..146fd03 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1ec.png b/src/images/emoji/unicode/1f1e9-1f1ec.png new file mode 100644 index 0000000..3314cf4 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1ef.png b/src/images/emoji/unicode/1f1e9-1f1ef.png new file mode 100644 index 0000000..1f192c6 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1ef.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1f0.png b/src/images/emoji/unicode/1f1e9-1f1f0.png new file mode 100644 index 0000000..66e14c3 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1f2.png b/src/images/emoji/unicode/1f1e9-1f1f2.png new file mode 100644 index 0000000..0898757 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1f4.png b/src/images/emoji/unicode/1f1e9-1f1f4.png new file mode 100644 index 0000000..b34d0a4 Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1e9-1f1ff.png b/src/images/emoji/unicode/1f1e9-1f1ff.png new file mode 100644 index 0000000..85d252d Binary files /dev/null and b/src/images/emoji/unicode/1f1e9-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1e6.png b/src/images/emoji/unicode/1f1ea-1f1e6.png new file mode 100644 index 0000000..72aac9e Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1e8.png b/src/images/emoji/unicode/1f1ea-1f1e8.png new file mode 100644 index 0000000..7ef8197 Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1ea.png b/src/images/emoji/unicode/1f1ea-1f1ea.png new file mode 100644 index 0000000..c0eabb6 Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1ec.png b/src/images/emoji/unicode/1f1ea-1f1ec.png new file mode 100644 index 0000000..576b4d4 Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1ed.png b/src/images/emoji/unicode/1f1ea-1f1ed.png new file mode 100644 index 0000000..0c69557 Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1f7.png b/src/images/emoji/unicode/1f1ea-1f1f7.png new file mode 100644 index 0000000..635d68b Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1f8.png b/src/images/emoji/unicode/1f1ea-1f1f8.png new file mode 100644 index 0000000..b08133c Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1f9.png b/src/images/emoji/unicode/1f1ea-1f1f9.png new file mode 100644 index 0000000..b914d5c Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1ea-1f1fa.png b/src/images/emoji/unicode/1f1ea-1f1fa.png new file mode 100644 index 0000000..69d4671 Binary files /dev/null and b/src/images/emoji/unicode/1f1ea-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1ee.png b/src/images/emoji/unicode/1f1eb-1f1ee.png new file mode 100644 index 0000000..745d72e Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1ef.png b/src/images/emoji/unicode/1f1eb-1f1ef.png new file mode 100644 index 0000000..afeb01a Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1ef.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1f0.png b/src/images/emoji/unicode/1f1eb-1f1f0.png new file mode 100644 index 0000000..ee66f3d Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1f2.png b/src/images/emoji/unicode/1f1eb-1f1f2.png new file mode 100644 index 0000000..6ccd62e Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1f4.png b/src/images/emoji/unicode/1f1eb-1f1f4.png new file mode 100644 index 0000000..b163ecc Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1eb-1f1f7.png b/src/images/emoji/unicode/1f1eb-1f1f7.png new file mode 100644 index 0000000..e82bff8 Binary files /dev/null and b/src/images/emoji/unicode/1f1eb-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1e6.png b/src/images/emoji/unicode/1f1ec-1f1e6.png new file mode 100644 index 0000000..6d7e2a7 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1e7.png b/src/images/emoji/unicode/1f1ec-1f1e7.png new file mode 100644 index 0000000..594fda3 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1e7.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1e9.png b/src/images/emoji/unicode/1f1ec-1f1e9.png new file mode 100644 index 0000000..dbf0c7f Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1ea.png b/src/images/emoji/unicode/1f1ec-1f1ea.png new file mode 100644 index 0000000..efdd03c Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1eb.png b/src/images/emoji/unicode/1f1ec-1f1eb.png new file mode 100644 index 0000000..ec074ba Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1ec.png b/src/images/emoji/unicode/1f1ec-1f1ec.png new file mode 100644 index 0000000..6736124 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1ed.png b/src/images/emoji/unicode/1f1ec-1f1ed.png new file mode 100644 index 0000000..a712d2e Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1ee.png b/src/images/emoji/unicode/1f1ec-1f1ee.png new file mode 100644 index 0000000..c4ccb39 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f1.png b/src/images/emoji/unicode/1f1ec-1f1f1.png new file mode 100644 index 0000000..a685945 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f2.png b/src/images/emoji/unicode/1f1ec-1f1f2.png new file mode 100644 index 0000000..25e47e7 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f3.png b/src/images/emoji/unicode/1f1ec-1f1f3.png new file mode 100644 index 0000000..bd6065c Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f5.png b/src/images/emoji/unicode/1f1ec-1f1f5.png new file mode 100644 index 0000000..8d5d5a1 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f6.png b/src/images/emoji/unicode/1f1ec-1f1f6.png new file mode 100644 index 0000000..186a80d Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f6.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f7.png b/src/images/emoji/unicode/1f1ec-1f1f7.png new file mode 100644 index 0000000..cf2d093 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f8.png b/src/images/emoji/unicode/1f1ec-1f1f8.png new file mode 100644 index 0000000..481e7aa Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1f9.png b/src/images/emoji/unicode/1f1ec-1f1f9.png new file mode 100644 index 0000000..453d727 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1fa.png b/src/images/emoji/unicode/1f1ec-1f1fa.png new file mode 100644 index 0000000..2f32a6f Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1fc.png b/src/images/emoji/unicode/1f1ec-1f1fc.png new file mode 100644 index 0000000..446c4e8 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1ec-1f1fe.png b/src/images/emoji/unicode/1f1ec-1f1fe.png new file mode 100644 index 0000000..0be57d9 Binary files /dev/null and b/src/images/emoji/unicode/1f1ec-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1f0.png b/src/images/emoji/unicode/1f1ed-1f1f0.png new file mode 100644 index 0000000..676631e Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1f2.png b/src/images/emoji/unicode/1f1ed-1f1f2.png new file mode 100644 index 0000000..1e468f6 Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1f3.png b/src/images/emoji/unicode/1f1ed-1f1f3.png new file mode 100644 index 0000000..f45dd53 Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1f7.png b/src/images/emoji/unicode/1f1ed-1f1f7.png new file mode 100644 index 0000000..30560b4 Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1f9.png b/src/images/emoji/unicode/1f1ed-1f1f9.png new file mode 100644 index 0000000..b8022c1 Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1ed-1f1fa.png b/src/images/emoji/unicode/1f1ed-1f1fa.png new file mode 100644 index 0000000..7cf964f Binary files /dev/null and b/src/images/emoji/unicode/1f1ed-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1e8.png b/src/images/emoji/unicode/1f1ee-1f1e8.png new file mode 100644 index 0000000..62a38ed Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1e9.png b/src/images/emoji/unicode/1f1ee-1f1e9.png new file mode 100644 index 0000000..e8f4772 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1ea.png b/src/images/emoji/unicode/1f1ee-1f1ea.png new file mode 100644 index 0000000..841b99d Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f1.png b/src/images/emoji/unicode/1f1ee-1f1f1.png new file mode 100644 index 0000000..1b67146 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f2.png b/src/images/emoji/unicode/1f1ee-1f1f2.png new file mode 100644 index 0000000..cabffb4 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f3.png b/src/images/emoji/unicode/1f1ee-1f1f3.png new file mode 100644 index 0000000..a330287 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f4.png b/src/images/emoji/unicode/1f1ee-1f1f4.png new file mode 100644 index 0000000..95dda8b Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f6.png b/src/images/emoji/unicode/1f1ee-1f1f6.png new file mode 100644 index 0000000..07ff813 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f6.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f7.png b/src/images/emoji/unicode/1f1ee-1f1f7.png new file mode 100644 index 0000000..d0f33d1 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f8.png b/src/images/emoji/unicode/1f1ee-1f1f8.png new file mode 100644 index 0000000..4a2f1b4 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1ee-1f1f9.png b/src/images/emoji/unicode/1f1ee-1f1f9.png new file mode 100644 index 0000000..1509c60 Binary files /dev/null and b/src/images/emoji/unicode/1f1ee-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1ef-1f1ea.png b/src/images/emoji/unicode/1f1ef-1f1ea.png new file mode 100644 index 0000000..e2bb3c1 Binary files /dev/null and b/src/images/emoji/unicode/1f1ef-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1ef-1f1f2.png b/src/images/emoji/unicode/1f1ef-1f1f2.png new file mode 100644 index 0000000..1f60e3a Binary files /dev/null and b/src/images/emoji/unicode/1f1ef-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1ef-1f1f4.png b/src/images/emoji/unicode/1f1ef-1f1f4.png new file mode 100644 index 0000000..2d2ee9c Binary files /dev/null and b/src/images/emoji/unicode/1f1ef-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1ef-1f1f5.png b/src/images/emoji/unicode/1f1ef-1f1f5.png new file mode 100644 index 0000000..370f2b3 Binary files /dev/null and b/src/images/emoji/unicode/1f1ef-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1ea.png b/src/images/emoji/unicode/1f1f0-1f1ea.png new file mode 100644 index 0000000..c912821 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1ec.png b/src/images/emoji/unicode/1f1f0-1f1ec.png new file mode 100644 index 0000000..3222287 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1ed.png b/src/images/emoji/unicode/1f1f0-1f1ed.png new file mode 100644 index 0000000..15a59f3 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1ee.png b/src/images/emoji/unicode/1f1f0-1f1ee.png new file mode 100644 index 0000000..c9db78d Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1f2.png b/src/images/emoji/unicode/1f1f0-1f1f2.png new file mode 100644 index 0000000..ee26e30 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1f3.png b/src/images/emoji/unicode/1f1f0-1f1f3.png new file mode 100644 index 0000000..3ddc7f6 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1f5.png b/src/images/emoji/unicode/1f1f0-1f1f5.png new file mode 100644 index 0000000..94e667d Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1f7.png b/src/images/emoji/unicode/1f1f0-1f1f7.png new file mode 100644 index 0000000..53c26e0 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1fc.png b/src/images/emoji/unicode/1f1f0-1f1fc.png new file mode 100644 index 0000000..8d54d18 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1fe.png b/src/images/emoji/unicode/1f1f0-1f1fe.png new file mode 100644 index 0000000..8d723c7 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1f0-1f1ff.png b/src/images/emoji/unicode/1f1f0-1f1ff.png new file mode 100644 index 0000000..af94b05 Binary files /dev/null and b/src/images/emoji/unicode/1f1f0-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1e6.png b/src/images/emoji/unicode/1f1f1-1f1e6.png new file mode 100644 index 0000000..184983d Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1e7.png b/src/images/emoji/unicode/1f1f1-1f1e7.png new file mode 100644 index 0000000..0df296a Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1e7.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1e8.png b/src/images/emoji/unicode/1f1f1-1f1e8.png new file mode 100644 index 0000000..d2ef653 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1ee.png b/src/images/emoji/unicode/1f1f1-1f1ee.png new file mode 100644 index 0000000..d18476b Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1f0.png b/src/images/emoji/unicode/1f1f1-1f1f0.png new file mode 100644 index 0000000..0685da8 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1f7.png b/src/images/emoji/unicode/1f1f1-1f1f7.png new file mode 100644 index 0000000..76e1d25 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1f8.png b/src/images/emoji/unicode/1f1f1-1f1f8.png new file mode 100644 index 0000000..569959e Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1f9.png b/src/images/emoji/unicode/1f1f1-1f1f9.png new file mode 100644 index 0000000..e2a1a05 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1fa.png b/src/images/emoji/unicode/1f1f1-1f1fa.png new file mode 100644 index 0000000..c150810 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1fb.png b/src/images/emoji/unicode/1f1f1-1f1fb.png new file mode 100644 index 0000000..2656333 Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1f1-1f1fe.png b/src/images/emoji/unicode/1f1f1-1f1fe.png new file mode 100644 index 0000000..511235c Binary files /dev/null and b/src/images/emoji/unicode/1f1f1-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1e6.png b/src/images/emoji/unicode/1f1f2-1f1e6.png new file mode 100644 index 0000000..305c729 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1e8.png b/src/images/emoji/unicode/1f1f2-1f1e8.png new file mode 100644 index 0000000..04557a3 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1e9.png b/src/images/emoji/unicode/1f1f2-1f1e9.png new file mode 100644 index 0000000..ba8fa65 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1ea.png b/src/images/emoji/unicode/1f1f2-1f1ea.png new file mode 100644 index 0000000..6a56984 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1eb.png b/src/images/emoji/unicode/1f1f2-1f1eb.png new file mode 100644 index 0000000..0ba299c Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1ec.png b/src/images/emoji/unicode/1f1f2-1f1ec.png new file mode 100644 index 0000000..7511040 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1ed.png b/src/images/emoji/unicode/1f1f2-1f1ed.png new file mode 100644 index 0000000..578e730 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f0.png b/src/images/emoji/unicode/1f1f2-1f1f0.png new file mode 100644 index 0000000..35e312b Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f1.png b/src/images/emoji/unicode/1f1f2-1f1f1.png new file mode 100644 index 0000000..85f0e05 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f2.png b/src/images/emoji/unicode/1f1f2-1f1f2.png new file mode 100644 index 0000000..3103575 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f3.png b/src/images/emoji/unicode/1f1f2-1f1f3.png new file mode 100644 index 0000000..e46dcee Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f4.png b/src/images/emoji/unicode/1f1f2-1f1f4.png new file mode 100644 index 0000000..9d048a7 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f5.png b/src/images/emoji/unicode/1f1f2-1f1f5.png new file mode 100644 index 0000000..c06816b Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f6.png b/src/images/emoji/unicode/1f1f2-1f1f6.png new file mode 100644 index 0000000..dfc4f02 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f6.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f7.png b/src/images/emoji/unicode/1f1f2-1f1f7.png new file mode 100644 index 0000000..902df66 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f8.png b/src/images/emoji/unicode/1f1f2-1f1f8.png new file mode 100644 index 0000000..5afa01f Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1f9.png b/src/images/emoji/unicode/1f1f2-1f1f9.png new file mode 100644 index 0000000..992a5ae Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1fa.png b/src/images/emoji/unicode/1f1f2-1f1fa.png new file mode 100644 index 0000000..147bbb5 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1fb.png b/src/images/emoji/unicode/1f1f2-1f1fb.png new file mode 100644 index 0000000..13890f6 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1fc.png b/src/images/emoji/unicode/1f1f2-1f1fc.png new file mode 100644 index 0000000..aeeb616 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1fd.png b/src/images/emoji/unicode/1f1f2-1f1fd.png new file mode 100644 index 0000000..dc51aab Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1fd.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1fe.png b/src/images/emoji/unicode/1f1f2-1f1fe.png new file mode 100644 index 0000000..717db8a Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1f2-1f1ff.png b/src/images/emoji/unicode/1f1f2-1f1ff.png new file mode 100644 index 0000000..c84b2d4 Binary files /dev/null and b/src/images/emoji/unicode/1f1f2-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1e6.png b/src/images/emoji/unicode/1f1f3-1f1e6.png new file mode 100644 index 0000000..bcecd40 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1e8.png b/src/images/emoji/unicode/1f1f3-1f1e8.png new file mode 100644 index 0000000..71fd330 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1ea.png b/src/images/emoji/unicode/1f1f3-1f1ea.png new file mode 100644 index 0000000..3bcbb34 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1eb.png b/src/images/emoji/unicode/1f1f3-1f1eb.png new file mode 100644 index 0000000..26a273d Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1ec.png b/src/images/emoji/unicode/1f1f3-1f1ec.png new file mode 100644 index 0000000..b76e215 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1ee.png b/src/images/emoji/unicode/1f1f3-1f1ee.png new file mode 100644 index 0000000..20eb63c Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1f1.png b/src/images/emoji/unicode/1f1f3-1f1f1.png new file mode 100644 index 0000000..9046a1f Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1f4.png b/src/images/emoji/unicode/1f1f3-1f1f4.png new file mode 100644 index 0000000..1291263 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1f5.png b/src/images/emoji/unicode/1f1f3-1f1f5.png new file mode 100644 index 0000000..1d7af91 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1f5.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1f7.png b/src/images/emoji/unicode/1f1f3-1f1f7.png new file mode 100644 index 0000000..7ca3744 Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1fa.png b/src/images/emoji/unicode/1f1f3-1f1fa.png new file mode 100644 index 0000000..340149e Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1f3-1f1ff.png b/src/images/emoji/unicode/1f1f3-1f1ff.png new file mode 100644 index 0000000..aa3b6ce Binary files /dev/null and b/src/images/emoji/unicode/1f1f3-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1f4-1f1f2.png b/src/images/emoji/unicode/1f1f4-1f1f2.png new file mode 100644 index 0000000..78d28ec Binary files /dev/null and b/src/images/emoji/unicode/1f1f4-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1e6.png b/src/images/emoji/unicode/1f1f5-1f1e6.png new file mode 100644 index 0000000..69927d2 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1ea.png b/src/images/emoji/unicode/1f1f5-1f1ea.png new file mode 100644 index 0000000..08c99e7 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1eb.png b/src/images/emoji/unicode/1f1f5-1f1eb.png new file mode 100644 index 0000000..fd0b5ee Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1ec.png b/src/images/emoji/unicode/1f1f5-1f1ec.png new file mode 100644 index 0000000..cb5bb1d Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1ed.png b/src/images/emoji/unicode/1f1f5-1f1ed.png new file mode 100644 index 0000000..dd3da64 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f0.png b/src/images/emoji/unicode/1f1f5-1f1f0.png new file mode 100644 index 0000000..062ae28 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f1.png b/src/images/emoji/unicode/1f1f5-1f1f1.png new file mode 100644 index 0000000..9e2a86c Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f2.png b/src/images/emoji/unicode/1f1f5-1f1f2.png new file mode 100644 index 0000000..888ae4f Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f3.png b/src/images/emoji/unicode/1f1f5-1f1f3.png new file mode 100644 index 0000000..cb4e178 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f7.png b/src/images/emoji/unicode/1f1f5-1f1f7.png new file mode 100644 index 0000000..36ea299 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f8.png b/src/images/emoji/unicode/1f1f5-1f1f8.png new file mode 100644 index 0000000..d632d57 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1f9.png b/src/images/emoji/unicode/1f1f5-1f1f9.png new file mode 100644 index 0000000..d98b746 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1fc.png b/src/images/emoji/unicode/1f1f5-1f1fc.png new file mode 100644 index 0000000..4912f18 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1f5-1f1fe.png b/src/images/emoji/unicode/1f1f5-1f1fe.png new file mode 100644 index 0000000..3fda067 Binary files /dev/null and b/src/images/emoji/unicode/1f1f5-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1f6-1f1e6.png b/src/images/emoji/unicode/1f1f6-1f1e6.png new file mode 100644 index 0000000..fd67504 Binary files /dev/null and b/src/images/emoji/unicode/1f1f6-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f7-1f1ea.png b/src/images/emoji/unicode/1f1f7-1f1ea.png new file mode 100644 index 0000000..ccdb186 Binary files /dev/null and b/src/images/emoji/unicode/1f1f7-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f7-1f1f4.png b/src/images/emoji/unicode/1f1f7-1f1f4.png new file mode 100644 index 0000000..3a5ff8d Binary files /dev/null and b/src/images/emoji/unicode/1f1f7-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1f7-1f1f8.png b/src/images/emoji/unicode/1f1f7-1f1f8.png new file mode 100644 index 0000000..e611fbf Binary files /dev/null and b/src/images/emoji/unicode/1f1f7-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1f7-1f1fa.png b/src/images/emoji/unicode/1f1f7-1f1fa.png new file mode 100644 index 0000000..ca29c5f Binary files /dev/null and b/src/images/emoji/unicode/1f1f7-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1f7-1f1fc.png b/src/images/emoji/unicode/1f1f7-1f1fc.png new file mode 100644 index 0000000..c8e5654 Binary files /dev/null and b/src/images/emoji/unicode/1f1f7-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1e6.png b/src/images/emoji/unicode/1f1f8-1f1e6.png new file mode 100644 index 0000000..ffbfc52 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1e7.png b/src/images/emoji/unicode/1f1f8-1f1e7.png new file mode 100644 index 0000000..cd07bab Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1e7.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1e8.png b/src/images/emoji/unicode/1f1f8-1f1e8.png new file mode 100644 index 0000000..071c85f Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1e9.png b/src/images/emoji/unicode/1f1f8-1f1e9.png new file mode 100644 index 0000000..bba3865 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ea.png b/src/images/emoji/unicode/1f1f8-1f1ea.png new file mode 100644 index 0000000..b0cf10f Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ec.png b/src/images/emoji/unicode/1f1f8-1f1ec.png new file mode 100644 index 0000000..f275bcc Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ed.png b/src/images/emoji/unicode/1f1f8-1f1ed.png new file mode 100644 index 0000000..7dc9f87 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ee.png b/src/images/emoji/unicode/1f1f8-1f1ee.png new file mode 100644 index 0000000..12d9577 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ef.png b/src/images/emoji/unicode/1f1f8-1f1ef.png new file mode 100644 index 0000000..50f0b71 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ef.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f0.png b/src/images/emoji/unicode/1f1f8-1f1f0.png new file mode 100644 index 0000000..e475dda Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f1.png b/src/images/emoji/unicode/1f1f8-1f1f1.png new file mode 100644 index 0000000..cbf2987 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f2.png b/src/images/emoji/unicode/1f1f8-1f1f2.png new file mode 100644 index 0000000..47ee913 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f3.png b/src/images/emoji/unicode/1f1f8-1f1f3.png new file mode 100644 index 0000000..8c61023 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f4.png b/src/images/emoji/unicode/1f1f8-1f1f4.png new file mode 100644 index 0000000..c5b9e61 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f7.png b/src/images/emoji/unicode/1f1f8-1f1f7.png new file mode 100644 index 0000000..7c0c4df Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f8.png b/src/images/emoji/unicode/1f1f8-1f1f8.png new file mode 100644 index 0000000..23f1ad4 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1f9.png b/src/images/emoji/unicode/1f1f8-1f1f9.png new file mode 100644 index 0000000..b074ff3 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1fb.png b/src/images/emoji/unicode/1f1f8-1f1fb.png new file mode 100644 index 0000000..6121158 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1fd.png b/src/images/emoji/unicode/1f1f8-1f1fd.png new file mode 100644 index 0000000..c6a62f8 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1fd.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1fe.png b/src/images/emoji/unicode/1f1f8-1f1fe.png new file mode 100644 index 0000000..7f29b82 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1f8-1f1ff.png b/src/images/emoji/unicode/1f1f8-1f1ff.png new file mode 100644 index 0000000..7e2f9c7 Binary files /dev/null and b/src/images/emoji/unicode/1f1f8-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1e6.png b/src/images/emoji/unicode/1f1f9-1f1e6.png new file mode 100644 index 0000000..fd93bb9 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1e8.png b/src/images/emoji/unicode/1f1f9-1f1e8.png new file mode 100644 index 0000000..b8e5b14 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1e9.png b/src/images/emoji/unicode/1f1f9-1f1e9.png new file mode 100644 index 0000000..5b8b066 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1e9.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1eb.png b/src/images/emoji/unicode/1f1f9-1f1eb.png new file mode 100644 index 0000000..2fa3404 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1ec.png b/src/images/emoji/unicode/1f1f9-1f1ec.png new file mode 100644 index 0000000..8c9fd51 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1ed.png b/src/images/emoji/unicode/1f1f9-1f1ed.png new file mode 100644 index 0000000..9ec0450 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1ed.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1ef.png b/src/images/emoji/unicode/1f1f9-1f1ef.png new file mode 100644 index 0000000..c0091da Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1ef.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f0.png b/src/images/emoji/unicode/1f1f9-1f1f0.png new file mode 100644 index 0000000..e9ee3b8 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f1.png b/src/images/emoji/unicode/1f1f9-1f1f1.png new file mode 100644 index 0000000..c7e8115 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f1.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f2.png b/src/images/emoji/unicode/1f1f9-1f1f2.png new file mode 100644 index 0000000..47ced54 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f3.png b/src/images/emoji/unicode/1f1f9-1f1f3.png new file mode 100644 index 0000000..98b42c1 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f4.png b/src/images/emoji/unicode/1f1f9-1f1f4.png new file mode 100644 index 0000000..5a68bdc Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f4.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f7.png b/src/images/emoji/unicode/1f1f9-1f1f7.png new file mode 100644 index 0000000..ac3470d Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f7.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1f9.png b/src/images/emoji/unicode/1f1f9-1f1f9.png new file mode 100644 index 0000000..9741f03 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1fb.png b/src/images/emoji/unicode/1f1f9-1f1fb.png new file mode 100644 index 0000000..83a0965 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1fb.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1fc.png b/src/images/emoji/unicode/1f1f9-1f1fc.png new file mode 100644 index 0000000..0a00610 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f1f9-1f1ff.png b/src/images/emoji/unicode/1f1f9-1f1ff.png new file mode 100644 index 0000000..47c22e0 Binary files /dev/null and b/src/images/emoji/unicode/1f1f9-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1e6.png b/src/images/emoji/unicode/1f1fa-1f1e6.png new file mode 100644 index 0000000..eec9a8c Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1ec.png b/src/images/emoji/unicode/1f1fa-1f1ec.png new file mode 100644 index 0000000..c1065f7 Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1f2.png b/src/images/emoji/unicode/1f1fa-1f1f2.png new file mode 100644 index 0000000..7700a9f Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1f8.png b/src/images/emoji/unicode/1f1fa-1f1f8.png new file mode 100644 index 0000000..cdd61ff Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1fe.png b/src/images/emoji/unicode/1f1fa-1f1fe.png new file mode 100644 index 0000000..32ab04e Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1fe.png differ diff --git a/src/images/emoji/unicode/1f1fa-1f1ff.png b/src/images/emoji/unicode/1f1fa-1f1ff.png new file mode 100644 index 0000000..be1be3b Binary files /dev/null and b/src/images/emoji/unicode/1f1fa-1f1ff.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1e6.png b/src/images/emoji/unicode/1f1fb-1f1e6.png new file mode 100644 index 0000000..93fe626 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1e8.png b/src/images/emoji/unicode/1f1fb-1f1e8.png new file mode 100644 index 0000000..01d3f44 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1e8.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1ea.png b/src/images/emoji/unicode/1f1fb-1f1ea.png new file mode 100644 index 0000000..2b1d2ab Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1ec.png b/src/images/emoji/unicode/1f1fb-1f1ec.png new file mode 100644 index 0000000..aabd627 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1ec.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1ee.png b/src/images/emoji/unicode/1f1fb-1f1ee.png new file mode 100644 index 0000000..31c9a13 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1ee.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1f3.png b/src/images/emoji/unicode/1f1fb-1f1f3.png new file mode 100644 index 0000000..fe88508 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1f3.png differ diff --git a/src/images/emoji/unicode/1f1fb-1f1fa.png b/src/images/emoji/unicode/1f1fb-1f1fa.png new file mode 100644 index 0000000..e61e8a7 Binary files /dev/null and b/src/images/emoji/unicode/1f1fb-1f1fa.png differ diff --git a/src/images/emoji/unicode/1f1fc-1f1eb.png b/src/images/emoji/unicode/1f1fc-1f1eb.png new file mode 100644 index 0000000..0ba299c Binary files /dev/null and b/src/images/emoji/unicode/1f1fc-1f1eb.png differ diff --git a/src/images/emoji/unicode/1f1fc-1f1f8.png b/src/images/emoji/unicode/1f1fc-1f1f8.png new file mode 100644 index 0000000..67ed759 Binary files /dev/null and b/src/images/emoji/unicode/1f1fc-1f1f8.png differ diff --git a/src/images/emoji/unicode/1f1fd-1f1f0.png b/src/images/emoji/unicode/1f1fd-1f1f0.png new file mode 100644 index 0000000..d268b23 Binary files /dev/null and b/src/images/emoji/unicode/1f1fd-1f1f0.png differ diff --git a/src/images/emoji/unicode/1f1fe-1f1ea.png b/src/images/emoji/unicode/1f1fe-1f1ea.png new file mode 100644 index 0000000..63748b4 Binary files /dev/null and b/src/images/emoji/unicode/1f1fe-1f1ea.png differ diff --git a/src/images/emoji/unicode/1f1fe-1f1f9.png b/src/images/emoji/unicode/1f1fe-1f1f9.png new file mode 100644 index 0000000..096ee49 Binary files /dev/null and b/src/images/emoji/unicode/1f1fe-1f1f9.png differ diff --git a/src/images/emoji/unicode/1f1ff-1f1e6.png b/src/images/emoji/unicode/1f1ff-1f1e6.png new file mode 100644 index 0000000..46e6aef Binary files /dev/null and b/src/images/emoji/unicode/1f1ff-1f1e6.png differ diff --git a/src/images/emoji/unicode/1f1ff-1f1f2.png b/src/images/emoji/unicode/1f1ff-1f1f2.png new file mode 100644 index 0000000..886c4b7 Binary files /dev/null and b/src/images/emoji/unicode/1f1ff-1f1f2.png differ diff --git a/src/images/emoji/unicode/1f1ff-1f1fc.png b/src/images/emoji/unicode/1f1ff-1f1fc.png new file mode 100644 index 0000000..13df85d Binary files /dev/null and b/src/images/emoji/unicode/1f1ff-1f1fc.png differ diff --git a/src/images/emoji/unicode/1f201.png b/src/images/emoji/unicode/1f201.png new file mode 100644 index 0000000..cf42327 Binary files /dev/null and b/src/images/emoji/unicode/1f201.png differ diff --git a/src/images/emoji/unicode/1f202.png b/src/images/emoji/unicode/1f202.png new file mode 100644 index 0000000..9f2c18d Binary files /dev/null and b/src/images/emoji/unicode/1f202.png differ diff --git a/src/images/emoji/unicode/1f21a.png b/src/images/emoji/unicode/1f21a.png new file mode 100644 index 0000000..a34f8e1 Binary files /dev/null and b/src/images/emoji/unicode/1f21a.png differ diff --git a/src/images/emoji/unicode/1f22f.png b/src/images/emoji/unicode/1f22f.png new file mode 100644 index 0000000..cc05933 Binary files /dev/null and b/src/images/emoji/unicode/1f22f.png differ diff --git a/src/images/emoji/unicode/1f232.png b/src/images/emoji/unicode/1f232.png new file mode 100644 index 0000000..d9a960e Binary files /dev/null and b/src/images/emoji/unicode/1f232.png differ diff --git a/src/images/emoji/unicode/1f233.png b/src/images/emoji/unicode/1f233.png new file mode 100644 index 0000000..bafa8f2 Binary files /dev/null and b/src/images/emoji/unicode/1f233.png differ diff --git a/src/images/emoji/unicode/1f234.png b/src/images/emoji/unicode/1f234.png new file mode 100644 index 0000000..a944bd6 Binary files /dev/null and b/src/images/emoji/unicode/1f234.png differ diff --git a/src/images/emoji/unicode/1f235.png b/src/images/emoji/unicode/1f235.png new file mode 100644 index 0000000..0a097aa Binary files /dev/null and b/src/images/emoji/unicode/1f235.png differ diff --git a/src/images/emoji/unicode/1f236.png b/src/images/emoji/unicode/1f236.png new file mode 100644 index 0000000..f0706a4 Binary files /dev/null and b/src/images/emoji/unicode/1f236.png differ diff --git a/src/images/emoji/unicode/1f237.png b/src/images/emoji/unicode/1f237.png new file mode 100644 index 0000000..6d1a9d7 Binary files /dev/null and b/src/images/emoji/unicode/1f237.png differ diff --git a/src/images/emoji/unicode/1f238.png b/src/images/emoji/unicode/1f238.png new file mode 100644 index 0000000..e837aae Binary files /dev/null and b/src/images/emoji/unicode/1f238.png differ diff --git a/src/images/emoji/unicode/1f239.png b/src/images/emoji/unicode/1f239.png new file mode 100644 index 0000000..964476e Binary files /dev/null and b/src/images/emoji/unicode/1f239.png differ diff --git a/src/images/emoji/unicode/1f23a.png b/src/images/emoji/unicode/1f23a.png new file mode 100644 index 0000000..e29fc84 Binary files /dev/null and b/src/images/emoji/unicode/1f23a.png differ diff --git a/src/images/emoji/unicode/1f250.png b/src/images/emoji/unicode/1f250.png new file mode 100644 index 0000000..7e28231 Binary files /dev/null and b/src/images/emoji/unicode/1f250.png differ diff --git a/src/images/emoji/unicode/1f251.png b/src/images/emoji/unicode/1f251.png new file mode 100644 index 0000000..7750d0b Binary files /dev/null and b/src/images/emoji/unicode/1f251.png differ diff --git a/src/images/emoji/unicode/1f300.png b/src/images/emoji/unicode/1f300.png new file mode 100644 index 0000000..ca00cbe Binary files /dev/null and b/src/images/emoji/unicode/1f300.png differ diff --git a/src/images/emoji/unicode/1f301.png b/src/images/emoji/unicode/1f301.png new file mode 100644 index 0000000..e0cb53a Binary files /dev/null and b/src/images/emoji/unicode/1f301.png differ diff --git a/src/images/emoji/unicode/1f302.png b/src/images/emoji/unicode/1f302.png new file mode 100644 index 0000000..134e979 Binary files /dev/null and b/src/images/emoji/unicode/1f302.png differ diff --git a/src/images/emoji/unicode/1f303.png b/src/images/emoji/unicode/1f303.png new file mode 100644 index 0000000..1464f19 Binary files /dev/null and b/src/images/emoji/unicode/1f303.png differ diff --git a/src/images/emoji/unicode/1f304.png b/src/images/emoji/unicode/1f304.png new file mode 100644 index 0000000..65850e9 Binary files /dev/null and b/src/images/emoji/unicode/1f304.png differ diff --git a/src/images/emoji/unicode/1f305.png b/src/images/emoji/unicode/1f305.png new file mode 100644 index 0000000..c136efd Binary files /dev/null and b/src/images/emoji/unicode/1f305.png differ diff --git a/src/images/emoji/unicode/1f306.png b/src/images/emoji/unicode/1f306.png new file mode 100644 index 0000000..6b68e75 Binary files /dev/null and b/src/images/emoji/unicode/1f306.png differ diff --git a/src/images/emoji/unicode/1f307.png b/src/images/emoji/unicode/1f307.png new file mode 100644 index 0000000..015a004 Binary files /dev/null and b/src/images/emoji/unicode/1f307.png differ diff --git a/src/images/emoji/unicode/1f308.png b/src/images/emoji/unicode/1f308.png new file mode 100644 index 0000000..a3799ff Binary files /dev/null and b/src/images/emoji/unicode/1f308.png differ diff --git a/src/images/emoji/unicode/1f309.png b/src/images/emoji/unicode/1f309.png new file mode 100644 index 0000000..a536f96 Binary files /dev/null and b/src/images/emoji/unicode/1f309.png differ diff --git a/src/images/emoji/unicode/1f30a.png b/src/images/emoji/unicode/1f30a.png new file mode 100644 index 0000000..62d8ff1 Binary files /dev/null and b/src/images/emoji/unicode/1f30a.png differ diff --git a/src/images/emoji/unicode/1f30b.png b/src/images/emoji/unicode/1f30b.png new file mode 100644 index 0000000..ab68484 Binary files /dev/null and b/src/images/emoji/unicode/1f30b.png differ diff --git a/src/images/emoji/unicode/1f30c.png b/src/images/emoji/unicode/1f30c.png new file mode 100644 index 0000000..e8751ff Binary files /dev/null and b/src/images/emoji/unicode/1f30c.png differ diff --git a/src/images/emoji/unicode/1f30d.png b/src/images/emoji/unicode/1f30d.png new file mode 100644 index 0000000..ec779c1 Binary files /dev/null and b/src/images/emoji/unicode/1f30d.png differ diff --git a/src/images/emoji/unicode/1f30e.png b/src/images/emoji/unicode/1f30e.png new file mode 100644 index 0000000..9a4ef8b Binary files /dev/null and b/src/images/emoji/unicode/1f30e.png differ diff --git a/src/images/emoji/unicode/1f30f.png b/src/images/emoji/unicode/1f30f.png new file mode 100644 index 0000000..95545da Binary files /dev/null and b/src/images/emoji/unicode/1f30f.png differ diff --git a/src/images/emoji/unicode/1f310.png b/src/images/emoji/unicode/1f310.png new file mode 100644 index 0000000..7158e46 Binary files /dev/null and b/src/images/emoji/unicode/1f310.png differ diff --git a/src/images/emoji/unicode/1f311.png b/src/images/emoji/unicode/1f311.png new file mode 100644 index 0000000..4f1b3d3 Binary files /dev/null and b/src/images/emoji/unicode/1f311.png differ diff --git a/src/images/emoji/unicode/1f312.png b/src/images/emoji/unicode/1f312.png new file mode 100644 index 0000000..834d157 Binary files /dev/null and b/src/images/emoji/unicode/1f312.png differ diff --git a/src/images/emoji/unicode/1f313.png b/src/images/emoji/unicode/1f313.png new file mode 100644 index 0000000..a2035d6 Binary files /dev/null and b/src/images/emoji/unicode/1f313.png differ diff --git a/src/images/emoji/unicode/1f314.png b/src/images/emoji/unicode/1f314.png new file mode 100644 index 0000000..87b71c6 Binary files /dev/null and b/src/images/emoji/unicode/1f314.png differ diff --git a/src/images/emoji/unicode/1f315.png b/src/images/emoji/unicode/1f315.png new file mode 100644 index 0000000..f94a145 Binary files /dev/null and b/src/images/emoji/unicode/1f315.png differ diff --git a/src/images/emoji/unicode/1f316.png b/src/images/emoji/unicode/1f316.png new file mode 100644 index 0000000..6286937 Binary files /dev/null and b/src/images/emoji/unicode/1f316.png differ diff --git a/src/images/emoji/unicode/1f317.png b/src/images/emoji/unicode/1f317.png new file mode 100644 index 0000000..298ec12 Binary files /dev/null and b/src/images/emoji/unicode/1f317.png differ diff --git a/src/images/emoji/unicode/1f318.png b/src/images/emoji/unicode/1f318.png new file mode 100644 index 0000000..ba4228d Binary files /dev/null and b/src/images/emoji/unicode/1f318.png differ diff --git a/src/images/emoji/unicode/1f319.png b/src/images/emoji/unicode/1f319.png new file mode 100644 index 0000000..1aaea61 Binary files /dev/null and b/src/images/emoji/unicode/1f319.png differ diff --git a/src/images/emoji/unicode/1f31a.png b/src/images/emoji/unicode/1f31a.png new file mode 100644 index 0000000..50d4c2c Binary files /dev/null and b/src/images/emoji/unicode/1f31a.png differ diff --git a/src/images/emoji/unicode/1f31b.png b/src/images/emoji/unicode/1f31b.png new file mode 100644 index 0000000..b7e3594 Binary files /dev/null and b/src/images/emoji/unicode/1f31b.png differ diff --git a/src/images/emoji/unicode/1f31c.png b/src/images/emoji/unicode/1f31c.png new file mode 100644 index 0000000..483af46 Binary files /dev/null and b/src/images/emoji/unicode/1f31c.png differ diff --git a/src/images/emoji/unicode/1f31d.png b/src/images/emoji/unicode/1f31d.png new file mode 100644 index 0000000..4ae9cf6 Binary files /dev/null and b/src/images/emoji/unicode/1f31d.png differ diff --git a/src/images/emoji/unicode/1f31e.png b/src/images/emoji/unicode/1f31e.png new file mode 100644 index 0000000..1d99a41 Binary files /dev/null and b/src/images/emoji/unicode/1f31e.png differ diff --git a/src/images/emoji/unicode/1f31f.png b/src/images/emoji/unicode/1f31f.png new file mode 100644 index 0000000..9bfc60f Binary files /dev/null and b/src/images/emoji/unicode/1f31f.png differ diff --git a/src/images/emoji/unicode/1f320.png b/src/images/emoji/unicode/1f320.png new file mode 100644 index 0000000..63edfb6 Binary files /dev/null and b/src/images/emoji/unicode/1f320.png differ diff --git a/src/images/emoji/unicode/1f321.png b/src/images/emoji/unicode/1f321.png new file mode 100644 index 0000000..17fcc57 Binary files /dev/null and b/src/images/emoji/unicode/1f321.png differ diff --git a/src/images/emoji/unicode/1f324.png b/src/images/emoji/unicode/1f324.png new file mode 100644 index 0000000..dca8898 Binary files /dev/null and b/src/images/emoji/unicode/1f324.png differ diff --git a/src/images/emoji/unicode/1f325.png b/src/images/emoji/unicode/1f325.png new file mode 100644 index 0000000..91ccd80 Binary files /dev/null and b/src/images/emoji/unicode/1f325.png differ diff --git a/src/images/emoji/unicode/1f326.png b/src/images/emoji/unicode/1f326.png new file mode 100644 index 0000000..cc0524d Binary files /dev/null and b/src/images/emoji/unicode/1f326.png differ diff --git a/src/images/emoji/unicode/1f327.png b/src/images/emoji/unicode/1f327.png new file mode 100644 index 0000000..d595765 Binary files /dev/null and b/src/images/emoji/unicode/1f327.png differ diff --git a/src/images/emoji/unicode/1f328.png b/src/images/emoji/unicode/1f328.png new file mode 100644 index 0000000..b37f49a Binary files /dev/null and b/src/images/emoji/unicode/1f328.png differ diff --git a/src/images/emoji/unicode/1f329.png b/src/images/emoji/unicode/1f329.png new file mode 100644 index 0000000..dad249a Binary files /dev/null and b/src/images/emoji/unicode/1f329.png differ diff --git a/src/images/emoji/unicode/1f32a.png b/src/images/emoji/unicode/1f32a.png new file mode 100644 index 0000000..00bb97a Binary files /dev/null and b/src/images/emoji/unicode/1f32a.png differ diff --git a/src/images/emoji/unicode/1f32b.png b/src/images/emoji/unicode/1f32b.png new file mode 100644 index 0000000..c8ac38a Binary files /dev/null and b/src/images/emoji/unicode/1f32b.png differ diff --git a/src/images/emoji/unicode/1f32c.png b/src/images/emoji/unicode/1f32c.png new file mode 100644 index 0000000..6b933af Binary files /dev/null and b/src/images/emoji/unicode/1f32c.png differ diff --git a/src/images/emoji/unicode/1f32d.png b/src/images/emoji/unicode/1f32d.png new file mode 100644 index 0000000..224b69a Binary files /dev/null and b/src/images/emoji/unicode/1f32d.png differ diff --git a/src/images/emoji/unicode/1f32e.png b/src/images/emoji/unicode/1f32e.png new file mode 100644 index 0000000..1fd5862 Binary files /dev/null and b/src/images/emoji/unicode/1f32e.png differ diff --git a/src/images/emoji/unicode/1f32f.png b/src/images/emoji/unicode/1f32f.png new file mode 100644 index 0000000..cffa8af Binary files /dev/null and b/src/images/emoji/unicode/1f32f.png differ diff --git a/src/images/emoji/unicode/1f330.png b/src/images/emoji/unicode/1f330.png new file mode 100644 index 0000000..11dfd3b Binary files /dev/null and b/src/images/emoji/unicode/1f330.png differ diff --git a/src/images/emoji/unicode/1f331.png b/src/images/emoji/unicode/1f331.png new file mode 100644 index 0000000..c521d29 Binary files /dev/null and b/src/images/emoji/unicode/1f331.png differ diff --git a/src/images/emoji/unicode/1f332.png b/src/images/emoji/unicode/1f332.png new file mode 100644 index 0000000..192003c Binary files /dev/null and b/src/images/emoji/unicode/1f332.png differ diff --git a/src/images/emoji/unicode/1f333.png b/src/images/emoji/unicode/1f333.png new file mode 100644 index 0000000..eaf2e6e Binary files /dev/null and b/src/images/emoji/unicode/1f333.png differ diff --git a/src/images/emoji/unicode/1f334.png b/src/images/emoji/unicode/1f334.png new file mode 100644 index 0000000..4e15250 Binary files /dev/null and b/src/images/emoji/unicode/1f334.png differ diff --git a/src/images/emoji/unicode/1f335.png b/src/images/emoji/unicode/1f335.png new file mode 100644 index 0000000..293d379 Binary files /dev/null and b/src/images/emoji/unicode/1f335.png differ diff --git a/src/images/emoji/unicode/1f336.png b/src/images/emoji/unicode/1f336.png new file mode 100644 index 0000000..631fa92 Binary files /dev/null and b/src/images/emoji/unicode/1f336.png differ diff --git a/src/images/emoji/unicode/1f337.png b/src/images/emoji/unicode/1f337.png new file mode 100644 index 0000000..107c83a Binary files /dev/null and b/src/images/emoji/unicode/1f337.png differ diff --git a/src/images/emoji/unicode/1f338.png b/src/images/emoji/unicode/1f338.png new file mode 100644 index 0000000..4a65d44 Binary files /dev/null and b/src/images/emoji/unicode/1f338.png differ diff --git a/src/images/emoji/unicode/1f339.png b/src/images/emoji/unicode/1f339.png new file mode 100644 index 0000000..951211f Binary files /dev/null and b/src/images/emoji/unicode/1f339.png differ diff --git a/src/images/emoji/unicode/1f33a.png b/src/images/emoji/unicode/1f33a.png new file mode 100644 index 0000000..d9da9d9 Binary files /dev/null and b/src/images/emoji/unicode/1f33a.png differ diff --git a/src/images/emoji/unicode/1f33b.png b/src/images/emoji/unicode/1f33b.png new file mode 100644 index 0000000..88896be Binary files /dev/null and b/src/images/emoji/unicode/1f33b.png differ diff --git a/src/images/emoji/unicode/1f33c.png b/src/images/emoji/unicode/1f33c.png new file mode 100644 index 0000000..b253b95 Binary files /dev/null and b/src/images/emoji/unicode/1f33c.png differ diff --git a/src/images/emoji/unicode/1f33d.png b/src/images/emoji/unicode/1f33d.png new file mode 100644 index 0000000..a3c8b72 Binary files /dev/null and b/src/images/emoji/unicode/1f33d.png differ diff --git a/src/images/emoji/unicode/1f33e.png b/src/images/emoji/unicode/1f33e.png new file mode 100644 index 0000000..411e32c Binary files /dev/null and b/src/images/emoji/unicode/1f33e.png differ diff --git a/src/images/emoji/unicode/1f33f.png b/src/images/emoji/unicode/1f33f.png new file mode 100644 index 0000000..f90f3e9 Binary files /dev/null and b/src/images/emoji/unicode/1f33f.png differ diff --git a/src/images/emoji/unicode/1f340.png b/src/images/emoji/unicode/1f340.png new file mode 100644 index 0000000..15aa121 Binary files /dev/null and b/src/images/emoji/unicode/1f340.png differ diff --git a/src/images/emoji/unicode/1f341.png b/src/images/emoji/unicode/1f341.png new file mode 100644 index 0000000..089481e Binary files /dev/null and b/src/images/emoji/unicode/1f341.png differ diff --git a/src/images/emoji/unicode/1f342.png b/src/images/emoji/unicode/1f342.png new file mode 100644 index 0000000..5716c04 Binary files /dev/null and b/src/images/emoji/unicode/1f342.png differ diff --git a/src/images/emoji/unicode/1f343.png b/src/images/emoji/unicode/1f343.png new file mode 100644 index 0000000..2a381dc Binary files /dev/null and b/src/images/emoji/unicode/1f343.png differ diff --git a/src/images/emoji/unicode/1f344.png b/src/images/emoji/unicode/1f344.png new file mode 100644 index 0000000..4c98e97 Binary files /dev/null and b/src/images/emoji/unicode/1f344.png differ diff --git a/src/images/emoji/unicode/1f345.png b/src/images/emoji/unicode/1f345.png new file mode 100644 index 0000000..520bd1c Binary files /dev/null and b/src/images/emoji/unicode/1f345.png differ diff --git a/src/images/emoji/unicode/1f346.png b/src/images/emoji/unicode/1f346.png new file mode 100644 index 0000000..0df7307 Binary files /dev/null and b/src/images/emoji/unicode/1f346.png differ diff --git a/src/images/emoji/unicode/1f347.png b/src/images/emoji/unicode/1f347.png new file mode 100644 index 0000000..a47f950 Binary files /dev/null and b/src/images/emoji/unicode/1f347.png differ diff --git a/src/images/emoji/unicode/1f348.png b/src/images/emoji/unicode/1f348.png new file mode 100644 index 0000000..9697351 Binary files /dev/null and b/src/images/emoji/unicode/1f348.png differ diff --git a/src/images/emoji/unicode/1f349.png b/src/images/emoji/unicode/1f349.png new file mode 100644 index 0000000..7e71e56 Binary files /dev/null and b/src/images/emoji/unicode/1f349.png differ diff --git a/src/images/emoji/unicode/1f34a.png b/src/images/emoji/unicode/1f34a.png new file mode 100644 index 0000000..5f29399 Binary files /dev/null and b/src/images/emoji/unicode/1f34a.png differ diff --git a/src/images/emoji/unicode/1f34b.png b/src/images/emoji/unicode/1f34b.png new file mode 100644 index 0000000..d636f08 Binary files /dev/null and b/src/images/emoji/unicode/1f34b.png differ diff --git a/src/images/emoji/unicode/1f34c.png b/src/images/emoji/unicode/1f34c.png new file mode 100644 index 0000000..4c11147 Binary files /dev/null and b/src/images/emoji/unicode/1f34c.png differ diff --git a/src/images/emoji/unicode/1f34d.png b/src/images/emoji/unicode/1f34d.png new file mode 100644 index 0000000..6eed98a Binary files /dev/null and b/src/images/emoji/unicode/1f34d.png differ diff --git a/src/images/emoji/unicode/1f34e.png b/src/images/emoji/unicode/1f34e.png new file mode 100644 index 0000000..e1ed3ef Binary files /dev/null and b/src/images/emoji/unicode/1f34e.png differ diff --git a/src/images/emoji/unicode/1f34f.png b/src/images/emoji/unicode/1f34f.png new file mode 100644 index 0000000..6e0351d Binary files /dev/null and b/src/images/emoji/unicode/1f34f.png differ diff --git a/src/images/emoji/unicode/1f350.png b/src/images/emoji/unicode/1f350.png new file mode 100644 index 0000000..1536e6f Binary files /dev/null and b/src/images/emoji/unicode/1f350.png differ diff --git a/src/images/emoji/unicode/1f351.png b/src/images/emoji/unicode/1f351.png new file mode 100644 index 0000000..734e971 Binary files /dev/null and b/src/images/emoji/unicode/1f351.png differ diff --git a/src/images/emoji/unicode/1f352.png b/src/images/emoji/unicode/1f352.png new file mode 100644 index 0000000..6f719db Binary files /dev/null and b/src/images/emoji/unicode/1f352.png differ diff --git a/src/images/emoji/unicode/1f353.png b/src/images/emoji/unicode/1f353.png new file mode 100644 index 0000000..2d95183 Binary files /dev/null and b/src/images/emoji/unicode/1f353.png differ diff --git a/src/images/emoji/unicode/1f354.png b/src/images/emoji/unicode/1f354.png new file mode 100644 index 0000000..fd40a6c Binary files /dev/null and b/src/images/emoji/unicode/1f354.png differ diff --git a/src/images/emoji/unicode/1f355.png b/src/images/emoji/unicode/1f355.png new file mode 100644 index 0000000..b327b4f Binary files /dev/null and b/src/images/emoji/unicode/1f355.png differ diff --git a/src/images/emoji/unicode/1f356.png b/src/images/emoji/unicode/1f356.png new file mode 100644 index 0000000..fe2d264 Binary files /dev/null and b/src/images/emoji/unicode/1f356.png differ diff --git a/src/images/emoji/unicode/1f357.png b/src/images/emoji/unicode/1f357.png new file mode 100644 index 0000000..869f0c3 Binary files /dev/null and b/src/images/emoji/unicode/1f357.png differ diff --git a/src/images/emoji/unicode/1f358.png b/src/images/emoji/unicode/1f358.png new file mode 100644 index 0000000..667aeec Binary files /dev/null and b/src/images/emoji/unicode/1f358.png differ diff --git a/src/images/emoji/unicode/1f359.png b/src/images/emoji/unicode/1f359.png new file mode 100644 index 0000000..9ddaa0d Binary files /dev/null and b/src/images/emoji/unicode/1f359.png differ diff --git a/src/images/emoji/unicode/1f35a.png b/src/images/emoji/unicode/1f35a.png new file mode 100644 index 0000000..721e656 Binary files /dev/null and b/src/images/emoji/unicode/1f35a.png differ diff --git a/src/images/emoji/unicode/1f35b.png b/src/images/emoji/unicode/1f35b.png new file mode 100644 index 0000000..b3d29fa Binary files /dev/null and b/src/images/emoji/unicode/1f35b.png differ diff --git a/src/images/emoji/unicode/1f35c.png b/src/images/emoji/unicode/1f35c.png new file mode 100644 index 0000000..26d0dde Binary files /dev/null and b/src/images/emoji/unicode/1f35c.png differ diff --git a/src/images/emoji/unicode/1f35d.png b/src/images/emoji/unicode/1f35d.png new file mode 100644 index 0000000..55476e9 Binary files /dev/null and b/src/images/emoji/unicode/1f35d.png differ diff --git a/src/images/emoji/unicode/1f35e.png b/src/images/emoji/unicode/1f35e.png new file mode 100644 index 0000000..6456ba5 Binary files /dev/null and b/src/images/emoji/unicode/1f35e.png differ diff --git a/src/images/emoji/unicode/1f35f.png b/src/images/emoji/unicode/1f35f.png new file mode 100644 index 0000000..3b621f4 Binary files /dev/null and b/src/images/emoji/unicode/1f35f.png differ diff --git a/src/images/emoji/unicode/1f360.png b/src/images/emoji/unicode/1f360.png new file mode 100644 index 0000000..7149042 Binary files /dev/null and b/src/images/emoji/unicode/1f360.png differ diff --git a/src/images/emoji/unicode/1f361.png b/src/images/emoji/unicode/1f361.png new file mode 100644 index 0000000..13b1236 Binary files /dev/null and b/src/images/emoji/unicode/1f361.png differ diff --git a/src/images/emoji/unicode/1f362.png b/src/images/emoji/unicode/1f362.png new file mode 100644 index 0000000..680e464 Binary files /dev/null and b/src/images/emoji/unicode/1f362.png differ diff --git a/src/images/emoji/unicode/1f363.png b/src/images/emoji/unicode/1f363.png new file mode 100644 index 0000000..97ce29c Binary files /dev/null and b/src/images/emoji/unicode/1f363.png differ diff --git a/src/images/emoji/unicode/1f364.png b/src/images/emoji/unicode/1f364.png new file mode 100644 index 0000000..8a5470d Binary files /dev/null and b/src/images/emoji/unicode/1f364.png differ diff --git a/src/images/emoji/unicode/1f365.png b/src/images/emoji/unicode/1f365.png new file mode 100644 index 0000000..4f104ec Binary files /dev/null and b/src/images/emoji/unicode/1f365.png differ diff --git a/src/images/emoji/unicode/1f366.png b/src/images/emoji/unicode/1f366.png new file mode 100644 index 0000000..97e95f1 Binary files /dev/null and b/src/images/emoji/unicode/1f366.png differ diff --git a/src/images/emoji/unicode/1f367.png b/src/images/emoji/unicode/1f367.png new file mode 100644 index 0000000..df8e270 Binary files /dev/null and b/src/images/emoji/unicode/1f367.png differ diff --git a/src/images/emoji/unicode/1f368.png b/src/images/emoji/unicode/1f368.png new file mode 100644 index 0000000..d1383cf Binary files /dev/null and b/src/images/emoji/unicode/1f368.png differ diff --git a/src/images/emoji/unicode/1f369.png b/src/images/emoji/unicode/1f369.png new file mode 100644 index 0000000..09672d9 Binary files /dev/null and b/src/images/emoji/unicode/1f369.png differ diff --git a/src/images/emoji/unicode/1f36a.png b/src/images/emoji/unicode/1f36a.png new file mode 100644 index 0000000..3a553e2 Binary files /dev/null and b/src/images/emoji/unicode/1f36a.png differ diff --git a/src/images/emoji/unicode/1f36b.png b/src/images/emoji/unicode/1f36b.png new file mode 100644 index 0000000..4be0d00 Binary files /dev/null and b/src/images/emoji/unicode/1f36b.png differ diff --git a/src/images/emoji/unicode/1f36c.png b/src/images/emoji/unicode/1f36c.png new file mode 100644 index 0000000..1798e08 Binary files /dev/null and b/src/images/emoji/unicode/1f36c.png differ diff --git a/src/images/emoji/unicode/1f36d.png b/src/images/emoji/unicode/1f36d.png new file mode 100644 index 0000000..a9c4f9e Binary files /dev/null and b/src/images/emoji/unicode/1f36d.png differ diff --git a/src/images/emoji/unicode/1f36e.png b/src/images/emoji/unicode/1f36e.png new file mode 100644 index 0000000..cc8d5f2 Binary files /dev/null and b/src/images/emoji/unicode/1f36e.png differ diff --git a/src/images/emoji/unicode/1f36f.png b/src/images/emoji/unicode/1f36f.png new file mode 100644 index 0000000..f5b9cb9 Binary files /dev/null and b/src/images/emoji/unicode/1f36f.png differ diff --git a/src/images/emoji/unicode/1f370.png b/src/images/emoji/unicode/1f370.png new file mode 100644 index 0000000..17a82ab Binary files /dev/null and b/src/images/emoji/unicode/1f370.png differ diff --git a/src/images/emoji/unicode/1f371.png b/src/images/emoji/unicode/1f371.png new file mode 100644 index 0000000..a1fd49c Binary files /dev/null and b/src/images/emoji/unicode/1f371.png differ diff --git a/src/images/emoji/unicode/1f372.png b/src/images/emoji/unicode/1f372.png new file mode 100644 index 0000000..6c49aae Binary files /dev/null and b/src/images/emoji/unicode/1f372.png differ diff --git a/src/images/emoji/unicode/1f373.png b/src/images/emoji/unicode/1f373.png new file mode 100644 index 0000000..0155e16 Binary files /dev/null and b/src/images/emoji/unicode/1f373.png differ diff --git a/src/images/emoji/unicode/1f374.png b/src/images/emoji/unicode/1f374.png new file mode 100644 index 0000000..4ed96e4 Binary files /dev/null and b/src/images/emoji/unicode/1f374.png differ diff --git a/src/images/emoji/unicode/1f375.png b/src/images/emoji/unicode/1f375.png new file mode 100644 index 0000000..9245f29 Binary files /dev/null and b/src/images/emoji/unicode/1f375.png differ diff --git a/src/images/emoji/unicode/1f376.png b/src/images/emoji/unicode/1f376.png new file mode 100644 index 0000000..922ee42 Binary files /dev/null and b/src/images/emoji/unicode/1f376.png differ diff --git a/src/images/emoji/unicode/1f377.png b/src/images/emoji/unicode/1f377.png new file mode 100644 index 0000000..827565f Binary files /dev/null and b/src/images/emoji/unicode/1f377.png differ diff --git a/src/images/emoji/unicode/1f378.png b/src/images/emoji/unicode/1f378.png new file mode 100644 index 0000000..b662fca Binary files /dev/null and b/src/images/emoji/unicode/1f378.png differ diff --git a/src/images/emoji/unicode/1f379.png b/src/images/emoji/unicode/1f379.png new file mode 100644 index 0000000..9d9ccb9 Binary files /dev/null and b/src/images/emoji/unicode/1f379.png differ diff --git a/src/images/emoji/unicode/1f37a.png b/src/images/emoji/unicode/1f37a.png new file mode 100644 index 0000000..688586a Binary files /dev/null and b/src/images/emoji/unicode/1f37a.png differ diff --git a/src/images/emoji/unicode/1f37b.png b/src/images/emoji/unicode/1f37b.png new file mode 100644 index 0000000..d8cb2da Binary files /dev/null and b/src/images/emoji/unicode/1f37b.png differ diff --git a/src/images/emoji/unicode/1f37c.png b/src/images/emoji/unicode/1f37c.png new file mode 100644 index 0000000..83b9c99 Binary files /dev/null and b/src/images/emoji/unicode/1f37c.png differ diff --git a/src/images/emoji/unicode/1f37d.png b/src/images/emoji/unicode/1f37d.png new file mode 100644 index 0000000..ab8b6db Binary files /dev/null and b/src/images/emoji/unicode/1f37d.png differ diff --git a/src/images/emoji/unicode/1f37e.png b/src/images/emoji/unicode/1f37e.png new file mode 100644 index 0000000..02e10ff Binary files /dev/null and b/src/images/emoji/unicode/1f37e.png differ diff --git a/src/images/emoji/unicode/1f37f.png b/src/images/emoji/unicode/1f37f.png new file mode 100644 index 0000000..72ea476 Binary files /dev/null and b/src/images/emoji/unicode/1f37f.png differ diff --git a/src/images/emoji/unicode/1f380.png b/src/images/emoji/unicode/1f380.png new file mode 100644 index 0000000..28c7254 Binary files /dev/null and b/src/images/emoji/unicode/1f380.png differ diff --git a/src/images/emoji/unicode/1f381.png b/src/images/emoji/unicode/1f381.png new file mode 100644 index 0000000..fde5668 Binary files /dev/null and b/src/images/emoji/unicode/1f381.png differ diff --git a/src/images/emoji/unicode/1f382.png b/src/images/emoji/unicode/1f382.png new file mode 100644 index 0000000..df71160 Binary files /dev/null and b/src/images/emoji/unicode/1f382.png differ diff --git a/src/images/emoji/unicode/1f383.png b/src/images/emoji/unicode/1f383.png new file mode 100644 index 0000000..a6717ac Binary files /dev/null and b/src/images/emoji/unicode/1f383.png differ diff --git a/src/images/emoji/unicode/1f384.png b/src/images/emoji/unicode/1f384.png new file mode 100644 index 0000000..75b4e4b Binary files /dev/null and b/src/images/emoji/unicode/1f384.png differ diff --git a/src/images/emoji/unicode/1f385-1f3fb.png b/src/images/emoji/unicode/1f385-1f3fb.png new file mode 100644 index 0000000..9a3ff8d Binary files /dev/null and b/src/images/emoji/unicode/1f385-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f385-1f3fc.png b/src/images/emoji/unicode/1f385-1f3fc.png new file mode 100644 index 0000000..f287d3a Binary files /dev/null and b/src/images/emoji/unicode/1f385-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f385-1f3fd.png b/src/images/emoji/unicode/1f385-1f3fd.png new file mode 100644 index 0000000..4a7120d Binary files /dev/null and b/src/images/emoji/unicode/1f385-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f385-1f3fe.png b/src/images/emoji/unicode/1f385-1f3fe.png new file mode 100644 index 0000000..c7138b8 Binary files /dev/null and b/src/images/emoji/unicode/1f385-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f385-1f3ff.png b/src/images/emoji/unicode/1f385-1f3ff.png new file mode 100644 index 0000000..65f2987 Binary files /dev/null and b/src/images/emoji/unicode/1f385-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f385.png b/src/images/emoji/unicode/1f385.png new file mode 100644 index 0000000..a9ea587 Binary files /dev/null and b/src/images/emoji/unicode/1f385.png differ diff --git a/src/images/emoji/unicode/1f386.png b/src/images/emoji/unicode/1f386.png new file mode 100644 index 0000000..1c54079 Binary files /dev/null and b/src/images/emoji/unicode/1f386.png differ diff --git a/src/images/emoji/unicode/1f387.png b/src/images/emoji/unicode/1f387.png new file mode 100644 index 0000000..a4f474d Binary files /dev/null and b/src/images/emoji/unicode/1f387.png differ diff --git a/src/images/emoji/unicode/1f388.png b/src/images/emoji/unicode/1f388.png new file mode 100644 index 0000000..6fc2df6 Binary files /dev/null and b/src/images/emoji/unicode/1f388.png differ diff --git a/src/images/emoji/unicode/1f389.png b/src/images/emoji/unicode/1f389.png new file mode 100644 index 0000000..046dba4 Binary files /dev/null and b/src/images/emoji/unicode/1f389.png differ diff --git a/src/images/emoji/unicode/1f38a.png b/src/images/emoji/unicode/1f38a.png new file mode 100644 index 0000000..33d9899 Binary files /dev/null and b/src/images/emoji/unicode/1f38a.png differ diff --git a/src/images/emoji/unicode/1f38b.png b/src/images/emoji/unicode/1f38b.png new file mode 100644 index 0000000..db237a5 Binary files /dev/null and b/src/images/emoji/unicode/1f38b.png differ diff --git a/src/images/emoji/unicode/1f38c.png b/src/images/emoji/unicode/1f38c.png new file mode 100644 index 0000000..db47bac Binary files /dev/null and b/src/images/emoji/unicode/1f38c.png differ diff --git a/src/images/emoji/unicode/1f38d.png b/src/images/emoji/unicode/1f38d.png new file mode 100644 index 0000000..a1f1139 Binary files /dev/null and b/src/images/emoji/unicode/1f38d.png differ diff --git a/src/images/emoji/unicode/1f38e.png b/src/images/emoji/unicode/1f38e.png new file mode 100644 index 0000000..cf3409e Binary files /dev/null and b/src/images/emoji/unicode/1f38e.png differ diff --git a/src/images/emoji/unicode/1f38f.png b/src/images/emoji/unicode/1f38f.png new file mode 100644 index 0000000..1ad8ef4 Binary files /dev/null and b/src/images/emoji/unicode/1f38f.png differ diff --git a/src/images/emoji/unicode/1f390.png b/src/images/emoji/unicode/1f390.png new file mode 100644 index 0000000..dcc248f Binary files /dev/null and b/src/images/emoji/unicode/1f390.png differ diff --git a/src/images/emoji/unicode/1f391.png b/src/images/emoji/unicode/1f391.png new file mode 100644 index 0000000..0fd5b93 Binary files /dev/null and b/src/images/emoji/unicode/1f391.png differ diff --git a/src/images/emoji/unicode/1f392.png b/src/images/emoji/unicode/1f392.png new file mode 100644 index 0000000..a4c0ce0 Binary files /dev/null and b/src/images/emoji/unicode/1f392.png differ diff --git a/src/images/emoji/unicode/1f393.png b/src/images/emoji/unicode/1f393.png new file mode 100644 index 0000000..16c636d Binary files /dev/null and b/src/images/emoji/unicode/1f393.png differ diff --git a/src/images/emoji/unicode/1f396.png b/src/images/emoji/unicode/1f396.png new file mode 100644 index 0000000..306cd8b Binary files /dev/null and b/src/images/emoji/unicode/1f396.png differ diff --git a/src/images/emoji/unicode/1f397.png b/src/images/emoji/unicode/1f397.png new file mode 100644 index 0000000..03b3b74 Binary files /dev/null and b/src/images/emoji/unicode/1f397.png differ diff --git a/src/images/emoji/unicode/1f399.png b/src/images/emoji/unicode/1f399.png new file mode 100644 index 0000000..8d9ba97 Binary files /dev/null and b/src/images/emoji/unicode/1f399.png differ diff --git a/src/images/emoji/unicode/1f39a.png b/src/images/emoji/unicode/1f39a.png new file mode 100644 index 0000000..b436f72 Binary files /dev/null and b/src/images/emoji/unicode/1f39a.png differ diff --git a/src/images/emoji/unicode/1f39b.png b/src/images/emoji/unicode/1f39b.png new file mode 100644 index 0000000..0e34de2 Binary files /dev/null and b/src/images/emoji/unicode/1f39b.png differ diff --git a/src/images/emoji/unicode/1f39e.png b/src/images/emoji/unicode/1f39e.png new file mode 100644 index 0000000..1cce24b Binary files /dev/null and b/src/images/emoji/unicode/1f39e.png differ diff --git a/src/images/emoji/unicode/1f39f.png b/src/images/emoji/unicode/1f39f.png new file mode 100644 index 0000000..6186623 Binary files /dev/null and b/src/images/emoji/unicode/1f39f.png differ diff --git a/src/images/emoji/unicode/1f3a0.png b/src/images/emoji/unicode/1f3a0.png new file mode 100644 index 0000000..a1e4978 Binary files /dev/null and b/src/images/emoji/unicode/1f3a0.png differ diff --git a/src/images/emoji/unicode/1f3a1.png b/src/images/emoji/unicode/1f3a1.png new file mode 100644 index 0000000..571536f Binary files /dev/null and b/src/images/emoji/unicode/1f3a1.png differ diff --git a/src/images/emoji/unicode/1f3a2.png b/src/images/emoji/unicode/1f3a2.png new file mode 100644 index 0000000..08b5948 Binary files /dev/null and b/src/images/emoji/unicode/1f3a2.png differ diff --git a/src/images/emoji/unicode/1f3a3.png b/src/images/emoji/unicode/1f3a3.png new file mode 100644 index 0000000..8708248 Binary files /dev/null and b/src/images/emoji/unicode/1f3a3.png differ diff --git a/src/images/emoji/unicode/1f3a4.png b/src/images/emoji/unicode/1f3a4.png new file mode 100644 index 0000000..9cf9364 Binary files /dev/null and b/src/images/emoji/unicode/1f3a4.png differ diff --git a/src/images/emoji/unicode/1f3a5.png b/src/images/emoji/unicode/1f3a5.png new file mode 100644 index 0000000..c3d131c Binary files /dev/null and b/src/images/emoji/unicode/1f3a5.png differ diff --git a/src/images/emoji/unicode/1f3a6.png b/src/images/emoji/unicode/1f3a6.png new file mode 100644 index 0000000..2a07754 Binary files /dev/null and b/src/images/emoji/unicode/1f3a6.png differ diff --git a/src/images/emoji/unicode/1f3a7.png b/src/images/emoji/unicode/1f3a7.png new file mode 100644 index 0000000..60a58a2 Binary files /dev/null and b/src/images/emoji/unicode/1f3a7.png differ diff --git a/src/images/emoji/unicode/1f3a8.png b/src/images/emoji/unicode/1f3a8.png new file mode 100644 index 0000000..d989e34 Binary files /dev/null and b/src/images/emoji/unicode/1f3a8.png differ diff --git a/src/images/emoji/unicode/1f3a9.png b/src/images/emoji/unicode/1f3a9.png new file mode 100644 index 0000000..158b710 Binary files /dev/null and b/src/images/emoji/unicode/1f3a9.png differ diff --git a/src/images/emoji/unicode/1f3aa.png b/src/images/emoji/unicode/1f3aa.png new file mode 100644 index 0000000..281c9bf Binary files /dev/null and b/src/images/emoji/unicode/1f3aa.png differ diff --git a/src/images/emoji/unicode/1f3ab.png b/src/images/emoji/unicode/1f3ab.png new file mode 100644 index 0000000..f565244 Binary files /dev/null and b/src/images/emoji/unicode/1f3ab.png differ diff --git a/src/images/emoji/unicode/1f3ac.png b/src/images/emoji/unicode/1f3ac.png new file mode 100644 index 0000000..9bd61ff Binary files /dev/null and b/src/images/emoji/unicode/1f3ac.png differ diff --git a/src/images/emoji/unicode/1f3ad.png b/src/images/emoji/unicode/1f3ad.png new file mode 100644 index 0000000..8b6568c Binary files /dev/null and b/src/images/emoji/unicode/1f3ad.png differ diff --git a/src/images/emoji/unicode/1f3ae.png b/src/images/emoji/unicode/1f3ae.png new file mode 100644 index 0000000..62f7302 Binary files /dev/null and b/src/images/emoji/unicode/1f3ae.png differ diff --git a/src/images/emoji/unicode/1f3af.png b/src/images/emoji/unicode/1f3af.png new file mode 100644 index 0000000..a62b83f Binary files /dev/null and b/src/images/emoji/unicode/1f3af.png differ diff --git a/src/images/emoji/unicode/1f3b0.png b/src/images/emoji/unicode/1f3b0.png new file mode 100644 index 0000000..29d5d78 Binary files /dev/null and b/src/images/emoji/unicode/1f3b0.png differ diff --git a/src/images/emoji/unicode/1f3b1.png b/src/images/emoji/unicode/1f3b1.png new file mode 100644 index 0000000..8da6582 Binary files /dev/null and b/src/images/emoji/unicode/1f3b1.png differ diff --git a/src/images/emoji/unicode/1f3b2.png b/src/images/emoji/unicode/1f3b2.png new file mode 100644 index 0000000..1ab63e8 Binary files /dev/null and b/src/images/emoji/unicode/1f3b2.png differ diff --git a/src/images/emoji/unicode/1f3b3.png b/src/images/emoji/unicode/1f3b3.png new file mode 100644 index 0000000..8c5eb93 Binary files /dev/null and b/src/images/emoji/unicode/1f3b3.png differ diff --git a/src/images/emoji/unicode/1f3b4.png b/src/images/emoji/unicode/1f3b4.png new file mode 100644 index 0000000..8c1fe58 Binary files /dev/null and b/src/images/emoji/unicode/1f3b4.png differ diff --git a/src/images/emoji/unicode/1f3b5.png b/src/images/emoji/unicode/1f3b5.png new file mode 100644 index 0000000..58fa131 Binary files /dev/null and b/src/images/emoji/unicode/1f3b5.png differ diff --git a/src/images/emoji/unicode/1f3b6.png b/src/images/emoji/unicode/1f3b6.png new file mode 100644 index 0000000..70663d3 Binary files /dev/null and b/src/images/emoji/unicode/1f3b6.png differ diff --git a/src/images/emoji/unicode/1f3b7.png b/src/images/emoji/unicode/1f3b7.png new file mode 100644 index 0000000..2935ebb Binary files /dev/null and b/src/images/emoji/unicode/1f3b7.png differ diff --git a/src/images/emoji/unicode/1f3b8.png b/src/images/emoji/unicode/1f3b8.png new file mode 100644 index 0000000..0f94c32 Binary files /dev/null and b/src/images/emoji/unicode/1f3b8.png differ diff --git a/src/images/emoji/unicode/1f3b9.png b/src/images/emoji/unicode/1f3b9.png new file mode 100644 index 0000000..a5d8aa1 Binary files /dev/null and b/src/images/emoji/unicode/1f3b9.png differ diff --git a/src/images/emoji/unicode/1f3ba.png b/src/images/emoji/unicode/1f3ba.png new file mode 100644 index 0000000..50614b1 Binary files /dev/null and b/src/images/emoji/unicode/1f3ba.png differ diff --git a/src/images/emoji/unicode/1f3bb.png b/src/images/emoji/unicode/1f3bb.png new file mode 100644 index 0000000..5c1ba69 Binary files /dev/null and b/src/images/emoji/unicode/1f3bb.png differ diff --git a/src/images/emoji/unicode/1f3bc.png b/src/images/emoji/unicode/1f3bc.png new file mode 100644 index 0000000..602a5c7 Binary files /dev/null and b/src/images/emoji/unicode/1f3bc.png differ diff --git a/src/images/emoji/unicode/1f3bd.png b/src/images/emoji/unicode/1f3bd.png new file mode 100644 index 0000000..79df4a8 Binary files /dev/null and b/src/images/emoji/unicode/1f3bd.png differ diff --git a/src/images/emoji/unicode/1f3be.png b/src/images/emoji/unicode/1f3be.png new file mode 100644 index 0000000..d30454e Binary files /dev/null and b/src/images/emoji/unicode/1f3be.png differ diff --git a/src/images/emoji/unicode/1f3bf.png b/src/images/emoji/unicode/1f3bf.png new file mode 100644 index 0000000..0d4501b Binary files /dev/null and b/src/images/emoji/unicode/1f3bf.png differ diff --git a/src/images/emoji/unicode/1f3c0.png b/src/images/emoji/unicode/1f3c0.png new file mode 100644 index 0000000..f51c2ce Binary files /dev/null and b/src/images/emoji/unicode/1f3c0.png differ diff --git a/src/images/emoji/unicode/1f3c1.png b/src/images/emoji/unicode/1f3c1.png new file mode 100644 index 0000000..d7b5d03 Binary files /dev/null and b/src/images/emoji/unicode/1f3c1.png differ diff --git a/src/images/emoji/unicode/1f3c2.png b/src/images/emoji/unicode/1f3c2.png new file mode 100644 index 0000000..8981172 Binary files /dev/null and b/src/images/emoji/unicode/1f3c2.png differ diff --git a/src/images/emoji/unicode/1f3c3-1f3fb.png b/src/images/emoji/unicode/1f3c3-1f3fb.png new file mode 100644 index 0000000..8b4117e Binary files /dev/null and b/src/images/emoji/unicode/1f3c3-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3c3-1f3fc.png b/src/images/emoji/unicode/1f3c3-1f3fc.png new file mode 100644 index 0000000..5eb1406 Binary files /dev/null and b/src/images/emoji/unicode/1f3c3-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3c3-1f3fd.png b/src/images/emoji/unicode/1f3c3-1f3fd.png new file mode 100644 index 0000000..614f051 Binary files /dev/null and b/src/images/emoji/unicode/1f3c3-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3c3-1f3fe.png b/src/images/emoji/unicode/1f3c3-1f3fe.png new file mode 100644 index 0000000..cc8f957 Binary files /dev/null and b/src/images/emoji/unicode/1f3c3-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3c3-1f3ff.png b/src/images/emoji/unicode/1f3c3-1f3ff.png new file mode 100644 index 0000000..0bde5dd Binary files /dev/null and b/src/images/emoji/unicode/1f3c3-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f3c3.png b/src/images/emoji/unicode/1f3c3.png new file mode 100644 index 0000000..3b7f125 Binary files /dev/null and b/src/images/emoji/unicode/1f3c3.png differ diff --git a/src/images/emoji/unicode/1f3c4-1f3fb.png b/src/images/emoji/unicode/1f3c4-1f3fb.png new file mode 100644 index 0000000..954a4d1 Binary files /dev/null and b/src/images/emoji/unicode/1f3c4-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3c4-1f3fc.png b/src/images/emoji/unicode/1f3c4-1f3fc.png new file mode 100644 index 0000000..faeafa9 Binary files /dev/null and b/src/images/emoji/unicode/1f3c4-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3c4-1f3fd.png b/src/images/emoji/unicode/1f3c4-1f3fd.png new file mode 100644 index 0000000..8b4a525 Binary files /dev/null and b/src/images/emoji/unicode/1f3c4-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3c4-1f3fe.png b/src/images/emoji/unicode/1f3c4-1f3fe.png new file mode 100644 index 0000000..9f4116d Binary files /dev/null and b/src/images/emoji/unicode/1f3c4-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3c4-1f3ff.png b/src/images/emoji/unicode/1f3c4-1f3ff.png new file mode 100644 index 0000000..fb12682 Binary files /dev/null and b/src/images/emoji/unicode/1f3c4-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f3c4.png b/src/images/emoji/unicode/1f3c4.png new file mode 100644 index 0000000..52626db Binary files /dev/null and b/src/images/emoji/unicode/1f3c4.png differ diff --git a/src/images/emoji/unicode/1f3c5.png b/src/images/emoji/unicode/1f3c5.png new file mode 100644 index 0000000..280bc07 Binary files /dev/null and b/src/images/emoji/unicode/1f3c5.png differ diff --git a/src/images/emoji/unicode/1f3c6.png b/src/images/emoji/unicode/1f3c6.png new file mode 100644 index 0000000..a1f576b Binary files /dev/null and b/src/images/emoji/unicode/1f3c6.png differ diff --git a/src/images/emoji/unicode/1f3c7-1f3fb.png b/src/images/emoji/unicode/1f3c7-1f3fb.png new file mode 100644 index 0000000..5fdc9bf Binary files /dev/null and b/src/images/emoji/unicode/1f3c7-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3c7-1f3fc.png b/src/images/emoji/unicode/1f3c7-1f3fc.png new file mode 100644 index 0000000..169a5da Binary files /dev/null and b/src/images/emoji/unicode/1f3c7-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3c7-1f3fd.png b/src/images/emoji/unicode/1f3c7-1f3fd.png new file mode 100644 index 0000000..7c8bf76 Binary files /dev/null and b/src/images/emoji/unicode/1f3c7-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3c7-1f3fe.png b/src/images/emoji/unicode/1f3c7-1f3fe.png new file mode 100644 index 0000000..f9dafc3 Binary files /dev/null and b/src/images/emoji/unicode/1f3c7-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3c7-1f3ff.png b/src/images/emoji/unicode/1f3c7-1f3ff.png new file mode 100644 index 0000000..bb2823c Binary files /dev/null and b/src/images/emoji/unicode/1f3c7-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f3c7.png b/src/images/emoji/unicode/1f3c7.png new file mode 100644 index 0000000..548372c Binary files /dev/null and b/src/images/emoji/unicode/1f3c7.png differ diff --git a/src/images/emoji/unicode/1f3c8.png b/src/images/emoji/unicode/1f3c8.png new file mode 100644 index 0000000..cde0a6e Binary files /dev/null and b/src/images/emoji/unicode/1f3c8.png differ diff --git a/src/images/emoji/unicode/1f3c9.png b/src/images/emoji/unicode/1f3c9.png new file mode 100644 index 0000000..83a044a Binary files /dev/null and b/src/images/emoji/unicode/1f3c9.png differ diff --git a/src/images/emoji/unicode/1f3ca-1f3fb.png b/src/images/emoji/unicode/1f3ca-1f3fb.png new file mode 100644 index 0000000..80c1b05 Binary files /dev/null and b/src/images/emoji/unicode/1f3ca-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3ca-1f3fc.png b/src/images/emoji/unicode/1f3ca-1f3fc.png new file mode 100644 index 0000000..fc083f1 Binary files /dev/null and b/src/images/emoji/unicode/1f3ca-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3ca-1f3fd.png b/src/images/emoji/unicode/1f3ca-1f3fd.png new file mode 100644 index 0000000..fe01711 Binary files /dev/null and b/src/images/emoji/unicode/1f3ca-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3ca-1f3fe.png b/src/images/emoji/unicode/1f3ca-1f3fe.png new file mode 100644 index 0000000..3d4512e Binary files /dev/null and b/src/images/emoji/unicode/1f3ca-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3ca-1f3ff.png b/src/images/emoji/unicode/1f3ca-1f3ff.png new file mode 100644 index 0000000..c328ad3 Binary files /dev/null and b/src/images/emoji/unicode/1f3ca-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f3ca.png b/src/images/emoji/unicode/1f3ca.png new file mode 100644 index 0000000..ce96d35 Binary files /dev/null and b/src/images/emoji/unicode/1f3ca.png differ diff --git a/src/images/emoji/unicode/1f3cb-1f3fb.png b/src/images/emoji/unicode/1f3cb-1f3fb.png new file mode 100644 index 0000000..862afc4 Binary files /dev/null and b/src/images/emoji/unicode/1f3cb-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3cb-1f3fc.png b/src/images/emoji/unicode/1f3cb-1f3fc.png new file mode 100644 index 0000000..32b40ab Binary files /dev/null and b/src/images/emoji/unicode/1f3cb-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3cb-1f3fd.png b/src/images/emoji/unicode/1f3cb-1f3fd.png new file mode 100644 index 0000000..9e56612 Binary files /dev/null and b/src/images/emoji/unicode/1f3cb-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3cb-1f3fe.png b/src/images/emoji/unicode/1f3cb-1f3fe.png new file mode 100644 index 0000000..ffe4b0c Binary files /dev/null and b/src/images/emoji/unicode/1f3cb-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3cb-1f3ff.png b/src/images/emoji/unicode/1f3cb-1f3ff.png new file mode 100644 index 0000000..0b2520e Binary files /dev/null and b/src/images/emoji/unicode/1f3cb-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f3cb.png b/src/images/emoji/unicode/1f3cb.png new file mode 100644 index 0000000..00c92ca Binary files /dev/null and b/src/images/emoji/unicode/1f3cb.png differ diff --git a/src/images/emoji/unicode/1f3cc.png b/src/images/emoji/unicode/1f3cc.png new file mode 100644 index 0000000..a4dcdc5 Binary files /dev/null and b/src/images/emoji/unicode/1f3cc.png differ diff --git a/src/images/emoji/unicode/1f3cd.png b/src/images/emoji/unicode/1f3cd.png new file mode 100644 index 0000000..01647e2 Binary files /dev/null and b/src/images/emoji/unicode/1f3cd.png differ diff --git a/src/images/emoji/unicode/1f3ce.png b/src/images/emoji/unicode/1f3ce.png new file mode 100644 index 0000000..5769b4a Binary files /dev/null and b/src/images/emoji/unicode/1f3ce.png differ diff --git a/src/images/emoji/unicode/1f3cf.png b/src/images/emoji/unicode/1f3cf.png new file mode 100644 index 0000000..4008ee1 Binary files /dev/null and b/src/images/emoji/unicode/1f3cf.png differ diff --git a/src/images/emoji/unicode/1f3d0.png b/src/images/emoji/unicode/1f3d0.png new file mode 100644 index 0000000..cb7a142 Binary files /dev/null and b/src/images/emoji/unicode/1f3d0.png differ diff --git a/src/images/emoji/unicode/1f3d1.png b/src/images/emoji/unicode/1f3d1.png new file mode 100644 index 0000000..0041de9 Binary files /dev/null and b/src/images/emoji/unicode/1f3d1.png differ diff --git a/src/images/emoji/unicode/1f3d2.png b/src/images/emoji/unicode/1f3d2.png new file mode 100644 index 0000000..08d4234 Binary files /dev/null and b/src/images/emoji/unicode/1f3d2.png differ diff --git a/src/images/emoji/unicode/1f3d3.png b/src/images/emoji/unicode/1f3d3.png new file mode 100644 index 0000000..5bb1f05 Binary files /dev/null and b/src/images/emoji/unicode/1f3d3.png differ diff --git a/src/images/emoji/unicode/1f3d4.png b/src/images/emoji/unicode/1f3d4.png new file mode 100644 index 0000000..364a4cf Binary files /dev/null and b/src/images/emoji/unicode/1f3d4.png differ diff --git a/src/images/emoji/unicode/1f3d5.png b/src/images/emoji/unicode/1f3d5.png new file mode 100644 index 0000000..2e664e0 Binary files /dev/null and b/src/images/emoji/unicode/1f3d5.png differ diff --git a/src/images/emoji/unicode/1f3d6.png b/src/images/emoji/unicode/1f3d6.png new file mode 100644 index 0000000..e4066df Binary files /dev/null and b/src/images/emoji/unicode/1f3d6.png differ diff --git a/src/images/emoji/unicode/1f3d7.png b/src/images/emoji/unicode/1f3d7.png new file mode 100644 index 0000000..41b5428 Binary files /dev/null and b/src/images/emoji/unicode/1f3d7.png differ diff --git a/src/images/emoji/unicode/1f3d8.png b/src/images/emoji/unicode/1f3d8.png new file mode 100644 index 0000000..77fd2f3 Binary files /dev/null and b/src/images/emoji/unicode/1f3d8.png differ diff --git a/src/images/emoji/unicode/1f3d9.png b/src/images/emoji/unicode/1f3d9.png new file mode 100644 index 0000000..ba4d423 Binary files /dev/null and b/src/images/emoji/unicode/1f3d9.png differ diff --git a/src/images/emoji/unicode/1f3da.png b/src/images/emoji/unicode/1f3da.png new file mode 100644 index 0000000..f4eb8e5 Binary files /dev/null and b/src/images/emoji/unicode/1f3da.png differ diff --git a/src/images/emoji/unicode/1f3db.png b/src/images/emoji/unicode/1f3db.png new file mode 100644 index 0000000..7eff077 Binary files /dev/null and b/src/images/emoji/unicode/1f3db.png differ diff --git a/src/images/emoji/unicode/1f3dc.png b/src/images/emoji/unicode/1f3dc.png new file mode 100644 index 0000000..9c0246c Binary files /dev/null and b/src/images/emoji/unicode/1f3dc.png differ diff --git a/src/images/emoji/unicode/1f3dd.png b/src/images/emoji/unicode/1f3dd.png new file mode 100644 index 0000000..d12333d Binary files /dev/null and b/src/images/emoji/unicode/1f3dd.png differ diff --git a/src/images/emoji/unicode/1f3de.png b/src/images/emoji/unicode/1f3de.png new file mode 100644 index 0000000..da1aa47 Binary files /dev/null and b/src/images/emoji/unicode/1f3de.png differ diff --git a/src/images/emoji/unicode/1f3df.png b/src/images/emoji/unicode/1f3df.png new file mode 100644 index 0000000..cf586e1 Binary files /dev/null and b/src/images/emoji/unicode/1f3df.png differ diff --git a/src/images/emoji/unicode/1f3e0.png b/src/images/emoji/unicode/1f3e0.png new file mode 100644 index 0000000..d4e606e Binary files /dev/null and b/src/images/emoji/unicode/1f3e0.png differ diff --git a/src/images/emoji/unicode/1f3e1.png b/src/images/emoji/unicode/1f3e1.png new file mode 100644 index 0000000..6088ed1 Binary files /dev/null and b/src/images/emoji/unicode/1f3e1.png differ diff --git a/src/images/emoji/unicode/1f3e2.png b/src/images/emoji/unicode/1f3e2.png new file mode 100644 index 0000000..aeb7fa1 Binary files /dev/null and b/src/images/emoji/unicode/1f3e2.png differ diff --git a/src/images/emoji/unicode/1f3e3.png b/src/images/emoji/unicode/1f3e3.png new file mode 100644 index 0000000..ca04686 Binary files /dev/null and b/src/images/emoji/unicode/1f3e3.png differ diff --git a/src/images/emoji/unicode/1f3e4.png b/src/images/emoji/unicode/1f3e4.png new file mode 100644 index 0000000..0f6b3d4 Binary files /dev/null and b/src/images/emoji/unicode/1f3e4.png differ diff --git a/src/images/emoji/unicode/1f3e5.png b/src/images/emoji/unicode/1f3e5.png new file mode 100644 index 0000000..0f57fba Binary files /dev/null and b/src/images/emoji/unicode/1f3e5.png differ diff --git a/src/images/emoji/unicode/1f3e6.png b/src/images/emoji/unicode/1f3e6.png new file mode 100644 index 0000000..ed76266 Binary files /dev/null and b/src/images/emoji/unicode/1f3e6.png differ diff --git a/src/images/emoji/unicode/1f3e7.png b/src/images/emoji/unicode/1f3e7.png new file mode 100644 index 0000000..13d4257 Binary files /dev/null and b/src/images/emoji/unicode/1f3e7.png differ diff --git a/src/images/emoji/unicode/1f3e8.png b/src/images/emoji/unicode/1f3e8.png new file mode 100644 index 0000000..f855448 Binary files /dev/null and b/src/images/emoji/unicode/1f3e8.png differ diff --git a/src/images/emoji/unicode/1f3e9.png b/src/images/emoji/unicode/1f3e9.png new file mode 100644 index 0000000..4f18620 Binary files /dev/null and b/src/images/emoji/unicode/1f3e9.png differ diff --git a/src/images/emoji/unicode/1f3ea.png b/src/images/emoji/unicode/1f3ea.png new file mode 100644 index 0000000..116c52c Binary files /dev/null and b/src/images/emoji/unicode/1f3ea.png differ diff --git a/src/images/emoji/unicode/1f3eb.png b/src/images/emoji/unicode/1f3eb.png new file mode 100644 index 0000000..a72b73b Binary files /dev/null and b/src/images/emoji/unicode/1f3eb.png differ diff --git a/src/images/emoji/unicode/1f3ec.png b/src/images/emoji/unicode/1f3ec.png new file mode 100644 index 0000000..8650aa1 Binary files /dev/null and b/src/images/emoji/unicode/1f3ec.png differ diff --git a/src/images/emoji/unicode/1f3ed.png b/src/images/emoji/unicode/1f3ed.png new file mode 100644 index 0000000..3fed32f Binary files /dev/null and b/src/images/emoji/unicode/1f3ed.png differ diff --git a/src/images/emoji/unicode/1f3ee.png b/src/images/emoji/unicode/1f3ee.png new file mode 100644 index 0000000..b955764 Binary files /dev/null and b/src/images/emoji/unicode/1f3ee.png differ diff --git a/src/images/emoji/unicode/1f3ef.png b/src/images/emoji/unicode/1f3ef.png new file mode 100644 index 0000000..50d8911 Binary files /dev/null and b/src/images/emoji/unicode/1f3ef.png differ diff --git a/src/images/emoji/unicode/1f3f0.png b/src/images/emoji/unicode/1f3f0.png new file mode 100644 index 0000000..9ed56ee Binary files /dev/null and b/src/images/emoji/unicode/1f3f0.png differ diff --git a/src/images/emoji/unicode/1f3f3.png b/src/images/emoji/unicode/1f3f3.png new file mode 100644 index 0000000..7a322be Binary files /dev/null and b/src/images/emoji/unicode/1f3f3.png differ diff --git a/src/images/emoji/unicode/1f3f4.png b/src/images/emoji/unicode/1f3f4.png new file mode 100644 index 0000000..bee906d Binary files /dev/null and b/src/images/emoji/unicode/1f3f4.png differ diff --git a/src/images/emoji/unicode/1f3f5.png b/src/images/emoji/unicode/1f3f5.png new file mode 100644 index 0000000..954770b Binary files /dev/null and b/src/images/emoji/unicode/1f3f5.png differ diff --git a/src/images/emoji/unicode/1f3f7.png b/src/images/emoji/unicode/1f3f7.png new file mode 100644 index 0000000..205d3d0 Binary files /dev/null and b/src/images/emoji/unicode/1f3f7.png differ diff --git a/src/images/emoji/unicode/1f3f8.png b/src/images/emoji/unicode/1f3f8.png new file mode 100644 index 0000000..23c479d Binary files /dev/null and b/src/images/emoji/unicode/1f3f8.png differ diff --git a/src/images/emoji/unicode/1f3f9.png b/src/images/emoji/unicode/1f3f9.png new file mode 100644 index 0000000..08e1445 Binary files /dev/null and b/src/images/emoji/unicode/1f3f9.png differ diff --git a/src/images/emoji/unicode/1f3fa.png b/src/images/emoji/unicode/1f3fa.png new file mode 100644 index 0000000..fee1cdd Binary files /dev/null and b/src/images/emoji/unicode/1f3fa.png differ diff --git a/src/images/emoji/unicode/1f3fb.png b/src/images/emoji/unicode/1f3fb.png new file mode 100644 index 0000000..c395f3d Binary files /dev/null and b/src/images/emoji/unicode/1f3fb.png differ diff --git a/src/images/emoji/unicode/1f3fc.png b/src/images/emoji/unicode/1f3fc.png new file mode 100644 index 0000000..0808474 Binary files /dev/null and b/src/images/emoji/unicode/1f3fc.png differ diff --git a/src/images/emoji/unicode/1f3fd.png b/src/images/emoji/unicode/1f3fd.png new file mode 100644 index 0000000..482dd40 Binary files /dev/null and b/src/images/emoji/unicode/1f3fd.png differ diff --git a/src/images/emoji/unicode/1f3fe.png b/src/images/emoji/unicode/1f3fe.png new file mode 100644 index 0000000..5cae8bb Binary files /dev/null and b/src/images/emoji/unicode/1f3fe.png differ diff --git a/src/images/emoji/unicode/1f3ff.png b/src/images/emoji/unicode/1f3ff.png new file mode 100644 index 0000000..49d1a8c Binary files /dev/null and b/src/images/emoji/unicode/1f3ff.png differ diff --git a/src/images/emoji/unicode/1f400.png b/src/images/emoji/unicode/1f400.png new file mode 100644 index 0000000..a243b2e Binary files /dev/null and b/src/images/emoji/unicode/1f400.png differ diff --git a/src/images/emoji/unicode/1f401.png b/src/images/emoji/unicode/1f401.png new file mode 100644 index 0000000..380798a Binary files /dev/null and b/src/images/emoji/unicode/1f401.png differ diff --git a/src/images/emoji/unicode/1f402.png b/src/images/emoji/unicode/1f402.png new file mode 100644 index 0000000..e0cccc3 Binary files /dev/null and b/src/images/emoji/unicode/1f402.png differ diff --git a/src/images/emoji/unicode/1f403.png b/src/images/emoji/unicode/1f403.png new file mode 100644 index 0000000..7766b1f Binary files /dev/null and b/src/images/emoji/unicode/1f403.png differ diff --git a/src/images/emoji/unicode/1f404.png b/src/images/emoji/unicode/1f404.png new file mode 100644 index 0000000..c4e444a Binary files /dev/null and b/src/images/emoji/unicode/1f404.png differ diff --git a/src/images/emoji/unicode/1f405.png b/src/images/emoji/unicode/1f405.png new file mode 100644 index 0000000..8d4270a Binary files /dev/null and b/src/images/emoji/unicode/1f405.png differ diff --git a/src/images/emoji/unicode/1f406.png b/src/images/emoji/unicode/1f406.png new file mode 100644 index 0000000..85e082a Binary files /dev/null and b/src/images/emoji/unicode/1f406.png differ diff --git a/src/images/emoji/unicode/1f407.png b/src/images/emoji/unicode/1f407.png new file mode 100644 index 0000000..85d0446 Binary files /dev/null and b/src/images/emoji/unicode/1f407.png differ diff --git a/src/images/emoji/unicode/1f408.png b/src/images/emoji/unicode/1f408.png new file mode 100644 index 0000000..d87d5c8 Binary files /dev/null and b/src/images/emoji/unicode/1f408.png differ diff --git a/src/images/emoji/unicode/1f409.png b/src/images/emoji/unicode/1f409.png new file mode 100644 index 0000000..e416371 Binary files /dev/null and b/src/images/emoji/unicode/1f409.png differ diff --git a/src/images/emoji/unicode/1f40a.png b/src/images/emoji/unicode/1f40a.png new file mode 100644 index 0000000..6947409 Binary files /dev/null and b/src/images/emoji/unicode/1f40a.png differ diff --git a/src/images/emoji/unicode/1f40b.png b/src/images/emoji/unicode/1f40b.png new file mode 100644 index 0000000..81c9677 Binary files /dev/null and b/src/images/emoji/unicode/1f40b.png differ diff --git a/src/images/emoji/unicode/1f40c.png b/src/images/emoji/unicode/1f40c.png new file mode 100644 index 0000000..d6e5a75 Binary files /dev/null and b/src/images/emoji/unicode/1f40c.png differ diff --git a/src/images/emoji/unicode/1f40d.png b/src/images/emoji/unicode/1f40d.png new file mode 100644 index 0000000..204999d Binary files /dev/null and b/src/images/emoji/unicode/1f40d.png differ diff --git a/src/images/emoji/unicode/1f40e.png b/src/images/emoji/unicode/1f40e.png new file mode 100644 index 0000000..74359ed Binary files /dev/null and b/src/images/emoji/unicode/1f40e.png differ diff --git a/src/images/emoji/unicode/1f40f.png b/src/images/emoji/unicode/1f40f.png new file mode 100644 index 0000000..3a1f3da Binary files /dev/null and b/src/images/emoji/unicode/1f40f.png differ diff --git a/src/images/emoji/unicode/1f410.png b/src/images/emoji/unicode/1f410.png new file mode 100644 index 0000000..911e458 Binary files /dev/null and b/src/images/emoji/unicode/1f410.png differ diff --git a/src/images/emoji/unicode/1f411.png b/src/images/emoji/unicode/1f411.png new file mode 100644 index 0000000..e12cb2d Binary files /dev/null and b/src/images/emoji/unicode/1f411.png differ diff --git a/src/images/emoji/unicode/1f412.png b/src/images/emoji/unicode/1f412.png new file mode 100644 index 0000000..212df09 Binary files /dev/null and b/src/images/emoji/unicode/1f412.png differ diff --git a/src/images/emoji/unicode/1f413.png b/src/images/emoji/unicode/1f413.png new file mode 100644 index 0000000..83efb01 Binary files /dev/null and b/src/images/emoji/unicode/1f413.png differ diff --git a/src/images/emoji/unicode/1f414.png b/src/images/emoji/unicode/1f414.png new file mode 100644 index 0000000..754f3c2 Binary files /dev/null and b/src/images/emoji/unicode/1f414.png differ diff --git a/src/images/emoji/unicode/1f415.png b/src/images/emoji/unicode/1f415.png new file mode 100644 index 0000000..77e3360 Binary files /dev/null and b/src/images/emoji/unicode/1f415.png differ diff --git a/src/images/emoji/unicode/1f416.png b/src/images/emoji/unicode/1f416.png new file mode 100644 index 0000000..138880f Binary files /dev/null and b/src/images/emoji/unicode/1f416.png differ diff --git a/src/images/emoji/unicode/1f417.png b/src/images/emoji/unicode/1f417.png new file mode 100644 index 0000000..24cb10d Binary files /dev/null and b/src/images/emoji/unicode/1f417.png differ diff --git a/src/images/emoji/unicode/1f418.png b/src/images/emoji/unicode/1f418.png new file mode 100644 index 0000000..67531c5 Binary files /dev/null and b/src/images/emoji/unicode/1f418.png differ diff --git a/src/images/emoji/unicode/1f419.png b/src/images/emoji/unicode/1f419.png new file mode 100644 index 0000000..f5fc857 Binary files /dev/null and b/src/images/emoji/unicode/1f419.png differ diff --git a/src/images/emoji/unicode/1f41a.png b/src/images/emoji/unicode/1f41a.png new file mode 100644 index 0000000..b5c1e04 Binary files /dev/null and b/src/images/emoji/unicode/1f41a.png differ diff --git a/src/images/emoji/unicode/1f41b.png b/src/images/emoji/unicode/1f41b.png new file mode 100644 index 0000000..8e965ca Binary files /dev/null and b/src/images/emoji/unicode/1f41b.png differ diff --git a/src/images/emoji/unicode/1f41c.png b/src/images/emoji/unicode/1f41c.png new file mode 100644 index 0000000..0e5657f Binary files /dev/null and b/src/images/emoji/unicode/1f41c.png differ diff --git a/src/images/emoji/unicode/1f41d.png b/src/images/emoji/unicode/1f41d.png new file mode 100644 index 0000000..f93b728 Binary files /dev/null and b/src/images/emoji/unicode/1f41d.png differ diff --git a/src/images/emoji/unicode/1f41e.png b/src/images/emoji/unicode/1f41e.png new file mode 100644 index 0000000..2b8ec68 Binary files /dev/null and b/src/images/emoji/unicode/1f41e.png differ diff --git a/src/images/emoji/unicode/1f41f.png b/src/images/emoji/unicode/1f41f.png new file mode 100644 index 0000000..811fd31 Binary files /dev/null and b/src/images/emoji/unicode/1f41f.png differ diff --git a/src/images/emoji/unicode/1f420.png b/src/images/emoji/unicode/1f420.png new file mode 100644 index 0000000..bbe448d Binary files /dev/null and b/src/images/emoji/unicode/1f420.png differ diff --git a/src/images/emoji/unicode/1f421.png b/src/images/emoji/unicode/1f421.png new file mode 100644 index 0000000..d44b995 Binary files /dev/null and b/src/images/emoji/unicode/1f421.png differ diff --git a/src/images/emoji/unicode/1f422.png b/src/images/emoji/unicode/1f422.png new file mode 100644 index 0000000..9f61cea Binary files /dev/null and b/src/images/emoji/unicode/1f422.png differ diff --git a/src/images/emoji/unicode/1f423.png b/src/images/emoji/unicode/1f423.png new file mode 100644 index 0000000..0f3709f Binary files /dev/null and b/src/images/emoji/unicode/1f423.png differ diff --git a/src/images/emoji/unicode/1f424.png b/src/images/emoji/unicode/1f424.png new file mode 100644 index 0000000..2b44f6d Binary files /dev/null and b/src/images/emoji/unicode/1f424.png differ diff --git a/src/images/emoji/unicode/1f425.png b/src/images/emoji/unicode/1f425.png new file mode 100644 index 0000000..b7697f8 Binary files /dev/null and b/src/images/emoji/unicode/1f425.png differ diff --git a/src/images/emoji/unicode/1f426.png b/src/images/emoji/unicode/1f426.png new file mode 100644 index 0000000..96bb543 Binary files /dev/null and b/src/images/emoji/unicode/1f426.png differ diff --git a/src/images/emoji/unicode/1f427.png b/src/images/emoji/unicode/1f427.png new file mode 100644 index 0000000..5284558 Binary files /dev/null and b/src/images/emoji/unicode/1f427.png differ diff --git a/src/images/emoji/unicode/1f428.png b/src/images/emoji/unicode/1f428.png new file mode 100644 index 0000000..a0a0a22 Binary files /dev/null and b/src/images/emoji/unicode/1f428.png differ diff --git a/src/images/emoji/unicode/1f429.png b/src/images/emoji/unicode/1f429.png new file mode 100644 index 0000000..5e04d91 Binary files /dev/null and b/src/images/emoji/unicode/1f429.png differ diff --git a/src/images/emoji/unicode/1f42a.png b/src/images/emoji/unicode/1f42a.png new file mode 100644 index 0000000..f9bba44 Binary files /dev/null and b/src/images/emoji/unicode/1f42a.png differ diff --git a/src/images/emoji/unicode/1f42b.png b/src/images/emoji/unicode/1f42b.png new file mode 100644 index 0000000..db5d516 Binary files /dev/null and b/src/images/emoji/unicode/1f42b.png differ diff --git a/src/images/emoji/unicode/1f42c.png b/src/images/emoji/unicode/1f42c.png new file mode 100644 index 0000000..499e71a Binary files /dev/null and b/src/images/emoji/unicode/1f42c.png differ diff --git a/src/images/emoji/unicode/1f42d.png b/src/images/emoji/unicode/1f42d.png new file mode 100644 index 0000000..c8024ab Binary files /dev/null and b/src/images/emoji/unicode/1f42d.png differ diff --git a/src/images/emoji/unicode/1f42e.png b/src/images/emoji/unicode/1f42e.png new file mode 100644 index 0000000..930df4b Binary files /dev/null and b/src/images/emoji/unicode/1f42e.png differ diff --git a/src/images/emoji/unicode/1f42f.png b/src/images/emoji/unicode/1f42f.png new file mode 100644 index 0000000..c7d3a6f Binary files /dev/null and b/src/images/emoji/unicode/1f42f.png differ diff --git a/src/images/emoji/unicode/1f430.png b/src/images/emoji/unicode/1f430.png new file mode 100644 index 0000000..b52692d Binary files /dev/null and b/src/images/emoji/unicode/1f430.png differ diff --git a/src/images/emoji/unicode/1f431.png b/src/images/emoji/unicode/1f431.png new file mode 100644 index 0000000..90fc05d Binary files /dev/null and b/src/images/emoji/unicode/1f431.png differ diff --git a/src/images/emoji/unicode/1f432.png b/src/images/emoji/unicode/1f432.png new file mode 100644 index 0000000..c5d5665 Binary files /dev/null and b/src/images/emoji/unicode/1f432.png differ diff --git a/src/images/emoji/unicode/1f433.png b/src/images/emoji/unicode/1f433.png new file mode 100644 index 0000000..38b4610 Binary files /dev/null and b/src/images/emoji/unicode/1f433.png differ diff --git a/src/images/emoji/unicode/1f434.png b/src/images/emoji/unicode/1f434.png new file mode 100644 index 0000000..341620c Binary files /dev/null and b/src/images/emoji/unicode/1f434.png differ diff --git a/src/images/emoji/unicode/1f435.png b/src/images/emoji/unicode/1f435.png new file mode 100644 index 0000000..6e7ddfa Binary files /dev/null and b/src/images/emoji/unicode/1f435.png differ diff --git a/src/images/emoji/unicode/1f436.png b/src/images/emoji/unicode/1f436.png new file mode 100644 index 0000000..dc20c5d Binary files /dev/null and b/src/images/emoji/unicode/1f436.png differ diff --git a/src/images/emoji/unicode/1f437.png b/src/images/emoji/unicode/1f437.png new file mode 100644 index 0000000..d95a2f9 Binary files /dev/null and b/src/images/emoji/unicode/1f437.png differ diff --git a/src/images/emoji/unicode/1f438.png b/src/images/emoji/unicode/1f438.png new file mode 100644 index 0000000..8964040 Binary files /dev/null and b/src/images/emoji/unicode/1f438.png differ diff --git a/src/images/emoji/unicode/1f439.png b/src/images/emoji/unicode/1f439.png new file mode 100644 index 0000000..970d662 Binary files /dev/null and b/src/images/emoji/unicode/1f439.png differ diff --git a/src/images/emoji/unicode/1f43a.png b/src/images/emoji/unicode/1f43a.png new file mode 100644 index 0000000..01dc3b0 Binary files /dev/null and b/src/images/emoji/unicode/1f43a.png differ diff --git a/src/images/emoji/unicode/1f43b.png b/src/images/emoji/unicode/1f43b.png new file mode 100644 index 0000000..6317161 Binary files /dev/null and b/src/images/emoji/unicode/1f43b.png differ diff --git a/src/images/emoji/unicode/1f43c.png b/src/images/emoji/unicode/1f43c.png new file mode 100644 index 0000000..ce40ea9 Binary files /dev/null and b/src/images/emoji/unicode/1f43c.png differ diff --git a/src/images/emoji/unicode/1f43d.png b/src/images/emoji/unicode/1f43d.png new file mode 100644 index 0000000..1c21b50 Binary files /dev/null and b/src/images/emoji/unicode/1f43d.png differ diff --git a/src/images/emoji/unicode/1f43e.png b/src/images/emoji/unicode/1f43e.png new file mode 100644 index 0000000..3ec848e Binary files /dev/null and b/src/images/emoji/unicode/1f43e.png differ diff --git a/src/images/emoji/unicode/1f43f.png b/src/images/emoji/unicode/1f43f.png new file mode 100644 index 0000000..847d652 Binary files /dev/null and b/src/images/emoji/unicode/1f43f.png differ diff --git a/src/images/emoji/unicode/1f440.png b/src/images/emoji/unicode/1f440.png new file mode 100644 index 0000000..67be372 Binary files /dev/null and b/src/images/emoji/unicode/1f440.png differ diff --git a/src/images/emoji/unicode/1f441-1f5e8.png b/src/images/emoji/unicode/1f441-1f5e8.png new file mode 100644 index 0000000..3cf74f7 Binary files /dev/null and b/src/images/emoji/unicode/1f441-1f5e8.png differ diff --git a/src/images/emoji/unicode/1f441.png b/src/images/emoji/unicode/1f441.png new file mode 100644 index 0000000..6b74f54 Binary files /dev/null and b/src/images/emoji/unicode/1f441.png differ diff --git a/src/images/emoji/unicode/1f442-1f3fb.png b/src/images/emoji/unicode/1f442-1f3fb.png new file mode 100644 index 0000000..831ffb5 Binary files /dev/null and b/src/images/emoji/unicode/1f442-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f442-1f3fc.png b/src/images/emoji/unicode/1f442-1f3fc.png new file mode 100644 index 0000000..f8ff471 Binary files /dev/null and b/src/images/emoji/unicode/1f442-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f442-1f3fd.png b/src/images/emoji/unicode/1f442-1f3fd.png new file mode 100644 index 0000000..8adc133 Binary files /dev/null and b/src/images/emoji/unicode/1f442-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f442-1f3fe.png b/src/images/emoji/unicode/1f442-1f3fe.png new file mode 100644 index 0000000..b9007f9 Binary files /dev/null and b/src/images/emoji/unicode/1f442-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f442-1f3ff.png b/src/images/emoji/unicode/1f442-1f3ff.png new file mode 100644 index 0000000..a77a087 Binary files /dev/null and b/src/images/emoji/unicode/1f442-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f442.png b/src/images/emoji/unicode/1f442.png new file mode 100644 index 0000000..aa69fe4 Binary files /dev/null and b/src/images/emoji/unicode/1f442.png differ diff --git a/src/images/emoji/unicode/1f443-1f3fb.png b/src/images/emoji/unicode/1f443-1f3fb.png new file mode 100644 index 0000000..8054e3a Binary files /dev/null and b/src/images/emoji/unicode/1f443-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f443-1f3fc.png b/src/images/emoji/unicode/1f443-1f3fc.png new file mode 100644 index 0000000..bf41c27 Binary files /dev/null and b/src/images/emoji/unicode/1f443-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f443-1f3fd.png b/src/images/emoji/unicode/1f443-1f3fd.png new file mode 100644 index 0000000..f06b89e Binary files /dev/null and b/src/images/emoji/unicode/1f443-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f443-1f3fe.png b/src/images/emoji/unicode/1f443-1f3fe.png new file mode 100644 index 0000000..e6a0ac2 Binary files /dev/null and b/src/images/emoji/unicode/1f443-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f443-1f3ff.png b/src/images/emoji/unicode/1f443-1f3ff.png new file mode 100644 index 0000000..2886714 Binary files /dev/null and b/src/images/emoji/unicode/1f443-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f443.png b/src/images/emoji/unicode/1f443.png new file mode 100644 index 0000000..a1f59a9 Binary files /dev/null and b/src/images/emoji/unicode/1f443.png differ diff --git a/src/images/emoji/unicode/1f444.png b/src/images/emoji/unicode/1f444.png new file mode 100644 index 0000000..113451a Binary files /dev/null and b/src/images/emoji/unicode/1f444.png differ diff --git a/src/images/emoji/unicode/1f445.png b/src/images/emoji/unicode/1f445.png new file mode 100644 index 0000000..6e9407e Binary files /dev/null and b/src/images/emoji/unicode/1f445.png differ diff --git a/src/images/emoji/unicode/1f446-1f3fb.png b/src/images/emoji/unicode/1f446-1f3fb.png new file mode 100644 index 0000000..4f71252 Binary files /dev/null and b/src/images/emoji/unicode/1f446-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f446-1f3fc.png b/src/images/emoji/unicode/1f446-1f3fc.png new file mode 100644 index 0000000..f1b968b Binary files /dev/null and b/src/images/emoji/unicode/1f446-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f446-1f3fd.png b/src/images/emoji/unicode/1f446-1f3fd.png new file mode 100644 index 0000000..32c6393 Binary files /dev/null and b/src/images/emoji/unicode/1f446-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f446-1f3fe.png b/src/images/emoji/unicode/1f446-1f3fe.png new file mode 100644 index 0000000..2566122 Binary files /dev/null and b/src/images/emoji/unicode/1f446-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f446-1f3ff.png b/src/images/emoji/unicode/1f446-1f3ff.png new file mode 100644 index 0000000..edd8cd4 Binary files /dev/null and b/src/images/emoji/unicode/1f446-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f446.png b/src/images/emoji/unicode/1f446.png new file mode 100644 index 0000000..114ba9d Binary files /dev/null and b/src/images/emoji/unicode/1f446.png differ diff --git a/src/images/emoji/unicode/1f447-1f3fb.png b/src/images/emoji/unicode/1f447-1f3fb.png new file mode 100644 index 0000000..a9bffd0 Binary files /dev/null and b/src/images/emoji/unicode/1f447-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f447-1f3fc.png b/src/images/emoji/unicode/1f447-1f3fc.png new file mode 100644 index 0000000..0291ca4 Binary files /dev/null and b/src/images/emoji/unicode/1f447-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f447-1f3fd.png b/src/images/emoji/unicode/1f447-1f3fd.png new file mode 100644 index 0000000..b203cc9 Binary files /dev/null and b/src/images/emoji/unicode/1f447-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f447-1f3fe.png b/src/images/emoji/unicode/1f447-1f3fe.png new file mode 100644 index 0000000..175a8b5 Binary files /dev/null and b/src/images/emoji/unicode/1f447-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f447-1f3ff.png b/src/images/emoji/unicode/1f447-1f3ff.png new file mode 100644 index 0000000..01a3d3a Binary files /dev/null and b/src/images/emoji/unicode/1f447-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f447.png b/src/images/emoji/unicode/1f447.png new file mode 100644 index 0000000..66384be Binary files /dev/null and b/src/images/emoji/unicode/1f447.png differ diff --git a/src/images/emoji/unicode/1f448-1f3fb.png b/src/images/emoji/unicode/1f448-1f3fb.png new file mode 100644 index 0000000..69c8e9d Binary files /dev/null and b/src/images/emoji/unicode/1f448-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f448-1f3fc.png b/src/images/emoji/unicode/1f448-1f3fc.png new file mode 100644 index 0000000..57a2f21 Binary files /dev/null and b/src/images/emoji/unicode/1f448-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f448-1f3fd.png b/src/images/emoji/unicode/1f448-1f3fd.png new file mode 100644 index 0000000..611a588 Binary files /dev/null and b/src/images/emoji/unicode/1f448-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f448-1f3fe.png b/src/images/emoji/unicode/1f448-1f3fe.png new file mode 100644 index 0000000..1325ec2 Binary files /dev/null and b/src/images/emoji/unicode/1f448-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f448-1f3ff.png b/src/images/emoji/unicode/1f448-1f3ff.png new file mode 100644 index 0000000..c7d71f1 Binary files /dev/null and b/src/images/emoji/unicode/1f448-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f448.png b/src/images/emoji/unicode/1f448.png new file mode 100644 index 0000000..75ab379 Binary files /dev/null and b/src/images/emoji/unicode/1f448.png differ diff --git a/src/images/emoji/unicode/1f449-1f3fb.png b/src/images/emoji/unicode/1f449-1f3fb.png new file mode 100644 index 0000000..b19a62d Binary files /dev/null and b/src/images/emoji/unicode/1f449-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f449-1f3fc.png b/src/images/emoji/unicode/1f449-1f3fc.png new file mode 100644 index 0000000..4199910 Binary files /dev/null and b/src/images/emoji/unicode/1f449-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f449-1f3fd.png b/src/images/emoji/unicode/1f449-1f3fd.png new file mode 100644 index 0000000..33eabee Binary files /dev/null and b/src/images/emoji/unicode/1f449-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f449-1f3fe.png b/src/images/emoji/unicode/1f449-1f3fe.png new file mode 100644 index 0000000..b914381 Binary files /dev/null and b/src/images/emoji/unicode/1f449-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f449-1f3ff.png b/src/images/emoji/unicode/1f449-1f3ff.png new file mode 100644 index 0000000..416470d Binary files /dev/null and b/src/images/emoji/unicode/1f449-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f449.png b/src/images/emoji/unicode/1f449.png new file mode 100644 index 0000000..05a022c Binary files /dev/null and b/src/images/emoji/unicode/1f449.png differ diff --git a/src/images/emoji/unicode/1f44a-1f3fb.png b/src/images/emoji/unicode/1f44a-1f3fb.png new file mode 100644 index 0000000..0f9b256 Binary files /dev/null and b/src/images/emoji/unicode/1f44a-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44a-1f3fc.png b/src/images/emoji/unicode/1f44a-1f3fc.png new file mode 100644 index 0000000..5830c6f Binary files /dev/null and b/src/images/emoji/unicode/1f44a-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44a-1f3fd.png b/src/images/emoji/unicode/1f44a-1f3fd.png new file mode 100644 index 0000000..f359ff4 Binary files /dev/null and b/src/images/emoji/unicode/1f44a-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44a-1f3fe.png b/src/images/emoji/unicode/1f44a-1f3fe.png new file mode 100644 index 0000000..f8e1699 Binary files /dev/null and b/src/images/emoji/unicode/1f44a-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44a-1f3ff.png b/src/images/emoji/unicode/1f44a-1f3ff.png new file mode 100644 index 0000000..332b74c Binary files /dev/null and b/src/images/emoji/unicode/1f44a-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44a.png b/src/images/emoji/unicode/1f44a.png new file mode 100644 index 0000000..56dd7c2 Binary files /dev/null and b/src/images/emoji/unicode/1f44a.png differ diff --git a/src/images/emoji/unicode/1f44b-1f3fb.png b/src/images/emoji/unicode/1f44b-1f3fb.png new file mode 100644 index 0000000..128441b Binary files /dev/null and b/src/images/emoji/unicode/1f44b-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44b-1f3fc.png b/src/images/emoji/unicode/1f44b-1f3fc.png new file mode 100644 index 0000000..8065dd4 Binary files /dev/null and b/src/images/emoji/unicode/1f44b-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44b-1f3fd.png b/src/images/emoji/unicode/1f44b-1f3fd.png new file mode 100644 index 0000000..019adb5 Binary files /dev/null and b/src/images/emoji/unicode/1f44b-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44b-1f3fe.png b/src/images/emoji/unicode/1f44b-1f3fe.png new file mode 100644 index 0000000..4751a49 Binary files /dev/null and b/src/images/emoji/unicode/1f44b-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44b-1f3ff.png b/src/images/emoji/unicode/1f44b-1f3ff.png new file mode 100644 index 0000000..9f118cd Binary files /dev/null and b/src/images/emoji/unicode/1f44b-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44b.png b/src/images/emoji/unicode/1f44b.png new file mode 100644 index 0000000..545c2e7 Binary files /dev/null and b/src/images/emoji/unicode/1f44b.png differ diff --git a/src/images/emoji/unicode/1f44c-1f3fb.png b/src/images/emoji/unicode/1f44c-1f3fb.png new file mode 100644 index 0000000..0f97605 Binary files /dev/null and b/src/images/emoji/unicode/1f44c-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44c-1f3fc.png b/src/images/emoji/unicode/1f44c-1f3fc.png new file mode 100644 index 0000000..ceb53c6 Binary files /dev/null and b/src/images/emoji/unicode/1f44c-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44c-1f3fd.png b/src/images/emoji/unicode/1f44c-1f3fd.png new file mode 100644 index 0000000..983d09e Binary files /dev/null and b/src/images/emoji/unicode/1f44c-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44c-1f3fe.png b/src/images/emoji/unicode/1f44c-1f3fe.png new file mode 100644 index 0000000..beb6bd8 Binary files /dev/null and b/src/images/emoji/unicode/1f44c-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44c-1f3ff.png b/src/images/emoji/unicode/1f44c-1f3ff.png new file mode 100644 index 0000000..50d9c50 Binary files /dev/null and b/src/images/emoji/unicode/1f44c-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44c.png b/src/images/emoji/unicode/1f44c.png new file mode 100644 index 0000000..641aceb Binary files /dev/null and b/src/images/emoji/unicode/1f44c.png differ diff --git a/src/images/emoji/unicode/1f44d-1f3fb.png b/src/images/emoji/unicode/1f44d-1f3fb.png new file mode 100644 index 0000000..fc4e8be Binary files /dev/null and b/src/images/emoji/unicode/1f44d-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44d-1f3fc.png b/src/images/emoji/unicode/1f44d-1f3fc.png new file mode 100644 index 0000000..c121772 Binary files /dev/null and b/src/images/emoji/unicode/1f44d-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44d-1f3fd.png b/src/images/emoji/unicode/1f44d-1f3fd.png new file mode 100644 index 0000000..d9d5ba4 Binary files /dev/null and b/src/images/emoji/unicode/1f44d-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44d-1f3fe.png b/src/images/emoji/unicode/1f44d-1f3fe.png new file mode 100644 index 0000000..9da407a Binary files /dev/null and b/src/images/emoji/unicode/1f44d-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44d-1f3ff.png b/src/images/emoji/unicode/1f44d-1f3ff.png new file mode 100644 index 0000000..2ce7118 Binary files /dev/null and b/src/images/emoji/unicode/1f44d-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44d.png b/src/images/emoji/unicode/1f44d.png new file mode 100644 index 0000000..b18c360 Binary files /dev/null and b/src/images/emoji/unicode/1f44d.png differ diff --git a/src/images/emoji/unicode/1f44e-1f3fb.png b/src/images/emoji/unicode/1f44e-1f3fb.png new file mode 100644 index 0000000..81766c5 Binary files /dev/null and b/src/images/emoji/unicode/1f44e-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44e-1f3fc.png b/src/images/emoji/unicode/1f44e-1f3fc.png new file mode 100644 index 0000000..11d3915 Binary files /dev/null and b/src/images/emoji/unicode/1f44e-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44e-1f3fd.png b/src/images/emoji/unicode/1f44e-1f3fd.png new file mode 100644 index 0000000..52a76cc Binary files /dev/null and b/src/images/emoji/unicode/1f44e-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44e-1f3fe.png b/src/images/emoji/unicode/1f44e-1f3fe.png new file mode 100644 index 0000000..2a9b3a8 Binary files /dev/null and b/src/images/emoji/unicode/1f44e-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44e-1f3ff.png b/src/images/emoji/unicode/1f44e-1f3ff.png new file mode 100644 index 0000000..597023b Binary files /dev/null and b/src/images/emoji/unicode/1f44e-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44e.png b/src/images/emoji/unicode/1f44e.png new file mode 100644 index 0000000..abdd1b3 Binary files /dev/null and b/src/images/emoji/unicode/1f44e.png differ diff --git a/src/images/emoji/unicode/1f44f-1f3fb.png b/src/images/emoji/unicode/1f44f-1f3fb.png new file mode 100644 index 0000000..324bbe4 Binary files /dev/null and b/src/images/emoji/unicode/1f44f-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f44f-1f3fc.png b/src/images/emoji/unicode/1f44f-1f3fc.png new file mode 100644 index 0000000..8cc3478 Binary files /dev/null and b/src/images/emoji/unicode/1f44f-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f44f-1f3fd.png b/src/images/emoji/unicode/1f44f-1f3fd.png new file mode 100644 index 0000000..1ea9339 Binary files /dev/null and b/src/images/emoji/unicode/1f44f-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f44f-1f3fe.png b/src/images/emoji/unicode/1f44f-1f3fe.png new file mode 100644 index 0000000..5184f24 Binary files /dev/null and b/src/images/emoji/unicode/1f44f-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f44f-1f3ff.png b/src/images/emoji/unicode/1f44f-1f3ff.png new file mode 100644 index 0000000..adecbf6 Binary files /dev/null and b/src/images/emoji/unicode/1f44f-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f44f.png b/src/images/emoji/unicode/1f44f.png new file mode 100644 index 0000000..02b98c6 Binary files /dev/null and b/src/images/emoji/unicode/1f44f.png differ diff --git a/src/images/emoji/unicode/1f450-1f3fb.png b/src/images/emoji/unicode/1f450-1f3fb.png new file mode 100644 index 0000000..4ecf8d5 Binary files /dev/null and b/src/images/emoji/unicode/1f450-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f450-1f3fc.png b/src/images/emoji/unicode/1f450-1f3fc.png new file mode 100644 index 0000000..fad1cf9 Binary files /dev/null and b/src/images/emoji/unicode/1f450-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f450-1f3fd.png b/src/images/emoji/unicode/1f450-1f3fd.png new file mode 100644 index 0000000..43e2cd8 Binary files /dev/null and b/src/images/emoji/unicode/1f450-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f450-1f3fe.png b/src/images/emoji/unicode/1f450-1f3fe.png new file mode 100644 index 0000000..8dcfd2c Binary files /dev/null and b/src/images/emoji/unicode/1f450-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f450-1f3ff.png b/src/images/emoji/unicode/1f450-1f3ff.png new file mode 100644 index 0000000..91f7422 Binary files /dev/null and b/src/images/emoji/unicode/1f450-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f450.png b/src/images/emoji/unicode/1f450.png new file mode 100644 index 0000000..7bf2dff Binary files /dev/null and b/src/images/emoji/unicode/1f450.png differ diff --git a/src/images/emoji/unicode/1f451.png b/src/images/emoji/unicode/1f451.png new file mode 100644 index 0000000..c64a01e Binary files /dev/null and b/src/images/emoji/unicode/1f451.png differ diff --git a/src/images/emoji/unicode/1f452.png b/src/images/emoji/unicode/1f452.png new file mode 100644 index 0000000..09aa19c Binary files /dev/null and b/src/images/emoji/unicode/1f452.png differ diff --git a/src/images/emoji/unicode/1f453.png b/src/images/emoji/unicode/1f453.png new file mode 100644 index 0000000..0a9bfba Binary files /dev/null and b/src/images/emoji/unicode/1f453.png differ diff --git a/src/images/emoji/unicode/1f454.png b/src/images/emoji/unicode/1f454.png new file mode 100644 index 0000000..3478d23 Binary files /dev/null and b/src/images/emoji/unicode/1f454.png differ diff --git a/src/images/emoji/unicode/1f455.png b/src/images/emoji/unicode/1f455.png new file mode 100644 index 0000000..0cd2461 Binary files /dev/null and b/src/images/emoji/unicode/1f455.png differ diff --git a/src/images/emoji/unicode/1f456.png b/src/images/emoji/unicode/1f456.png new file mode 100644 index 0000000..96eb281 Binary files /dev/null and b/src/images/emoji/unicode/1f456.png differ diff --git a/src/images/emoji/unicode/1f457.png b/src/images/emoji/unicode/1f457.png new file mode 100644 index 0000000..8ddb171 Binary files /dev/null and b/src/images/emoji/unicode/1f457.png differ diff --git a/src/images/emoji/unicode/1f458.png b/src/images/emoji/unicode/1f458.png new file mode 100644 index 0000000..b33b8e8 Binary files /dev/null and b/src/images/emoji/unicode/1f458.png differ diff --git a/src/images/emoji/unicode/1f459.png b/src/images/emoji/unicode/1f459.png new file mode 100644 index 0000000..71346f8 Binary files /dev/null and b/src/images/emoji/unicode/1f459.png differ diff --git a/src/images/emoji/unicode/1f45a.png b/src/images/emoji/unicode/1f45a.png new file mode 100644 index 0000000..dd66960 Binary files /dev/null and b/src/images/emoji/unicode/1f45a.png differ diff --git a/src/images/emoji/unicode/1f45b.png b/src/images/emoji/unicode/1f45b.png new file mode 100644 index 0000000..2cf489e Binary files /dev/null and b/src/images/emoji/unicode/1f45b.png differ diff --git a/src/images/emoji/unicode/1f45c.png b/src/images/emoji/unicode/1f45c.png new file mode 100644 index 0000000..7d6887e Binary files /dev/null and b/src/images/emoji/unicode/1f45c.png differ diff --git a/src/images/emoji/unicode/1f45d.png b/src/images/emoji/unicode/1f45d.png new file mode 100644 index 0000000..49e0844 Binary files /dev/null and b/src/images/emoji/unicode/1f45d.png differ diff --git a/src/images/emoji/unicode/1f45e.png b/src/images/emoji/unicode/1f45e.png new file mode 100644 index 0000000..c70b5b5 Binary files /dev/null and b/src/images/emoji/unicode/1f45e.png differ diff --git a/src/images/emoji/unicode/1f45f.png b/src/images/emoji/unicode/1f45f.png new file mode 100644 index 0000000..8c3d068 Binary files /dev/null and b/src/images/emoji/unicode/1f45f.png differ diff --git a/src/images/emoji/unicode/1f460.png b/src/images/emoji/unicode/1f460.png new file mode 100644 index 0000000..3a06da3 Binary files /dev/null and b/src/images/emoji/unicode/1f460.png differ diff --git a/src/images/emoji/unicode/1f461.png b/src/images/emoji/unicode/1f461.png new file mode 100644 index 0000000..1e5eb36 Binary files /dev/null and b/src/images/emoji/unicode/1f461.png differ diff --git a/src/images/emoji/unicode/1f462.png b/src/images/emoji/unicode/1f462.png new file mode 100644 index 0000000..22ea9f2 Binary files /dev/null and b/src/images/emoji/unicode/1f462.png differ diff --git a/src/images/emoji/unicode/1f463.png b/src/images/emoji/unicode/1f463.png new file mode 100644 index 0000000..5ca16b4 Binary files /dev/null and b/src/images/emoji/unicode/1f463.png differ diff --git a/src/images/emoji/unicode/1f464.png b/src/images/emoji/unicode/1f464.png new file mode 100644 index 0000000..29b9c70 Binary files /dev/null and b/src/images/emoji/unicode/1f464.png differ diff --git a/src/images/emoji/unicode/1f465.png b/src/images/emoji/unicode/1f465.png new file mode 100644 index 0000000..ef44f05 Binary files /dev/null and b/src/images/emoji/unicode/1f465.png differ diff --git a/src/images/emoji/unicode/1f466-1f3fb.png b/src/images/emoji/unicode/1f466-1f3fb.png new file mode 100644 index 0000000..6a24f76 Binary files /dev/null and b/src/images/emoji/unicode/1f466-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f466-1f3fc.png b/src/images/emoji/unicode/1f466-1f3fc.png new file mode 100644 index 0000000..0b99369 Binary files /dev/null and b/src/images/emoji/unicode/1f466-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f466-1f3fd.png b/src/images/emoji/unicode/1f466-1f3fd.png new file mode 100644 index 0000000..a805e71 Binary files /dev/null and b/src/images/emoji/unicode/1f466-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f466-1f3fe.png b/src/images/emoji/unicode/1f466-1f3fe.png new file mode 100644 index 0000000..f0c888c Binary files /dev/null and b/src/images/emoji/unicode/1f466-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f466-1f3ff.png b/src/images/emoji/unicode/1f466-1f3ff.png new file mode 100644 index 0000000..ddea4e0 Binary files /dev/null and b/src/images/emoji/unicode/1f466-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f466.png b/src/images/emoji/unicode/1f466.png new file mode 100644 index 0000000..6b8a79b Binary files /dev/null and b/src/images/emoji/unicode/1f466.png differ diff --git a/src/images/emoji/unicode/1f467-1f3fb.png b/src/images/emoji/unicode/1f467-1f3fb.png new file mode 100644 index 0000000..bbfb7bc Binary files /dev/null and b/src/images/emoji/unicode/1f467-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f467-1f3fc.png b/src/images/emoji/unicode/1f467-1f3fc.png new file mode 100644 index 0000000..4f33c15 Binary files /dev/null and b/src/images/emoji/unicode/1f467-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f467-1f3fd.png b/src/images/emoji/unicode/1f467-1f3fd.png new file mode 100644 index 0000000..38f19c3 Binary files /dev/null and b/src/images/emoji/unicode/1f467-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f467-1f3fe.png b/src/images/emoji/unicode/1f467-1f3fe.png new file mode 100644 index 0000000..fb04eae Binary files /dev/null and b/src/images/emoji/unicode/1f467-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f467-1f3ff.png b/src/images/emoji/unicode/1f467-1f3ff.png new file mode 100644 index 0000000..ee9b802 Binary files /dev/null and b/src/images/emoji/unicode/1f467-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f467.png b/src/images/emoji/unicode/1f467.png new file mode 100644 index 0000000..ef52370 Binary files /dev/null and b/src/images/emoji/unicode/1f467.png differ diff --git a/src/images/emoji/unicode/1f468-1f3fb.png b/src/images/emoji/unicode/1f468-1f3fb.png new file mode 100644 index 0000000..a57389f Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f468-1f3fc.png b/src/images/emoji/unicode/1f468-1f3fc.png new file mode 100644 index 0000000..cc44d40 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f468-1f3fd.png b/src/images/emoji/unicode/1f468-1f3fd.png new file mode 100644 index 0000000..ab0e432 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f468-1f3fe.png b/src/images/emoji/unicode/1f468-1f3fe.png new file mode 100644 index 0000000..419cf72 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f468-1f3ff.png b/src/images/emoji/unicode/1f468-1f3ff.png new file mode 100644 index 0000000..4af4915 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f468-1f468-1f466-1f466.png b/src/images/emoji/unicode/1f468-1f468-1f466-1f466.png new file mode 100644 index 0000000..39e42c2 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f468-1f466-1f466.png differ diff --git a/src/images/emoji/unicode/1f468-1f468-1f466.png b/src/images/emoji/unicode/1f468-1f468-1f466.png new file mode 100644 index 0000000..4105585 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f468-1f466.png differ diff --git a/src/images/emoji/unicode/1f468-1f468-1f467-1f466.png b/src/images/emoji/unicode/1f468-1f468-1f467-1f466.png new file mode 100644 index 0000000..f5794e7 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f468-1f467-1f466.png differ diff --git a/src/images/emoji/unicode/1f468-1f468-1f467-1f467.png b/src/images/emoji/unicode/1f468-1f468-1f467-1f467.png new file mode 100644 index 0000000..52b3caf Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f468-1f467-1f467.png differ diff --git a/src/images/emoji/unicode/1f468-1f468-1f467.png b/src/images/emoji/unicode/1f468-1f468-1f467.png new file mode 100644 index 0000000..e086c17 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f468-1f467.png differ diff --git a/src/images/emoji/unicode/1f468-1f469-1f466-1f466.png b/src/images/emoji/unicode/1f468-1f469-1f466-1f466.png new file mode 100644 index 0000000..631ffef Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f469-1f466-1f466.png differ diff --git a/src/images/emoji/unicode/1f468-1f469-1f467-1f466.png b/src/images/emoji/unicode/1f468-1f469-1f467-1f466.png new file mode 100644 index 0000000..b12cb79 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f469-1f467-1f466.png differ diff --git a/src/images/emoji/unicode/1f468-1f469-1f467-1f467.png b/src/images/emoji/unicode/1f468-1f469-1f467-1f467.png new file mode 100644 index 0000000..77bce76 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f469-1f467-1f467.png differ diff --git a/src/images/emoji/unicode/1f468-1f469-1f467.png b/src/images/emoji/unicode/1f468-1f469-1f467.png new file mode 100644 index 0000000..5f073d2 Binary files /dev/null and b/src/images/emoji/unicode/1f468-1f469-1f467.png differ diff --git a/src/images/emoji/unicode/1f468-2764-1f468.png b/src/images/emoji/unicode/1f468-2764-1f468.png new file mode 100644 index 0000000..c2eddbe Binary files /dev/null and b/src/images/emoji/unicode/1f468-2764-1f468.png differ diff --git a/src/images/emoji/unicode/1f468-2764-1f48b-1f468.png b/src/images/emoji/unicode/1f468-2764-1f48b-1f468.png new file mode 100644 index 0000000..8b6a608 Binary files /dev/null and b/src/images/emoji/unicode/1f468-2764-1f48b-1f468.png differ diff --git a/src/images/emoji/unicode/1f468.png b/src/images/emoji/unicode/1f468.png new file mode 100644 index 0000000..9aff27d Binary files /dev/null and b/src/images/emoji/unicode/1f468.png differ diff --git a/src/images/emoji/unicode/1f469-1f3fb.png b/src/images/emoji/unicode/1f469-1f3fb.png new file mode 100644 index 0000000..f75316f Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f469-1f3fc.png b/src/images/emoji/unicode/1f469-1f3fc.png new file mode 100644 index 0000000..756e48c Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f469-1f3fd.png b/src/images/emoji/unicode/1f469-1f3fd.png new file mode 100644 index 0000000..f5f9ca6 Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f469-1f3fe.png b/src/images/emoji/unicode/1f469-1f3fe.png new file mode 100644 index 0000000..72818fb Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f469-1f3ff.png b/src/images/emoji/unicode/1f469-1f3ff.png new file mode 100644 index 0000000..c52d1dc Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f469-1f469-1f466-1f466.png b/src/images/emoji/unicode/1f469-1f469-1f466-1f466.png new file mode 100644 index 0000000..a691a25 Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f469-1f466-1f466.png differ diff --git a/src/images/emoji/unicode/1f469-1f469-1f466.png b/src/images/emoji/unicode/1f469-1f469-1f466.png new file mode 100644 index 0000000..9c58b83 Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f469-1f466.png differ diff --git a/src/images/emoji/unicode/1f469-1f469-1f467-1f466.png b/src/images/emoji/unicode/1f469-1f469-1f467-1f466.png new file mode 100644 index 0000000..e5020d0 Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f469-1f467-1f466.png differ diff --git a/src/images/emoji/unicode/1f469-1f469-1f467-1f467.png b/src/images/emoji/unicode/1f469-1f469-1f467-1f467.png new file mode 100644 index 0000000..e92478b Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f469-1f467-1f467.png differ diff --git a/src/images/emoji/unicode/1f469-1f469-1f467.png b/src/images/emoji/unicode/1f469-1f469-1f467.png new file mode 100644 index 0000000..d1d3011 Binary files /dev/null and b/src/images/emoji/unicode/1f469-1f469-1f467.png differ diff --git a/src/images/emoji/unicode/1f469-2764-1f469.png b/src/images/emoji/unicode/1f469-2764-1f469.png new file mode 100644 index 0000000..0e0fc74 Binary files /dev/null and b/src/images/emoji/unicode/1f469-2764-1f469.png differ diff --git a/src/images/emoji/unicode/1f469-2764-1f48b-1f469.png b/src/images/emoji/unicode/1f469-2764-1f48b-1f469.png new file mode 100644 index 0000000..9025630 Binary files /dev/null and b/src/images/emoji/unicode/1f469-2764-1f48b-1f469.png differ diff --git a/src/images/emoji/unicode/1f469.png b/src/images/emoji/unicode/1f469.png new file mode 100644 index 0000000..aa3dddd Binary files /dev/null and b/src/images/emoji/unicode/1f469.png differ diff --git a/src/images/emoji/unicode/1f46a.png b/src/images/emoji/unicode/1f46a.png new file mode 100644 index 0000000..52738da Binary files /dev/null and b/src/images/emoji/unicode/1f46a.png differ diff --git a/src/images/emoji/unicode/1f46b.png b/src/images/emoji/unicode/1f46b.png new file mode 100644 index 0000000..77b428d Binary files /dev/null and b/src/images/emoji/unicode/1f46b.png differ diff --git a/src/images/emoji/unicode/1f46c.png b/src/images/emoji/unicode/1f46c.png new file mode 100644 index 0000000..ee9ad91 Binary files /dev/null and b/src/images/emoji/unicode/1f46c.png differ diff --git a/src/images/emoji/unicode/1f46d.png b/src/images/emoji/unicode/1f46d.png new file mode 100644 index 0000000..fd370e7 Binary files /dev/null and b/src/images/emoji/unicode/1f46d.png differ diff --git a/src/images/emoji/unicode/1f46e-1f3fb.png b/src/images/emoji/unicode/1f46e-1f3fb.png new file mode 100644 index 0000000..1a065b5 Binary files /dev/null and b/src/images/emoji/unicode/1f46e-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f46e-1f3fc.png b/src/images/emoji/unicode/1f46e-1f3fc.png new file mode 100644 index 0000000..b3151a8 Binary files /dev/null and b/src/images/emoji/unicode/1f46e-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f46e-1f3fd.png b/src/images/emoji/unicode/1f46e-1f3fd.png new file mode 100644 index 0000000..b0bd67f Binary files /dev/null and b/src/images/emoji/unicode/1f46e-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f46e-1f3fe.png b/src/images/emoji/unicode/1f46e-1f3fe.png new file mode 100644 index 0000000..7c66044 Binary files /dev/null and b/src/images/emoji/unicode/1f46e-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f46e-1f3ff.png b/src/images/emoji/unicode/1f46e-1f3ff.png new file mode 100644 index 0000000..149da62 Binary files /dev/null and b/src/images/emoji/unicode/1f46e-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f46e.png b/src/images/emoji/unicode/1f46e.png new file mode 100644 index 0000000..3960c04 Binary files /dev/null and b/src/images/emoji/unicode/1f46e.png differ diff --git a/src/images/emoji/unicode/1f46f.png b/src/images/emoji/unicode/1f46f.png new file mode 100644 index 0000000..e247cda Binary files /dev/null and b/src/images/emoji/unicode/1f46f.png differ diff --git a/src/images/emoji/unicode/1f470-1f3fb.png b/src/images/emoji/unicode/1f470-1f3fb.png new file mode 100644 index 0000000..462acd5 Binary files /dev/null and b/src/images/emoji/unicode/1f470-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f470-1f3fc.png b/src/images/emoji/unicode/1f470-1f3fc.png new file mode 100644 index 0000000..33a1164 Binary files /dev/null and b/src/images/emoji/unicode/1f470-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f470-1f3fd.png b/src/images/emoji/unicode/1f470-1f3fd.png new file mode 100644 index 0000000..209206f Binary files /dev/null and b/src/images/emoji/unicode/1f470-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f470-1f3fe.png b/src/images/emoji/unicode/1f470-1f3fe.png new file mode 100644 index 0000000..e64eab6 Binary files /dev/null and b/src/images/emoji/unicode/1f470-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f470-1f3ff.png b/src/images/emoji/unicode/1f470-1f3ff.png new file mode 100644 index 0000000..00b3f53 Binary files /dev/null and b/src/images/emoji/unicode/1f470-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f470.png b/src/images/emoji/unicode/1f470.png new file mode 100644 index 0000000..cd4e49e Binary files /dev/null and b/src/images/emoji/unicode/1f470.png differ diff --git a/src/images/emoji/unicode/1f471-1f3fb.png b/src/images/emoji/unicode/1f471-1f3fb.png new file mode 100644 index 0000000..a26cab3 Binary files /dev/null and b/src/images/emoji/unicode/1f471-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f471-1f3fc.png b/src/images/emoji/unicode/1f471-1f3fc.png new file mode 100644 index 0000000..295f218 Binary files /dev/null and b/src/images/emoji/unicode/1f471-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f471-1f3fd.png b/src/images/emoji/unicode/1f471-1f3fd.png new file mode 100644 index 0000000..bd251c5 Binary files /dev/null and b/src/images/emoji/unicode/1f471-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f471-1f3fe.png b/src/images/emoji/unicode/1f471-1f3fe.png new file mode 100644 index 0000000..e32fc24 Binary files /dev/null and b/src/images/emoji/unicode/1f471-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f471-1f3ff.png b/src/images/emoji/unicode/1f471-1f3ff.png new file mode 100644 index 0000000..9255650 Binary files /dev/null and b/src/images/emoji/unicode/1f471-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f471.png b/src/images/emoji/unicode/1f471.png new file mode 100644 index 0000000..c93747c Binary files /dev/null and b/src/images/emoji/unicode/1f471.png differ diff --git a/src/images/emoji/unicode/1f472-1f3fb.png b/src/images/emoji/unicode/1f472-1f3fb.png new file mode 100644 index 0000000..a08690d Binary files /dev/null and b/src/images/emoji/unicode/1f472-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f472-1f3fc.png b/src/images/emoji/unicode/1f472-1f3fc.png new file mode 100644 index 0000000..4dfa9e0 Binary files /dev/null and b/src/images/emoji/unicode/1f472-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f472-1f3fd.png b/src/images/emoji/unicode/1f472-1f3fd.png new file mode 100644 index 0000000..43e647e Binary files /dev/null and b/src/images/emoji/unicode/1f472-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f472-1f3fe.png b/src/images/emoji/unicode/1f472-1f3fe.png new file mode 100644 index 0000000..4ab7dd7 Binary files /dev/null and b/src/images/emoji/unicode/1f472-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f472-1f3ff.png b/src/images/emoji/unicode/1f472-1f3ff.png new file mode 100644 index 0000000..384e8d5 Binary files /dev/null and b/src/images/emoji/unicode/1f472-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f472.png b/src/images/emoji/unicode/1f472.png new file mode 100644 index 0000000..c312ebb Binary files /dev/null and b/src/images/emoji/unicode/1f472.png differ diff --git a/src/images/emoji/unicode/1f473-1f3fb.png b/src/images/emoji/unicode/1f473-1f3fb.png new file mode 100644 index 0000000..6f1e898 Binary files /dev/null and b/src/images/emoji/unicode/1f473-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f473-1f3fc.png b/src/images/emoji/unicode/1f473-1f3fc.png new file mode 100644 index 0000000..161e777 Binary files /dev/null and b/src/images/emoji/unicode/1f473-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f473-1f3fd.png b/src/images/emoji/unicode/1f473-1f3fd.png new file mode 100644 index 0000000..a0cfab6 Binary files /dev/null and b/src/images/emoji/unicode/1f473-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f473-1f3fe.png b/src/images/emoji/unicode/1f473-1f3fe.png new file mode 100644 index 0000000..69c0c52 Binary files /dev/null and b/src/images/emoji/unicode/1f473-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f473-1f3ff.png b/src/images/emoji/unicode/1f473-1f3ff.png new file mode 100644 index 0000000..abecb2f Binary files /dev/null and b/src/images/emoji/unicode/1f473-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f473.png b/src/images/emoji/unicode/1f473.png new file mode 100644 index 0000000..337dba9 Binary files /dev/null and b/src/images/emoji/unicode/1f473.png differ diff --git a/src/images/emoji/unicode/1f474-1f3fb.png b/src/images/emoji/unicode/1f474-1f3fb.png new file mode 100644 index 0000000..8e21075 Binary files /dev/null and b/src/images/emoji/unicode/1f474-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f474-1f3fc.png b/src/images/emoji/unicode/1f474-1f3fc.png new file mode 100644 index 0000000..faeaedf Binary files /dev/null and b/src/images/emoji/unicode/1f474-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f474-1f3fd.png b/src/images/emoji/unicode/1f474-1f3fd.png new file mode 100644 index 0000000..81ab537 Binary files /dev/null and b/src/images/emoji/unicode/1f474-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f474-1f3fe.png b/src/images/emoji/unicode/1f474-1f3fe.png new file mode 100644 index 0000000..a1496a4 Binary files /dev/null and b/src/images/emoji/unicode/1f474-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f474-1f3ff.png b/src/images/emoji/unicode/1f474-1f3ff.png new file mode 100644 index 0000000..805c293 Binary files /dev/null and b/src/images/emoji/unicode/1f474-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f474.png b/src/images/emoji/unicode/1f474.png new file mode 100644 index 0000000..0d2d3fc Binary files /dev/null and b/src/images/emoji/unicode/1f474.png differ diff --git a/src/images/emoji/unicode/1f475-1f3fb.png b/src/images/emoji/unicode/1f475-1f3fb.png new file mode 100644 index 0000000..1a51c93 Binary files /dev/null and b/src/images/emoji/unicode/1f475-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f475-1f3fc.png b/src/images/emoji/unicode/1f475-1f3fc.png new file mode 100644 index 0000000..e1c4fc0 Binary files /dev/null and b/src/images/emoji/unicode/1f475-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f475-1f3fd.png b/src/images/emoji/unicode/1f475-1f3fd.png new file mode 100644 index 0000000..bdbd145 Binary files /dev/null and b/src/images/emoji/unicode/1f475-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f475-1f3fe.png b/src/images/emoji/unicode/1f475-1f3fe.png new file mode 100644 index 0000000..086628d Binary files /dev/null and b/src/images/emoji/unicode/1f475-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f475-1f3ff.png b/src/images/emoji/unicode/1f475-1f3ff.png new file mode 100644 index 0000000..98d3fa9 Binary files /dev/null and b/src/images/emoji/unicode/1f475-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f475.png b/src/images/emoji/unicode/1f475.png new file mode 100644 index 0000000..11b8746 Binary files /dev/null and b/src/images/emoji/unicode/1f475.png differ diff --git a/src/images/emoji/unicode/1f476-1f3fb.png b/src/images/emoji/unicode/1f476-1f3fb.png new file mode 100644 index 0000000..4694d5a Binary files /dev/null and b/src/images/emoji/unicode/1f476-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f476-1f3fc.png b/src/images/emoji/unicode/1f476-1f3fc.png new file mode 100644 index 0000000..b563eb9 Binary files /dev/null and b/src/images/emoji/unicode/1f476-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f476-1f3fd.png b/src/images/emoji/unicode/1f476-1f3fd.png new file mode 100644 index 0000000..f58bc4a Binary files /dev/null and b/src/images/emoji/unicode/1f476-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f476-1f3fe.png b/src/images/emoji/unicode/1f476-1f3fe.png new file mode 100644 index 0000000..0b201fd Binary files /dev/null and b/src/images/emoji/unicode/1f476-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f476-1f3ff.png b/src/images/emoji/unicode/1f476-1f3ff.png new file mode 100644 index 0000000..80486e4 Binary files /dev/null and b/src/images/emoji/unicode/1f476-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f476.png b/src/images/emoji/unicode/1f476.png new file mode 100644 index 0000000..9830498 Binary files /dev/null and b/src/images/emoji/unicode/1f476.png differ diff --git a/src/images/emoji/unicode/1f477-1f3fb.png b/src/images/emoji/unicode/1f477-1f3fb.png new file mode 100644 index 0000000..5258cdd Binary files /dev/null and b/src/images/emoji/unicode/1f477-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f477-1f3fc.png b/src/images/emoji/unicode/1f477-1f3fc.png new file mode 100644 index 0000000..b48cd41 Binary files /dev/null and b/src/images/emoji/unicode/1f477-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f477-1f3fd.png b/src/images/emoji/unicode/1f477-1f3fd.png new file mode 100644 index 0000000..6051443 Binary files /dev/null and b/src/images/emoji/unicode/1f477-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f477-1f3fe.png b/src/images/emoji/unicode/1f477-1f3fe.png new file mode 100644 index 0000000..36fec35 Binary files /dev/null and b/src/images/emoji/unicode/1f477-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f477-1f3ff.png b/src/images/emoji/unicode/1f477-1f3ff.png new file mode 100644 index 0000000..78bf7cc Binary files /dev/null and b/src/images/emoji/unicode/1f477-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f477.png b/src/images/emoji/unicode/1f477.png new file mode 100644 index 0000000..ac0c96c Binary files /dev/null and b/src/images/emoji/unicode/1f477.png differ diff --git a/src/images/emoji/unicode/1f478-1f3fb.png b/src/images/emoji/unicode/1f478-1f3fb.png new file mode 100644 index 0000000..787cf10 Binary files /dev/null and b/src/images/emoji/unicode/1f478-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f478-1f3fc.png b/src/images/emoji/unicode/1f478-1f3fc.png new file mode 100644 index 0000000..33a3659 Binary files /dev/null and b/src/images/emoji/unicode/1f478-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f478-1f3fd.png b/src/images/emoji/unicode/1f478-1f3fd.png new file mode 100644 index 0000000..4561d0c Binary files /dev/null and b/src/images/emoji/unicode/1f478-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f478-1f3fe.png b/src/images/emoji/unicode/1f478-1f3fe.png new file mode 100644 index 0000000..9211b75 Binary files /dev/null and b/src/images/emoji/unicode/1f478-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f478-1f3ff.png b/src/images/emoji/unicode/1f478-1f3ff.png new file mode 100644 index 0000000..bff6788 Binary files /dev/null and b/src/images/emoji/unicode/1f478-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f478.png b/src/images/emoji/unicode/1f478.png new file mode 100644 index 0000000..708db96 Binary files /dev/null and b/src/images/emoji/unicode/1f478.png differ diff --git a/src/images/emoji/unicode/1f479.png b/src/images/emoji/unicode/1f479.png new file mode 100644 index 0000000..837de84 Binary files /dev/null and b/src/images/emoji/unicode/1f479.png differ diff --git a/src/images/emoji/unicode/1f47a.png b/src/images/emoji/unicode/1f47a.png new file mode 100644 index 0000000..dbe38b6 Binary files /dev/null and b/src/images/emoji/unicode/1f47a.png differ diff --git a/src/images/emoji/unicode/1f47b.png b/src/images/emoji/unicode/1f47b.png new file mode 100644 index 0000000..6262056 Binary files /dev/null and b/src/images/emoji/unicode/1f47b.png differ diff --git a/src/images/emoji/unicode/1f47c-1f3fb.png b/src/images/emoji/unicode/1f47c-1f3fb.png new file mode 100644 index 0000000..a14d29c Binary files /dev/null and b/src/images/emoji/unicode/1f47c-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f47c-1f3fc.png b/src/images/emoji/unicode/1f47c-1f3fc.png new file mode 100644 index 0000000..2272f6d Binary files /dev/null and b/src/images/emoji/unicode/1f47c-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f47c-1f3fd.png b/src/images/emoji/unicode/1f47c-1f3fd.png new file mode 100644 index 0000000..ea2ce58 Binary files /dev/null and b/src/images/emoji/unicode/1f47c-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f47c-1f3fe.png b/src/images/emoji/unicode/1f47c-1f3fe.png new file mode 100644 index 0000000..c297bc8 Binary files /dev/null and b/src/images/emoji/unicode/1f47c-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f47c-1f3ff.png b/src/images/emoji/unicode/1f47c-1f3ff.png new file mode 100644 index 0000000..31d1675 Binary files /dev/null and b/src/images/emoji/unicode/1f47c-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f47c.png b/src/images/emoji/unicode/1f47c.png new file mode 100644 index 0000000..7226e7d Binary files /dev/null and b/src/images/emoji/unicode/1f47c.png differ diff --git a/src/images/emoji/unicode/1f47d.png b/src/images/emoji/unicode/1f47d.png new file mode 100644 index 0000000..ff6c4bf Binary files /dev/null and b/src/images/emoji/unicode/1f47d.png differ diff --git a/src/images/emoji/unicode/1f47e.png b/src/images/emoji/unicode/1f47e.png new file mode 100644 index 0000000..40c1feb Binary files /dev/null and b/src/images/emoji/unicode/1f47e.png differ diff --git a/src/images/emoji/unicode/1f47f.png b/src/images/emoji/unicode/1f47f.png new file mode 100644 index 0000000..c3b4cc5 Binary files /dev/null and b/src/images/emoji/unicode/1f47f.png differ diff --git a/src/images/emoji/unicode/1f480.png b/src/images/emoji/unicode/1f480.png new file mode 100644 index 0000000..ebc043e Binary files /dev/null and b/src/images/emoji/unicode/1f480.png differ diff --git a/src/images/emoji/unicode/1f481-1f3fb.png b/src/images/emoji/unicode/1f481-1f3fb.png new file mode 100644 index 0000000..aa116c6 Binary files /dev/null and b/src/images/emoji/unicode/1f481-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f481-1f3fc.png b/src/images/emoji/unicode/1f481-1f3fc.png new file mode 100644 index 0000000..1944c64 Binary files /dev/null and b/src/images/emoji/unicode/1f481-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f481-1f3fd.png b/src/images/emoji/unicode/1f481-1f3fd.png new file mode 100644 index 0000000..3d0a4b2 Binary files /dev/null and b/src/images/emoji/unicode/1f481-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f481-1f3fe.png b/src/images/emoji/unicode/1f481-1f3fe.png new file mode 100644 index 0000000..88d3543 Binary files /dev/null and b/src/images/emoji/unicode/1f481-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f481-1f3ff.png b/src/images/emoji/unicode/1f481-1f3ff.png new file mode 100644 index 0000000..0c8e7f1 Binary files /dev/null and b/src/images/emoji/unicode/1f481-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f481.png b/src/images/emoji/unicode/1f481.png new file mode 100644 index 0000000..7f064b2 Binary files /dev/null and b/src/images/emoji/unicode/1f481.png differ diff --git a/src/images/emoji/unicode/1f482-1f3fb.png b/src/images/emoji/unicode/1f482-1f3fb.png new file mode 100644 index 0000000..8f3b43a Binary files /dev/null and b/src/images/emoji/unicode/1f482-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f482-1f3fc.png b/src/images/emoji/unicode/1f482-1f3fc.png new file mode 100644 index 0000000..ef2938d Binary files /dev/null and b/src/images/emoji/unicode/1f482-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f482-1f3fd.png b/src/images/emoji/unicode/1f482-1f3fd.png new file mode 100644 index 0000000..42d373f Binary files /dev/null and b/src/images/emoji/unicode/1f482-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f482-1f3fe.png b/src/images/emoji/unicode/1f482-1f3fe.png new file mode 100644 index 0000000..d311210 Binary files /dev/null and b/src/images/emoji/unicode/1f482-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f482-1f3ff.png b/src/images/emoji/unicode/1f482-1f3ff.png new file mode 100644 index 0000000..349567e Binary files /dev/null and b/src/images/emoji/unicode/1f482-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f482.png b/src/images/emoji/unicode/1f482.png new file mode 100644 index 0000000..853d7cf Binary files /dev/null and b/src/images/emoji/unicode/1f482.png differ diff --git a/src/images/emoji/unicode/1f483-1f3fb.png b/src/images/emoji/unicode/1f483-1f3fb.png new file mode 100644 index 0000000..4103638 Binary files /dev/null and b/src/images/emoji/unicode/1f483-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f483-1f3fc.png b/src/images/emoji/unicode/1f483-1f3fc.png new file mode 100644 index 0000000..da183ef Binary files /dev/null and b/src/images/emoji/unicode/1f483-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f483-1f3fd.png b/src/images/emoji/unicode/1f483-1f3fd.png new file mode 100644 index 0000000..65ea6e0 Binary files /dev/null and b/src/images/emoji/unicode/1f483-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f483-1f3fe.png b/src/images/emoji/unicode/1f483-1f3fe.png new file mode 100644 index 0000000..e2d66d7 Binary files /dev/null and b/src/images/emoji/unicode/1f483-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f483-1f3ff.png b/src/images/emoji/unicode/1f483-1f3ff.png new file mode 100644 index 0000000..2fc947f Binary files /dev/null and b/src/images/emoji/unicode/1f483-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f483.png b/src/images/emoji/unicode/1f483.png new file mode 100644 index 0000000..3be061f Binary files /dev/null and b/src/images/emoji/unicode/1f483.png differ diff --git a/src/images/emoji/unicode/1f484.png b/src/images/emoji/unicode/1f484.png new file mode 100644 index 0000000..92a09f5 Binary files /dev/null and b/src/images/emoji/unicode/1f484.png differ diff --git a/src/images/emoji/unicode/1f485-1f3fb.png b/src/images/emoji/unicode/1f485-1f3fb.png new file mode 100644 index 0000000..f7173fa Binary files /dev/null and b/src/images/emoji/unicode/1f485-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f485-1f3fc.png b/src/images/emoji/unicode/1f485-1f3fc.png new file mode 100644 index 0000000..4081a0f Binary files /dev/null and b/src/images/emoji/unicode/1f485-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f485-1f3fd.png b/src/images/emoji/unicode/1f485-1f3fd.png new file mode 100644 index 0000000..d05c30f Binary files /dev/null and b/src/images/emoji/unicode/1f485-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f485-1f3fe.png b/src/images/emoji/unicode/1f485-1f3fe.png new file mode 100644 index 0000000..939a413 Binary files /dev/null and b/src/images/emoji/unicode/1f485-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f485-1f3ff.png b/src/images/emoji/unicode/1f485-1f3ff.png new file mode 100644 index 0000000..0c3b1c4 Binary files /dev/null and b/src/images/emoji/unicode/1f485-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f485.png b/src/images/emoji/unicode/1f485.png new file mode 100644 index 0000000..afe8b23 Binary files /dev/null and b/src/images/emoji/unicode/1f485.png differ diff --git a/src/images/emoji/unicode/1f486-1f3fb.png b/src/images/emoji/unicode/1f486-1f3fb.png new file mode 100644 index 0000000..6873266 Binary files /dev/null and b/src/images/emoji/unicode/1f486-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f486-1f3fc.png b/src/images/emoji/unicode/1f486-1f3fc.png new file mode 100644 index 0000000..11edb5e Binary files /dev/null and b/src/images/emoji/unicode/1f486-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f486-1f3fd.png b/src/images/emoji/unicode/1f486-1f3fd.png new file mode 100644 index 0000000..5e1ce18 Binary files /dev/null and b/src/images/emoji/unicode/1f486-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f486-1f3fe.png b/src/images/emoji/unicode/1f486-1f3fe.png new file mode 100644 index 0000000..38f90f0 Binary files /dev/null and b/src/images/emoji/unicode/1f486-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f486-1f3ff.png b/src/images/emoji/unicode/1f486-1f3ff.png new file mode 100644 index 0000000..f84461e Binary files /dev/null and b/src/images/emoji/unicode/1f486-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f486.png b/src/images/emoji/unicode/1f486.png new file mode 100644 index 0000000..7049e75 Binary files /dev/null and b/src/images/emoji/unicode/1f486.png differ diff --git a/src/images/emoji/unicode/1f487-1f3fb.png b/src/images/emoji/unicode/1f487-1f3fb.png new file mode 100644 index 0000000..9b55e5f Binary files /dev/null and b/src/images/emoji/unicode/1f487-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f487-1f3fc.png b/src/images/emoji/unicode/1f487-1f3fc.png new file mode 100644 index 0000000..3ad8666 Binary files /dev/null and b/src/images/emoji/unicode/1f487-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f487-1f3fd.png b/src/images/emoji/unicode/1f487-1f3fd.png new file mode 100644 index 0000000..aa6f623 Binary files /dev/null and b/src/images/emoji/unicode/1f487-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f487-1f3fe.png b/src/images/emoji/unicode/1f487-1f3fe.png new file mode 100644 index 0000000..e4d0d58 Binary files /dev/null and b/src/images/emoji/unicode/1f487-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f487-1f3ff.png b/src/images/emoji/unicode/1f487-1f3ff.png new file mode 100644 index 0000000..a377fca Binary files /dev/null and b/src/images/emoji/unicode/1f487-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f487.png b/src/images/emoji/unicode/1f487.png new file mode 100644 index 0000000..7a1cb19 Binary files /dev/null and b/src/images/emoji/unicode/1f487.png differ diff --git a/src/images/emoji/unicode/1f488.png b/src/images/emoji/unicode/1f488.png new file mode 100644 index 0000000..e59cf57 Binary files /dev/null and b/src/images/emoji/unicode/1f488.png differ diff --git a/src/images/emoji/unicode/1f489.png b/src/images/emoji/unicode/1f489.png new file mode 100644 index 0000000..2b87799 Binary files /dev/null and b/src/images/emoji/unicode/1f489.png differ diff --git a/src/images/emoji/unicode/1f48a.png b/src/images/emoji/unicode/1f48a.png new file mode 100644 index 0000000..98a1627 Binary files /dev/null and b/src/images/emoji/unicode/1f48a.png differ diff --git a/src/images/emoji/unicode/1f48b.png b/src/images/emoji/unicode/1f48b.png new file mode 100644 index 0000000..4b326a2 Binary files /dev/null and b/src/images/emoji/unicode/1f48b.png differ diff --git a/src/images/emoji/unicode/1f48c.png b/src/images/emoji/unicode/1f48c.png new file mode 100644 index 0000000..2a87195 Binary files /dev/null and b/src/images/emoji/unicode/1f48c.png differ diff --git a/src/images/emoji/unicode/1f48d.png b/src/images/emoji/unicode/1f48d.png new file mode 100644 index 0000000..9f05805 Binary files /dev/null and b/src/images/emoji/unicode/1f48d.png differ diff --git a/src/images/emoji/unicode/1f48e.png b/src/images/emoji/unicode/1f48e.png new file mode 100644 index 0000000..b3c1111 Binary files /dev/null and b/src/images/emoji/unicode/1f48e.png differ diff --git a/src/images/emoji/unicode/1f48f.png b/src/images/emoji/unicode/1f48f.png new file mode 100644 index 0000000..f66ea0d Binary files /dev/null and b/src/images/emoji/unicode/1f48f.png differ diff --git a/src/images/emoji/unicode/1f490.png b/src/images/emoji/unicode/1f490.png new file mode 100644 index 0000000..2b9c299 Binary files /dev/null and b/src/images/emoji/unicode/1f490.png differ diff --git a/src/images/emoji/unicode/1f491.png b/src/images/emoji/unicode/1f491.png new file mode 100644 index 0000000..f0ca6da Binary files /dev/null and b/src/images/emoji/unicode/1f491.png differ diff --git a/src/images/emoji/unicode/1f492.png b/src/images/emoji/unicode/1f492.png new file mode 100644 index 0000000..89cbd5c Binary files /dev/null and b/src/images/emoji/unicode/1f492.png differ diff --git a/src/images/emoji/unicode/1f493.png b/src/images/emoji/unicode/1f493.png new file mode 100644 index 0000000..33ec17d Binary files /dev/null and b/src/images/emoji/unicode/1f493.png differ diff --git a/src/images/emoji/unicode/1f494.png b/src/images/emoji/unicode/1f494.png new file mode 100644 index 0000000..e87a3a7 Binary files /dev/null and b/src/images/emoji/unicode/1f494.png differ diff --git a/src/images/emoji/unicode/1f495.png b/src/images/emoji/unicode/1f495.png new file mode 100644 index 0000000..c05b325 Binary files /dev/null and b/src/images/emoji/unicode/1f495.png differ diff --git a/src/images/emoji/unicode/1f496.png b/src/images/emoji/unicode/1f496.png new file mode 100644 index 0000000..9a74d17 Binary files /dev/null and b/src/images/emoji/unicode/1f496.png differ diff --git a/src/images/emoji/unicode/1f497.png b/src/images/emoji/unicode/1f497.png new file mode 100644 index 0000000..49a2688 Binary files /dev/null and b/src/images/emoji/unicode/1f497.png differ diff --git a/src/images/emoji/unicode/1f498.png b/src/images/emoji/unicode/1f498.png new file mode 100644 index 0000000..3816fa3 Binary files /dev/null and b/src/images/emoji/unicode/1f498.png differ diff --git a/src/images/emoji/unicode/1f499.png b/src/images/emoji/unicode/1f499.png new file mode 100644 index 0000000..963558c Binary files /dev/null and b/src/images/emoji/unicode/1f499.png differ diff --git a/src/images/emoji/unicode/1f49a.png b/src/images/emoji/unicode/1f49a.png new file mode 100644 index 0000000..81889b5 Binary files /dev/null and b/src/images/emoji/unicode/1f49a.png differ diff --git a/src/images/emoji/unicode/1f49b.png b/src/images/emoji/unicode/1f49b.png new file mode 100644 index 0000000..ccbdd17 Binary files /dev/null and b/src/images/emoji/unicode/1f49b.png differ diff --git a/src/images/emoji/unicode/1f49c.png b/src/images/emoji/unicode/1f49c.png new file mode 100644 index 0000000..2471446 Binary files /dev/null and b/src/images/emoji/unicode/1f49c.png differ diff --git a/src/images/emoji/unicode/1f49d.png b/src/images/emoji/unicode/1f49d.png new file mode 100644 index 0000000..d10193d Binary files /dev/null and b/src/images/emoji/unicode/1f49d.png differ diff --git a/src/images/emoji/unicode/1f49e.png b/src/images/emoji/unicode/1f49e.png new file mode 100644 index 0000000..fc121d0 Binary files /dev/null and b/src/images/emoji/unicode/1f49e.png differ diff --git a/src/images/emoji/unicode/1f49f.png b/src/images/emoji/unicode/1f49f.png new file mode 100644 index 0000000..e0e21fc Binary files /dev/null and b/src/images/emoji/unicode/1f49f.png differ diff --git a/src/images/emoji/unicode/1f4a0.png b/src/images/emoji/unicode/1f4a0.png new file mode 100644 index 0000000..837b3b2 Binary files /dev/null and b/src/images/emoji/unicode/1f4a0.png differ diff --git a/src/images/emoji/unicode/1f4a1.png b/src/images/emoji/unicode/1f4a1.png new file mode 100644 index 0000000..680b50b Binary files /dev/null and b/src/images/emoji/unicode/1f4a1.png differ diff --git a/src/images/emoji/unicode/1f4a2.png b/src/images/emoji/unicode/1f4a2.png new file mode 100644 index 0000000..d150fec Binary files /dev/null and b/src/images/emoji/unicode/1f4a2.png differ diff --git a/src/images/emoji/unicode/1f4a3.png b/src/images/emoji/unicode/1f4a3.png new file mode 100644 index 0000000..b116393 Binary files /dev/null and b/src/images/emoji/unicode/1f4a3.png differ diff --git a/src/images/emoji/unicode/1f4a4.png b/src/images/emoji/unicode/1f4a4.png new file mode 100644 index 0000000..c5bce27 Binary files /dev/null and b/src/images/emoji/unicode/1f4a4.png differ diff --git a/src/images/emoji/unicode/1f4a5.png b/src/images/emoji/unicode/1f4a5.png new file mode 100644 index 0000000..10e63fd Binary files /dev/null and b/src/images/emoji/unicode/1f4a5.png differ diff --git a/src/images/emoji/unicode/1f4a6.png b/src/images/emoji/unicode/1f4a6.png new file mode 100644 index 0000000..192f378 Binary files /dev/null and b/src/images/emoji/unicode/1f4a6.png differ diff --git a/src/images/emoji/unicode/1f4a7.png b/src/images/emoji/unicode/1f4a7.png new file mode 100644 index 0000000..8a3db88 Binary files /dev/null and b/src/images/emoji/unicode/1f4a7.png differ diff --git a/src/images/emoji/unicode/1f4a8.png b/src/images/emoji/unicode/1f4a8.png new file mode 100644 index 0000000..a2660a4 Binary files /dev/null and b/src/images/emoji/unicode/1f4a8.png differ diff --git a/src/images/emoji/unicode/1f4a9.png b/src/images/emoji/unicode/1f4a9.png new file mode 100644 index 0000000..9d5c759 Binary files /dev/null and b/src/images/emoji/unicode/1f4a9.png differ diff --git a/src/images/emoji/unicode/1f4aa-1f3fb.png b/src/images/emoji/unicode/1f4aa-1f3fb.png new file mode 100644 index 0000000..f712534 Binary files /dev/null and b/src/images/emoji/unicode/1f4aa-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f4aa-1f3fc.png b/src/images/emoji/unicode/1f4aa-1f3fc.png new file mode 100644 index 0000000..43ecc67 Binary files /dev/null and b/src/images/emoji/unicode/1f4aa-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f4aa-1f3fd.png b/src/images/emoji/unicode/1f4aa-1f3fd.png new file mode 100644 index 0000000..73ecf6a Binary files /dev/null and b/src/images/emoji/unicode/1f4aa-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f4aa-1f3fe.png b/src/images/emoji/unicode/1f4aa-1f3fe.png new file mode 100644 index 0000000..4c5a060 Binary files /dev/null and b/src/images/emoji/unicode/1f4aa-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f4aa-1f3ff.png b/src/images/emoji/unicode/1f4aa-1f3ff.png new file mode 100644 index 0000000..0a57dde Binary files /dev/null and b/src/images/emoji/unicode/1f4aa-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f4aa.png b/src/images/emoji/unicode/1f4aa.png new file mode 100644 index 0000000..ba7cd5b Binary files /dev/null and b/src/images/emoji/unicode/1f4aa.png differ diff --git a/src/images/emoji/unicode/1f4ab.png b/src/images/emoji/unicode/1f4ab.png new file mode 100644 index 0000000..371b8da Binary files /dev/null and b/src/images/emoji/unicode/1f4ab.png differ diff --git a/src/images/emoji/unicode/1f4ac.png b/src/images/emoji/unicode/1f4ac.png new file mode 100644 index 0000000..ee54733 Binary files /dev/null and b/src/images/emoji/unicode/1f4ac.png differ diff --git a/src/images/emoji/unicode/1f4ad.png b/src/images/emoji/unicode/1f4ad.png new file mode 100644 index 0000000..e8fb5c7 Binary files /dev/null and b/src/images/emoji/unicode/1f4ad.png differ diff --git a/src/images/emoji/unicode/1f4ae.png b/src/images/emoji/unicode/1f4ae.png new file mode 100644 index 0000000..795ef5f Binary files /dev/null and b/src/images/emoji/unicode/1f4ae.png differ diff --git a/src/images/emoji/unicode/1f4af.png b/src/images/emoji/unicode/1f4af.png new file mode 100644 index 0000000..b1e7cbb Binary files /dev/null and b/src/images/emoji/unicode/1f4af.png differ diff --git a/src/images/emoji/unicode/1f4b0.png b/src/images/emoji/unicode/1f4b0.png new file mode 100644 index 0000000..d0f094b Binary files /dev/null and b/src/images/emoji/unicode/1f4b0.png differ diff --git a/src/images/emoji/unicode/1f4b1.png b/src/images/emoji/unicode/1f4b1.png new file mode 100644 index 0000000..0f92eee Binary files /dev/null and b/src/images/emoji/unicode/1f4b1.png differ diff --git a/src/images/emoji/unicode/1f4b2.png b/src/images/emoji/unicode/1f4b2.png new file mode 100644 index 0000000..7f50bfa Binary files /dev/null and b/src/images/emoji/unicode/1f4b2.png differ diff --git a/src/images/emoji/unicode/1f4b3.png b/src/images/emoji/unicode/1f4b3.png new file mode 100644 index 0000000..ed15d41 Binary files /dev/null and b/src/images/emoji/unicode/1f4b3.png differ diff --git a/src/images/emoji/unicode/1f4b4.png b/src/images/emoji/unicode/1f4b4.png new file mode 100644 index 0000000..b68e1dc Binary files /dev/null and b/src/images/emoji/unicode/1f4b4.png differ diff --git a/src/images/emoji/unicode/1f4b5.png b/src/images/emoji/unicode/1f4b5.png new file mode 100644 index 0000000..83feea3 Binary files /dev/null and b/src/images/emoji/unicode/1f4b5.png differ diff --git a/src/images/emoji/unicode/1f4b6.png b/src/images/emoji/unicode/1f4b6.png new file mode 100644 index 0000000..4d6201b Binary files /dev/null and b/src/images/emoji/unicode/1f4b6.png differ diff --git a/src/images/emoji/unicode/1f4b7.png b/src/images/emoji/unicode/1f4b7.png new file mode 100644 index 0000000..1145363 Binary files /dev/null and b/src/images/emoji/unicode/1f4b7.png differ diff --git a/src/images/emoji/unicode/1f4b8.png b/src/images/emoji/unicode/1f4b8.png new file mode 100644 index 0000000..77e441f Binary files /dev/null and b/src/images/emoji/unicode/1f4b8.png differ diff --git a/src/images/emoji/unicode/1f4b9.png b/src/images/emoji/unicode/1f4b9.png new file mode 100644 index 0000000..a4f2321 Binary files /dev/null and b/src/images/emoji/unicode/1f4b9.png differ diff --git a/src/images/emoji/unicode/1f4ba.png b/src/images/emoji/unicode/1f4ba.png new file mode 100644 index 0000000..df237bc Binary files /dev/null and b/src/images/emoji/unicode/1f4ba.png differ diff --git a/src/images/emoji/unicode/1f4bb.png b/src/images/emoji/unicode/1f4bb.png new file mode 100644 index 0000000..eb90e65 Binary files /dev/null and b/src/images/emoji/unicode/1f4bb.png differ diff --git a/src/images/emoji/unicode/1f4bc.png b/src/images/emoji/unicode/1f4bc.png new file mode 100644 index 0000000..0e911ca Binary files /dev/null and b/src/images/emoji/unicode/1f4bc.png differ diff --git a/src/images/emoji/unicode/1f4bd.png b/src/images/emoji/unicode/1f4bd.png new file mode 100644 index 0000000..76441b2 Binary files /dev/null and b/src/images/emoji/unicode/1f4bd.png differ diff --git a/src/images/emoji/unicode/1f4be.png b/src/images/emoji/unicode/1f4be.png new file mode 100644 index 0000000..a257b9e Binary files /dev/null and b/src/images/emoji/unicode/1f4be.png differ diff --git a/src/images/emoji/unicode/1f4bf.png b/src/images/emoji/unicode/1f4bf.png new file mode 100644 index 0000000..87e74a0 Binary files /dev/null and b/src/images/emoji/unicode/1f4bf.png differ diff --git a/src/images/emoji/unicode/1f4c0.png b/src/images/emoji/unicode/1f4c0.png new file mode 100644 index 0000000..13dffae Binary files /dev/null and b/src/images/emoji/unicode/1f4c0.png differ diff --git a/src/images/emoji/unicode/1f4c1.png b/src/images/emoji/unicode/1f4c1.png new file mode 100644 index 0000000..763a6fb Binary files /dev/null and b/src/images/emoji/unicode/1f4c1.png differ diff --git a/src/images/emoji/unicode/1f4c2.png b/src/images/emoji/unicode/1f4c2.png new file mode 100644 index 0000000..3de6547 Binary files /dev/null and b/src/images/emoji/unicode/1f4c2.png differ diff --git a/src/images/emoji/unicode/1f4c3.png b/src/images/emoji/unicode/1f4c3.png new file mode 100644 index 0000000..51bb0ec Binary files /dev/null and b/src/images/emoji/unicode/1f4c3.png differ diff --git a/src/images/emoji/unicode/1f4c4.png b/src/images/emoji/unicode/1f4c4.png new file mode 100644 index 0000000..a891ca3 Binary files /dev/null and b/src/images/emoji/unicode/1f4c4.png differ diff --git a/src/images/emoji/unicode/1f4c5.png b/src/images/emoji/unicode/1f4c5.png new file mode 100644 index 0000000..723bb0e Binary files /dev/null and b/src/images/emoji/unicode/1f4c5.png differ diff --git a/src/images/emoji/unicode/1f4c6.png b/src/images/emoji/unicode/1f4c6.png new file mode 100644 index 0000000..77546fb Binary files /dev/null and b/src/images/emoji/unicode/1f4c6.png differ diff --git a/src/images/emoji/unicode/1f4c7.png b/src/images/emoji/unicode/1f4c7.png new file mode 100644 index 0000000..8c66ab3 Binary files /dev/null and b/src/images/emoji/unicode/1f4c7.png differ diff --git a/src/images/emoji/unicode/1f4c8.png b/src/images/emoji/unicode/1f4c8.png new file mode 100644 index 0000000..3de27c9 Binary files /dev/null and b/src/images/emoji/unicode/1f4c8.png differ diff --git a/src/images/emoji/unicode/1f4c9.png b/src/images/emoji/unicode/1f4c9.png new file mode 100644 index 0000000..c034de0 Binary files /dev/null and b/src/images/emoji/unicode/1f4c9.png differ diff --git a/src/images/emoji/unicode/1f4ca.png b/src/images/emoji/unicode/1f4ca.png new file mode 100644 index 0000000..925b549 Binary files /dev/null and b/src/images/emoji/unicode/1f4ca.png differ diff --git a/src/images/emoji/unicode/1f4cb.png b/src/images/emoji/unicode/1f4cb.png new file mode 100644 index 0000000..0611458 Binary files /dev/null and b/src/images/emoji/unicode/1f4cb.png differ diff --git a/src/images/emoji/unicode/1f4cc.png b/src/images/emoji/unicode/1f4cc.png new file mode 100644 index 0000000..26fbd68 Binary files /dev/null and b/src/images/emoji/unicode/1f4cc.png differ diff --git a/src/images/emoji/unicode/1f4cd.png b/src/images/emoji/unicode/1f4cd.png new file mode 100644 index 0000000..9255ae4 Binary files /dev/null and b/src/images/emoji/unicode/1f4cd.png differ diff --git a/src/images/emoji/unicode/1f4ce.png b/src/images/emoji/unicode/1f4ce.png new file mode 100644 index 0000000..6cb96eb Binary files /dev/null and b/src/images/emoji/unicode/1f4ce.png differ diff --git a/src/images/emoji/unicode/1f4cf.png b/src/images/emoji/unicode/1f4cf.png new file mode 100644 index 0000000..5780e85 Binary files /dev/null and b/src/images/emoji/unicode/1f4cf.png differ diff --git a/src/images/emoji/unicode/1f4d0.png b/src/images/emoji/unicode/1f4d0.png new file mode 100644 index 0000000..c49d294 Binary files /dev/null and b/src/images/emoji/unicode/1f4d0.png differ diff --git a/src/images/emoji/unicode/1f4d1.png b/src/images/emoji/unicode/1f4d1.png new file mode 100644 index 0000000..653dadb Binary files /dev/null and b/src/images/emoji/unicode/1f4d1.png differ diff --git a/src/images/emoji/unicode/1f4d2.png b/src/images/emoji/unicode/1f4d2.png new file mode 100644 index 0000000..0a4d44d Binary files /dev/null and b/src/images/emoji/unicode/1f4d2.png differ diff --git a/src/images/emoji/unicode/1f4d3.png b/src/images/emoji/unicode/1f4d3.png new file mode 100644 index 0000000..456155d Binary files /dev/null and b/src/images/emoji/unicode/1f4d3.png differ diff --git a/src/images/emoji/unicode/1f4d4.png b/src/images/emoji/unicode/1f4d4.png new file mode 100644 index 0000000..1c4602b Binary files /dev/null and b/src/images/emoji/unicode/1f4d4.png differ diff --git a/src/images/emoji/unicode/1f4d5.png b/src/images/emoji/unicode/1f4d5.png new file mode 100644 index 0000000..a19abb3 Binary files /dev/null and b/src/images/emoji/unicode/1f4d5.png differ diff --git a/src/images/emoji/unicode/1f4d6.png b/src/images/emoji/unicode/1f4d6.png new file mode 100644 index 0000000..56a4a8c Binary files /dev/null and b/src/images/emoji/unicode/1f4d6.png differ diff --git a/src/images/emoji/unicode/1f4d7.png b/src/images/emoji/unicode/1f4d7.png new file mode 100644 index 0000000..d3bcc1c Binary files /dev/null and b/src/images/emoji/unicode/1f4d7.png differ diff --git a/src/images/emoji/unicode/1f4d8.png b/src/images/emoji/unicode/1f4d8.png new file mode 100644 index 0000000..da34096 Binary files /dev/null and b/src/images/emoji/unicode/1f4d8.png differ diff --git a/src/images/emoji/unicode/1f4d9.png b/src/images/emoji/unicode/1f4d9.png new file mode 100644 index 0000000..4c20ec6 Binary files /dev/null and b/src/images/emoji/unicode/1f4d9.png differ diff --git a/src/images/emoji/unicode/1f4da.png b/src/images/emoji/unicode/1f4da.png new file mode 100644 index 0000000..31410e6 Binary files /dev/null and b/src/images/emoji/unicode/1f4da.png differ diff --git a/src/images/emoji/unicode/1f4db.png b/src/images/emoji/unicode/1f4db.png new file mode 100644 index 0000000..1b68b6f Binary files /dev/null and b/src/images/emoji/unicode/1f4db.png differ diff --git a/src/images/emoji/unicode/1f4dc.png b/src/images/emoji/unicode/1f4dc.png new file mode 100644 index 0000000..fc499ba Binary files /dev/null and b/src/images/emoji/unicode/1f4dc.png differ diff --git a/src/images/emoji/unicode/1f4dd.png b/src/images/emoji/unicode/1f4dd.png new file mode 100644 index 0000000..6872827 Binary files /dev/null and b/src/images/emoji/unicode/1f4dd.png differ diff --git a/src/images/emoji/unicode/1f4de.png b/src/images/emoji/unicode/1f4de.png new file mode 100644 index 0000000..f5ad087 Binary files /dev/null and b/src/images/emoji/unicode/1f4de.png differ diff --git a/src/images/emoji/unicode/1f4df.png b/src/images/emoji/unicode/1f4df.png new file mode 100644 index 0000000..d024637 Binary files /dev/null and b/src/images/emoji/unicode/1f4df.png differ diff --git a/src/images/emoji/unicode/1f4e0.png b/src/images/emoji/unicode/1f4e0.png new file mode 100644 index 0000000..09b3e88 Binary files /dev/null and b/src/images/emoji/unicode/1f4e0.png differ diff --git a/src/images/emoji/unicode/1f4e1.png b/src/images/emoji/unicode/1f4e1.png new file mode 100644 index 0000000..d7f0d19 Binary files /dev/null and b/src/images/emoji/unicode/1f4e1.png differ diff --git a/src/images/emoji/unicode/1f4e2.png b/src/images/emoji/unicode/1f4e2.png new file mode 100644 index 0000000..0de5cb5 Binary files /dev/null and b/src/images/emoji/unicode/1f4e2.png differ diff --git a/src/images/emoji/unicode/1f4e3.png b/src/images/emoji/unicode/1f4e3.png new file mode 100644 index 0000000..7cec35b Binary files /dev/null and b/src/images/emoji/unicode/1f4e3.png differ diff --git a/src/images/emoji/unicode/1f4e4.png b/src/images/emoji/unicode/1f4e4.png new file mode 100644 index 0000000..68daa47 Binary files /dev/null and b/src/images/emoji/unicode/1f4e4.png differ diff --git a/src/images/emoji/unicode/1f4e5.png b/src/images/emoji/unicode/1f4e5.png new file mode 100644 index 0000000..78dab8b Binary files /dev/null and b/src/images/emoji/unicode/1f4e5.png differ diff --git a/src/images/emoji/unicode/1f4e6.png b/src/images/emoji/unicode/1f4e6.png new file mode 100644 index 0000000..d2c22bb Binary files /dev/null and b/src/images/emoji/unicode/1f4e6.png differ diff --git a/src/images/emoji/unicode/1f4e7.png b/src/images/emoji/unicode/1f4e7.png new file mode 100644 index 0000000..f19e94e Binary files /dev/null and b/src/images/emoji/unicode/1f4e7.png differ diff --git a/src/images/emoji/unicode/1f4e8.png b/src/images/emoji/unicode/1f4e8.png new file mode 100644 index 0000000..0aee71b Binary files /dev/null and b/src/images/emoji/unicode/1f4e8.png differ diff --git a/src/images/emoji/unicode/1f4e9.png b/src/images/emoji/unicode/1f4e9.png new file mode 100644 index 0000000..0f7aaac Binary files /dev/null and b/src/images/emoji/unicode/1f4e9.png differ diff --git a/src/images/emoji/unicode/1f4ea.png b/src/images/emoji/unicode/1f4ea.png new file mode 100644 index 0000000..cddd3b2 Binary files /dev/null and b/src/images/emoji/unicode/1f4ea.png differ diff --git a/src/images/emoji/unicode/1f4eb.png b/src/images/emoji/unicode/1f4eb.png new file mode 100644 index 0000000..48f587c Binary files /dev/null and b/src/images/emoji/unicode/1f4eb.png differ diff --git a/src/images/emoji/unicode/1f4ec.png b/src/images/emoji/unicode/1f4ec.png new file mode 100644 index 0000000..e2ed93d Binary files /dev/null and b/src/images/emoji/unicode/1f4ec.png differ diff --git a/src/images/emoji/unicode/1f4ed.png b/src/images/emoji/unicode/1f4ed.png new file mode 100644 index 0000000..06ae596 Binary files /dev/null and b/src/images/emoji/unicode/1f4ed.png differ diff --git a/src/images/emoji/unicode/1f4ee.png b/src/images/emoji/unicode/1f4ee.png new file mode 100644 index 0000000..1e86d9c Binary files /dev/null and b/src/images/emoji/unicode/1f4ee.png differ diff --git a/src/images/emoji/unicode/1f4ef.png b/src/images/emoji/unicode/1f4ef.png new file mode 100644 index 0000000..e5e7b86 Binary files /dev/null and b/src/images/emoji/unicode/1f4ef.png differ diff --git a/src/images/emoji/unicode/1f4f0.png b/src/images/emoji/unicode/1f4f0.png new file mode 100644 index 0000000..f6269f3 Binary files /dev/null and b/src/images/emoji/unicode/1f4f0.png differ diff --git a/src/images/emoji/unicode/1f4f1.png b/src/images/emoji/unicode/1f4f1.png new file mode 100644 index 0000000..2d33816 Binary files /dev/null and b/src/images/emoji/unicode/1f4f1.png differ diff --git a/src/images/emoji/unicode/1f4f2.png b/src/images/emoji/unicode/1f4f2.png new file mode 100644 index 0000000..6528363 Binary files /dev/null and b/src/images/emoji/unicode/1f4f2.png differ diff --git a/src/images/emoji/unicode/1f4f3.png b/src/images/emoji/unicode/1f4f3.png new file mode 100644 index 0000000..a3c86b1 Binary files /dev/null and b/src/images/emoji/unicode/1f4f3.png differ diff --git a/src/images/emoji/unicode/1f4f4.png b/src/images/emoji/unicode/1f4f4.png new file mode 100644 index 0000000..cb5d77e Binary files /dev/null and b/src/images/emoji/unicode/1f4f4.png differ diff --git a/src/images/emoji/unicode/1f4f5.png b/src/images/emoji/unicode/1f4f5.png new file mode 100644 index 0000000..5f1a31f Binary files /dev/null and b/src/images/emoji/unicode/1f4f5.png differ diff --git a/src/images/emoji/unicode/1f4f6.png b/src/images/emoji/unicode/1f4f6.png new file mode 100644 index 0000000..40dcfb2 Binary files /dev/null and b/src/images/emoji/unicode/1f4f6.png differ diff --git a/src/images/emoji/unicode/1f4f7.png b/src/images/emoji/unicode/1f4f7.png new file mode 100644 index 0000000..6a11bb9 Binary files /dev/null and b/src/images/emoji/unicode/1f4f7.png differ diff --git a/src/images/emoji/unicode/1f4f8.png b/src/images/emoji/unicode/1f4f8.png new file mode 100644 index 0000000..83b4682 Binary files /dev/null and b/src/images/emoji/unicode/1f4f8.png differ diff --git a/src/images/emoji/unicode/1f4f9.png b/src/images/emoji/unicode/1f4f9.png new file mode 100644 index 0000000..10b6c9b Binary files /dev/null and b/src/images/emoji/unicode/1f4f9.png differ diff --git a/src/images/emoji/unicode/1f4fa.png b/src/images/emoji/unicode/1f4fa.png new file mode 100644 index 0000000..b518c12 Binary files /dev/null and b/src/images/emoji/unicode/1f4fa.png differ diff --git a/src/images/emoji/unicode/1f4fb.png b/src/images/emoji/unicode/1f4fb.png new file mode 100644 index 0000000..ca24271 Binary files /dev/null and b/src/images/emoji/unicode/1f4fb.png differ diff --git a/src/images/emoji/unicode/1f4fc.png b/src/images/emoji/unicode/1f4fc.png new file mode 100644 index 0000000..4a9873d Binary files /dev/null and b/src/images/emoji/unicode/1f4fc.png differ diff --git a/src/images/emoji/unicode/1f4fd.png b/src/images/emoji/unicode/1f4fd.png new file mode 100644 index 0000000..87452aa Binary files /dev/null and b/src/images/emoji/unicode/1f4fd.png differ diff --git a/src/images/emoji/unicode/1f4ff.png b/src/images/emoji/unicode/1f4ff.png new file mode 100644 index 0000000..16ebde8 Binary files /dev/null and b/src/images/emoji/unicode/1f4ff.png differ diff --git a/src/images/emoji/unicode/1f500.png b/src/images/emoji/unicode/1f500.png new file mode 100644 index 0000000..50c4de3 Binary files /dev/null and b/src/images/emoji/unicode/1f500.png differ diff --git a/src/images/emoji/unicode/1f501.png b/src/images/emoji/unicode/1f501.png new file mode 100644 index 0000000..dbd1c31 Binary files /dev/null and b/src/images/emoji/unicode/1f501.png differ diff --git a/src/images/emoji/unicode/1f502.png b/src/images/emoji/unicode/1f502.png new file mode 100644 index 0000000..28aee78 Binary files /dev/null and b/src/images/emoji/unicode/1f502.png differ diff --git a/src/images/emoji/unicode/1f503.png b/src/images/emoji/unicode/1f503.png new file mode 100644 index 0000000..8733e4b Binary files /dev/null and b/src/images/emoji/unicode/1f503.png differ diff --git a/src/images/emoji/unicode/1f504.png b/src/images/emoji/unicode/1f504.png new file mode 100644 index 0000000..56fbfd3 Binary files /dev/null and b/src/images/emoji/unicode/1f504.png differ diff --git a/src/images/emoji/unicode/1f505.png b/src/images/emoji/unicode/1f505.png new file mode 100644 index 0000000..d09c863 Binary files /dev/null and b/src/images/emoji/unicode/1f505.png differ diff --git a/src/images/emoji/unicode/1f506.png b/src/images/emoji/unicode/1f506.png new file mode 100644 index 0000000..857fec5 Binary files /dev/null and b/src/images/emoji/unicode/1f506.png differ diff --git a/src/images/emoji/unicode/1f507.png b/src/images/emoji/unicode/1f507.png new file mode 100644 index 0000000..fab2ce9 Binary files /dev/null and b/src/images/emoji/unicode/1f507.png differ diff --git a/src/images/emoji/unicode/1f508.png b/src/images/emoji/unicode/1f508.png new file mode 100644 index 0000000..56c88fb Binary files /dev/null and b/src/images/emoji/unicode/1f508.png differ diff --git a/src/images/emoji/unicode/1f509.png b/src/images/emoji/unicode/1f509.png new file mode 100644 index 0000000..f414f10 Binary files /dev/null and b/src/images/emoji/unicode/1f509.png differ diff --git a/src/images/emoji/unicode/1f50a.png b/src/images/emoji/unicode/1f50a.png new file mode 100644 index 0000000..40f2bf2 Binary files /dev/null and b/src/images/emoji/unicode/1f50a.png differ diff --git a/src/images/emoji/unicode/1f50b.png b/src/images/emoji/unicode/1f50b.png new file mode 100644 index 0000000..a1c4cf2 Binary files /dev/null and b/src/images/emoji/unicode/1f50b.png differ diff --git a/src/images/emoji/unicode/1f50c.png b/src/images/emoji/unicode/1f50c.png new file mode 100644 index 0000000..6afd845 Binary files /dev/null and b/src/images/emoji/unicode/1f50c.png differ diff --git a/src/images/emoji/unicode/1f50d.png b/src/images/emoji/unicode/1f50d.png new file mode 100644 index 0000000..72a18b3 Binary files /dev/null and b/src/images/emoji/unicode/1f50d.png differ diff --git a/src/images/emoji/unicode/1f50e.png b/src/images/emoji/unicode/1f50e.png new file mode 100644 index 0000000..4262742 Binary files /dev/null and b/src/images/emoji/unicode/1f50e.png differ diff --git a/src/images/emoji/unicode/1f50f.png b/src/images/emoji/unicode/1f50f.png new file mode 100644 index 0000000..8c94b3f Binary files /dev/null and b/src/images/emoji/unicode/1f50f.png differ diff --git a/src/images/emoji/unicode/1f510.png b/src/images/emoji/unicode/1f510.png new file mode 100644 index 0000000..4e4b67a Binary files /dev/null and b/src/images/emoji/unicode/1f510.png differ diff --git a/src/images/emoji/unicode/1f511.png b/src/images/emoji/unicode/1f511.png new file mode 100644 index 0000000..13601a4 Binary files /dev/null and b/src/images/emoji/unicode/1f511.png differ diff --git a/src/images/emoji/unicode/1f512.png b/src/images/emoji/unicode/1f512.png new file mode 100644 index 0000000..5bf6e18 Binary files /dev/null and b/src/images/emoji/unicode/1f512.png differ diff --git a/src/images/emoji/unicode/1f513.png b/src/images/emoji/unicode/1f513.png new file mode 100644 index 0000000..ecc816d Binary files /dev/null and b/src/images/emoji/unicode/1f513.png differ diff --git a/src/images/emoji/unicode/1f514.png b/src/images/emoji/unicode/1f514.png new file mode 100644 index 0000000..1ef1a15 Binary files /dev/null and b/src/images/emoji/unicode/1f514.png differ diff --git a/src/images/emoji/unicode/1f515.png b/src/images/emoji/unicode/1f515.png new file mode 100644 index 0000000..9f688c5 Binary files /dev/null and b/src/images/emoji/unicode/1f515.png differ diff --git a/src/images/emoji/unicode/1f516.png b/src/images/emoji/unicode/1f516.png new file mode 100644 index 0000000..298a433 Binary files /dev/null and b/src/images/emoji/unicode/1f516.png differ diff --git a/src/images/emoji/unicode/1f517.png b/src/images/emoji/unicode/1f517.png new file mode 100644 index 0000000..42eb8d9 Binary files /dev/null and b/src/images/emoji/unicode/1f517.png differ diff --git a/src/images/emoji/unicode/1f518.png b/src/images/emoji/unicode/1f518.png new file mode 100644 index 0000000..b7d253b Binary files /dev/null and b/src/images/emoji/unicode/1f518.png differ diff --git a/src/images/emoji/unicode/1f519.png b/src/images/emoji/unicode/1f519.png new file mode 100644 index 0000000..86445dd Binary files /dev/null and b/src/images/emoji/unicode/1f519.png differ diff --git a/src/images/emoji/unicode/1f51a.png b/src/images/emoji/unicode/1f51a.png new file mode 100644 index 0000000..80a2663 Binary files /dev/null and b/src/images/emoji/unicode/1f51a.png differ diff --git a/src/images/emoji/unicode/1f51b.png b/src/images/emoji/unicode/1f51b.png new file mode 100644 index 0000000..33971e8 Binary files /dev/null and b/src/images/emoji/unicode/1f51b.png differ diff --git a/src/images/emoji/unicode/1f51c.png b/src/images/emoji/unicode/1f51c.png new file mode 100644 index 0000000..637cb99 Binary files /dev/null and b/src/images/emoji/unicode/1f51c.png differ diff --git a/src/images/emoji/unicode/1f51d.png b/src/images/emoji/unicode/1f51d.png new file mode 100644 index 0000000..f9533b6 Binary files /dev/null and b/src/images/emoji/unicode/1f51d.png differ diff --git a/src/images/emoji/unicode/1f51e.png b/src/images/emoji/unicode/1f51e.png new file mode 100644 index 0000000..db6334e Binary files /dev/null and b/src/images/emoji/unicode/1f51e.png differ diff --git a/src/images/emoji/unicode/1f51f.png b/src/images/emoji/unicode/1f51f.png new file mode 100644 index 0000000..ea9109e Binary files /dev/null and b/src/images/emoji/unicode/1f51f.png differ diff --git a/src/images/emoji/unicode/1f520.png b/src/images/emoji/unicode/1f520.png new file mode 100644 index 0000000..c9f277d Binary files /dev/null and b/src/images/emoji/unicode/1f520.png differ diff --git a/src/images/emoji/unicode/1f521.png b/src/images/emoji/unicode/1f521.png new file mode 100644 index 0000000..013595c Binary files /dev/null and b/src/images/emoji/unicode/1f521.png differ diff --git a/src/images/emoji/unicode/1f522.png b/src/images/emoji/unicode/1f522.png new file mode 100644 index 0000000..83febf7 Binary files /dev/null and b/src/images/emoji/unicode/1f522.png differ diff --git a/src/images/emoji/unicode/1f523.png b/src/images/emoji/unicode/1f523.png new file mode 100644 index 0000000..3738eeb Binary files /dev/null and b/src/images/emoji/unicode/1f523.png differ diff --git a/src/images/emoji/unicode/1f524.png b/src/images/emoji/unicode/1f524.png new file mode 100644 index 0000000..3e2f8e3 Binary files /dev/null and b/src/images/emoji/unicode/1f524.png differ diff --git a/src/images/emoji/unicode/1f525.png b/src/images/emoji/unicode/1f525.png new file mode 100644 index 0000000..826a714 Binary files /dev/null and b/src/images/emoji/unicode/1f525.png differ diff --git a/src/images/emoji/unicode/1f526.png b/src/images/emoji/unicode/1f526.png new file mode 100644 index 0000000..61f4b53 Binary files /dev/null and b/src/images/emoji/unicode/1f526.png differ diff --git a/src/images/emoji/unicode/1f527.png b/src/images/emoji/unicode/1f527.png new file mode 100644 index 0000000..b6293ca Binary files /dev/null and b/src/images/emoji/unicode/1f527.png differ diff --git a/src/images/emoji/unicode/1f528.png b/src/images/emoji/unicode/1f528.png new file mode 100644 index 0000000..5d33a55 Binary files /dev/null and b/src/images/emoji/unicode/1f528.png differ diff --git a/src/images/emoji/unicode/1f529.png b/src/images/emoji/unicode/1f529.png new file mode 100644 index 0000000..116c588 Binary files /dev/null and b/src/images/emoji/unicode/1f529.png differ diff --git a/src/images/emoji/unicode/1f52a.png b/src/images/emoji/unicode/1f52a.png new file mode 100644 index 0000000..fb470f9 Binary files /dev/null and b/src/images/emoji/unicode/1f52a.png differ diff --git a/src/images/emoji/unicode/1f52b.png b/src/images/emoji/unicode/1f52b.png new file mode 100644 index 0000000..99012c2 Binary files /dev/null and b/src/images/emoji/unicode/1f52b.png differ diff --git a/src/images/emoji/unicode/1f52c.png b/src/images/emoji/unicode/1f52c.png new file mode 100644 index 0000000..f459ac3 Binary files /dev/null and b/src/images/emoji/unicode/1f52c.png differ diff --git a/src/images/emoji/unicode/1f52d.png b/src/images/emoji/unicode/1f52d.png new file mode 100644 index 0000000..ed921f1 Binary files /dev/null and b/src/images/emoji/unicode/1f52d.png differ diff --git a/src/images/emoji/unicode/1f52e.png b/src/images/emoji/unicode/1f52e.png new file mode 100644 index 0000000..52440b0 Binary files /dev/null and b/src/images/emoji/unicode/1f52e.png differ diff --git a/src/images/emoji/unicode/1f52f.png b/src/images/emoji/unicode/1f52f.png new file mode 100644 index 0000000..2631604 Binary files /dev/null and b/src/images/emoji/unicode/1f52f.png differ diff --git a/src/images/emoji/unicode/1f530.png b/src/images/emoji/unicode/1f530.png new file mode 100644 index 0000000..d125456 Binary files /dev/null and b/src/images/emoji/unicode/1f530.png differ diff --git a/src/images/emoji/unicode/1f531.png b/src/images/emoji/unicode/1f531.png new file mode 100644 index 0000000..4c8b0ff Binary files /dev/null and b/src/images/emoji/unicode/1f531.png differ diff --git a/src/images/emoji/unicode/1f532.png b/src/images/emoji/unicode/1f532.png new file mode 100644 index 0000000..243b945 Binary files /dev/null and b/src/images/emoji/unicode/1f532.png differ diff --git a/src/images/emoji/unicode/1f533.png b/src/images/emoji/unicode/1f533.png new file mode 100644 index 0000000..f2327ba Binary files /dev/null and b/src/images/emoji/unicode/1f533.png differ diff --git a/src/images/emoji/unicode/1f534.png b/src/images/emoji/unicode/1f534.png new file mode 100644 index 0000000..4bef930 Binary files /dev/null and b/src/images/emoji/unicode/1f534.png differ diff --git a/src/images/emoji/unicode/1f535.png b/src/images/emoji/unicode/1f535.png new file mode 100644 index 0000000..22467ac Binary files /dev/null and b/src/images/emoji/unicode/1f535.png differ diff --git a/src/images/emoji/unicode/1f536.png b/src/images/emoji/unicode/1f536.png new file mode 100644 index 0000000..69effe3 Binary files /dev/null and b/src/images/emoji/unicode/1f536.png differ diff --git a/src/images/emoji/unicode/1f537.png b/src/images/emoji/unicode/1f537.png new file mode 100644 index 0000000..af5b0c4 Binary files /dev/null and b/src/images/emoji/unicode/1f537.png differ diff --git a/src/images/emoji/unicode/1f538.png b/src/images/emoji/unicode/1f538.png new file mode 100644 index 0000000..ba58bcc Binary files /dev/null and b/src/images/emoji/unicode/1f538.png differ diff --git a/src/images/emoji/unicode/1f539.png b/src/images/emoji/unicode/1f539.png new file mode 100644 index 0000000..f6e21b5 Binary files /dev/null and b/src/images/emoji/unicode/1f539.png differ diff --git a/src/images/emoji/unicode/1f53a.png b/src/images/emoji/unicode/1f53a.png new file mode 100644 index 0000000..39e58ef Binary files /dev/null and b/src/images/emoji/unicode/1f53a.png differ diff --git a/src/images/emoji/unicode/1f53b.png b/src/images/emoji/unicode/1f53b.png new file mode 100644 index 0000000..9c0ac11 Binary files /dev/null and b/src/images/emoji/unicode/1f53b.png differ diff --git a/src/images/emoji/unicode/1f53c.png b/src/images/emoji/unicode/1f53c.png new file mode 100644 index 0000000..1aa5dd9 Binary files /dev/null and b/src/images/emoji/unicode/1f53c.png differ diff --git a/src/images/emoji/unicode/1f53d.png b/src/images/emoji/unicode/1f53d.png new file mode 100644 index 0000000..996939b Binary files /dev/null and b/src/images/emoji/unicode/1f53d.png differ diff --git a/src/images/emoji/unicode/1f549.png b/src/images/emoji/unicode/1f549.png new file mode 100644 index 0000000..78a24e7 Binary files /dev/null and b/src/images/emoji/unicode/1f549.png differ diff --git a/src/images/emoji/unicode/1f54a.png b/src/images/emoji/unicode/1f54a.png new file mode 100644 index 0000000..c5c9611 Binary files /dev/null and b/src/images/emoji/unicode/1f54a.png differ diff --git a/src/images/emoji/unicode/1f54b.png b/src/images/emoji/unicode/1f54b.png new file mode 100644 index 0000000..4cc753e Binary files /dev/null and b/src/images/emoji/unicode/1f54b.png differ diff --git a/src/images/emoji/unicode/1f54c.png b/src/images/emoji/unicode/1f54c.png new file mode 100644 index 0000000..4e3dd28 Binary files /dev/null and b/src/images/emoji/unicode/1f54c.png differ diff --git a/src/images/emoji/unicode/1f54d.png b/src/images/emoji/unicode/1f54d.png new file mode 100644 index 0000000..aee1c7a Binary files /dev/null and b/src/images/emoji/unicode/1f54d.png differ diff --git a/src/images/emoji/unicode/1f54e.png b/src/images/emoji/unicode/1f54e.png new file mode 100644 index 0000000..5371194 Binary files /dev/null and b/src/images/emoji/unicode/1f54e.png differ diff --git a/src/images/emoji/unicode/1f550.png b/src/images/emoji/unicode/1f550.png new file mode 100644 index 0000000..719bc5c Binary files /dev/null and b/src/images/emoji/unicode/1f550.png differ diff --git a/src/images/emoji/unicode/1f551.png b/src/images/emoji/unicode/1f551.png new file mode 100644 index 0000000..b410058 Binary files /dev/null and b/src/images/emoji/unicode/1f551.png differ diff --git a/src/images/emoji/unicode/1f552.png b/src/images/emoji/unicode/1f552.png new file mode 100644 index 0000000..a56ce9a Binary files /dev/null and b/src/images/emoji/unicode/1f552.png differ diff --git a/src/images/emoji/unicode/1f553.png b/src/images/emoji/unicode/1f553.png new file mode 100644 index 0000000..115225a Binary files /dev/null and b/src/images/emoji/unicode/1f553.png differ diff --git a/src/images/emoji/unicode/1f554.png b/src/images/emoji/unicode/1f554.png new file mode 100644 index 0000000..8d27d19 Binary files /dev/null and b/src/images/emoji/unicode/1f554.png differ diff --git a/src/images/emoji/unicode/1f555.png b/src/images/emoji/unicode/1f555.png new file mode 100644 index 0000000..fb98b5f Binary files /dev/null and b/src/images/emoji/unicode/1f555.png differ diff --git a/src/images/emoji/unicode/1f556.png b/src/images/emoji/unicode/1f556.png new file mode 100644 index 0000000..a824483 Binary files /dev/null and b/src/images/emoji/unicode/1f556.png differ diff --git a/src/images/emoji/unicode/1f557.png b/src/images/emoji/unicode/1f557.png new file mode 100644 index 0000000..052663a Binary files /dev/null and b/src/images/emoji/unicode/1f557.png differ diff --git a/src/images/emoji/unicode/1f558.png b/src/images/emoji/unicode/1f558.png new file mode 100644 index 0000000..89ae9ae Binary files /dev/null and b/src/images/emoji/unicode/1f558.png differ diff --git a/src/images/emoji/unicode/1f559.png b/src/images/emoji/unicode/1f559.png new file mode 100644 index 0000000..90ab527 Binary files /dev/null and b/src/images/emoji/unicode/1f559.png differ diff --git a/src/images/emoji/unicode/1f55a.png b/src/images/emoji/unicode/1f55a.png new file mode 100644 index 0000000..ac7968c Binary files /dev/null and b/src/images/emoji/unicode/1f55a.png differ diff --git a/src/images/emoji/unicode/1f55b.png b/src/images/emoji/unicode/1f55b.png new file mode 100644 index 0000000..bb090ce Binary files /dev/null and b/src/images/emoji/unicode/1f55b.png differ diff --git a/src/images/emoji/unicode/1f55c.png b/src/images/emoji/unicode/1f55c.png new file mode 100644 index 0000000..466b734 Binary files /dev/null and b/src/images/emoji/unicode/1f55c.png differ diff --git a/src/images/emoji/unicode/1f55d.png b/src/images/emoji/unicode/1f55d.png new file mode 100644 index 0000000..3d5f18c Binary files /dev/null and b/src/images/emoji/unicode/1f55d.png differ diff --git a/src/images/emoji/unicode/1f55e.png b/src/images/emoji/unicode/1f55e.png new file mode 100644 index 0000000..ee0799b Binary files /dev/null and b/src/images/emoji/unicode/1f55e.png differ diff --git a/src/images/emoji/unicode/1f55f.png b/src/images/emoji/unicode/1f55f.png new file mode 100644 index 0000000..6e5c747 Binary files /dev/null and b/src/images/emoji/unicode/1f55f.png differ diff --git a/src/images/emoji/unicode/1f560.png b/src/images/emoji/unicode/1f560.png new file mode 100644 index 0000000..0814ba4 Binary files /dev/null and b/src/images/emoji/unicode/1f560.png differ diff --git a/src/images/emoji/unicode/1f561.png b/src/images/emoji/unicode/1f561.png new file mode 100644 index 0000000..788bfe8 Binary files /dev/null and b/src/images/emoji/unicode/1f561.png differ diff --git a/src/images/emoji/unicode/1f562.png b/src/images/emoji/unicode/1f562.png new file mode 100644 index 0000000..3c34ec5 Binary files /dev/null and b/src/images/emoji/unicode/1f562.png differ diff --git a/src/images/emoji/unicode/1f563.png b/src/images/emoji/unicode/1f563.png new file mode 100644 index 0000000..faa2301 Binary files /dev/null and b/src/images/emoji/unicode/1f563.png differ diff --git a/src/images/emoji/unicode/1f564.png b/src/images/emoji/unicode/1f564.png new file mode 100644 index 0000000..342ddc1 Binary files /dev/null and b/src/images/emoji/unicode/1f564.png differ diff --git a/src/images/emoji/unicode/1f565.png b/src/images/emoji/unicode/1f565.png new file mode 100644 index 0000000..13a1cbd Binary files /dev/null and b/src/images/emoji/unicode/1f565.png differ diff --git a/src/images/emoji/unicode/1f566.png b/src/images/emoji/unicode/1f566.png new file mode 100644 index 0000000..7be126f Binary files /dev/null and b/src/images/emoji/unicode/1f566.png differ diff --git a/src/images/emoji/unicode/1f567.png b/src/images/emoji/unicode/1f567.png new file mode 100644 index 0000000..dc754b5 Binary files /dev/null and b/src/images/emoji/unicode/1f567.png differ diff --git a/src/images/emoji/unicode/1f56f.png b/src/images/emoji/unicode/1f56f.png new file mode 100644 index 0000000..526bf3c Binary files /dev/null and b/src/images/emoji/unicode/1f56f.png differ diff --git a/src/images/emoji/unicode/1f570.png b/src/images/emoji/unicode/1f570.png new file mode 100644 index 0000000..d0ec8b1 Binary files /dev/null and b/src/images/emoji/unicode/1f570.png differ diff --git a/src/images/emoji/unicode/1f573.png b/src/images/emoji/unicode/1f573.png new file mode 100644 index 0000000..12fef27 Binary files /dev/null and b/src/images/emoji/unicode/1f573.png differ diff --git a/src/images/emoji/unicode/1f574.png b/src/images/emoji/unicode/1f574.png new file mode 100644 index 0000000..639cb34 Binary files /dev/null and b/src/images/emoji/unicode/1f574.png differ diff --git a/src/images/emoji/unicode/1f575-1f3fb.png b/src/images/emoji/unicode/1f575-1f3fb.png new file mode 100644 index 0000000..0974095 Binary files /dev/null and b/src/images/emoji/unicode/1f575-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f575-1f3fc.png b/src/images/emoji/unicode/1f575-1f3fc.png new file mode 100644 index 0000000..59403ab Binary files /dev/null and b/src/images/emoji/unicode/1f575-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f575-1f3fd.png b/src/images/emoji/unicode/1f575-1f3fd.png new file mode 100644 index 0000000..faba857 Binary files /dev/null and b/src/images/emoji/unicode/1f575-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f575-1f3fe.png b/src/images/emoji/unicode/1f575-1f3fe.png new file mode 100644 index 0000000..f7d84d9 Binary files /dev/null and b/src/images/emoji/unicode/1f575-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f575-1f3ff.png b/src/images/emoji/unicode/1f575-1f3ff.png new file mode 100644 index 0000000..ff25562 Binary files /dev/null and b/src/images/emoji/unicode/1f575-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f575.png b/src/images/emoji/unicode/1f575.png new file mode 100644 index 0000000..71198e6 Binary files /dev/null and b/src/images/emoji/unicode/1f575.png differ diff --git a/src/images/emoji/unicode/1f576.png b/src/images/emoji/unicode/1f576.png new file mode 100644 index 0000000..babd845 Binary files /dev/null and b/src/images/emoji/unicode/1f576.png differ diff --git a/src/images/emoji/unicode/1f577.png b/src/images/emoji/unicode/1f577.png new file mode 100644 index 0000000..e8fabdc Binary files /dev/null and b/src/images/emoji/unicode/1f577.png differ diff --git a/src/images/emoji/unicode/1f578.png b/src/images/emoji/unicode/1f578.png new file mode 100644 index 0000000..b068ae7 Binary files /dev/null and b/src/images/emoji/unicode/1f578.png differ diff --git a/src/images/emoji/unicode/1f579.png b/src/images/emoji/unicode/1f579.png new file mode 100644 index 0000000..3d2e5b8 Binary files /dev/null and b/src/images/emoji/unicode/1f579.png differ diff --git a/src/images/emoji/unicode/1f587.png b/src/images/emoji/unicode/1f587.png new file mode 100644 index 0000000..4383485 Binary files /dev/null and b/src/images/emoji/unicode/1f587.png differ diff --git a/src/images/emoji/unicode/1f58a.png b/src/images/emoji/unicode/1f58a.png new file mode 100644 index 0000000..18e8295 Binary files /dev/null and b/src/images/emoji/unicode/1f58a.png differ diff --git a/src/images/emoji/unicode/1f58b.png b/src/images/emoji/unicode/1f58b.png new file mode 100644 index 0000000..0b11b69 Binary files /dev/null and b/src/images/emoji/unicode/1f58b.png differ diff --git a/src/images/emoji/unicode/1f58c.png b/src/images/emoji/unicode/1f58c.png new file mode 100644 index 0000000..b6c156c Binary files /dev/null and b/src/images/emoji/unicode/1f58c.png differ diff --git a/src/images/emoji/unicode/1f58d.png b/src/images/emoji/unicode/1f58d.png new file mode 100644 index 0000000..13a9669 Binary files /dev/null and b/src/images/emoji/unicode/1f58d.png differ diff --git a/src/images/emoji/unicode/1f590-1f3fb.png b/src/images/emoji/unicode/1f590-1f3fb.png new file mode 100644 index 0000000..bdafa72 Binary files /dev/null and b/src/images/emoji/unicode/1f590-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f590-1f3fc.png b/src/images/emoji/unicode/1f590-1f3fc.png new file mode 100644 index 0000000..b95e038 Binary files /dev/null and b/src/images/emoji/unicode/1f590-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f590-1f3fd.png b/src/images/emoji/unicode/1f590-1f3fd.png new file mode 100644 index 0000000..22b8072 Binary files /dev/null and b/src/images/emoji/unicode/1f590-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f590-1f3fe.png b/src/images/emoji/unicode/1f590-1f3fe.png new file mode 100644 index 0000000..9c64bd7 Binary files /dev/null and b/src/images/emoji/unicode/1f590-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f590-1f3ff.png b/src/images/emoji/unicode/1f590-1f3ff.png new file mode 100644 index 0000000..174907f Binary files /dev/null and b/src/images/emoji/unicode/1f590-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f590.png b/src/images/emoji/unicode/1f590.png new file mode 100644 index 0000000..904d6c3 Binary files /dev/null and b/src/images/emoji/unicode/1f590.png differ diff --git a/src/images/emoji/unicode/1f595-1f3fb.png b/src/images/emoji/unicode/1f595-1f3fb.png new file mode 100644 index 0000000..152596b Binary files /dev/null and b/src/images/emoji/unicode/1f595-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f595-1f3fc.png b/src/images/emoji/unicode/1f595-1f3fc.png new file mode 100644 index 0000000..58839c8 Binary files /dev/null and b/src/images/emoji/unicode/1f595-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f595-1f3fd.png b/src/images/emoji/unicode/1f595-1f3fd.png new file mode 100644 index 0000000..143f209 Binary files /dev/null and b/src/images/emoji/unicode/1f595-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f595-1f3fe.png b/src/images/emoji/unicode/1f595-1f3fe.png new file mode 100644 index 0000000..3c24c9c Binary files /dev/null and b/src/images/emoji/unicode/1f595-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f595-1f3ff.png b/src/images/emoji/unicode/1f595-1f3ff.png new file mode 100644 index 0000000..0066276 Binary files /dev/null and b/src/images/emoji/unicode/1f595-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f595.png b/src/images/emoji/unicode/1f595.png new file mode 100644 index 0000000..8d17a07 Binary files /dev/null and b/src/images/emoji/unicode/1f595.png differ diff --git a/src/images/emoji/unicode/1f596-1f3fb.png b/src/images/emoji/unicode/1f596-1f3fb.png new file mode 100644 index 0000000..7aa0ae2 Binary files /dev/null and b/src/images/emoji/unicode/1f596-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f596-1f3fc.png b/src/images/emoji/unicode/1f596-1f3fc.png new file mode 100644 index 0000000..123daf1 Binary files /dev/null and b/src/images/emoji/unicode/1f596-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f596-1f3fd.png b/src/images/emoji/unicode/1f596-1f3fd.png new file mode 100644 index 0000000..19bd12c Binary files /dev/null and b/src/images/emoji/unicode/1f596-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f596-1f3fe.png b/src/images/emoji/unicode/1f596-1f3fe.png new file mode 100644 index 0000000..da008ef Binary files /dev/null and b/src/images/emoji/unicode/1f596-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f596-1f3ff.png b/src/images/emoji/unicode/1f596-1f3ff.png new file mode 100644 index 0000000..6500dfe Binary files /dev/null and b/src/images/emoji/unicode/1f596-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f596.png b/src/images/emoji/unicode/1f596.png new file mode 100644 index 0000000..3781c02 Binary files /dev/null and b/src/images/emoji/unicode/1f596.png differ diff --git a/src/images/emoji/unicode/1f5a5.png b/src/images/emoji/unicode/1f5a5.png new file mode 100644 index 0000000..21e41e3 Binary files /dev/null and b/src/images/emoji/unicode/1f5a5.png differ diff --git a/src/images/emoji/unicode/1f5a8.png b/src/images/emoji/unicode/1f5a8.png new file mode 100644 index 0000000..9db0678 Binary files /dev/null and b/src/images/emoji/unicode/1f5a8.png differ diff --git a/src/images/emoji/unicode/1f5b1.png b/src/images/emoji/unicode/1f5b1.png new file mode 100644 index 0000000..9988983 Binary files /dev/null and b/src/images/emoji/unicode/1f5b1.png differ diff --git a/src/images/emoji/unicode/1f5b2.png b/src/images/emoji/unicode/1f5b2.png new file mode 100644 index 0000000..db07e86 Binary files /dev/null and b/src/images/emoji/unicode/1f5b2.png differ diff --git a/src/images/emoji/unicode/1f5bc.png b/src/images/emoji/unicode/1f5bc.png new file mode 100644 index 0000000..5d8a160 Binary files /dev/null and b/src/images/emoji/unicode/1f5bc.png differ diff --git a/src/images/emoji/unicode/1f5c2.png b/src/images/emoji/unicode/1f5c2.png new file mode 100644 index 0000000..8f16223 Binary files /dev/null and b/src/images/emoji/unicode/1f5c2.png differ diff --git a/src/images/emoji/unicode/1f5c3.png b/src/images/emoji/unicode/1f5c3.png new file mode 100644 index 0000000..1b51540 Binary files /dev/null and b/src/images/emoji/unicode/1f5c3.png differ diff --git a/src/images/emoji/unicode/1f5c4.png b/src/images/emoji/unicode/1f5c4.png new file mode 100644 index 0000000..d0b2d22 Binary files /dev/null and b/src/images/emoji/unicode/1f5c4.png differ diff --git a/src/images/emoji/unicode/1f5d1.png b/src/images/emoji/unicode/1f5d1.png new file mode 100644 index 0000000..6ee0ed6 Binary files /dev/null and b/src/images/emoji/unicode/1f5d1.png differ diff --git a/src/images/emoji/unicode/1f5d2.png b/src/images/emoji/unicode/1f5d2.png new file mode 100644 index 0000000..d6a5248 Binary files /dev/null and b/src/images/emoji/unicode/1f5d2.png differ diff --git a/src/images/emoji/unicode/1f5d3.png b/src/images/emoji/unicode/1f5d3.png new file mode 100644 index 0000000..11eac7e Binary files /dev/null and b/src/images/emoji/unicode/1f5d3.png differ diff --git a/src/images/emoji/unicode/1f5dc.png b/src/images/emoji/unicode/1f5dc.png new file mode 100644 index 0000000..86f9362 Binary files /dev/null and b/src/images/emoji/unicode/1f5dc.png differ diff --git a/src/images/emoji/unicode/1f5dd.png b/src/images/emoji/unicode/1f5dd.png new file mode 100644 index 0000000..4aa859e Binary files /dev/null and b/src/images/emoji/unicode/1f5dd.png differ diff --git a/src/images/emoji/unicode/1f5de.png b/src/images/emoji/unicode/1f5de.png new file mode 100644 index 0000000..edff6b8 Binary files /dev/null and b/src/images/emoji/unicode/1f5de.png differ diff --git a/src/images/emoji/unicode/1f5e1.png b/src/images/emoji/unicode/1f5e1.png new file mode 100644 index 0000000..75aba89 Binary files /dev/null and b/src/images/emoji/unicode/1f5e1.png differ diff --git a/src/images/emoji/unicode/1f5e3.png b/src/images/emoji/unicode/1f5e3.png new file mode 100644 index 0000000..ca7fb62 Binary files /dev/null and b/src/images/emoji/unicode/1f5e3.png differ diff --git a/src/images/emoji/unicode/1f5ef.png b/src/images/emoji/unicode/1f5ef.png new file mode 100644 index 0000000..27e07f2 Binary files /dev/null and b/src/images/emoji/unicode/1f5ef.png differ diff --git a/src/images/emoji/unicode/1f5f3.png b/src/images/emoji/unicode/1f5f3.png new file mode 100644 index 0000000..317a859 Binary files /dev/null and b/src/images/emoji/unicode/1f5f3.png differ diff --git a/src/images/emoji/unicode/1f5fa.png b/src/images/emoji/unicode/1f5fa.png new file mode 100644 index 0000000..9492514 Binary files /dev/null and b/src/images/emoji/unicode/1f5fa.png differ diff --git a/src/images/emoji/unicode/1f5fb.png b/src/images/emoji/unicode/1f5fb.png new file mode 100644 index 0000000..0f9bc1a Binary files /dev/null and b/src/images/emoji/unicode/1f5fb.png differ diff --git a/src/images/emoji/unicode/1f5fc.png b/src/images/emoji/unicode/1f5fc.png new file mode 100644 index 0000000..059eedc Binary files /dev/null and b/src/images/emoji/unicode/1f5fc.png differ diff --git a/src/images/emoji/unicode/1f5fd.png b/src/images/emoji/unicode/1f5fd.png new file mode 100644 index 0000000..d8a3b9a Binary files /dev/null and b/src/images/emoji/unicode/1f5fd.png differ diff --git a/src/images/emoji/unicode/1f5fe.png b/src/images/emoji/unicode/1f5fe.png new file mode 100644 index 0000000..40dd180 Binary files /dev/null and b/src/images/emoji/unicode/1f5fe.png differ diff --git a/src/images/emoji/unicode/1f5ff.png b/src/images/emoji/unicode/1f5ff.png new file mode 100644 index 0000000..87911b9 Binary files /dev/null and b/src/images/emoji/unicode/1f5ff.png differ diff --git a/src/images/emoji/unicode/1f600.png b/src/images/emoji/unicode/1f600.png new file mode 100644 index 0000000..5457c7b Binary files /dev/null and b/src/images/emoji/unicode/1f600.png differ diff --git a/src/images/emoji/unicode/1f601.png b/src/images/emoji/unicode/1f601.png new file mode 100644 index 0000000..1449a4d Binary files /dev/null and b/src/images/emoji/unicode/1f601.png differ diff --git a/src/images/emoji/unicode/1f602.png b/src/images/emoji/unicode/1f602.png new file mode 100644 index 0000000..6fcbc87 Binary files /dev/null and b/src/images/emoji/unicode/1f602.png differ diff --git a/src/images/emoji/unicode/1f603.png b/src/images/emoji/unicode/1f603.png new file mode 100644 index 0000000..5e69b43 Binary files /dev/null and b/src/images/emoji/unicode/1f603.png differ diff --git a/src/images/emoji/unicode/1f604.png b/src/images/emoji/unicode/1f604.png new file mode 100644 index 0000000..5a0490e Binary files /dev/null and b/src/images/emoji/unicode/1f604.png differ diff --git a/src/images/emoji/unicode/1f605.png b/src/images/emoji/unicode/1f605.png new file mode 100644 index 0000000..8472063 Binary files /dev/null and b/src/images/emoji/unicode/1f605.png differ diff --git a/src/images/emoji/unicode/1f606.png b/src/images/emoji/unicode/1f606.png new file mode 100644 index 0000000..d336015 Binary files /dev/null and b/src/images/emoji/unicode/1f606.png differ diff --git a/src/images/emoji/unicode/1f607.png b/src/images/emoji/unicode/1f607.png new file mode 100644 index 0000000..b2d7004 Binary files /dev/null and b/src/images/emoji/unicode/1f607.png differ diff --git a/src/images/emoji/unicode/1f608.png b/src/images/emoji/unicode/1f608.png new file mode 100644 index 0000000..fa7baa6 Binary files /dev/null and b/src/images/emoji/unicode/1f608.png differ diff --git a/src/images/emoji/unicode/1f609.png b/src/images/emoji/unicode/1f609.png new file mode 100644 index 0000000..f69e1f8 Binary files /dev/null and b/src/images/emoji/unicode/1f609.png differ diff --git a/src/images/emoji/unicode/1f60a.png b/src/images/emoji/unicode/1f60a.png new file mode 100644 index 0000000..41f4fd3 Binary files /dev/null and b/src/images/emoji/unicode/1f60a.png differ diff --git a/src/images/emoji/unicode/1f60b.png b/src/images/emoji/unicode/1f60b.png new file mode 100644 index 0000000..e99c1e5 Binary files /dev/null and b/src/images/emoji/unicode/1f60b.png differ diff --git a/src/images/emoji/unicode/1f60c.png b/src/images/emoji/unicode/1f60c.png new file mode 100644 index 0000000..0ff7e23 Binary files /dev/null and b/src/images/emoji/unicode/1f60c.png differ diff --git a/src/images/emoji/unicode/1f60d.png b/src/images/emoji/unicode/1f60d.png new file mode 100644 index 0000000..af21d68 Binary files /dev/null and b/src/images/emoji/unicode/1f60d.png differ diff --git a/src/images/emoji/unicode/1f60e.png b/src/images/emoji/unicode/1f60e.png new file mode 100644 index 0000000..bd9aa8c Binary files /dev/null and b/src/images/emoji/unicode/1f60e.png differ diff --git a/src/images/emoji/unicode/1f60f.png b/src/images/emoji/unicode/1f60f.png new file mode 100644 index 0000000..1014a7d Binary files /dev/null and b/src/images/emoji/unicode/1f60f.png differ diff --git a/src/images/emoji/unicode/1f610.png b/src/images/emoji/unicode/1f610.png new file mode 100644 index 0000000..590d790 Binary files /dev/null and b/src/images/emoji/unicode/1f610.png differ diff --git a/src/images/emoji/unicode/1f611.png b/src/images/emoji/unicode/1f611.png new file mode 100644 index 0000000..e93769e Binary files /dev/null and b/src/images/emoji/unicode/1f611.png differ diff --git a/src/images/emoji/unicode/1f612.png b/src/images/emoji/unicode/1f612.png new file mode 100644 index 0000000..075e950 Binary files /dev/null and b/src/images/emoji/unicode/1f612.png differ diff --git a/src/images/emoji/unicode/1f613.png b/src/images/emoji/unicode/1f613.png new file mode 100644 index 0000000..6703e64 Binary files /dev/null and b/src/images/emoji/unicode/1f613.png differ diff --git a/src/images/emoji/unicode/1f614.png b/src/images/emoji/unicode/1f614.png new file mode 100644 index 0000000..84afe36 Binary files /dev/null and b/src/images/emoji/unicode/1f614.png differ diff --git a/src/images/emoji/unicode/1f615.png b/src/images/emoji/unicode/1f615.png new file mode 100644 index 0000000..7dbfab9 Binary files /dev/null and b/src/images/emoji/unicode/1f615.png differ diff --git a/src/images/emoji/unicode/1f616.png b/src/images/emoji/unicode/1f616.png new file mode 100644 index 0000000..978686f Binary files /dev/null and b/src/images/emoji/unicode/1f616.png differ diff --git a/src/images/emoji/unicode/1f617.png b/src/images/emoji/unicode/1f617.png new file mode 100644 index 0000000..8493c00 Binary files /dev/null and b/src/images/emoji/unicode/1f617.png differ diff --git a/src/images/emoji/unicode/1f618.png b/src/images/emoji/unicode/1f618.png new file mode 100644 index 0000000..40ccac7 Binary files /dev/null and b/src/images/emoji/unicode/1f618.png differ diff --git a/src/images/emoji/unicode/1f619.png b/src/images/emoji/unicode/1f619.png new file mode 100644 index 0000000..533e9b7 Binary files /dev/null and b/src/images/emoji/unicode/1f619.png differ diff --git a/src/images/emoji/unicode/1f61a.png b/src/images/emoji/unicode/1f61a.png new file mode 100644 index 0000000..24cc483 Binary files /dev/null and b/src/images/emoji/unicode/1f61a.png differ diff --git a/src/images/emoji/unicode/1f61b.png b/src/images/emoji/unicode/1f61b.png new file mode 100644 index 0000000..09207a6 Binary files /dev/null and b/src/images/emoji/unicode/1f61b.png differ diff --git a/src/images/emoji/unicode/1f61c.png b/src/images/emoji/unicode/1f61c.png new file mode 100644 index 0000000..b03460b Binary files /dev/null and b/src/images/emoji/unicode/1f61c.png differ diff --git a/src/images/emoji/unicode/1f61d.png b/src/images/emoji/unicode/1f61d.png new file mode 100644 index 0000000..747ec0c Binary files /dev/null and b/src/images/emoji/unicode/1f61d.png differ diff --git a/src/images/emoji/unicode/1f61e.png b/src/images/emoji/unicode/1f61e.png new file mode 100644 index 0000000..d64131e Binary files /dev/null and b/src/images/emoji/unicode/1f61e.png differ diff --git a/src/images/emoji/unicode/1f61f.png b/src/images/emoji/unicode/1f61f.png new file mode 100644 index 0000000..eae3566 Binary files /dev/null and b/src/images/emoji/unicode/1f61f.png differ diff --git a/src/images/emoji/unicode/1f620.png b/src/images/emoji/unicode/1f620.png new file mode 100644 index 0000000..757cb72 Binary files /dev/null and b/src/images/emoji/unicode/1f620.png differ diff --git a/src/images/emoji/unicode/1f621.png b/src/images/emoji/unicode/1f621.png new file mode 100644 index 0000000..8af9ea0 Binary files /dev/null and b/src/images/emoji/unicode/1f621.png differ diff --git a/src/images/emoji/unicode/1f622.png b/src/images/emoji/unicode/1f622.png new file mode 100644 index 0000000..41b8892 Binary files /dev/null and b/src/images/emoji/unicode/1f622.png differ diff --git a/src/images/emoji/unicode/1f623.png b/src/images/emoji/unicode/1f623.png new file mode 100644 index 0000000..19ae7dd Binary files /dev/null and b/src/images/emoji/unicode/1f623.png differ diff --git a/src/images/emoji/unicode/1f624.png b/src/images/emoji/unicode/1f624.png new file mode 100644 index 0000000..51d5949 Binary files /dev/null and b/src/images/emoji/unicode/1f624.png differ diff --git a/src/images/emoji/unicode/1f625.png b/src/images/emoji/unicode/1f625.png new file mode 100644 index 0000000..2098308 Binary files /dev/null and b/src/images/emoji/unicode/1f625.png differ diff --git a/src/images/emoji/unicode/1f626.png b/src/images/emoji/unicode/1f626.png new file mode 100644 index 0000000..4587cf6 Binary files /dev/null and b/src/images/emoji/unicode/1f626.png differ diff --git a/src/images/emoji/unicode/1f627.png b/src/images/emoji/unicode/1f627.png new file mode 100644 index 0000000..c8e6733 Binary files /dev/null and b/src/images/emoji/unicode/1f627.png differ diff --git a/src/images/emoji/unicode/1f628.png b/src/images/emoji/unicode/1f628.png new file mode 100644 index 0000000..27709d0 Binary files /dev/null and b/src/images/emoji/unicode/1f628.png differ diff --git a/src/images/emoji/unicode/1f629.png b/src/images/emoji/unicode/1f629.png new file mode 100644 index 0000000..465ccdf Binary files /dev/null and b/src/images/emoji/unicode/1f629.png differ diff --git a/src/images/emoji/unicode/1f62a.png b/src/images/emoji/unicode/1f62a.png new file mode 100644 index 0000000..ad2dfec Binary files /dev/null and b/src/images/emoji/unicode/1f62a.png differ diff --git a/src/images/emoji/unicode/1f62b.png b/src/images/emoji/unicode/1f62b.png new file mode 100644 index 0000000..a9b02cf Binary files /dev/null and b/src/images/emoji/unicode/1f62b.png differ diff --git a/src/images/emoji/unicode/1f62c.png b/src/images/emoji/unicode/1f62c.png new file mode 100644 index 0000000..7f90796 Binary files /dev/null and b/src/images/emoji/unicode/1f62c.png differ diff --git a/src/images/emoji/unicode/1f62d.png b/src/images/emoji/unicode/1f62d.png new file mode 100644 index 0000000..574110d Binary files /dev/null and b/src/images/emoji/unicode/1f62d.png differ diff --git a/src/images/emoji/unicode/1f62e.png b/src/images/emoji/unicode/1f62e.png new file mode 100644 index 0000000..b78e2b1 Binary files /dev/null and b/src/images/emoji/unicode/1f62e.png differ diff --git a/src/images/emoji/unicode/1f62f.png b/src/images/emoji/unicode/1f62f.png new file mode 100644 index 0000000..70ab9cc Binary files /dev/null and b/src/images/emoji/unicode/1f62f.png differ diff --git a/src/images/emoji/unicode/1f630.png b/src/images/emoji/unicode/1f630.png new file mode 100644 index 0000000..263f803 Binary files /dev/null and b/src/images/emoji/unicode/1f630.png differ diff --git a/src/images/emoji/unicode/1f631.png b/src/images/emoji/unicode/1f631.png new file mode 100644 index 0000000..d72d1a2 Binary files /dev/null and b/src/images/emoji/unicode/1f631.png differ diff --git a/src/images/emoji/unicode/1f632.png b/src/images/emoji/unicode/1f632.png new file mode 100644 index 0000000..209abab Binary files /dev/null and b/src/images/emoji/unicode/1f632.png differ diff --git a/src/images/emoji/unicode/1f633.png b/src/images/emoji/unicode/1f633.png new file mode 100644 index 0000000..72e76fa Binary files /dev/null and b/src/images/emoji/unicode/1f633.png differ diff --git a/src/images/emoji/unicode/1f634.png b/src/images/emoji/unicode/1f634.png new file mode 100644 index 0000000..3cb76b8 Binary files /dev/null and b/src/images/emoji/unicode/1f634.png differ diff --git a/src/images/emoji/unicode/1f635.png b/src/images/emoji/unicode/1f635.png new file mode 100644 index 0000000..ead8e90 Binary files /dev/null and b/src/images/emoji/unicode/1f635.png differ diff --git a/src/images/emoji/unicode/1f636.png b/src/images/emoji/unicode/1f636.png new file mode 100644 index 0000000..72fed85 Binary files /dev/null and b/src/images/emoji/unicode/1f636.png differ diff --git a/src/images/emoji/unicode/1f637.png b/src/images/emoji/unicode/1f637.png new file mode 100644 index 0000000..5de9cf9 Binary files /dev/null and b/src/images/emoji/unicode/1f637.png differ diff --git a/src/images/emoji/unicode/1f638.png b/src/images/emoji/unicode/1f638.png new file mode 100644 index 0000000..d37a8c5 Binary files /dev/null and b/src/images/emoji/unicode/1f638.png differ diff --git a/src/images/emoji/unicode/1f639.png b/src/images/emoji/unicode/1f639.png new file mode 100644 index 0000000..9f7aefe Binary files /dev/null and b/src/images/emoji/unicode/1f639.png differ diff --git a/src/images/emoji/unicode/1f63a.png b/src/images/emoji/unicode/1f63a.png new file mode 100644 index 0000000..71f936d Binary files /dev/null and b/src/images/emoji/unicode/1f63a.png differ diff --git a/src/images/emoji/unicode/1f63b.png b/src/images/emoji/unicode/1f63b.png new file mode 100644 index 0000000..28faee7 Binary files /dev/null and b/src/images/emoji/unicode/1f63b.png differ diff --git a/src/images/emoji/unicode/1f63c.png b/src/images/emoji/unicode/1f63c.png new file mode 100644 index 0000000..0caa616 Binary files /dev/null and b/src/images/emoji/unicode/1f63c.png differ diff --git a/src/images/emoji/unicode/1f63d.png b/src/images/emoji/unicode/1f63d.png new file mode 100644 index 0000000..2350d4b Binary files /dev/null and b/src/images/emoji/unicode/1f63d.png differ diff --git a/src/images/emoji/unicode/1f63e.png b/src/images/emoji/unicode/1f63e.png new file mode 100644 index 0000000..809b284 Binary files /dev/null and b/src/images/emoji/unicode/1f63e.png differ diff --git a/src/images/emoji/unicode/1f63f.png b/src/images/emoji/unicode/1f63f.png new file mode 100644 index 0000000..b00d035 Binary files /dev/null and b/src/images/emoji/unicode/1f63f.png differ diff --git a/src/images/emoji/unicode/1f640.png b/src/images/emoji/unicode/1f640.png new file mode 100644 index 0000000..9133f76 Binary files /dev/null and b/src/images/emoji/unicode/1f640.png differ diff --git a/src/images/emoji/unicode/1f641.png b/src/images/emoji/unicode/1f641.png new file mode 100644 index 0000000..4647a2f Binary files /dev/null and b/src/images/emoji/unicode/1f641.png differ diff --git a/src/images/emoji/unicode/1f642.png b/src/images/emoji/unicode/1f642.png new file mode 100644 index 0000000..1187630 Binary files /dev/null and b/src/images/emoji/unicode/1f642.png differ diff --git a/src/images/emoji/unicode/1f643.png b/src/images/emoji/unicode/1f643.png new file mode 100644 index 0000000..9515e6f Binary files /dev/null and b/src/images/emoji/unicode/1f643.png differ diff --git a/src/images/emoji/unicode/1f644.png b/src/images/emoji/unicode/1f644.png new file mode 100644 index 0000000..2782fd0 Binary files /dev/null and b/src/images/emoji/unicode/1f644.png differ diff --git a/src/images/emoji/unicode/1f645-1f3fb.png b/src/images/emoji/unicode/1f645-1f3fb.png new file mode 100644 index 0000000..727dfbe Binary files /dev/null and b/src/images/emoji/unicode/1f645-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f645-1f3fc.png b/src/images/emoji/unicode/1f645-1f3fc.png new file mode 100644 index 0000000..3304afe Binary files /dev/null and b/src/images/emoji/unicode/1f645-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f645-1f3fd.png b/src/images/emoji/unicode/1f645-1f3fd.png new file mode 100644 index 0000000..150a776 Binary files /dev/null and b/src/images/emoji/unicode/1f645-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f645-1f3fe.png b/src/images/emoji/unicode/1f645-1f3fe.png new file mode 100644 index 0000000..38cd9f3 Binary files /dev/null and b/src/images/emoji/unicode/1f645-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f645-1f3ff.png b/src/images/emoji/unicode/1f645-1f3ff.png new file mode 100644 index 0000000..f28d861 Binary files /dev/null and b/src/images/emoji/unicode/1f645-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f645.png b/src/images/emoji/unicode/1f645.png new file mode 100644 index 0000000..869bea5 Binary files /dev/null and b/src/images/emoji/unicode/1f645.png differ diff --git a/src/images/emoji/unicode/1f646-1f3fb.png b/src/images/emoji/unicode/1f646-1f3fb.png new file mode 100644 index 0000000..7319376 Binary files /dev/null and b/src/images/emoji/unicode/1f646-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f646-1f3fc.png b/src/images/emoji/unicode/1f646-1f3fc.png new file mode 100644 index 0000000..253290f Binary files /dev/null and b/src/images/emoji/unicode/1f646-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f646-1f3fd.png b/src/images/emoji/unicode/1f646-1f3fd.png new file mode 100644 index 0000000..746fc58 Binary files /dev/null and b/src/images/emoji/unicode/1f646-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f646-1f3fe.png b/src/images/emoji/unicode/1f646-1f3fe.png new file mode 100644 index 0000000..105b6c3 Binary files /dev/null and b/src/images/emoji/unicode/1f646-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f646-1f3ff.png b/src/images/emoji/unicode/1f646-1f3ff.png new file mode 100644 index 0000000..bb27385 Binary files /dev/null and b/src/images/emoji/unicode/1f646-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f646.png b/src/images/emoji/unicode/1f646.png new file mode 100644 index 0000000..10b5a34 Binary files /dev/null and b/src/images/emoji/unicode/1f646.png differ diff --git a/src/images/emoji/unicode/1f647-1f3fb.png b/src/images/emoji/unicode/1f647-1f3fb.png new file mode 100644 index 0000000..4fefde5 Binary files /dev/null and b/src/images/emoji/unicode/1f647-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f647-1f3fc.png b/src/images/emoji/unicode/1f647-1f3fc.png new file mode 100644 index 0000000..07b43cd Binary files /dev/null and b/src/images/emoji/unicode/1f647-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f647-1f3fd.png b/src/images/emoji/unicode/1f647-1f3fd.png new file mode 100644 index 0000000..d0e5b8d Binary files /dev/null and b/src/images/emoji/unicode/1f647-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f647-1f3fe.png b/src/images/emoji/unicode/1f647-1f3fe.png new file mode 100644 index 0000000..5e2087f Binary files /dev/null and b/src/images/emoji/unicode/1f647-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f647-1f3ff.png b/src/images/emoji/unicode/1f647-1f3ff.png new file mode 100644 index 0000000..2b2219d Binary files /dev/null and b/src/images/emoji/unicode/1f647-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f647.png b/src/images/emoji/unicode/1f647.png new file mode 100644 index 0000000..84b810c Binary files /dev/null and b/src/images/emoji/unicode/1f647.png differ diff --git a/src/images/emoji/unicode/1f648.png b/src/images/emoji/unicode/1f648.png new file mode 100644 index 0000000..598af4a Binary files /dev/null and b/src/images/emoji/unicode/1f648.png differ diff --git a/src/images/emoji/unicode/1f649.png b/src/images/emoji/unicode/1f649.png new file mode 100644 index 0000000..674aa25 Binary files /dev/null and b/src/images/emoji/unicode/1f649.png differ diff --git a/src/images/emoji/unicode/1f64a.png b/src/images/emoji/unicode/1f64a.png new file mode 100644 index 0000000..5c12eeb Binary files /dev/null and b/src/images/emoji/unicode/1f64a.png differ diff --git a/src/images/emoji/unicode/1f64b-1f3fb.png b/src/images/emoji/unicode/1f64b-1f3fb.png new file mode 100644 index 0000000..fb90baf Binary files /dev/null and b/src/images/emoji/unicode/1f64b-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f64b-1f3fc.png b/src/images/emoji/unicode/1f64b-1f3fc.png new file mode 100644 index 0000000..c7f12e9 Binary files /dev/null and b/src/images/emoji/unicode/1f64b-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f64b-1f3fd.png b/src/images/emoji/unicode/1f64b-1f3fd.png new file mode 100644 index 0000000..6103a74 Binary files /dev/null and b/src/images/emoji/unicode/1f64b-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f64b-1f3fe.png b/src/images/emoji/unicode/1f64b-1f3fe.png new file mode 100644 index 0000000..68351f6 Binary files /dev/null and b/src/images/emoji/unicode/1f64b-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f64b-1f3ff.png b/src/images/emoji/unicode/1f64b-1f3ff.png new file mode 100644 index 0000000..49c9778 Binary files /dev/null and b/src/images/emoji/unicode/1f64b-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f64b.png b/src/images/emoji/unicode/1f64b.png new file mode 100644 index 0000000..aab7e50 Binary files /dev/null and b/src/images/emoji/unicode/1f64b.png differ diff --git a/src/images/emoji/unicode/1f64c-1f3fb.png b/src/images/emoji/unicode/1f64c-1f3fb.png new file mode 100644 index 0000000..56f2911 Binary files /dev/null and b/src/images/emoji/unicode/1f64c-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f64c-1f3fc.png b/src/images/emoji/unicode/1f64c-1f3fc.png new file mode 100644 index 0000000..070047c Binary files /dev/null and b/src/images/emoji/unicode/1f64c-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f64c-1f3fd.png b/src/images/emoji/unicode/1f64c-1f3fd.png new file mode 100644 index 0000000..4a678d3 Binary files /dev/null and b/src/images/emoji/unicode/1f64c-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f64c-1f3fe.png b/src/images/emoji/unicode/1f64c-1f3fe.png new file mode 100644 index 0000000..8ecd3f9 Binary files /dev/null and b/src/images/emoji/unicode/1f64c-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f64c-1f3ff.png b/src/images/emoji/unicode/1f64c-1f3ff.png new file mode 100644 index 0000000..7f96121 Binary files /dev/null and b/src/images/emoji/unicode/1f64c-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f64c.png b/src/images/emoji/unicode/1f64c.png new file mode 100644 index 0000000..27826a1 Binary files /dev/null and b/src/images/emoji/unicode/1f64c.png differ diff --git a/src/images/emoji/unicode/1f64d-1f3fb.png b/src/images/emoji/unicode/1f64d-1f3fb.png new file mode 100644 index 0000000..c86dfeb Binary files /dev/null and b/src/images/emoji/unicode/1f64d-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f64d-1f3fc.png b/src/images/emoji/unicode/1f64d-1f3fc.png new file mode 100644 index 0000000..799bb68 Binary files /dev/null and b/src/images/emoji/unicode/1f64d-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f64d-1f3fd.png b/src/images/emoji/unicode/1f64d-1f3fd.png new file mode 100644 index 0000000..23a3b0b Binary files /dev/null and b/src/images/emoji/unicode/1f64d-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f64d-1f3fe.png b/src/images/emoji/unicode/1f64d-1f3fe.png new file mode 100644 index 0000000..07a6da5 Binary files /dev/null and b/src/images/emoji/unicode/1f64d-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f64d-1f3ff.png b/src/images/emoji/unicode/1f64d-1f3ff.png new file mode 100644 index 0000000..8119273 Binary files /dev/null and b/src/images/emoji/unicode/1f64d-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f64d.png b/src/images/emoji/unicode/1f64d.png new file mode 100644 index 0000000..326663f Binary files /dev/null and b/src/images/emoji/unicode/1f64d.png differ diff --git a/src/images/emoji/unicode/1f64e-1f3fb.png b/src/images/emoji/unicode/1f64e-1f3fb.png new file mode 100644 index 0000000..ff7fe1b Binary files /dev/null and b/src/images/emoji/unicode/1f64e-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f64e-1f3fc.png b/src/images/emoji/unicode/1f64e-1f3fc.png new file mode 100644 index 0000000..05fd90d Binary files /dev/null and b/src/images/emoji/unicode/1f64e-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f64e-1f3fd.png b/src/images/emoji/unicode/1f64e-1f3fd.png new file mode 100644 index 0000000..2f80c1a Binary files /dev/null and b/src/images/emoji/unicode/1f64e-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f64e-1f3fe.png b/src/images/emoji/unicode/1f64e-1f3fe.png new file mode 100644 index 0000000..079ecd8 Binary files /dev/null and b/src/images/emoji/unicode/1f64e-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f64e-1f3ff.png b/src/images/emoji/unicode/1f64e-1f3ff.png new file mode 100644 index 0000000..bb0fc72 Binary files /dev/null and b/src/images/emoji/unicode/1f64e-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f64e.png b/src/images/emoji/unicode/1f64e.png new file mode 100644 index 0000000..bb404ca Binary files /dev/null and b/src/images/emoji/unicode/1f64e.png differ diff --git a/src/images/emoji/unicode/1f64f-1f3fb.png b/src/images/emoji/unicode/1f64f-1f3fb.png new file mode 100644 index 0000000..05ca246 Binary files /dev/null and b/src/images/emoji/unicode/1f64f-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f64f-1f3fc.png b/src/images/emoji/unicode/1f64f-1f3fc.png new file mode 100644 index 0000000..3bab6dc Binary files /dev/null and b/src/images/emoji/unicode/1f64f-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f64f-1f3fd.png b/src/images/emoji/unicode/1f64f-1f3fd.png new file mode 100644 index 0000000..9710ad2 Binary files /dev/null and b/src/images/emoji/unicode/1f64f-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f64f-1f3fe.png b/src/images/emoji/unicode/1f64f-1f3fe.png new file mode 100644 index 0000000..bcaa95f Binary files /dev/null and b/src/images/emoji/unicode/1f64f-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f64f-1f3ff.png b/src/images/emoji/unicode/1f64f-1f3ff.png new file mode 100644 index 0000000..3f0b535 Binary files /dev/null and b/src/images/emoji/unicode/1f64f-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f64f.png b/src/images/emoji/unicode/1f64f.png new file mode 100644 index 0000000..9f2974e Binary files /dev/null and b/src/images/emoji/unicode/1f64f.png differ diff --git a/src/images/emoji/unicode/1f680.png b/src/images/emoji/unicode/1f680.png new file mode 100644 index 0000000..3f00579 Binary files /dev/null and b/src/images/emoji/unicode/1f680.png differ diff --git a/src/images/emoji/unicode/1f681.png b/src/images/emoji/unicode/1f681.png new file mode 100644 index 0000000..8ca9d0f Binary files /dev/null and b/src/images/emoji/unicode/1f681.png differ diff --git a/src/images/emoji/unicode/1f682.png b/src/images/emoji/unicode/1f682.png new file mode 100644 index 0000000..50a0394 Binary files /dev/null and b/src/images/emoji/unicode/1f682.png differ diff --git a/src/images/emoji/unicode/1f683.png b/src/images/emoji/unicode/1f683.png new file mode 100644 index 0000000..c813d14 Binary files /dev/null and b/src/images/emoji/unicode/1f683.png differ diff --git a/src/images/emoji/unicode/1f684.png b/src/images/emoji/unicode/1f684.png new file mode 100644 index 0000000..75eea39 Binary files /dev/null and b/src/images/emoji/unicode/1f684.png differ diff --git a/src/images/emoji/unicode/1f685.png b/src/images/emoji/unicode/1f685.png new file mode 100644 index 0000000..ff6206e Binary files /dev/null and b/src/images/emoji/unicode/1f685.png differ diff --git a/src/images/emoji/unicode/1f686.png b/src/images/emoji/unicode/1f686.png new file mode 100644 index 0000000..282c18f Binary files /dev/null and b/src/images/emoji/unicode/1f686.png differ diff --git a/src/images/emoji/unicode/1f687.png b/src/images/emoji/unicode/1f687.png new file mode 100644 index 0000000..75566e3 Binary files /dev/null and b/src/images/emoji/unicode/1f687.png differ diff --git a/src/images/emoji/unicode/1f688.png b/src/images/emoji/unicode/1f688.png new file mode 100644 index 0000000..54cd96f Binary files /dev/null and b/src/images/emoji/unicode/1f688.png differ diff --git a/src/images/emoji/unicode/1f689.png b/src/images/emoji/unicode/1f689.png new file mode 100644 index 0000000..69ee752 Binary files /dev/null and b/src/images/emoji/unicode/1f689.png differ diff --git a/src/images/emoji/unicode/1f68a.png b/src/images/emoji/unicode/1f68a.png new file mode 100644 index 0000000..f497f75 Binary files /dev/null and b/src/images/emoji/unicode/1f68a.png differ diff --git a/src/images/emoji/unicode/1f68b.png b/src/images/emoji/unicode/1f68b.png new file mode 100644 index 0000000..cb6a470 Binary files /dev/null and b/src/images/emoji/unicode/1f68b.png differ diff --git a/src/images/emoji/unicode/1f68c.png b/src/images/emoji/unicode/1f68c.png new file mode 100644 index 0000000..0a5db9f Binary files /dev/null and b/src/images/emoji/unicode/1f68c.png differ diff --git a/src/images/emoji/unicode/1f68d.png b/src/images/emoji/unicode/1f68d.png new file mode 100644 index 0000000..d8d0728 Binary files /dev/null and b/src/images/emoji/unicode/1f68d.png differ diff --git a/src/images/emoji/unicode/1f68e.png b/src/images/emoji/unicode/1f68e.png new file mode 100644 index 0000000..9fe21da Binary files /dev/null and b/src/images/emoji/unicode/1f68e.png differ diff --git a/src/images/emoji/unicode/1f68f.png b/src/images/emoji/unicode/1f68f.png new file mode 100644 index 0000000..b4f32e8 Binary files /dev/null and b/src/images/emoji/unicode/1f68f.png differ diff --git a/src/images/emoji/unicode/1f690.png b/src/images/emoji/unicode/1f690.png new file mode 100644 index 0000000..1f341ab Binary files /dev/null and b/src/images/emoji/unicode/1f690.png differ diff --git a/src/images/emoji/unicode/1f691.png b/src/images/emoji/unicode/1f691.png new file mode 100644 index 0000000..92889cf Binary files /dev/null and b/src/images/emoji/unicode/1f691.png differ diff --git a/src/images/emoji/unicode/1f692.png b/src/images/emoji/unicode/1f692.png new file mode 100644 index 0000000..da64cf9 Binary files /dev/null and b/src/images/emoji/unicode/1f692.png differ diff --git a/src/images/emoji/unicode/1f693.png b/src/images/emoji/unicode/1f693.png new file mode 100644 index 0000000..9cbdc8f Binary files /dev/null and b/src/images/emoji/unicode/1f693.png differ diff --git a/src/images/emoji/unicode/1f694.png b/src/images/emoji/unicode/1f694.png new file mode 100644 index 0000000..6b20966 Binary files /dev/null and b/src/images/emoji/unicode/1f694.png differ diff --git a/src/images/emoji/unicode/1f695.png b/src/images/emoji/unicode/1f695.png new file mode 100644 index 0000000..9017d5b Binary files /dev/null and b/src/images/emoji/unicode/1f695.png differ diff --git a/src/images/emoji/unicode/1f696.png b/src/images/emoji/unicode/1f696.png new file mode 100644 index 0000000..6ed7b24 Binary files /dev/null and b/src/images/emoji/unicode/1f696.png differ diff --git a/src/images/emoji/unicode/1f697.png b/src/images/emoji/unicode/1f697.png new file mode 100644 index 0000000..2be3b33 Binary files /dev/null and b/src/images/emoji/unicode/1f697.png differ diff --git a/src/images/emoji/unicode/1f698.png b/src/images/emoji/unicode/1f698.png new file mode 100644 index 0000000..17da480 Binary files /dev/null and b/src/images/emoji/unicode/1f698.png differ diff --git a/src/images/emoji/unicode/1f699.png b/src/images/emoji/unicode/1f699.png new file mode 100644 index 0000000..8898124 Binary files /dev/null and b/src/images/emoji/unicode/1f699.png differ diff --git a/src/images/emoji/unicode/1f69a.png b/src/images/emoji/unicode/1f69a.png new file mode 100644 index 0000000..3604755 Binary files /dev/null and b/src/images/emoji/unicode/1f69a.png differ diff --git a/src/images/emoji/unicode/1f69b.png b/src/images/emoji/unicode/1f69b.png new file mode 100644 index 0000000..2fef38b Binary files /dev/null and b/src/images/emoji/unicode/1f69b.png differ diff --git a/src/images/emoji/unicode/1f69c.png b/src/images/emoji/unicode/1f69c.png new file mode 100644 index 0000000..464c67a Binary files /dev/null and b/src/images/emoji/unicode/1f69c.png differ diff --git a/src/images/emoji/unicode/1f69d.png b/src/images/emoji/unicode/1f69d.png new file mode 100644 index 0000000..5e4efac Binary files /dev/null and b/src/images/emoji/unicode/1f69d.png differ diff --git a/src/images/emoji/unicode/1f69e.png b/src/images/emoji/unicode/1f69e.png new file mode 100644 index 0000000..51f05e0 Binary files /dev/null and b/src/images/emoji/unicode/1f69e.png differ diff --git a/src/images/emoji/unicode/1f69f.png b/src/images/emoji/unicode/1f69f.png new file mode 100644 index 0000000..eabccec Binary files /dev/null and b/src/images/emoji/unicode/1f69f.png differ diff --git a/src/images/emoji/unicode/1f6a0.png b/src/images/emoji/unicode/1f6a0.png new file mode 100644 index 0000000..ccde11c Binary files /dev/null and b/src/images/emoji/unicode/1f6a0.png differ diff --git a/src/images/emoji/unicode/1f6a1.png b/src/images/emoji/unicode/1f6a1.png new file mode 100644 index 0000000..8afef20 Binary files /dev/null and b/src/images/emoji/unicode/1f6a1.png differ diff --git a/src/images/emoji/unicode/1f6a2.png b/src/images/emoji/unicode/1f6a2.png new file mode 100644 index 0000000..f5256c4 Binary files /dev/null and b/src/images/emoji/unicode/1f6a2.png differ diff --git a/src/images/emoji/unicode/1f6a3-1f3fb.png b/src/images/emoji/unicode/1f6a3-1f3fb.png new file mode 100644 index 0000000..c70a0cb Binary files /dev/null and b/src/images/emoji/unicode/1f6a3-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f6a3-1f3fc.png b/src/images/emoji/unicode/1f6a3-1f3fc.png new file mode 100644 index 0000000..cc10a4b Binary files /dev/null and b/src/images/emoji/unicode/1f6a3-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f6a3-1f3fd.png b/src/images/emoji/unicode/1f6a3-1f3fd.png new file mode 100644 index 0000000..efcb281 Binary files /dev/null and b/src/images/emoji/unicode/1f6a3-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f6a3-1f3fe.png b/src/images/emoji/unicode/1f6a3-1f3fe.png new file mode 100644 index 0000000..940c238 Binary files /dev/null and b/src/images/emoji/unicode/1f6a3-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f6a3-1f3ff.png b/src/images/emoji/unicode/1f6a3-1f3ff.png new file mode 100644 index 0000000..3102aa2 Binary files /dev/null and b/src/images/emoji/unicode/1f6a3-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f6a3.png b/src/images/emoji/unicode/1f6a3.png new file mode 100644 index 0000000..7c5ca57 Binary files /dev/null and b/src/images/emoji/unicode/1f6a3.png differ diff --git a/src/images/emoji/unicode/1f6a4.png b/src/images/emoji/unicode/1f6a4.png new file mode 100644 index 0000000..841158d Binary files /dev/null and b/src/images/emoji/unicode/1f6a4.png differ diff --git a/src/images/emoji/unicode/1f6a5.png b/src/images/emoji/unicode/1f6a5.png new file mode 100644 index 0000000..b84e4b2 Binary files /dev/null and b/src/images/emoji/unicode/1f6a5.png differ diff --git a/src/images/emoji/unicode/1f6a6.png b/src/images/emoji/unicode/1f6a6.png new file mode 100644 index 0000000..1fcba93 Binary files /dev/null and b/src/images/emoji/unicode/1f6a6.png differ diff --git a/src/images/emoji/unicode/1f6a7.png b/src/images/emoji/unicode/1f6a7.png new file mode 100644 index 0000000..5e037ef Binary files /dev/null and b/src/images/emoji/unicode/1f6a7.png differ diff --git a/src/images/emoji/unicode/1f6a8.png b/src/images/emoji/unicode/1f6a8.png new file mode 100644 index 0000000..f2555b0 Binary files /dev/null and b/src/images/emoji/unicode/1f6a8.png differ diff --git a/src/images/emoji/unicode/1f6a9.png b/src/images/emoji/unicode/1f6a9.png new file mode 100644 index 0000000..12274b2 Binary files /dev/null and b/src/images/emoji/unicode/1f6a9.png differ diff --git a/src/images/emoji/unicode/1f6aa.png b/src/images/emoji/unicode/1f6aa.png new file mode 100644 index 0000000..159352e Binary files /dev/null and b/src/images/emoji/unicode/1f6aa.png differ diff --git a/src/images/emoji/unicode/1f6ab.png b/src/images/emoji/unicode/1f6ab.png new file mode 100644 index 0000000..cc65ecb Binary files /dev/null and b/src/images/emoji/unicode/1f6ab.png differ diff --git a/src/images/emoji/unicode/1f6ac.png b/src/images/emoji/unicode/1f6ac.png new file mode 100644 index 0000000..da747a8 Binary files /dev/null and b/src/images/emoji/unicode/1f6ac.png differ diff --git a/src/images/emoji/unicode/1f6ad.png b/src/images/emoji/unicode/1f6ad.png new file mode 100644 index 0000000..062504b Binary files /dev/null and b/src/images/emoji/unicode/1f6ad.png differ diff --git a/src/images/emoji/unicode/1f6ae.png b/src/images/emoji/unicode/1f6ae.png new file mode 100644 index 0000000..c08b7f6 Binary files /dev/null and b/src/images/emoji/unicode/1f6ae.png differ diff --git a/src/images/emoji/unicode/1f6af.png b/src/images/emoji/unicode/1f6af.png new file mode 100644 index 0000000..c2e1357 Binary files /dev/null and b/src/images/emoji/unicode/1f6af.png differ diff --git a/src/images/emoji/unicode/1f6b0.png b/src/images/emoji/unicode/1f6b0.png new file mode 100644 index 0000000..9c97e46 Binary files /dev/null and b/src/images/emoji/unicode/1f6b0.png differ diff --git a/src/images/emoji/unicode/1f6b1.png b/src/images/emoji/unicode/1f6b1.png new file mode 100644 index 0000000..9fa3247 Binary files /dev/null and b/src/images/emoji/unicode/1f6b1.png differ diff --git a/src/images/emoji/unicode/1f6b2.png b/src/images/emoji/unicode/1f6b2.png new file mode 100644 index 0000000..bdcda0a Binary files /dev/null and b/src/images/emoji/unicode/1f6b2.png differ diff --git a/src/images/emoji/unicode/1f6b3.png b/src/images/emoji/unicode/1f6b3.png new file mode 100644 index 0000000..6eec64a Binary files /dev/null and b/src/images/emoji/unicode/1f6b3.png differ diff --git a/src/images/emoji/unicode/1f6b4-1f3fb.png b/src/images/emoji/unicode/1f6b4-1f3fb.png new file mode 100644 index 0000000..9d63bbe Binary files /dev/null and b/src/images/emoji/unicode/1f6b4-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f6b4-1f3fc.png b/src/images/emoji/unicode/1f6b4-1f3fc.png new file mode 100644 index 0000000..ca53788 Binary files /dev/null and b/src/images/emoji/unicode/1f6b4-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f6b4-1f3fd.png b/src/images/emoji/unicode/1f6b4-1f3fd.png new file mode 100644 index 0000000..609cace Binary files /dev/null and b/src/images/emoji/unicode/1f6b4-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f6b4-1f3fe.png b/src/images/emoji/unicode/1f6b4-1f3fe.png new file mode 100644 index 0000000..5897cc3 Binary files /dev/null and b/src/images/emoji/unicode/1f6b4-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f6b4-1f3ff.png b/src/images/emoji/unicode/1f6b4-1f3ff.png new file mode 100644 index 0000000..4c79c39 Binary files /dev/null and b/src/images/emoji/unicode/1f6b4-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f6b4.png b/src/images/emoji/unicode/1f6b4.png new file mode 100644 index 0000000..3e21a4f Binary files /dev/null and b/src/images/emoji/unicode/1f6b4.png differ diff --git a/src/images/emoji/unicode/1f6b5-1f3fb.png b/src/images/emoji/unicode/1f6b5-1f3fb.png new file mode 100644 index 0000000..889930a Binary files /dev/null and b/src/images/emoji/unicode/1f6b5-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f6b5-1f3fc.png b/src/images/emoji/unicode/1f6b5-1f3fc.png new file mode 100644 index 0000000..4e22a92 Binary files /dev/null and b/src/images/emoji/unicode/1f6b5-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f6b5-1f3fd.png b/src/images/emoji/unicode/1f6b5-1f3fd.png new file mode 100644 index 0000000..7c459fc Binary files /dev/null and b/src/images/emoji/unicode/1f6b5-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f6b5-1f3fe.png b/src/images/emoji/unicode/1f6b5-1f3fe.png new file mode 100644 index 0000000..e12a22c Binary files /dev/null and b/src/images/emoji/unicode/1f6b5-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f6b5-1f3ff.png b/src/images/emoji/unicode/1f6b5-1f3ff.png new file mode 100644 index 0000000..0679352 Binary files /dev/null and b/src/images/emoji/unicode/1f6b5-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f6b5.png b/src/images/emoji/unicode/1f6b5.png new file mode 100644 index 0000000..5525174 Binary files /dev/null and b/src/images/emoji/unicode/1f6b5.png differ diff --git a/src/images/emoji/unicode/1f6b6-1f3fb.png b/src/images/emoji/unicode/1f6b6-1f3fb.png new file mode 100644 index 0000000..4f29ceb Binary files /dev/null and b/src/images/emoji/unicode/1f6b6-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f6b6-1f3fc.png b/src/images/emoji/unicode/1f6b6-1f3fc.png new file mode 100644 index 0000000..a83e576 Binary files /dev/null and b/src/images/emoji/unicode/1f6b6-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f6b6-1f3fd.png b/src/images/emoji/unicode/1f6b6-1f3fd.png new file mode 100644 index 0000000..f464d9d Binary files /dev/null and b/src/images/emoji/unicode/1f6b6-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f6b6-1f3fe.png b/src/images/emoji/unicode/1f6b6-1f3fe.png new file mode 100644 index 0000000..fef0166 Binary files /dev/null and b/src/images/emoji/unicode/1f6b6-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f6b6-1f3ff.png b/src/images/emoji/unicode/1f6b6-1f3ff.png new file mode 100644 index 0000000..e1023b5 Binary files /dev/null and b/src/images/emoji/unicode/1f6b6-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f6b6.png b/src/images/emoji/unicode/1f6b6.png new file mode 100644 index 0000000..b74c90f Binary files /dev/null and b/src/images/emoji/unicode/1f6b6.png differ diff --git a/src/images/emoji/unicode/1f6b7.png b/src/images/emoji/unicode/1f6b7.png new file mode 100644 index 0000000..23d59fd Binary files /dev/null and b/src/images/emoji/unicode/1f6b7.png differ diff --git a/src/images/emoji/unicode/1f6b8.png b/src/images/emoji/unicode/1f6b8.png new file mode 100644 index 0000000..8d5ed8a Binary files /dev/null and b/src/images/emoji/unicode/1f6b8.png differ diff --git a/src/images/emoji/unicode/1f6b9.png b/src/images/emoji/unicode/1f6b9.png new file mode 100644 index 0000000..a1e3b6e Binary files /dev/null and b/src/images/emoji/unicode/1f6b9.png differ diff --git a/src/images/emoji/unicode/1f6ba.png b/src/images/emoji/unicode/1f6ba.png new file mode 100644 index 0000000..6267b43 Binary files /dev/null and b/src/images/emoji/unicode/1f6ba.png differ diff --git a/src/images/emoji/unicode/1f6bb.png b/src/images/emoji/unicode/1f6bb.png new file mode 100644 index 0000000..3fec5f8 Binary files /dev/null and b/src/images/emoji/unicode/1f6bb.png differ diff --git a/src/images/emoji/unicode/1f6bc.png b/src/images/emoji/unicode/1f6bc.png new file mode 100644 index 0000000..27f6f92 Binary files /dev/null and b/src/images/emoji/unicode/1f6bc.png differ diff --git a/src/images/emoji/unicode/1f6bd.png b/src/images/emoji/unicode/1f6bd.png new file mode 100644 index 0000000..b879cb6 Binary files /dev/null and b/src/images/emoji/unicode/1f6bd.png differ diff --git a/src/images/emoji/unicode/1f6be.png b/src/images/emoji/unicode/1f6be.png new file mode 100644 index 0000000..5e915bd Binary files /dev/null and b/src/images/emoji/unicode/1f6be.png differ diff --git a/src/images/emoji/unicode/1f6bf.png b/src/images/emoji/unicode/1f6bf.png new file mode 100644 index 0000000..ccbc7d2 Binary files /dev/null and b/src/images/emoji/unicode/1f6bf.png differ diff --git a/src/images/emoji/unicode/1f6c0-1f3fb.png b/src/images/emoji/unicode/1f6c0-1f3fb.png new file mode 100644 index 0000000..7ac38b9 Binary files /dev/null and b/src/images/emoji/unicode/1f6c0-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f6c0-1f3fc.png b/src/images/emoji/unicode/1f6c0-1f3fc.png new file mode 100644 index 0000000..313a942 Binary files /dev/null and b/src/images/emoji/unicode/1f6c0-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f6c0-1f3fd.png b/src/images/emoji/unicode/1f6c0-1f3fd.png new file mode 100644 index 0000000..fcbed50 Binary files /dev/null and b/src/images/emoji/unicode/1f6c0-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f6c0-1f3fe.png b/src/images/emoji/unicode/1f6c0-1f3fe.png new file mode 100644 index 0000000..53dc11c Binary files /dev/null and b/src/images/emoji/unicode/1f6c0-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f6c0-1f3ff.png b/src/images/emoji/unicode/1f6c0-1f3ff.png new file mode 100644 index 0000000..a1c0406 Binary files /dev/null and b/src/images/emoji/unicode/1f6c0-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f6c0.png b/src/images/emoji/unicode/1f6c0.png new file mode 100644 index 0000000..8909ea8 Binary files /dev/null and b/src/images/emoji/unicode/1f6c0.png differ diff --git a/src/images/emoji/unicode/1f6c1.png b/src/images/emoji/unicode/1f6c1.png new file mode 100644 index 0000000..922e209 Binary files /dev/null and b/src/images/emoji/unicode/1f6c1.png differ diff --git a/src/images/emoji/unicode/1f6c2.png b/src/images/emoji/unicode/1f6c2.png new file mode 100644 index 0000000..d1c438c Binary files /dev/null and b/src/images/emoji/unicode/1f6c2.png differ diff --git a/src/images/emoji/unicode/1f6c3.png b/src/images/emoji/unicode/1f6c3.png new file mode 100644 index 0000000..a86b849 Binary files /dev/null and b/src/images/emoji/unicode/1f6c3.png differ diff --git a/src/images/emoji/unicode/1f6c4.png b/src/images/emoji/unicode/1f6c4.png new file mode 100644 index 0000000..8ea5760 Binary files /dev/null and b/src/images/emoji/unicode/1f6c4.png differ diff --git a/src/images/emoji/unicode/1f6c5.png b/src/images/emoji/unicode/1f6c5.png new file mode 100644 index 0000000..92d2a71 Binary files /dev/null and b/src/images/emoji/unicode/1f6c5.png differ diff --git a/src/images/emoji/unicode/1f6cb.png b/src/images/emoji/unicode/1f6cb.png new file mode 100644 index 0000000..3596db6 Binary files /dev/null and b/src/images/emoji/unicode/1f6cb.png differ diff --git a/src/images/emoji/unicode/1f6cc.png b/src/images/emoji/unicode/1f6cc.png new file mode 100644 index 0000000..b906709 Binary files /dev/null and b/src/images/emoji/unicode/1f6cc.png differ diff --git a/src/images/emoji/unicode/1f6cd.png b/src/images/emoji/unicode/1f6cd.png new file mode 100644 index 0000000..a62cf69 Binary files /dev/null and b/src/images/emoji/unicode/1f6cd.png differ diff --git a/src/images/emoji/unicode/1f6ce.png b/src/images/emoji/unicode/1f6ce.png new file mode 100644 index 0000000..3a64e17 Binary files /dev/null and b/src/images/emoji/unicode/1f6ce.png differ diff --git a/src/images/emoji/unicode/1f6cf.png b/src/images/emoji/unicode/1f6cf.png new file mode 100644 index 0000000..8893f35 Binary files /dev/null and b/src/images/emoji/unicode/1f6cf.png differ diff --git a/src/images/emoji/unicode/1f6d0.png b/src/images/emoji/unicode/1f6d0.png new file mode 100644 index 0000000..f61486c Binary files /dev/null and b/src/images/emoji/unicode/1f6d0.png differ diff --git a/src/images/emoji/unicode/1f6e0.png b/src/images/emoji/unicode/1f6e0.png new file mode 100644 index 0000000..3723b4a Binary files /dev/null and b/src/images/emoji/unicode/1f6e0.png differ diff --git a/src/images/emoji/unicode/1f6e1.png b/src/images/emoji/unicode/1f6e1.png new file mode 100644 index 0000000..4dcc1d1 Binary files /dev/null and b/src/images/emoji/unicode/1f6e1.png differ diff --git a/src/images/emoji/unicode/1f6e2.png b/src/images/emoji/unicode/1f6e2.png new file mode 100644 index 0000000..90b4179 Binary files /dev/null and b/src/images/emoji/unicode/1f6e2.png differ diff --git a/src/images/emoji/unicode/1f6e3.png b/src/images/emoji/unicode/1f6e3.png new file mode 100644 index 0000000..71a736c Binary files /dev/null and b/src/images/emoji/unicode/1f6e3.png differ diff --git a/src/images/emoji/unicode/1f6e4.png b/src/images/emoji/unicode/1f6e4.png new file mode 100644 index 0000000..0c4825c Binary files /dev/null and b/src/images/emoji/unicode/1f6e4.png differ diff --git a/src/images/emoji/unicode/1f6e5.png b/src/images/emoji/unicode/1f6e5.png new file mode 100644 index 0000000..76b2370 Binary files /dev/null and b/src/images/emoji/unicode/1f6e5.png differ diff --git a/src/images/emoji/unicode/1f6e9.png b/src/images/emoji/unicode/1f6e9.png new file mode 100644 index 0000000..2328135 Binary files /dev/null and b/src/images/emoji/unicode/1f6e9.png differ diff --git a/src/images/emoji/unicode/1f6eb.png b/src/images/emoji/unicode/1f6eb.png new file mode 100644 index 0000000..d8fa08b Binary files /dev/null and b/src/images/emoji/unicode/1f6eb.png differ diff --git a/src/images/emoji/unicode/1f6ec.png b/src/images/emoji/unicode/1f6ec.png new file mode 100644 index 0000000..0d16952 Binary files /dev/null and b/src/images/emoji/unicode/1f6ec.png differ diff --git a/src/images/emoji/unicode/1f6f0.png b/src/images/emoji/unicode/1f6f0.png new file mode 100644 index 0000000..7e1223d Binary files /dev/null and b/src/images/emoji/unicode/1f6f0.png differ diff --git a/src/images/emoji/unicode/1f6f3.png b/src/images/emoji/unicode/1f6f3.png new file mode 100644 index 0000000..265f78a Binary files /dev/null and b/src/images/emoji/unicode/1f6f3.png differ diff --git a/src/images/emoji/unicode/1f910.png b/src/images/emoji/unicode/1f910.png new file mode 100644 index 0000000..2ddaf45 Binary files /dev/null and b/src/images/emoji/unicode/1f910.png differ diff --git a/src/images/emoji/unicode/1f911.png b/src/images/emoji/unicode/1f911.png new file mode 100644 index 0000000..3b812a1 Binary files /dev/null and b/src/images/emoji/unicode/1f911.png differ diff --git a/src/images/emoji/unicode/1f912.png b/src/images/emoji/unicode/1f912.png new file mode 100644 index 0000000..caa9677 Binary files /dev/null and b/src/images/emoji/unicode/1f912.png differ diff --git a/src/images/emoji/unicode/1f913.png b/src/images/emoji/unicode/1f913.png new file mode 100644 index 0000000..87344a9 Binary files /dev/null and b/src/images/emoji/unicode/1f913.png differ diff --git a/src/images/emoji/unicode/1f914.png b/src/images/emoji/unicode/1f914.png new file mode 100644 index 0000000..4697768 Binary files /dev/null and b/src/images/emoji/unicode/1f914.png differ diff --git a/src/images/emoji/unicode/1f915.png b/src/images/emoji/unicode/1f915.png new file mode 100644 index 0000000..e88b489 Binary files /dev/null and b/src/images/emoji/unicode/1f915.png differ diff --git a/src/images/emoji/unicode/1f916.png b/src/images/emoji/unicode/1f916.png new file mode 100644 index 0000000..80ea471 Binary files /dev/null and b/src/images/emoji/unicode/1f916.png differ diff --git a/src/images/emoji/unicode/1f917.png b/src/images/emoji/unicode/1f917.png new file mode 100644 index 0000000..cb26c2c Binary files /dev/null and b/src/images/emoji/unicode/1f917.png differ diff --git a/src/images/emoji/unicode/1f918-1f3fb.png b/src/images/emoji/unicode/1f918-1f3fb.png new file mode 100644 index 0000000..3778321 Binary files /dev/null and b/src/images/emoji/unicode/1f918-1f3fb.png differ diff --git a/src/images/emoji/unicode/1f918-1f3fc.png b/src/images/emoji/unicode/1f918-1f3fc.png new file mode 100644 index 0000000..eac3b7a Binary files /dev/null and b/src/images/emoji/unicode/1f918-1f3fc.png differ diff --git a/src/images/emoji/unicode/1f918-1f3fd.png b/src/images/emoji/unicode/1f918-1f3fd.png new file mode 100644 index 0000000..40f4064 Binary files /dev/null and b/src/images/emoji/unicode/1f918-1f3fd.png differ diff --git a/src/images/emoji/unicode/1f918-1f3fe.png b/src/images/emoji/unicode/1f918-1f3fe.png new file mode 100644 index 0000000..f0bd5d2 Binary files /dev/null and b/src/images/emoji/unicode/1f918-1f3fe.png differ diff --git a/src/images/emoji/unicode/1f918-1f3ff.png b/src/images/emoji/unicode/1f918-1f3ff.png new file mode 100644 index 0000000..cfc5c72 Binary files /dev/null and b/src/images/emoji/unicode/1f918-1f3ff.png differ diff --git a/src/images/emoji/unicode/1f918.png b/src/images/emoji/unicode/1f918.png new file mode 100644 index 0000000..1b4b3b1 Binary files /dev/null and b/src/images/emoji/unicode/1f918.png differ diff --git a/src/images/emoji/unicode/1f980.png b/src/images/emoji/unicode/1f980.png new file mode 100644 index 0000000..f3c8a6d Binary files /dev/null and b/src/images/emoji/unicode/1f980.png differ diff --git a/src/images/emoji/unicode/1f981.png b/src/images/emoji/unicode/1f981.png new file mode 100644 index 0000000..47a20a6 Binary files /dev/null and b/src/images/emoji/unicode/1f981.png differ diff --git a/src/images/emoji/unicode/1f982.png b/src/images/emoji/unicode/1f982.png new file mode 100644 index 0000000..a8fec65 Binary files /dev/null and b/src/images/emoji/unicode/1f982.png differ diff --git a/src/images/emoji/unicode/1f983.png b/src/images/emoji/unicode/1f983.png new file mode 100644 index 0000000..8f4f363 Binary files /dev/null and b/src/images/emoji/unicode/1f983.png differ diff --git a/src/images/emoji/unicode/1f984.png b/src/images/emoji/unicode/1f984.png new file mode 100644 index 0000000..dca45ab Binary files /dev/null and b/src/images/emoji/unicode/1f984.png differ diff --git a/src/images/emoji/unicode/1f9c0.png b/src/images/emoji/unicode/1f9c0.png new file mode 100644 index 0000000..9034258 Binary files /dev/null and b/src/images/emoji/unicode/1f9c0.png differ diff --git a/src/images/emoji/unicode/203c.png b/src/images/emoji/unicode/203c.png new file mode 100644 index 0000000..6aafa30 Binary files /dev/null and b/src/images/emoji/unicode/203c.png differ diff --git a/src/images/emoji/unicode/2049.png b/src/images/emoji/unicode/2049.png new file mode 100644 index 0000000..4572910 Binary files /dev/null and b/src/images/emoji/unicode/2049.png differ diff --git a/src/images/emoji/unicode/2122.png b/src/images/emoji/unicode/2122.png new file mode 100644 index 0000000..f9d7d59 Binary files /dev/null and b/src/images/emoji/unicode/2122.png differ diff --git a/src/images/emoji/unicode/2139.png b/src/images/emoji/unicode/2139.png new file mode 100644 index 0000000..bb67613 Binary files /dev/null and b/src/images/emoji/unicode/2139.png differ diff --git a/src/images/emoji/unicode/2194.png b/src/images/emoji/unicode/2194.png new file mode 100644 index 0000000..8254cf2 Binary files /dev/null and b/src/images/emoji/unicode/2194.png differ diff --git a/src/images/emoji/unicode/2195.png b/src/images/emoji/unicode/2195.png new file mode 100644 index 0000000..16e0f09 Binary files /dev/null and b/src/images/emoji/unicode/2195.png differ diff --git a/src/images/emoji/unicode/2196.png b/src/images/emoji/unicode/2196.png new file mode 100644 index 0000000..5abfcfc Binary files /dev/null and b/src/images/emoji/unicode/2196.png differ diff --git a/src/images/emoji/unicode/2197.png b/src/images/emoji/unicode/2197.png new file mode 100644 index 0000000..cd627d5 Binary files /dev/null and b/src/images/emoji/unicode/2197.png differ diff --git a/src/images/emoji/unicode/2198.png b/src/images/emoji/unicode/2198.png new file mode 100644 index 0000000..6f4e71a Binary files /dev/null and b/src/images/emoji/unicode/2198.png differ diff --git a/src/images/emoji/unicode/2199.png b/src/images/emoji/unicode/2199.png new file mode 100644 index 0000000..c10ae1b Binary files /dev/null and b/src/images/emoji/unicode/2199.png differ diff --git a/src/images/emoji/unicode/21a9.png b/src/images/emoji/unicode/21a9.png new file mode 100644 index 0000000..eb21e8f Binary files /dev/null and b/src/images/emoji/unicode/21a9.png differ diff --git a/src/images/emoji/unicode/21aa.png b/src/images/emoji/unicode/21aa.png new file mode 100644 index 0000000..3ec25cb Binary files /dev/null and b/src/images/emoji/unicode/21aa.png differ diff --git a/src/images/emoji/unicode/231a.png b/src/images/emoji/unicode/231a.png new file mode 100644 index 0000000..64b85a7 Binary files /dev/null and b/src/images/emoji/unicode/231a.png differ diff --git a/src/images/emoji/unicode/231b.png b/src/images/emoji/unicode/231b.png new file mode 100644 index 0000000..8e0c243 Binary files /dev/null and b/src/images/emoji/unicode/231b.png differ diff --git a/src/images/emoji/unicode/2328.png b/src/images/emoji/unicode/2328.png new file mode 100644 index 0000000..752afc1 Binary files /dev/null and b/src/images/emoji/unicode/2328.png differ diff --git a/src/images/emoji/unicode/23e9.png b/src/images/emoji/unicode/23e9.png new file mode 100644 index 0000000..f972404 Binary files /dev/null and b/src/images/emoji/unicode/23e9.png differ diff --git a/src/images/emoji/unicode/23ea.png b/src/images/emoji/unicode/23ea.png new file mode 100644 index 0000000..2186ea1 Binary files /dev/null and b/src/images/emoji/unicode/23ea.png differ diff --git a/src/images/emoji/unicode/23eb.png b/src/images/emoji/unicode/23eb.png new file mode 100644 index 0000000..4aa7663 Binary files /dev/null and b/src/images/emoji/unicode/23eb.png differ diff --git a/src/images/emoji/unicode/23ec.png b/src/images/emoji/unicode/23ec.png new file mode 100644 index 0000000..1b5d68d Binary files /dev/null and b/src/images/emoji/unicode/23ec.png differ diff --git a/src/images/emoji/unicode/23ed.png b/src/images/emoji/unicode/23ed.png new file mode 100644 index 0000000..508e480 Binary files /dev/null and b/src/images/emoji/unicode/23ed.png differ diff --git a/src/images/emoji/unicode/23ee.png b/src/images/emoji/unicode/23ee.png new file mode 100644 index 0000000..fec6724 Binary files /dev/null and b/src/images/emoji/unicode/23ee.png differ diff --git a/src/images/emoji/unicode/23ef.png b/src/images/emoji/unicode/23ef.png new file mode 100644 index 0000000..6176196 Binary files /dev/null and b/src/images/emoji/unicode/23ef.png differ diff --git a/src/images/emoji/unicode/23f0.png b/src/images/emoji/unicode/23f0.png new file mode 100644 index 0000000..1af1606 Binary files /dev/null and b/src/images/emoji/unicode/23f0.png differ diff --git a/src/images/emoji/unicode/23f1.png b/src/images/emoji/unicode/23f1.png new file mode 100644 index 0000000..d1eb469 Binary files /dev/null and b/src/images/emoji/unicode/23f1.png differ diff --git a/src/images/emoji/unicode/23f2.png b/src/images/emoji/unicode/23f2.png new file mode 100644 index 0000000..161640a Binary files /dev/null and b/src/images/emoji/unicode/23f2.png differ diff --git a/src/images/emoji/unicode/23f3.png b/src/images/emoji/unicode/23f3.png new file mode 100644 index 0000000..4d8a345 Binary files /dev/null and b/src/images/emoji/unicode/23f3.png differ diff --git a/src/images/emoji/unicode/23f8.png b/src/images/emoji/unicode/23f8.png new file mode 100644 index 0000000..b66c56a Binary files /dev/null and b/src/images/emoji/unicode/23f8.png differ diff --git a/src/images/emoji/unicode/23f9.png b/src/images/emoji/unicode/23f9.png new file mode 100644 index 0000000..66a8974 Binary files /dev/null and b/src/images/emoji/unicode/23f9.png differ diff --git a/src/images/emoji/unicode/23fa.png b/src/images/emoji/unicode/23fa.png new file mode 100644 index 0000000..b62b871 Binary files /dev/null and b/src/images/emoji/unicode/23fa.png differ diff --git a/src/images/emoji/unicode/24c2.png b/src/images/emoji/unicode/24c2.png new file mode 100644 index 0000000..bc63871 Binary files /dev/null and b/src/images/emoji/unicode/24c2.png differ diff --git a/src/images/emoji/unicode/25aa.png b/src/images/emoji/unicode/25aa.png new file mode 100644 index 0000000..6f2997d Binary files /dev/null and b/src/images/emoji/unicode/25aa.png differ diff --git a/src/images/emoji/unicode/25ab.png b/src/images/emoji/unicode/25ab.png new file mode 100644 index 0000000..7202305 Binary files /dev/null and b/src/images/emoji/unicode/25ab.png differ diff --git a/src/images/emoji/unicode/25b6.png b/src/images/emoji/unicode/25b6.png new file mode 100644 index 0000000..658d153 Binary files /dev/null and b/src/images/emoji/unicode/25b6.png differ diff --git a/src/images/emoji/unicode/25c0.png b/src/images/emoji/unicode/25c0.png new file mode 100644 index 0000000..7f3ec82 Binary files /dev/null and b/src/images/emoji/unicode/25c0.png differ diff --git a/src/images/emoji/unicode/25fb.png b/src/images/emoji/unicode/25fb.png new file mode 100644 index 0000000..450a998 Binary files /dev/null and b/src/images/emoji/unicode/25fb.png differ diff --git a/src/images/emoji/unicode/25fc.png b/src/images/emoji/unicode/25fc.png new file mode 100644 index 0000000..9c7b82a Binary files /dev/null and b/src/images/emoji/unicode/25fc.png differ diff --git a/src/images/emoji/unicode/25fd.png b/src/images/emoji/unicode/25fd.png new file mode 100644 index 0000000..255d65f Binary files /dev/null and b/src/images/emoji/unicode/25fd.png differ diff --git a/src/images/emoji/unicode/25fe.png b/src/images/emoji/unicode/25fe.png new file mode 100644 index 0000000..2fee774 Binary files /dev/null and b/src/images/emoji/unicode/25fe.png differ diff --git a/src/images/emoji/unicode/2600.png b/src/images/emoji/unicode/2600.png new file mode 100644 index 0000000..8d5b75f Binary files /dev/null and b/src/images/emoji/unicode/2600.png differ diff --git a/src/images/emoji/unicode/2601.png b/src/images/emoji/unicode/2601.png new file mode 100644 index 0000000..5c23db4 Binary files /dev/null and b/src/images/emoji/unicode/2601.png differ diff --git a/src/images/emoji/unicode/2602.png b/src/images/emoji/unicode/2602.png new file mode 100644 index 0000000..5929702 Binary files /dev/null and b/src/images/emoji/unicode/2602.png differ diff --git a/src/images/emoji/unicode/2603.png b/src/images/emoji/unicode/2603.png new file mode 100644 index 0000000..b585602 Binary files /dev/null and b/src/images/emoji/unicode/2603.png differ diff --git a/src/images/emoji/unicode/2604.png b/src/images/emoji/unicode/2604.png new file mode 100644 index 0000000..cc20d03 Binary files /dev/null and b/src/images/emoji/unicode/2604.png differ diff --git a/src/images/emoji/unicode/260e.png b/src/images/emoji/unicode/260e.png new file mode 100644 index 0000000..6b24aad Binary files /dev/null and b/src/images/emoji/unicode/260e.png differ diff --git a/src/images/emoji/unicode/2611.png b/src/images/emoji/unicode/2611.png new file mode 100644 index 0000000..3f55654 Binary files /dev/null and b/src/images/emoji/unicode/2611.png differ diff --git a/src/images/emoji/unicode/2614.png b/src/images/emoji/unicode/2614.png new file mode 100644 index 0000000..7529d5b Binary files /dev/null and b/src/images/emoji/unicode/2614.png differ diff --git a/src/images/emoji/unicode/2615.png b/src/images/emoji/unicode/2615.png new file mode 100644 index 0000000..b9579d5 Binary files /dev/null and b/src/images/emoji/unicode/2615.png differ diff --git a/src/images/emoji/unicode/2618.png b/src/images/emoji/unicode/2618.png new file mode 100644 index 0000000..896d688 Binary files /dev/null and b/src/images/emoji/unicode/2618.png differ diff --git a/src/images/emoji/unicode/261d-1f3fb.png b/src/images/emoji/unicode/261d-1f3fb.png new file mode 100644 index 0000000..0fd101d Binary files /dev/null and b/src/images/emoji/unicode/261d-1f3fb.png differ diff --git a/src/images/emoji/unicode/261d-1f3fc.png b/src/images/emoji/unicode/261d-1f3fc.png new file mode 100644 index 0000000..6be6e85 Binary files /dev/null and b/src/images/emoji/unicode/261d-1f3fc.png differ diff --git a/src/images/emoji/unicode/261d-1f3fd.png b/src/images/emoji/unicode/261d-1f3fd.png new file mode 100644 index 0000000..6211e92 Binary files /dev/null and b/src/images/emoji/unicode/261d-1f3fd.png differ diff --git a/src/images/emoji/unicode/261d-1f3fe.png b/src/images/emoji/unicode/261d-1f3fe.png new file mode 100644 index 0000000..4250a6f Binary files /dev/null and b/src/images/emoji/unicode/261d-1f3fe.png differ diff --git a/src/images/emoji/unicode/261d-1f3ff.png b/src/images/emoji/unicode/261d-1f3ff.png new file mode 100644 index 0000000..8565ddc Binary files /dev/null and b/src/images/emoji/unicode/261d-1f3ff.png differ diff --git a/src/images/emoji/unicode/261d.png b/src/images/emoji/unicode/261d.png new file mode 100644 index 0000000..e465b28 Binary files /dev/null and b/src/images/emoji/unicode/261d.png differ diff --git a/src/images/emoji/unicode/2620.png b/src/images/emoji/unicode/2620.png new file mode 100644 index 0000000..53c3041 Binary files /dev/null and b/src/images/emoji/unicode/2620.png differ diff --git a/src/images/emoji/unicode/2622.png b/src/images/emoji/unicode/2622.png new file mode 100644 index 0000000..5f62a9d Binary files /dev/null and b/src/images/emoji/unicode/2622.png differ diff --git a/src/images/emoji/unicode/2623.png b/src/images/emoji/unicode/2623.png new file mode 100644 index 0000000..9c3e4e9 Binary files /dev/null and b/src/images/emoji/unicode/2623.png differ diff --git a/src/images/emoji/unicode/2626.png b/src/images/emoji/unicode/2626.png new file mode 100644 index 0000000..35af165 Binary files /dev/null and b/src/images/emoji/unicode/2626.png differ diff --git a/src/images/emoji/unicode/262a.png b/src/images/emoji/unicode/262a.png new file mode 100644 index 0000000..56ab462 Binary files /dev/null and b/src/images/emoji/unicode/262a.png differ diff --git a/src/images/emoji/unicode/262e.png b/src/images/emoji/unicode/262e.png new file mode 100644 index 0000000..2dfb7fd Binary files /dev/null and b/src/images/emoji/unicode/262e.png differ diff --git a/src/images/emoji/unicode/262f.png b/src/images/emoji/unicode/262f.png new file mode 100644 index 0000000..e8769c4 Binary files /dev/null and b/src/images/emoji/unicode/262f.png differ diff --git a/src/images/emoji/unicode/2638.png b/src/images/emoji/unicode/2638.png new file mode 100644 index 0000000..5e150fe Binary files /dev/null and b/src/images/emoji/unicode/2638.png differ diff --git a/src/images/emoji/unicode/2639.png b/src/images/emoji/unicode/2639.png new file mode 100644 index 0000000..9a1cae3 Binary files /dev/null and b/src/images/emoji/unicode/2639.png differ diff --git a/src/images/emoji/unicode/263a.png b/src/images/emoji/unicode/263a.png new file mode 100644 index 0000000..a9a5dd6 Binary files /dev/null and b/src/images/emoji/unicode/263a.png differ diff --git a/src/images/emoji/unicode/2648.png b/src/images/emoji/unicode/2648.png new file mode 100644 index 0000000..38e4f54 Binary files /dev/null and b/src/images/emoji/unicode/2648.png differ diff --git a/src/images/emoji/unicode/2649.png b/src/images/emoji/unicode/2649.png new file mode 100644 index 0000000..5de3278 Binary files /dev/null and b/src/images/emoji/unicode/2649.png differ diff --git a/src/images/emoji/unicode/264a.png b/src/images/emoji/unicode/264a.png new file mode 100644 index 0000000..82906d9 Binary files /dev/null and b/src/images/emoji/unicode/264a.png differ diff --git a/src/images/emoji/unicode/264b.png b/src/images/emoji/unicode/264b.png new file mode 100644 index 0000000..0d27b20 Binary files /dev/null and b/src/images/emoji/unicode/264b.png differ diff --git a/src/images/emoji/unicode/264c.png b/src/images/emoji/unicode/264c.png new file mode 100644 index 0000000..0e68284 Binary files /dev/null and b/src/images/emoji/unicode/264c.png differ diff --git a/src/images/emoji/unicode/264d.png b/src/images/emoji/unicode/264d.png new file mode 100644 index 0000000..67ef83a Binary files /dev/null and b/src/images/emoji/unicode/264d.png differ diff --git a/src/images/emoji/unicode/264e.png b/src/images/emoji/unicode/264e.png new file mode 100644 index 0000000..8cdf14f Binary files /dev/null and b/src/images/emoji/unicode/264e.png differ diff --git a/src/images/emoji/unicode/264f.png b/src/images/emoji/unicode/264f.png new file mode 100644 index 0000000..98f733e Binary files /dev/null and b/src/images/emoji/unicode/264f.png differ diff --git a/src/images/emoji/unicode/2650.png b/src/images/emoji/unicode/2650.png new file mode 100644 index 0000000..c6179c4 Binary files /dev/null and b/src/images/emoji/unicode/2650.png differ diff --git a/src/images/emoji/unicode/2651.png b/src/images/emoji/unicode/2651.png new file mode 100644 index 0000000..9420b4c Binary files /dev/null and b/src/images/emoji/unicode/2651.png differ diff --git a/src/images/emoji/unicode/2652.png b/src/images/emoji/unicode/2652.png new file mode 100644 index 0000000..bff8ab1 Binary files /dev/null and b/src/images/emoji/unicode/2652.png differ diff --git a/src/images/emoji/unicode/2653.png b/src/images/emoji/unicode/2653.png new file mode 100644 index 0000000..8d6684a Binary files /dev/null and b/src/images/emoji/unicode/2653.png differ diff --git a/src/images/emoji/unicode/2660.png b/src/images/emoji/unicode/2660.png new file mode 100644 index 0000000..66b9c27 Binary files /dev/null and b/src/images/emoji/unicode/2660.png differ diff --git a/src/images/emoji/unicode/2663.png b/src/images/emoji/unicode/2663.png new file mode 100644 index 0000000..9535b06 Binary files /dev/null and b/src/images/emoji/unicode/2663.png differ diff --git a/src/images/emoji/unicode/2665.png b/src/images/emoji/unicode/2665.png new file mode 100644 index 0000000..841e76e Binary files /dev/null and b/src/images/emoji/unicode/2665.png differ diff --git a/src/images/emoji/unicode/2666.png b/src/images/emoji/unicode/2666.png new file mode 100644 index 0000000..3e75e68 Binary files /dev/null and b/src/images/emoji/unicode/2666.png differ diff --git a/src/images/emoji/unicode/2668.png b/src/images/emoji/unicode/2668.png new file mode 100644 index 0000000..dcf3e10 Binary files /dev/null and b/src/images/emoji/unicode/2668.png differ diff --git a/src/images/emoji/unicode/267b.png b/src/images/emoji/unicode/267b.png new file mode 100644 index 0000000..0d63d91 Binary files /dev/null and b/src/images/emoji/unicode/267b.png differ diff --git a/src/images/emoji/unicode/267f.png b/src/images/emoji/unicode/267f.png new file mode 100644 index 0000000..ec84362 Binary files /dev/null and b/src/images/emoji/unicode/267f.png differ diff --git a/src/images/emoji/unicode/2692.png b/src/images/emoji/unicode/2692.png new file mode 100644 index 0000000..ea496d6 Binary files /dev/null and b/src/images/emoji/unicode/2692.png differ diff --git a/src/images/emoji/unicode/2693.png b/src/images/emoji/unicode/2693.png new file mode 100644 index 0000000..b549274 Binary files /dev/null and b/src/images/emoji/unicode/2693.png differ diff --git a/src/images/emoji/unicode/2694.png b/src/images/emoji/unicode/2694.png new file mode 100644 index 0000000..7e992fa Binary files /dev/null and b/src/images/emoji/unicode/2694.png differ diff --git a/src/images/emoji/unicode/2696.png b/src/images/emoji/unicode/2696.png new file mode 100644 index 0000000..3c88977 Binary files /dev/null and b/src/images/emoji/unicode/2696.png differ diff --git a/src/images/emoji/unicode/2697.png b/src/images/emoji/unicode/2697.png new file mode 100644 index 0000000..82b4e96 Binary files /dev/null and b/src/images/emoji/unicode/2697.png differ diff --git a/src/images/emoji/unicode/2699.png b/src/images/emoji/unicode/2699.png new file mode 100644 index 0000000..7f45be6 Binary files /dev/null and b/src/images/emoji/unicode/2699.png differ diff --git a/src/images/emoji/unicode/269b.png b/src/images/emoji/unicode/269b.png new file mode 100644 index 0000000..93d5623 Binary files /dev/null and b/src/images/emoji/unicode/269b.png differ diff --git a/src/images/emoji/unicode/269c.png b/src/images/emoji/unicode/269c.png new file mode 100644 index 0000000..f3b9dea Binary files /dev/null and b/src/images/emoji/unicode/269c.png differ diff --git a/src/images/emoji/unicode/26a0.png b/src/images/emoji/unicode/26a0.png new file mode 100644 index 0000000..2228676 Binary files /dev/null and b/src/images/emoji/unicode/26a0.png differ diff --git a/src/images/emoji/unicode/26a1.png b/src/images/emoji/unicode/26a1.png new file mode 100644 index 0000000..d3497a8 Binary files /dev/null and b/src/images/emoji/unicode/26a1.png differ diff --git a/src/images/emoji/unicode/26aa.png b/src/images/emoji/unicode/26aa.png new file mode 100644 index 0000000..c19e156 Binary files /dev/null and b/src/images/emoji/unicode/26aa.png differ diff --git a/src/images/emoji/unicode/26ab.png b/src/images/emoji/unicode/26ab.png new file mode 100644 index 0000000..b62b871 Binary files /dev/null and b/src/images/emoji/unicode/26ab.png differ diff --git a/src/images/emoji/unicode/26b0.png b/src/images/emoji/unicode/26b0.png new file mode 100644 index 0000000..06e59a7 Binary files /dev/null and b/src/images/emoji/unicode/26b0.png differ diff --git a/src/images/emoji/unicode/26b1.png b/src/images/emoji/unicode/26b1.png new file mode 100644 index 0000000..9d934ba Binary files /dev/null and b/src/images/emoji/unicode/26b1.png differ diff --git a/src/images/emoji/unicode/26bd.png b/src/images/emoji/unicode/26bd.png new file mode 100644 index 0000000..c0f9876 Binary files /dev/null and b/src/images/emoji/unicode/26bd.png differ diff --git a/src/images/emoji/unicode/26be.png b/src/images/emoji/unicode/26be.png new file mode 100644 index 0000000..26aa409 Binary files /dev/null and b/src/images/emoji/unicode/26be.png differ diff --git a/src/images/emoji/unicode/26c4.png b/src/images/emoji/unicode/26c4.png new file mode 100644 index 0000000..a6e5096 Binary files /dev/null and b/src/images/emoji/unicode/26c4.png differ diff --git a/src/images/emoji/unicode/26c5.png b/src/images/emoji/unicode/26c5.png new file mode 100644 index 0000000..58607b3 Binary files /dev/null and b/src/images/emoji/unicode/26c5.png differ diff --git a/src/images/emoji/unicode/26c8.png b/src/images/emoji/unicode/26c8.png new file mode 100644 index 0000000..ac224da Binary files /dev/null and b/src/images/emoji/unicode/26c8.png differ diff --git a/src/images/emoji/unicode/26ce.png b/src/images/emoji/unicode/26ce.png new file mode 100644 index 0000000..ee86c54 Binary files /dev/null and b/src/images/emoji/unicode/26ce.png differ diff --git a/src/images/emoji/unicode/26cf.png b/src/images/emoji/unicode/26cf.png new file mode 100644 index 0000000..525a5c6 Binary files /dev/null and b/src/images/emoji/unicode/26cf.png differ diff --git a/src/images/emoji/unicode/26d1.png b/src/images/emoji/unicode/26d1.png new file mode 100644 index 0000000..22efa36 Binary files /dev/null and b/src/images/emoji/unicode/26d1.png differ diff --git a/src/images/emoji/unicode/26d3.png b/src/images/emoji/unicode/26d3.png new file mode 100644 index 0000000..d743480 Binary files /dev/null and b/src/images/emoji/unicode/26d3.png differ diff --git a/src/images/emoji/unicode/26d4.png b/src/images/emoji/unicode/26d4.png new file mode 100644 index 0000000..c5bdaaa Binary files /dev/null and b/src/images/emoji/unicode/26d4.png differ diff --git a/src/images/emoji/unicode/26e9.png b/src/images/emoji/unicode/26e9.png new file mode 100644 index 0000000..cdf913c Binary files /dev/null and b/src/images/emoji/unicode/26e9.png differ diff --git a/src/images/emoji/unicode/26ea.png b/src/images/emoji/unicode/26ea.png new file mode 100644 index 0000000..d6f8051 Binary files /dev/null and b/src/images/emoji/unicode/26ea.png differ diff --git a/src/images/emoji/unicode/26f0.png b/src/images/emoji/unicode/26f0.png new file mode 100644 index 0000000..688bb20 Binary files /dev/null and b/src/images/emoji/unicode/26f0.png differ diff --git a/src/images/emoji/unicode/26f1.png b/src/images/emoji/unicode/26f1.png new file mode 100644 index 0000000..f1f55d8 Binary files /dev/null and b/src/images/emoji/unicode/26f1.png differ diff --git a/src/images/emoji/unicode/26f2.png b/src/images/emoji/unicode/26f2.png new file mode 100644 index 0000000..3ba2280 Binary files /dev/null and b/src/images/emoji/unicode/26f2.png differ diff --git a/src/images/emoji/unicode/26f3.png b/src/images/emoji/unicode/26f3.png new file mode 100644 index 0000000..27bb3f1 Binary files /dev/null and b/src/images/emoji/unicode/26f3.png differ diff --git a/src/images/emoji/unicode/26f4.png b/src/images/emoji/unicode/26f4.png new file mode 100644 index 0000000..665d744 Binary files /dev/null and b/src/images/emoji/unicode/26f4.png differ diff --git a/src/images/emoji/unicode/26f5.png b/src/images/emoji/unicode/26f5.png new file mode 100644 index 0000000..a0221e8 Binary files /dev/null and b/src/images/emoji/unicode/26f5.png differ diff --git a/src/images/emoji/unicode/26f7.png b/src/images/emoji/unicode/26f7.png new file mode 100644 index 0000000..9a142f9 Binary files /dev/null and b/src/images/emoji/unicode/26f7.png differ diff --git a/src/images/emoji/unicode/26f8.png b/src/images/emoji/unicode/26f8.png new file mode 100644 index 0000000..58014d5 Binary files /dev/null and b/src/images/emoji/unicode/26f8.png differ diff --git a/src/images/emoji/unicode/26f9-1f3fb.png b/src/images/emoji/unicode/26f9-1f3fb.png new file mode 100644 index 0000000..ebe3c89 Binary files /dev/null and b/src/images/emoji/unicode/26f9-1f3fb.png differ diff --git a/src/images/emoji/unicode/26f9-1f3fc.png b/src/images/emoji/unicode/26f9-1f3fc.png new file mode 100644 index 0000000..88e18e1 Binary files /dev/null and b/src/images/emoji/unicode/26f9-1f3fc.png differ diff --git a/src/images/emoji/unicode/26f9-1f3fd.png b/src/images/emoji/unicode/26f9-1f3fd.png new file mode 100644 index 0000000..856228d Binary files /dev/null and b/src/images/emoji/unicode/26f9-1f3fd.png differ diff --git a/src/images/emoji/unicode/26f9-1f3fe.png b/src/images/emoji/unicode/26f9-1f3fe.png new file mode 100644 index 0000000..8bc1a22 Binary files /dev/null and b/src/images/emoji/unicode/26f9-1f3fe.png differ diff --git a/src/images/emoji/unicode/26f9-1f3ff.png b/src/images/emoji/unicode/26f9-1f3ff.png new file mode 100644 index 0000000..2d8230c Binary files /dev/null and b/src/images/emoji/unicode/26f9-1f3ff.png differ diff --git a/src/images/emoji/unicode/26f9.png b/src/images/emoji/unicode/26f9.png new file mode 100644 index 0000000..86d5080 Binary files /dev/null and b/src/images/emoji/unicode/26f9.png differ diff --git a/src/images/emoji/unicode/26fa.png b/src/images/emoji/unicode/26fa.png new file mode 100644 index 0000000..992e31c Binary files /dev/null and b/src/images/emoji/unicode/26fa.png differ diff --git a/src/images/emoji/unicode/26fd.png b/src/images/emoji/unicode/26fd.png new file mode 100644 index 0000000..9a5d1dc Binary files /dev/null and b/src/images/emoji/unicode/26fd.png differ diff --git a/src/images/emoji/unicode/2702.png b/src/images/emoji/unicode/2702.png new file mode 100644 index 0000000..79778e7 Binary files /dev/null and b/src/images/emoji/unicode/2702.png differ diff --git a/src/images/emoji/unicode/2705.png b/src/images/emoji/unicode/2705.png new file mode 100644 index 0000000..cce9fab Binary files /dev/null and b/src/images/emoji/unicode/2705.png differ diff --git a/src/images/emoji/unicode/2708.png b/src/images/emoji/unicode/2708.png new file mode 100644 index 0000000..0cf8432 Binary files /dev/null and b/src/images/emoji/unicode/2708.png differ diff --git a/src/images/emoji/unicode/2709.png b/src/images/emoji/unicode/2709.png new file mode 100644 index 0000000..84a7fa1 Binary files /dev/null and b/src/images/emoji/unicode/2709.png differ diff --git a/src/images/emoji/unicode/270a-1f3fb.png b/src/images/emoji/unicode/270a-1f3fb.png new file mode 100644 index 0000000..7f045f0 Binary files /dev/null and b/src/images/emoji/unicode/270a-1f3fb.png differ diff --git a/src/images/emoji/unicode/270a-1f3fc.png b/src/images/emoji/unicode/270a-1f3fc.png new file mode 100644 index 0000000..c8353ec Binary files /dev/null and b/src/images/emoji/unicode/270a-1f3fc.png differ diff --git a/src/images/emoji/unicode/270a-1f3fd.png b/src/images/emoji/unicode/270a-1f3fd.png new file mode 100644 index 0000000..bbf9b56 Binary files /dev/null and b/src/images/emoji/unicode/270a-1f3fd.png differ diff --git a/src/images/emoji/unicode/270a-1f3fe.png b/src/images/emoji/unicode/270a-1f3fe.png new file mode 100644 index 0000000..c8a40da Binary files /dev/null and b/src/images/emoji/unicode/270a-1f3fe.png differ diff --git a/src/images/emoji/unicode/270a-1f3ff.png b/src/images/emoji/unicode/270a-1f3ff.png new file mode 100644 index 0000000..69ef751 Binary files /dev/null and b/src/images/emoji/unicode/270a-1f3ff.png differ diff --git a/src/images/emoji/unicode/270a.png b/src/images/emoji/unicode/270a.png new file mode 100644 index 0000000..6e9f068 Binary files /dev/null and b/src/images/emoji/unicode/270a.png differ diff --git a/src/images/emoji/unicode/270b-1f3fb.png b/src/images/emoji/unicode/270b-1f3fb.png new file mode 100644 index 0000000..2018a80 Binary files /dev/null and b/src/images/emoji/unicode/270b-1f3fb.png differ diff --git a/src/images/emoji/unicode/270b-1f3fc.png b/src/images/emoji/unicode/270b-1f3fc.png new file mode 100644 index 0000000..034118d Binary files /dev/null and b/src/images/emoji/unicode/270b-1f3fc.png differ diff --git a/src/images/emoji/unicode/270b-1f3fd.png b/src/images/emoji/unicode/270b-1f3fd.png new file mode 100644 index 0000000..fdef2cd Binary files /dev/null and b/src/images/emoji/unicode/270b-1f3fd.png differ diff --git a/src/images/emoji/unicode/270b-1f3fe.png b/src/images/emoji/unicode/270b-1f3fe.png new file mode 100644 index 0000000..727c1d5 Binary files /dev/null and b/src/images/emoji/unicode/270b-1f3fe.png differ diff --git a/src/images/emoji/unicode/270b-1f3ff.png b/src/images/emoji/unicode/270b-1f3ff.png new file mode 100644 index 0000000..96fd889 Binary files /dev/null and b/src/images/emoji/unicode/270b-1f3ff.png differ diff --git a/src/images/emoji/unicode/270b.png b/src/images/emoji/unicode/270b.png new file mode 100644 index 0000000..5df16ee Binary files /dev/null and b/src/images/emoji/unicode/270b.png differ diff --git a/src/images/emoji/unicode/270c-1f3fb.png b/src/images/emoji/unicode/270c-1f3fb.png new file mode 100644 index 0000000..4aa0b30 Binary files /dev/null and b/src/images/emoji/unicode/270c-1f3fb.png differ diff --git a/src/images/emoji/unicode/270c-1f3fc.png b/src/images/emoji/unicode/270c-1f3fc.png new file mode 100644 index 0000000..eaab6b5 Binary files /dev/null and b/src/images/emoji/unicode/270c-1f3fc.png differ diff --git a/src/images/emoji/unicode/270c-1f3fd.png b/src/images/emoji/unicode/270c-1f3fd.png new file mode 100644 index 0000000..1464ab2 Binary files /dev/null and b/src/images/emoji/unicode/270c-1f3fd.png differ diff --git a/src/images/emoji/unicode/270c-1f3fe.png b/src/images/emoji/unicode/270c-1f3fe.png new file mode 100644 index 0000000..5099085 Binary files /dev/null and b/src/images/emoji/unicode/270c-1f3fe.png differ diff --git a/src/images/emoji/unicode/270c-1f3ff.png b/src/images/emoji/unicode/270c-1f3ff.png new file mode 100644 index 0000000..4297bf2 Binary files /dev/null and b/src/images/emoji/unicode/270c-1f3ff.png differ diff --git a/src/images/emoji/unicode/270c.png b/src/images/emoji/unicode/270c.png new file mode 100644 index 0000000..7bff360 Binary files /dev/null and b/src/images/emoji/unicode/270c.png differ diff --git a/src/images/emoji/unicode/270d-1f3fb.png b/src/images/emoji/unicode/270d-1f3fb.png new file mode 100644 index 0000000..ab79e16 Binary files /dev/null and b/src/images/emoji/unicode/270d-1f3fb.png differ diff --git a/src/images/emoji/unicode/270d-1f3fc.png b/src/images/emoji/unicode/270d-1f3fc.png new file mode 100644 index 0000000..4215f48 Binary files /dev/null and b/src/images/emoji/unicode/270d-1f3fc.png differ diff --git a/src/images/emoji/unicode/270d-1f3fd.png b/src/images/emoji/unicode/270d-1f3fd.png new file mode 100644 index 0000000..ca20e72 Binary files /dev/null and b/src/images/emoji/unicode/270d-1f3fd.png differ diff --git a/src/images/emoji/unicode/270d-1f3fe.png b/src/images/emoji/unicode/270d-1f3fe.png new file mode 100644 index 0000000..ec18874 Binary files /dev/null and b/src/images/emoji/unicode/270d-1f3fe.png differ diff --git a/src/images/emoji/unicode/270d-1f3ff.png b/src/images/emoji/unicode/270d-1f3ff.png new file mode 100644 index 0000000..c8eff46 Binary files /dev/null and b/src/images/emoji/unicode/270d-1f3ff.png differ diff --git a/src/images/emoji/unicode/270d.png b/src/images/emoji/unicode/270d.png new file mode 100644 index 0000000..c49c698 Binary files /dev/null and b/src/images/emoji/unicode/270d.png differ diff --git a/src/images/emoji/unicode/270f.png b/src/images/emoji/unicode/270f.png new file mode 100644 index 0000000..c9201d2 Binary files /dev/null and b/src/images/emoji/unicode/270f.png differ diff --git a/src/images/emoji/unicode/2712.png b/src/images/emoji/unicode/2712.png new file mode 100644 index 0000000..eea6da3 Binary files /dev/null and b/src/images/emoji/unicode/2712.png differ diff --git a/src/images/emoji/unicode/2714.png b/src/images/emoji/unicode/2714.png new file mode 100644 index 0000000..72b85e6 Binary files /dev/null and b/src/images/emoji/unicode/2714.png differ diff --git a/src/images/emoji/unicode/2716.png b/src/images/emoji/unicode/2716.png new file mode 100644 index 0000000..82f87ab Binary files /dev/null and b/src/images/emoji/unicode/2716.png differ diff --git a/src/images/emoji/unicode/271d.png b/src/images/emoji/unicode/271d.png new file mode 100644 index 0000000..0465804 Binary files /dev/null and b/src/images/emoji/unicode/271d.png differ diff --git a/src/images/emoji/unicode/2721.png b/src/images/emoji/unicode/2721.png new file mode 100644 index 0000000..49b3f99 Binary files /dev/null and b/src/images/emoji/unicode/2721.png differ diff --git a/src/images/emoji/unicode/2728.png b/src/images/emoji/unicode/2728.png new file mode 100644 index 0000000..d434e36 Binary files /dev/null and b/src/images/emoji/unicode/2728.png differ diff --git a/src/images/emoji/unicode/2733.png b/src/images/emoji/unicode/2733.png new file mode 100644 index 0000000..98cd150 Binary files /dev/null and b/src/images/emoji/unicode/2733.png differ diff --git a/src/images/emoji/unicode/2734.png b/src/images/emoji/unicode/2734.png new file mode 100644 index 0000000..8114c07 Binary files /dev/null and b/src/images/emoji/unicode/2734.png differ diff --git a/src/images/emoji/unicode/2744.png b/src/images/emoji/unicode/2744.png new file mode 100644 index 0000000..f567225 Binary files /dev/null and b/src/images/emoji/unicode/2744.png differ diff --git a/src/images/emoji/unicode/2747.png b/src/images/emoji/unicode/2747.png new file mode 100644 index 0000000..d9a9730 Binary files /dev/null and b/src/images/emoji/unicode/2747.png differ diff --git a/src/images/emoji/unicode/274c.png b/src/images/emoji/unicode/274c.png new file mode 100644 index 0000000..5dde31c Binary files /dev/null and b/src/images/emoji/unicode/274c.png differ diff --git a/src/images/emoji/unicode/274e.png b/src/images/emoji/unicode/274e.png new file mode 100644 index 0000000..b5279a6 Binary files /dev/null and b/src/images/emoji/unicode/274e.png differ diff --git a/src/images/emoji/unicode/2753.png b/src/images/emoji/unicode/2753.png new file mode 100644 index 0000000..e85f2bb Binary files /dev/null and b/src/images/emoji/unicode/2753.png differ diff --git a/src/images/emoji/unicode/2754.png b/src/images/emoji/unicode/2754.png new file mode 100644 index 0000000..fb909c1 Binary files /dev/null and b/src/images/emoji/unicode/2754.png differ diff --git a/src/images/emoji/unicode/2755.png b/src/images/emoji/unicode/2755.png new file mode 100644 index 0000000..61fa194 Binary files /dev/null and b/src/images/emoji/unicode/2755.png differ diff --git a/src/images/emoji/unicode/2757.png b/src/images/emoji/unicode/2757.png new file mode 100644 index 0000000..085c28d Binary files /dev/null and b/src/images/emoji/unicode/2757.png differ diff --git a/src/images/emoji/unicode/2763.png b/src/images/emoji/unicode/2763.png new file mode 100644 index 0000000..8882bff Binary files /dev/null and b/src/images/emoji/unicode/2763.png differ diff --git a/src/images/emoji/unicode/2764.png b/src/images/emoji/unicode/2764.png new file mode 100644 index 0000000..d6bb216 Binary files /dev/null and b/src/images/emoji/unicode/2764.png differ diff --git a/src/images/emoji/unicode/2795.png b/src/images/emoji/unicode/2795.png new file mode 100644 index 0000000..cd616bc Binary files /dev/null and b/src/images/emoji/unicode/2795.png differ diff --git a/src/images/emoji/unicode/2796.png b/src/images/emoji/unicode/2796.png new file mode 100644 index 0000000..10333de Binary files /dev/null and b/src/images/emoji/unicode/2796.png differ diff --git a/src/images/emoji/unicode/2797.png b/src/images/emoji/unicode/2797.png new file mode 100644 index 0000000..124340b Binary files /dev/null and b/src/images/emoji/unicode/2797.png differ diff --git a/src/images/emoji/unicode/27a1.png b/src/images/emoji/unicode/27a1.png new file mode 100644 index 0000000..5d06948 Binary files /dev/null and b/src/images/emoji/unicode/27a1.png differ diff --git a/src/images/emoji/unicode/27b0.png b/src/images/emoji/unicode/27b0.png new file mode 100644 index 0000000..0f61fc4 Binary files /dev/null and b/src/images/emoji/unicode/27b0.png differ diff --git a/src/images/emoji/unicode/27bf.png b/src/images/emoji/unicode/27bf.png new file mode 100644 index 0000000..a93b9f1 Binary files /dev/null and b/src/images/emoji/unicode/27bf.png differ diff --git a/src/images/emoji/unicode/2934.png b/src/images/emoji/unicode/2934.png new file mode 100644 index 0000000..38dd859 Binary files /dev/null and b/src/images/emoji/unicode/2934.png differ diff --git a/src/images/emoji/unicode/2935.png b/src/images/emoji/unicode/2935.png new file mode 100644 index 0000000..af6ffe7 Binary files /dev/null and b/src/images/emoji/unicode/2935.png differ diff --git a/src/images/emoji/unicode/2b05.png b/src/images/emoji/unicode/2b05.png new file mode 100644 index 0000000..7eb3f26 Binary files /dev/null and b/src/images/emoji/unicode/2b05.png differ diff --git a/src/images/emoji/unicode/2b06.png b/src/images/emoji/unicode/2b06.png new file mode 100644 index 0000000..b094562 Binary files /dev/null and b/src/images/emoji/unicode/2b06.png differ diff --git a/src/images/emoji/unicode/2b07.png b/src/images/emoji/unicode/2b07.png new file mode 100644 index 0000000..59841a6 Binary files /dev/null and b/src/images/emoji/unicode/2b07.png differ diff --git a/src/images/emoji/unicode/2b1b.png b/src/images/emoji/unicode/2b1b.png new file mode 100644 index 0000000..3b702f6 Binary files /dev/null and b/src/images/emoji/unicode/2b1b.png differ diff --git a/src/images/emoji/unicode/2b1c.png b/src/images/emoji/unicode/2b1c.png new file mode 100644 index 0000000..69fb7b2 Binary files /dev/null and b/src/images/emoji/unicode/2b1c.png differ diff --git a/src/images/emoji/unicode/2b50.png b/src/images/emoji/unicode/2b50.png new file mode 100644 index 0000000..14b707b Binary files /dev/null and b/src/images/emoji/unicode/2b50.png differ diff --git a/src/images/emoji/unicode/2b55.png b/src/images/emoji/unicode/2b55.png new file mode 100644 index 0000000..b873c55 Binary files /dev/null and b/src/images/emoji/unicode/2b55.png differ diff --git a/src/images/emoji/unicode/3030.png b/src/images/emoji/unicode/3030.png new file mode 100644 index 0000000..bc9275f Binary files /dev/null and b/src/images/emoji/unicode/3030.png differ diff --git a/src/images/emoji/unicode/303d.png b/src/images/emoji/unicode/303d.png new file mode 100644 index 0000000..e2d854f Binary files /dev/null and b/src/images/emoji/unicode/303d.png differ diff --git a/src/images/emoji/unicode/3297.png b/src/images/emoji/unicode/3297.png new file mode 100644 index 0000000..10bb3c7 Binary files /dev/null and b/src/images/emoji/unicode/3297.png differ diff --git a/src/images/emoji/unicode/3299.png b/src/images/emoji/unicode/3299.png new file mode 100644 index 0000000..d79022d Binary files /dev/null and b/src/images/emoji/unicode/3299.png differ diff --git a/src/images/grey.png b/src/images/grey.png new file mode 100644 index 0000000..31eb0e8 Binary files /dev/null and b/src/images/grey.png differ diff --git a/src/images/light_wool.png b/src/images/light_wool.png new file mode 100644 index 0000000..9731685 Binary files /dev/null and b/src/images/light_wool.png differ diff --git a/src/images/loading.svg b/src/images/loading.svg new file mode 100644 index 0000000..58b5692 --- /dev/null +++ b/src/images/loading.svg @@ -0,0 +1,2 @@ +Loading... \ No newline at end of file diff --git a/src/images/logo.png b/src/images/logo.png new file mode 100644 index 0000000..efed3fe Binary files /dev/null and b/src/images/logo.png differ diff --git a/src/images/macbook-alt-symbol.PNG b/src/images/macbook-alt-symbol.PNG new file mode 100644 index 0000000..46d328c Binary files /dev/null and b/src/images/macbook-alt-symbol.PNG differ diff --git a/src/images/marcus.jpg b/src/images/marcus.jpg new file mode 100644 index 0000000..291f63e Binary files /dev/null and b/src/images/marcus.jpg differ diff --git a/src/images/no_image.jpg b/src/images/no_image.jpg new file mode 100644 index 0000000..9d5537e Binary files /dev/null and b/src/images/no_image.jpg differ diff --git a/src/images/share_logo.png b/src/images/share_logo.png new file mode 100644 index 0000000..4034b30 Binary files /dev/null and b/src/images/share_logo.png differ diff --git a/src/images/tagthisbuild-1.PNG b/src/images/tagthisbuild-1.PNG new file mode 100644 index 0000000..eb48f6e Binary files /dev/null and b/src/images/tagthisbuild-1.PNG differ diff --git a/src/images/trans.gif b/src/images/trans.gif new file mode 100644 index 0000000..4de57af Binary files /dev/null and b/src/images/trans.gif differ diff --git a/src/pages/about.md b/src/pages/about.md new file mode 100644 index 0000000..b03002d --- /dev/null +++ b/src/pages/about.md @@ -0,0 +1,67 @@ +--- +layout: page.html +title: "About" +--- + + +Please forgive my brevity, I am a man of few words. One would think that after many years on this planet I would have more to say about myself but alas I simply do not. I am a man that likes to code, to shut out the world and get lost in If statements and try/catch blocks. + + +For years now, as long as I can accurately remember, I have been hacking away at code, scripts and markup. I began this journey many, many, many moons ago playing around with Dreamweaver (is this still around?) to make simple websites. From there I started to pick apart the HTML that was generated, I started using server-side languages such as PHP and I began to play with desktop programming (Python when I first started). + + +Over the years, throughout my education and working life, I have developed skills in Java (my first meeting back in 2008 with the release of the Android platform), C# .NET, various web technologies (JavaScript, ASP .NET, HTML5) and my passion to learn more keeps growing. + + +If you need to get in touch with me, you can find me on either Twitter: @Marcus_Noble_ or Github: AverageMarcus + + +

Experience

+ + \ No newline at end of file diff --git a/src/posts/2013-10-22-passing-properties-to-your-gatekeeper.markdown b/src/posts/2013-10-22-passing-properties-to-your-gatekeeper.markdown new file mode 100644 index 0000000..8999dc4 --- /dev/null +++ b/src/posts/2013-10-22-passing-properties-to-your-gatekeeper.markdown @@ -0,0 +1,168 @@ +--- +layout: post.html +title: "Passing Properties to your GateKeeper" +date: 2013-10-22 +tags: Java +summary: "Recently I've had to re-visit some old code containing a couple GateKeepers I wrote nearly two years ago. Looking at them now I realise how terribly unscalable they are. The gatekeepers are in place to protect some web service's and specify (in the gatekeeper code) which methods are open to all and which need restriction.

This is how not to write a gatekeeper." +--- + +Recently I've had to re-visit some old code containing a couple GateKeepers I wrote nearly two years ago. Looking at them now I realise how terribly unscalable they are. The gatekeepers are in place to protect some web service's and specify (in the gatekeeper code) which methods are open to all and which need restriction. + +This is how not to write a gatekeeper. + +While we don't have the effort or need to change it I have been thinking about how this could be better should it be done in the future. + +What I have come up with (so far, this is very much a WIP) is a method of passing properties to the gatekeeper for each method to specify how the gatekeeper should act. + +The idea boils down to using a custom annotation that the GateKeeper can access values of. + +

+/**
+ * Provides a method annotation for use by a GateKeeper
+ * @author Marcus
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target(ElementType.METHOD)
+public @interface GateKeeperProperty {
+    enum AccessLevel{
+        PUBLIC, OWN_CONTENT, ADMIN
+    }
+    public boolean logAccess() default true;
+    public AccessLevel accesLevel() default AccessLevel.PUBLIC;
+}
+
+ +This annotation can then be used on your webservice methods to pass values regarding to logging access and access restriction. + +

+/**
+ * Example web service demonstrating gatekeeper properties
+ * @author Marcus Noble
+ */
+@Interceptors(GateKeeper.class)
+@WebService(serviceName = "ExampleWebService")
+@Stateless()
+public class ExampleWebService {
+
+    @WebMethod(operationName = "getListOfCountries")
+    @GateKeeperProperty(accesLevel = GateKeeperProperty.AccessLevel.PUBLIC, logAccess = false)
+    public List getListOfCountries() {
+        // Fetch country list
+        return new ArrayList();
+    }
+
+    @WebMethod(operationName = "getPersonFamilyName")
+    @GateKeeperProperty(accesLevel = GateKeeperProperty.AccessLevel.OWN_CONTENT, logAccess = false)
+    public String getPersonFamilyName(@WebParam(name="sessionId") String sessionId, @WebParam(name="userId")  int userId) {
+        // Fetch person's family name
+        return "";
+    }
+
+    @WebMethod(operationName = "getSuperSecretData")
+    @GateKeeperProperty(accesLevel = GateKeeperProperty.AccessLevel.ADMIN, logAccess = true)
+    public String getSuperSecretData(@WebParam(name="sessionId") String sessionId) {
+        // Fetch super secret data
+        return "";
+    }
+}
+
+ +Here we have three different method that perform three different types of action. + +The first simply returns a list of country names, there is no reason to perform any restriction or logging on this as it is simply a helper method to populate a dropdown list. + +The second requires slightly more restriction as we are potentially exposing private data. Here we have stated that the restriction is `OWN_CONTENT` which I have defined as 'The requesting user can only access data owned or related to that user' so in this case they can only request their own family name. + +> Why not just pass in the sessionId and work it out from that? + +This is a good question. It could very well be done this way without any difficulty. The reason for the sessionId and userId is so admin users or 'privileged systems' can call the method and the GateKeeper can be built to allow it. + +Finally we have a method that exposes one of our deep dark system secret. This must only be accessible by our most trusted of users, our admins. So for this we make sure the access limit is set to `ADMIN` and logging is enabled so we can keep an eye on any unusal behaviour. + +So by this point you may be wondering what magic the GateKeeper needs to perform to bring this all together. Well it's actually quite simple, the `InvocationContext` passed in to the `@AroundInvoke` interceptor method give you access to everything about the called method including its annotation. + +

+@AroundInvoke
+public Object intercept(InvocationContext ctx) throws Exception {
+	Method method = ctx.getMethod();
+    	if(method.isAnnotationPresent(GateKeeperProperty.class)){
+        GateKeeperProperty gatekeeperProperty = method.getAnnotation(GateKeeperProperty.class);
+        // do something with the annotation
+	}
+}
+
+ +So with this we have access to values associated with the calling method without the need to pre-define the method in the GateKeeper. This is a huge advance from my original GateKeeper, no more hard coded lists of public and private method that often get out of date or contain duplicates. + +So in full our GateKeeper may look something like... + +

+/**
+ * An example GateKeeper reading properties provided by the methods
+ * @author Marcus
+ */
+public class GateKeeper {
+
+    @AroundInvoke
+    public Object intercept(InvocationContext ctx) throws Exception {
+        Method method = ctx.getMethod();
+        boolean logAccess = true; // Default action
+        GateKeeperProperty.AccessLevel accessLevel = GateKeeperProperty.AccessLevel.PUBLIC; // Default access level
+        boolean accessGranted = true; // By default people have access (if you have more private method it is best to set this to false)
+
+        if(method.isAnnotationPresent(GateKeeperProperty.class)){
+            GateKeeperProperty gatekeeperProperty = method.getAnnotation(GateKeeperProperty.class);
+            logAccess = gatekeeperProperty.logAccess();
+            accessLevel = gatekeeperProperty.accesLevel();
+        }
+
+        switch(accessLevel){
+            case PUBLIC :
+            default:
+                accessGranted = true;
+                break;
+            case OWN_CONTENT :
+                accessGranted = ensureOwnContent(ctx);
+                break;
+            case ADMIN :
+                accessGranted = ensureAdmin(ctx);
+                break;
+        }
+
+        try {
+            if(logAccess){
+                Log.log("Calling "+method.getName());
+            }
+            if(accessGranted){
+                return ctx.proceed();
+            }else{
+                if(logAccess){
+                    Log.log("Access prevented to "+method.getName());
+                }
+                return null;
+            }
+        } catch (Exception e) {
+            if(logAccess){
+                Log.log("Failed Calling "+method.getName());
+            }
+            return null;
+        }finally{
+            if(logAccess){
+                Log.log("Finished Calling "+method.getName());
+            }
+        }
+    }
+
+    private boolean ensureOwnContent(InvocationContext ctx){
+        // Perform checks that user is accessing own data
+        return false;
+    }
+
+    private boolean ensureAdmin(InvocationContext ctx){
+        // Perform checks that user is an admin
+        return false;
+    }
+}
+
+ +Hopefully in the future this may become of use to me and provide a more scalable GateKeeper class. I am still tossing around the idea of how to correctly handle the `OWN_CONTENT` or similar type of restriction that requires some knowledge of the method's inputs and outputs, hopefully that will come to me soon... diff --git a/src/posts/2013-10-29-publishing-my-first-npm-module.markdown b/src/posts/2013-10-29-publishing-my-first-npm-module.markdown new file mode 100644 index 0000000..55f88d6 --- /dev/null +++ b/src/posts/2013-10-29-publishing-my-first-npm-module.markdown @@ -0,0 +1,29 @@ +--- +layout: post.html +title: "Publishing My First NPM module" +date: 2013-10-29 +tags: nodejs node npm javascript truncatise +summary: "For the past week or so (since setting up my new blog) I've been working on a new JavaScript module that truncates HTML." +--- + +For the past week or so (since setting up my new blog) I've been working on a new JavaScript module that truncates HTML. + +Why have I been doing this you ask? Well, very quickly after putting together the theme for this [Ghost](https://ghost.org/) blog I notice a small annoyance. The helper used to generate excerpts of post for the main page can only truncate based on character or word count. This seemed like a bit of a shortcoming to me, I wanted to be able to truncate on paragraphs so text isn't cut off mid-sentence. + +And so [Truncatise](//github.com/AverageMarcus/Truncatise) was born! + +As this is my first forte into NPMs I used it as a learning experience. + +My first learning opportunity came from writing tests against my new module (which turned out to be **VERY** useful in highlighting some mistakes). For this I used [mocha](https://github.com/visionmedia/mocha) and [chai](https://github.com/chaijs/chai) to construct some BDD/TDD tests. + +I also took this as a chance to get to know git a bit better, with use of [http://git-scm.com/book](http://git-scm.com/book), and used the command line tools to set up the repository etc. + +The [documentation](https://npmjs.org/doc/developers.html) to publish to the NPM registry was very straightforward. Surprisingly so. + +* NPM Registry: [https://npmjs.org/package/truncatise](https://npmjs.org/package/truncatise) +* GitHub Repository: [https://github.com/AverageMarcus/Truncatise](https://github.com/AverageMarcus/Truncatise) +* Bug Reporting: [https://github.com/AverageMarcus/Truncatise/issues](https://github.com/AverageMarcus/Truncatise/issues) + +I very much welcome bug reports and any contributions. So please use, test, break and modify to your use. + +I eventually plan to replace the truncation module used by [Ghost](https://ghost.org/) with mine to get some real-world testing. If all is stable and bug-free I plan to put in a pull request to the master repository. diff --git a/src/posts/2013-11-10-updating-ghost-to-use-truncatise.markdown b/src/posts/2013-11-10-updating-ghost-to-use-truncatise.markdown new file mode 100644 index 0000000..f68a57f --- /dev/null +++ b/src/posts/2013-11-10-updating-ghost-to-use-truncatise.markdown @@ -0,0 +1,94 @@ +--- +layout: post.html +title: "Updating Ghost to use Truncatise" +date: 2013-11-10 +tags: nodejs node npm javascript truncatise ghost +summary: "Today I finally got around to modifying my Ghost blog to make use of my new Node Module Truncatise.

This didn't go as smoothly as I hoped." +--- + +Today I finally got around to modifying my [Ghost](https://ghost.org/) blog to make use of my new Node Module [Truncatise](/10-29-2013-publishing-my-first-npm-module/). + +This didn't go as smoothly as I hoped. + +First, I discovered a [bug](//github.com/AverageMarcus/Truncatise/issues/1) in my module. It was incorrectly handling the combination of `

` tags with double newlines when truncating to paragraphs. + +To resolve this I needed to determine whether or not to use double newline to indicate a paragraph. This was done by ignoring any newlines between paragraph tags and better regular expression matching. + +I also noticed an issue with the suffix, e.g. …, when used with `

` tags, it was rending after the and of the tag and thus display on a new line. _Whoops!_ Not what is expected. A quick little replace when not stripping HTML solved this. + +So, finally I published version 0.0.2 of [Truncatise](//npmjs.org/package/truncatise) to the NPM repository (as well as [GitHub](//github.com/AverageMarcus/Truncatise)). + +As I was now happy that the issues were resolved, I made progress on modifying the Ghost helper source code to use Truncatise instead of [downsize](//npmjs.org/package/downsize). + +#### Original: +


+coreHelpers.excerpt = function (options) {
+    var truncateOptions = (options || {}).hash || {},
+        excerpt;
+
+    truncateOptions = _.pick(truncateOptions, ['words', 'characters']);
+
+    /*jslint regexp:true */
+    excerpt = String(this.html).replace(/<\/?[^>]+>/gi, '');
+    excerpt = excerpt.replace(/(\r\n|\n|\r)+/gm, ' ');
+    /*jslint regexp:false */
+
+    if (!truncateOptions.words && !truncateOptions.characters) {
+        truncateOptions.words = 50;
+    }
+
+    return new hbs.handlebars.SafeString(
+        downsize(excerpt, truncateOptions)
+    );
+};
+
+ +#### My Version: +

+coreHelpers.excerpt = function (options) {
+    var truncateOptions = (options || {}).hash ||  {TruncateLength: 2, TruncateBy : "paragraphs", StripHTML : false, Suffix : '...'},
+        excerpt;
+
+    truncateOptions = _.pick(truncateOptions, ['TruncateBy', 'TruncateLength', 'StripHTML', 'Strict', 'Suffix']);
+
+    excerpt = String(this.html);
+
+    //Set default values
+    if (!truncateOptions.TruncateLength) {
+        truncateOptions.TruncateLength = 2;
+    }
+    if (!truncateOptions.TruncateBy) {
+        truncateOptions.TruncateBy = "paragraphs";
+    }
+    if (!truncateOptions.StripHTML) {
+        truncateOptions.StripHTML = false;
+    }
+    if (!truncateOptions.Suffix) {
+        truncateOptions.Suffix = "…";
+    }
+
+    return new hbs.handlebars.SafeString(
+        truncatise(excerpt, truncateOptions)
+    );
+};
+
+ +My changes have been pushed to my [fork of Ghost](//github.com/AverageMarcus/Ghost) if anyone wishes to make use of it. + +## On Updating Ghost + +I got into a bit of a mess when trying to update my copy of Ghost with the latest changes, mainly due to my carelessness. So I don't get into the same situation in the future, and to prevent others making my mistakes, here are my little tips to bare in mind: + +1. Back up the `./content/data/` directory before doing anything! +2. If needed also backup your `./content/themes/` directory. +3. Copy across the new `./core`, `packages.json`, `index.js` and `Gruntfile.js` +4. `npm install -g grunt-cli` +5. `npm install --production` +6. `grunt init prod` + +> If you get errors relating to sqlite3… + +Run `npm install sqlite3 --build-from-source=sqlite3` + +# Update: +I have since moved away from Ghost and now using Jekyll diff --git a/src/posts/2013-11-21-the-power-of-the-bookmarklet.markdown b/src/posts/2013-11-21-the-power-of-the-bookmarklet.markdown new file mode 100644 index 0000000..97f7831 --- /dev/null +++ b/src/posts/2013-11-21-the-power-of-the-bookmarklet.markdown @@ -0,0 +1,58 @@ +--- +layout: post.html +title: "The Power of the Bookmarklet" +date: 2013-11-21 +tags: +summary: "Recently an occasion came up where I found myself repetitively typing in the same type of text into a web form. The form in question is the 'Tag this build' page in Jenkins." +--- + +Recently an occasion came up where I found myself repetitively typing in the same type of text into a web form. The form in question is the "Tag this build" page in [Jenkins](http://jenkins-ci.org/). + +![Tag this build]({{ site.url }}/images/tagthisbuild-1.PNG) + +I realised that the 'Tag URL' I was entering followed a very specific pattern. The first part was taken from the 'Module URL' (here blurred out) minus the string after the final '/'. This is then followed by todays date, the name of the job being tagged (dev_Authenticate-Build-Mobile in this case) and finally the string after the final '/' we ommitted from the beginning. + +The code monkey in me was crying out for this to be automated, and as a lover of JavaScript what better way to accomplish it than a nice and simple script. So I set to work! The script I currently use is very much tailored to our setup and uses hard coded URL's. As we only have two SVN repositories this was more than acceptable. + +The code: +

+(function(){
+	//Find all labels that are for the tag boxes
+	jQuery("label[for^='tag']").each(function(){
+		var url = "",
+			id = jQuery(this).attr('for').replace("tag", ""),
+			now = new Date(),
+			today = now.getFullYear().toString() + ((now.getMonth()+1).toString().length == 1 ? "0"+(now.getMonth()+1).toString() : (now.getMonth()+1).toString()) + (now.getDate().toString().length == 1 ? "0"+now.getDate().toString() : now.getDate().toString()),
+			re = /([a-zA-Z-_]+)\/(\d+)\//,
+			buildProject = document.URL.match(re)[1] //Get the build job from the current URL
+			;
+
+		//We have two repositories so we simply need to check which one to use and build the URL
+		if(jQuery(this).text().indexOf("BIS/")>= 0){
+			var application = jQuery(this).text().substring(jQuery(this).text().lastIndexOf("BIS/")+4, jQuery(this).text().indexOf(" ") );
+			url = "https://svn.example.ac.uk/BIS/RELEASE/"+today+"/" + buildProject + "/"+application;
+		}else if(jQuery(this).text().indexOf("J2EE/")>= 0){
+			var application = jQuery(this).text().substring(jQuery(this).text().lastIndexOf("J2EE/")+5, jQuery(this).text().indexOf(" ") );
+			url = "https://svn.example.ac.uk/J2EE/release/"+today+"/" + buildProject + "/"+application;
+		}
+		//Populate the tag input
+		jQuery("input[id='name"+id+"']").val(url);
+	});
+	//Add a comment
+	jQuery("textarea[name='comment']").val(jQuery("textarea[name='comment']").val().replace("#", "Jenkins Build "));
+	return false;
+})();
+
+ +The code requires [jQuery](http://jquery.com/) but as Jenkins already uses it I didn't need to reference it in the script. + +Now to make this useful I turned this script into a bookmark that I could place in my browser's bookmark bar and click to execute the script. I used a very simple tool to do this, http://mrcoles.com/bookmarklet/, simply enter the script, click convert and drag the result into your bookmarks. + +The end result looks something like this: +

+javascript:(function()%7B(function()%7BjQuery("label%5Bfor%5E%3D'tag'%5D").each(function()%7Bvar url %3D ""%2Cid %3D jQuery(this).attr('for').replace("tag"%2C "")%2Cnow %3D new Date()%2Ctoday %3D now.getFullYear().toString() %2B ((now.getMonth()%2B1).toString().length %3D%3D 1 %3F "0"%2B(now.getMonth()%2B1).toString() %3A (now.getMonth()%2B1).toString()) %2B (now.getDate().toString().length %3D%3D 1 %3F "0"%2Bnow.getDate().toString() %3A now.getDate().toString())%2Cre %3D %2F(%5Ba-zA-Z-_%5D%2B)%5C%2F(%5Cd%2B)%5C%2F%2F%2CbuildProject %3D document.URL.match(re)%5B1%5D%3Bif(jQuery(this).text().indexOf("BIS%2F")>%3D 0)%7Bvar application %3D jQuery(this).text().substring(jQuery(this).text().lastIndexOf("BIS%2F")%2B4%2C jQuery(this).text().indexOf(" ") )%3Burl %3D "https%3A%2F%2Fsvn.example.ac.uk%2FBIS%2FRELEASE%2F"%2Btoday%2B"%2F" %2B buildProject %2B "%2F"%2Bapplication%3B%7Delse if(jQuery(this).text().indexOf("J2EE%2F")>%3D 0)%7Bvar application %3D jQuery(this).text().substring(jQuery(this).text().lastIndexOf("J2EE%2F")%2B5%2C jQuery(this).text().indexOf(" ") )%3Burl %3D "https%3A%2F%2Fsvn.example.ac.uk%2FJ2EE%2Frelease%2F"%2Btoday%2B"%2F" %2B buildProject %2B "%2F"%2Bapplication%3B%7DjQuery("input%5Bid%3D'name"%2Bid%2B"'%5D").val(url)%3B%7D)%3BjQuery("textarea%5Bname%3D'comment'%5D").val(jQuery("textarea%5Bname%3D'comment'%5D").val().replace("%23"%2C "Jenkins Build "))%3Breturn false%3B%7D)()%7D)()
+
+ +Now the next time I want to tag a build I simple click my bookmarklet and I'm all done. Much better. (: + +And just to show how fun bookmarklets can be, head over to [Kick Ass](https://kickassapp.com/) and have fun destroying the web! diff --git a/src/posts/2014-07-12-jsoxford-code-retreat.markdown b/src/posts/2014-07-12-jsoxford-code-retreat.markdown new file mode 100644 index 0000000..59f27e6 --- /dev/null +++ b/src/posts/2014-07-12-jsoxford-code-retreat.markdown @@ -0,0 +1,85 @@ +--- +layout: post.html +title: "JSOxford Code Retreat - or how to use an Apple keyboard" +date: 2014-07-12 +tags: JavaScript +summary: "Last Sunday I went to a Code Retreat hosted by [JSOxford](http://jsoxford.com/). This was a full day event of coding, split into four sections all based around [Conway's Game of Life](http://en.wikipedia.org/wiki/Conway's_Game_of_Life)." + +--- + +Last Sunday I went to a Code Retreat hosted by [JSOxford](http://jsoxford.com/). This was a full day event of coding, split into four sections all based around [Conway's Game of Life](http://en.wikipedia.org/wiki/Conway's_Game_of_Life). + +{{> tweet id='485697274174275584' }} + +For those not familiar with Conway's Game Of Life I will be doing another blog post on it shortly. But simply put it is a basic computer model of life. + +For the whole day we focused on perfecting code rather than finishing. We didn't care if we had anything that worked or not, the idea was to practice different forms of programming. (*We were even told to delete all our code after each round*) + +## Round One - Paper + +The first round was aimed at getting us familiar with the task at hand. We paired up, as we did with most of the rounds, and tasked with writing out the code we thought would make up the game on pieces of paper. I had paired up with [Dan Pope](https://twitter.com/danielthepope) and we set to work on the writing out our code, *sans-highlighting*. + +{{> tweet id='485722324604579840' }} + +Dan focused on a method that calculates the number of neighbours a given cell has while I focused on the main game loop. The absence of an IDE is a terrible thing so our code was pseudo-JavaScript/pseudo-Python. We had plenty of time to write out the whole game with a bit of time left at the end to go through and fix a couple of potential bugs! + +## Round two - TDD/BDD + +The next round was in more familiar territory. The rules stated we must first write a test to verify some of the game logic, then the other person must write the minimal amount of code to make that test pass. In the most haphazardly way possible. + +For example: + +

+// Test
+describe('Calculator', function(){
+  describe('sum', function(){
+    it('should return 2', function(){
+      (calculator().sum(1,1)).should.eql(2);
+    })
+  })
+})
+
+//Code
+function calculator(){
+	function sum(n1, n2){
+		return 2;
+	}
+
+	return { sum : sum }
+}
+
+ +As you can see, the code doesn't actually work as expected, it just does enough to make the tests pass. I don't know how often this sort of thing actually happens in the 'real world', I know we sure don't do this. :sweat_smile: + +## Lunch + +{{> tweet id='485758298755698688' }} + +Not the best lunch in the world but a free lunch is a free lunch. + +## Round three - Randori + +The word 'Randori' comes from the martial art Aikido and means many people attacking the same person. In the world of programming this lends itself towards paired programming, but with more partners. + +{{> tweet id='485774627139223552' }} + +Think one laptop, with one person on the keys, and a group of people gathered around telling them what to code. The person typing had no decision over what to write, their partner is the one "driving" with help from the others stood around. This is taken in turns, swapping every 5 minutes. + +Having 8 people trying to decide what to code, without any prior spec or discussion went about as well as you'd expect. The code jumped around a bit and we had to backtrack at some point but the biggest challenged we faced was getting to grips with a MacBook keyboard. Who knew that they didn't have all the keys needed? + +
+![MacBook symbol]({{ site.url }}/images/macbook-alt-symbol.PNG) +
WTF is this supposed to be?
+
+ +## Round four - Immutables + +Task four saw us trying to build the game using only immutable variables. This was **hard**. + +I tried to solve this using maps, filters, cloning etc. but I ended up running out of time before I had a fully working solution. I did manage to have cells die, just couldn't generate new ones. + +## Roundup + +All in all it was a really good day that gave me a chance to flex a bit of JavaScript outside of the browser. If nothing else, it has made me very excited for the upcoming [NodeBots](https://www.eventbrite.co.uk/e/nodebots-summer-of-hacks-tickets-11906664153) event. + +I hope to put together a fully working version of Conway's Game of Life shortly and will put together another post about it. diff --git a/src/posts/2014-07-14-conways-game-of-life.markdown b/src/posts/2014-07-14-conways-game-of-life.markdown new file mode 100644 index 0000000..c8c3922 --- /dev/null +++ b/src/posts/2014-07-14-conways-game-of-life.markdown @@ -0,0 +1,312 @@ +--- +layout: post.html +title: "Conway's Game of Life" +date: 2014-07-14 +tags: JavaScript Programming +summary: "As I [mentioned previously](/12-07-2014-jsoxford-code-retreat/), last week at the JSOxford Code Retreat we spent a lot of time (all the time) developing [Conway's Game of Life](http://en.wikipedia.org/wiki/Conway's_Game_of_Life) in various ways. As the code retreat was focusing on different coding methods and perfecting code rather than producing something that works I never got a fully working version. So last night I sat down and got to it!" + +--- + +As I [mentioned previously](/12-07-2014-jsoxford-code-retreat/), last week at the JSOxford Code Retreat we spent a lot of time (all the time) developing [Conway's Game of Life](http://en.wikipedia.org/wiki/Conway's_Game_of_Life) in various ways. As the code retreat was focusing on different coding methods and perfecting code rather than producing something that works I never got a fully working version. So last night I sat down and got to it! + +# About + +Conway's Game of Life is a 0-player turn based simulation of life. The "game" follows some simple rules to update its cells on a board, crudely imitation evolution and life. + +# Rules + +The rules of the game are as follows: + +
+* Any live cell with fewer than two live neighbours dies, as if caused by under-population. +* Any live cell with two or three live neighbours lives on to the next generation. +* Any live cell with more than three live neighbours dies, as if by overcrowding. +* Any dead cell with exactly three live neighbours becomes a live cell, as if by reproduction. + +Wikipedia - http://en.wikipedia.org/wiki/Conway's_Game_of_Life +
+ +# Approach + +As we learnt last week, there are two ways to go about storing the game data (the state of the cells). The simple, and possibly naïve, way is to store a 2 dimensional array containing the state of every cell on the game board. The other is to only store a collection of live cells with their X and Y locations. + +## 2D array + +Storing the cell data in a two dimensional array is pretty simple. + +

+var gameBoard = [
+	[true, false, false, true, false],
+	[true, false, false, true, false],
+	[true, false, false, true, false],
+	[true, false, false, true, false],
+	[true, false, false, true, false]
+];
+
+ +The key thing to remember when approaching it this way is that the game board array must be cloned first before updating the cells. This is because all cells must be updated simultaneously so looping over and updating cell-by-cell would cause incorrect updating as you go through. + +While this is the simplest approach, and the way we attempted when writing it out on paper, it doesn't scale very well. As the game is supposed to be infinite in size the array could very easily get too large for memory and cause the game to crash. This can be avoided by limiting the array to bounding dimensions. + +## Collection of Live Cells + +The more scalable approach involves only storing the positions of the live cells. As all rules are based around the presence of live cells, the next iteration of cells can be calculated from this list. + +

+var gameBoard = [
+	{ x: 3, y: 5},
+	{ x: 8, y: 2},
+	{ x: 13, y: 5},
+	{ x: 5, y: 9},
+	{ x: 9, y: 10}
+];
+
+ +This is the approach I used last night. I have struggled on effectively calculating new cells to be "born", having resulted in iterating over all cells, checking if they are dead and then counting their live neighbours. This obviously goes against the infinite game board idea so if anyone has some suggestions on how to improve it you can Tweet @Marcus\_Noble_ or fork my [gist](https://gist.github.com/AverageMarcus/f5e34825ef89e11443be). + +# Final Code + +
+ +![Conway's Game of Life]({{ site.url }}/images/conways-game-of-life.PNG) + +
They LIVE!!!
+
+ +

+var cells = [];
+var boardWidth = 20;
+var boardHeight = 20;
+var intervalID;
+
+function init(){
+	var cell = $('
').addClass('cell'); + var row = $('
').addClass('row'); + var board = $('#gameBoard'); + var currentRow, i, j, newCell; + + $('#gameBoard').empty().on('click', function(){ + clearInterval(intervalID); + init(); + }); + cells = []; + + for(i=0;i= 2 && neighbourCount <= 3){ + nextIteration.push(cells[i]); + } + } + for(i=1;i<=boardHeight;i++){ + for(j=1;j<=boardWidth;j++){ + deadCell = {x:j,y:i}; + if(!isAlive(deadCell) && countNeighbours(deadCell) === 3){ + nextIteration.push(deadCell); + } + } + } + cells = nextIteration; + render(); +} + +function isAlive(cell){ + return (cells.filter(function(currentCell){ + return (currentCell.x === cell.x && currentCell.y === cell.y); + }).length > 0); +} + +function countNeighbours(cell){ + var x1 = cell.x-1, + x2 = cell.x+1, + y1 = cell.y-1, + y2 = cell.y+1; + + var neighbours = cells.filter(function(possibleNeighbour){ + if(possibleNeighbour.x === cell.x && possibleNeighbour.y === cell.y){ + return false; + } + return (possibleNeighbour.x >= x1 && possibleNeighbour.x <= x2 && possibleNeighbour.y >= y1 && possibleNeighbour.y <= y2); + }); + return neighbours.length; +} + +init(); +
+ + +You can check out the [final version](/ConwaysGameOfLife.html) or take a look at the [gist](https://gist.github.com/AverageMarcus/f5e34825ef89e11443be). + +As always, if you have any comments Tweet @Marcus\_Noble_. + +# Updated 2014-07-22 + +With a little help from [@danielthepope](https://twitter.com/danielthepope/) I have improved the code slightly to remove the fixed universe problem. Cells are now born based on live cells instead of iterating over the game board. + +

+var cells = [];
+var boardWidth = 20;
+var boardHeight = 20;
+var $board = $('#gameBoard');
+var intervalID;
+
+function init(){
+	var cell = $('
').addClass('cell'); + var row = $('
').addClass('row'); + var currentRow, i, j, newCell; + + $('#gameBoard').empty().on('click', function(){ + clearInterval(intervalID); + init(); + }); + cells = []; + + for(i=0;i= 2 && neighbourCount <= 3){ + nextIteration.push(cells[i]); + } + // For each cell that is alive, find its neighbours + cellX = cells[i].x; + cellY = cells[i].y; + neighbours = []; + neighbours.push({x:(cellX-1),y:(cellY-1)}); + neighbours.push({x:(cellX-1),y:cellY}); + neighbours.push({x:(cellX-1),y:(cellY+1)}); + neighbours.push({x:cellX,y:(cellY-1)}); + neighbours.push({x:cellX,y:(cellY+1)}); + neighbours.push({x:(cellX+1),y:(cellY-1)}); + neighbours.push({x:(cellX+1),y:cellY}); + neighbours.push({x:(cellX+1),y:(cellY+1)}); + for(j=0, neighbourLength=neighbours.length; j 0); +} + +function countNeighbours(cell){ + var x1 = cell.x-1, + x2 = cell.x+1, + y1 = cell.y-1, + y2 = cell.y+1; + + var neighbours = cells.filter(function(possibleNeighbour){ + if(possibleNeighbour.x === cell.x && possibleNeighbour.y === cell.y){ + return false; + } + return (possibleNeighbour.x >= x1 && possibleNeighbour.x <= x2 && possibleNeighbour.y >= y1 && possibleNeighbour.y <= y2); + }); + return neighbours.length; +} + +init(); +
\ No newline at end of file diff --git a/src/posts/2014-07-17-achieving-100-google-points.markdown b/src/posts/2014-07-17-achieving-100-google-points.markdown new file mode 100644 index 0000000..f5aeb7e --- /dev/null +++ b/src/posts/2014-07-17-achieving-100-google-points.markdown @@ -0,0 +1,164 @@ +--- +layout: post.html +title: "Achieving 100 Google points" +date: 2014-07-17 +tags: Web +summary: "Recently I have re-built my blog (hence the new life that has sprouted), not that you can tell. I spent a portion of last week moving away from [Ghost](https://ghost.org/) to using [Jekyll](http://jekyllrb.com/). With this I took the opportunity to improve the performance by utilizing [Grunt](http://gruntjs.com/) as part of the build workflow. This allowed me to achieve a 100/100 rating on [Google PageSpeed Insights](http://developers.google.com/speed/pagespeed/insights/?url=blog.marcusnoble.co.uk)." +--- + +Recently I have re-built my blog (hence the new life that has sprouted), not that you can tell. I spent a portion of last week moving away from [Ghost](https://ghost.org/) to using [Jekyll](http://jekyllrb.com/). With this I took the opportunity to improve the performance by utilizing [Grunt](http://gruntjs.com/) as part of the build workflow. This allowed me to achieve a 100/100 rating on [Google PageSpeed Insights](http://developers.google.com/speed/pagespeed/insights/?url=blog.marcusnoble.co.uk). + +{{> picture alt="100/100" caption="All the Google points!" url="/images/GooglePageInsights.PNG" }} + +> So, what's my secret? + +Well its simple, do what [Google says](https://developers.google.com/speed/docs/insights/rules). + +Here are the steps I took to get up to the 100 mark... + +## 1. Use a static site + +Using static sites (as opposed to dynamic sites) makes this much easier. As the HTML is fixed and not going to change based on what the user does or what data may be in a database you can ensure that what is rendered is in the best possible state. + +I have used [Jekyll](http://jekyllrb.com/) for my Blog but I have heard good things about [Middleman](http://middlemanapp.com/), [Harp.js](http://harpjs.com/) and [Sculpin](https://sculpin.io/). + +## 2. Be tappable + +For any links, buttons, etc. on your pages that you want people to interact with make sure they can be pressed with a fat finger on a small touchscreen. This means to give grouped buttons enough space around them so the user can easily tap the one they want without inadvertently tapping the other and that links are roughly 2.4mm in height. + +This one I have to keep fighting with. As new links appear on the page, Google sometimes decides some of them aren't big enough. + +> The following tips make use of [Grunt](http://gruntjs.com/), if you haven't used it before then be sure to read the [getting started](http://gruntjs.com/getting-started) first. + +## 3. Remove unused CSS + +There is a great Grunt plugin called [uncss](https://github.com/addyosmani/grunt-uncss) that will remove unused CSS from your stylesheets, thus reducing the overall filesize. I found this to be mostly useful when applied to 3rd party stylesheets (such as bootstrap). + +### Example config + +

+uncss: {
+	dist: {
+	    options: {
+	      ignore: ['.center'], // Ensure these styles aren't removed
+	      stylesheets  : ['css/screen.css'] // The stylesheets to check
+	    },
+	    files: {
+	        'css/screen.min.css': ['*.html', '_layouts/*.html', '_includes/*.html'] // Output stylesheet and the pages to check against
+	    }
+	},
+	bootstrap: {
+	    options: {
+	      stylesheets  : ['css/bootstrap.min.css']
+	    },
+	    files: {
+	        'css/bootstrap.min.css': ['*.html', '_layouts/*.html', '_includes/*.html']
+	    }
+	},
+	fontawesome: {
+	    options: {
+	      stylesheets  : ['css/font-awesome.min.css']
+	    },
+	    files: {
+	        'css/font-awesome.min.css': ['*.html', '_layouts/*.html', '_includes/*.html']
+	    }
+	}
+}
+
+ +## 4. Shrink your CSS more! + +Removing unused CSS is nice but there is still a lot of bloat that isn't required - spaces, line breaks & comments. The browser doesn't use any of this, so why bother sending it? The [grunt-contrib-cssmin](https://github.com/gruntjs/grunt-contrib-cssmin) achieves this nicely. To keep files readable when developing we can have cssmin output the minified files as a *.min.css file, leaving the original intact. I don't use any JavaScript on my Blog but there is also [grunt-contrib-uglify](https://github.com/gruntjs/grunt-contrib-uglify) that can shrink down your JavaScript files in a similar way. + +### Example config + +

+cssmin: {
+    dist: {
+        expand: true,
+        cwd: 'css/',
+        src: ['*.css'],
+        dest: 'css/',
+        ext: '.min.css'
+    }
+}
+
+ +## 5. Get those images into shape + +Images often make up the bulk of a websites total filesize.[*citation needed*] Just like with CSS we should also be reducing bloat from our images. [grunt-contrib-imagemin](https://github.com/gruntjs/grunt-contrib-imagemin) can do this for us, with options to specify how much compression to apply. I left it at default and saw a rather sizable reduction with some images with no noticeable quality loss. + +### Example config + +

+imagemin: {
+    static: {
+        options: {
+            optimizationLevel: 3
+        },
+        files: [{
+            expand: true,
+            cwd: 'images',
+            src: '**/*.{png,PNG,jpg,JPG,gif,GIF}',
+            dest: 'images'
+        }]
+    }
+}
+
+ +## 6. Reducing time over the wire + +When a web browser loads a site, it must first fetch the HTML file, read over it all and then fetch any associated resources (stylesheets, JavaScript files) causing additional calls back to the web server. This is just wasteful! Why make the browser ask for what we already know it needs? So, [grunt-html-smoosher](https://github.com/motherjones/grunt-html-smoosher) to the rescue. This handy little plugin will take HTML files and replace resource tags (e.g. ``) with their content inline. + +### Example config + +

+smoosher: {
+    all: {
+      files: [
+        {
+          expand: true,
+          cwd: '_site/',
+          src: ['**/*.html'],
+          dest: '_site/'
+        }
+      ]
+    }
+}
+
+ +## 7. Shrink whats left + +So, we've reduced our CSS, our JavaScript (if we have any) and our images. We've event smooshed most of these into a single file. What could possibly be left? Why the HTML of course! So for our final trick we are going to use [grunt-contrib-htmlmin](https://github.com/gruntjs/grunt-contrib-htmlmin) to remove all spacing, line breaks and comments from our final HTML files. + +### Example config + +

+htmlmin: {
+    dist: {
+      options: {
+        removeComments: true,
+        collapseWhitespace: true
+      },
+      files: [
+        {
+          expand: true,
+          cwd: '_site/',
+          src: ['**/*.html'],
+          dest: '_site/',
+        },
+      ]
+    }
+}
+
+ + +# Bonus - Getting the Green Padlock + +As an aside I recommend giving this post about [setting up SSL in nginx](https://gauntface.com/blog/2014/07/04/installing-ssl-certs) by [Matt Gaunt](https://gauntface.com/). It walks through the process of getting a free SSL certificate and configuring nginx to make best use of it with [SSL Labs test](https://www.ssllabs.com/ssltest/analyze.html?d=blog.marcusnoble.co.uk&hideResults=on) to validate the improvements + +# Conclusions + +As you can see, it doesn't take a lot to improve the performance of websites. Pull all this together into an effective workflow and you don't even need to worry about it anymore. I have all my Grunt jobs, including one to [build the Jekyll sites](https://github.com/dannygarcia/grunt-jekyll), as a post-receive [Git hook](http://git-scm.com/book/en/Customizing-Git-Git-Hooks). No more ftp/scp nonsense, no more remembering how to build my site, just code and push. Simple! :smile: + +If anyone uses a similar approach to their sites, or has ways to improve please Tweet @Marcus\_Noble_ \ No newline at end of file diff --git a/src/posts/2014-08-24-nodebots.markdown b/src/posts/2014-08-24-nodebots.markdown new file mode 100644 index 0000000..cf9245c --- /dev/null +++ b/src/posts/2014-08-24-nodebots.markdown @@ -0,0 +1,150 @@ +--- +layout: post.html +title: "NodeBots" +date: 2014-08-24 +tags: JavaScript JSOxford +summary: "This weekend hosted the final event of [@JSOxford](https://twitter.com/JSOxford)'s [Summer of Hacks](http://jsoxford.com/2014/summer-of-hacks/) - **NodeBots**." +--- + + > **Disclaimer:** No robot uprising occurred in the making of this blog post. + +This weekend hosted the final event of [@JSOxford](https://twitter.com/JSOxford)'s [Summer of Hacks](http://jsoxford.com/2014/summer-of-hacks/) - **NodeBots** kindly hosted at the [@WhiteOctober](https://twitter.com/whiteoctober) offices. + +The day was aimed at learning to program various bits of hardware, predominantly in JavaScript. +This included a whole bunch of Arduinos, some wifi controlled cars, some quad-copters and various other little board such as a [Tessel](https://tessel.io/) and [Espruino](http://www.espruino.com/). + +We were given free rain over what we create. Everyone was there to help each other out, in true community spirit. + +{{> tweet id='503181282353119232' }} + +The amount of kit made available to us was incredible. 10 Ardunio Experimentation Kits, a whole host of sensors and motors, boxes full of Lego & k'nex and plenty of varied electronics to build whatever we wanted. + +{{> tweet id='502792423152836608' }} + +I didn't have any goal going in. I wasn't sure what I wanted to build. A full blown robot was a bit much so I decided to focus on trying my hand at building ancillary systems. + +But before all that we all, obviously, had to do the hardware equivalent of ["Hello World"](http://en.wikipedia.org/wiki/Hello_world_program) - make an LED blink. + +One of the main things I did learn at this early stage was to make sure Linux is correctly set up. By default the port the Arduino is set to (likely `/dev/ttyacm0`) has permissions that prevent users from accessing it. Resolve this by either adding yourself to the correct group or by `chmod`ing it to be more permissive. + +To program against ardunio using JavaScript we were advised to use a library call [johnny-five](ttps://github.com/rwaldron/johnny-five). I highly recommend it is you are planning on doing any hardware programming as it does support a range of different boards. There is also a **LOT** of examples so it is pretty easy to get up and running with whatever you want. + +So with this all set up I started playing with some of the sensors available. A nice easy one to start with was the temperature sensor. It was easy to wire up, all it needed was 5v in, a ground and a data cable. Once wired up, the code is pretty simple. + +

+var five = require("johnny-five"),
+    board = new five.Board(),
+    sensor,
+    temp = { c: 0, f:0 };
+
+board.on("ready", function() {
+  sensor = new five.Sensor("A0");
+
+  function analogToCelsius(analogValue) {
+    return ((analogValue * 0.004882814) - 0.5) * 100;
+  }
+
+  function analogToFahrenheit(analogValue) {
+    return analogToCelsius(analogValue) * ( 9/5 ) + 32;
+  }
+
+  sensor.on("data", function() {
+    var celsiusValue, fahrenheitValue;
+    // Obtain temperature from current analog value
+    celsiusValue    = analogToCelsius(this.value);
+    fahrenheitValue = analogToFahrenheit(this.value);
+    temp.c = celsiusValue;
+    temp.f = fahrenheitValue;
+  });
+});
+
+setInterval(function(){
+  console.log(Math.round(temp.c) + "c | "+Math.round(temp.f)+"f");
+}, 1000);
+
+ +This sets up the board and the sensor and gets the appropriate value from the sensor upon detecting a change in temperature, which is pretty much constant due to how many decimal places it monitors to. I have set up a function that is called every second and outputs current values recorded from the sensor. + +{{> tweet id='503494610464047104' }} + +As you can see, a nice 21°c at the White October offices. + +Then I came across an ultrasonic sensor. This looked fun! + +I thought it could be useful as some kind of collision detection to prevent a robotic car from crashing. There is a nice johnny-five example for these so I wired it up, copied over some of the code and took a look at the results. The first thing I realised was the sensor was a little flaky sometimes and the value occasionally jumped up/down. It also couldn't correctly detect something closer than 3cm, it suddenly thinks its about 700cm away. + +So I had distance values, time to do something with them. I decided that I would have it respond to things getting too close (people walking past my desk) so I started wiring up a piezo and an LED which would be triggered. When something was detected closer than 90cm the bright red LED started flashing and the piezo started beeping annoyingly to let everyone know. + +This was good, but it needed something more, something cute. How about an Octocat? + +So, with a little help of a stepper motor, some k'nex and a GitHub sticker, I had a cute l'il Octocat that greeted people as they passed by my station. + +{{> tweet id='503501014792953856' }} + +My final code can be found below, don't just it wasn't meant to be pretty. You may also notice that I also had a light sensor that turned on a super bright LED when it got too dark. I did have to make sure to move the LED away from the sensor on the breadboard though... + +

+var five = require("johnny-five"),
+    board, ping, led, piezo, photoresistor, whiteLED, servo, motor, digitalWrite;
+
+board = new five.Board();
+
+board.on("ready", function() {
+  var that = this;
+  piezo = new five.Piezo(3);
+  led = new five.Led(13);
+  whiteLED = new five.Led(5);
+  servo = new five.Servo(10);
+
+  board.repl.inject({
+    piezo: piezo,
+    pot: photoresistor,
+    servo: servo
+  });
+
+  photoresistor = new five.Sensor({
+    pin: "A2",
+    freq: 250
+  });
+
+  ping = new five.Ping(7);
+
+  ping.on("change", function( err, value ) {
+
+    if(this.cm < 90){
+      piezo.tone( 150, 50 );
+      led.strobe(50);
+      wave(true);
+    }else {
+      piezo.noTone();
+      led.stop();
+      led.off();
+      wave(false);
+    }
+  });
+
+  photoresistor.on("data", function() {
+    if(this.value > 350){
+      console.log("Oh no! It's too dark");
+      whiteLED.on();
+    }else{
+      whiteLED.off();
+    }
+  });
+
+});
+
+function wave(wave){
+  if(wave){
+      servo.to(0);
+  }else if(!wave){
+    setTimeout(function(){
+      servo.to(90);
+    }, 500);
+  }
+}
+
+ +All-in-all it was a really good day which I think everyone enjoyed. Lots was learnt. Laughs were had. I eagerly look forward to the next one. + +Thanks to everyone involved in organising it, [White October](http://www.whiteoctober.co.uk/) for hosting it and the various sponsors that allowed it to happen (as well as provide us with some awesome pastries and [burritos](http://missionburrito.co.uk/)). diff --git a/src/posts/2014-11-17-emerging-tech-weekender-and-digital-oxford.md b/src/posts/2014-11-17-emerging-tech-weekender-and-digital-oxford.md new file mode 100644 index 0000000..a0d4c45 --- /dev/null +++ b/src/posts/2014-11-17-emerging-tech-weekender-and-digital-oxford.md @@ -0,0 +1,77 @@ +--- +layout: post.html +title: "Emerging Tech Weekender & Digital Oxford" +date: 2014-11-17 +tags: JavaScript DigitalOxford ETWOx Hackathon +summary: "I spent this past weekend in Oxford Brookes participating in the [Emerging Tech Weekender](http://emergingtechweekender.co.uk) organised by [Digital Oxford](http://www.digitaloxford.com)" +--- + +For those who don't know, Oxford is the place for digital, and [Digital Oxford](http://www.digitaloxford.com) is a community group dedicated to promoting this fact. + +Their latest event offering was hackathon going by the name of [Emerging Tech Weekended](http://emergingtechweekender.co.uk), a weekend long event bringing together designers, developers and business brains to explorer new ideas and technologies revolving around three technology themes: Multi-device web, Internet of things and mesh networks. There was tech and business mentors floating about providing help to teams all weekend. + +The weekend kicked off on Friday with something of a surprise to me... + +{{> tweet id='533329134232289281' }} + +[STFC](http://www.stfc.ac.uk) helped sponsor the event. Who knew? (I know I sure didn't). + +After the tech mentors gave their presentation & demos we began mingling over drinks and coming up with ideas for teams to work on. When we all came back together we had a large number of good ideas suggested. + +{{> tweet id='533355898086129664' }} + +We each had two votes we could give to an idea and then teams were formed out of the top voted. I joined the "Dude, where's my cat?" team. The idea was, we never have any idea where our cats are, wouldn't it be great if we could track them somehow? + +{{> picture alt="Dude, where's my cat?" caption="Dude, where's my cat?" url="/images/DudeWheresMyCat.jpg" }} + +{{> tweet id='533380993265438720' }} + +So... we discovered pretty quickly that the idea has been done, repeatedly. :disappointed: + +So I joined SenseSpace! The ideas was pretty simple, create a gaming platform that could be used on mobile devices to take digital games into the real world using things like geolocation and mesh netowkring. Our proof of concept was a game of tag. Each player has a mobile device, they access our web application and their position is plotted on a map. Other players in the area are then shown as opponents. A single player is "it" and must catch an opponent by getting close enough for long enough. + +Our final project didn't quite make it that far but we did get enough to convey the basic idea to people. + +{{> tweet id='533979636909506560' }} + +As part of our pitch we did a short example video of us playing tag with our devices. I was even able to make use of a pair of Google Glasses to get some pretty cool point-of-view footage. + +I thought Google Glass would be a cool platform to be able to actually play our game on (if you ignore the cost for a moment). Unfortunately... + +{{> tweet id='533995183248252929' }} + +When it came to Sunday evening it was time for the pitching and judging. There was a lot of goo pitches and a lot of impressive work done in just a couple days. + +SenseSpace was getting some very positive feedback. + +{{> tweet id='534020893203521536' }} + +There was a lot of good ideas from Queue controlling... + +{{> picture alt="Q-Control" caption="Q-Control" url="/images/QControl.jpg" }} + +...to audience roulette... + +{{> picture alt="CrowdLighter" caption="CrowdLighter" url="/images/CrowdLighter.jpg" }} + +But my personal favourite, and the one that got my vote during the audience voting, was Team Brush! + +{{> tweet id='534030183129702401' }} + +So... the results are......... + +## Audience Favourite + +**Team Brush!** + +## Best Technology + +**SenseSpace** (Woo!) + +## Best Commercially + +**Team Brush!** + +All in all it was an amazing weekend with a lot of effort put in and fun had by all. + +I would like to thank everyone involved in organising and running the event, truly amazing work. diff --git a/src/posts/2015-04-14-rthack.markdown b/src/posts/2015-04-14-rthack.markdown new file mode 100644 index 0000000..c320806 --- /dev/null +++ b/src/posts/2015-04-14-rthack.markdown @@ -0,0 +1,47 @@ +--- +layout: post.html +title: "RTHack" +date: 2015-04-14 +tags: JavaScript JSOxford RTHack HackDay +summary: "Last Saturday I spent the day at [JS Oxford](http://jsoxford.com)'s RTHack day. The theme was to explore and build upon real time web technologies. " +--- + +Last Saturday I spent the day at [JS Oxford](http://jsoxford.com)'s RTHack day. The theme was to explore and build upon real time web technologies. + +When we arrived there were many [examples](https://github.com/jsoxford/RTHackPack) provided for us (one which I had added) using a range of real time technologies such as [Pusher](https://pusher.com/), [PubNub](https://www.pubnub.com/) and [Socket.io](http://socket.io/). + +After a brief intro a few pitched some ideas they had for the day and we joined into groups. I joined with [Max](https://twitter.com/omgmog) to work on some real time, web connected hardware using Arduino's etc. I had brought along my awesome [Spark Core](https://store.spark.io/?product=spark-core) which is a mini, cloud connected device. I hooked up a [DHT11](http://www.adafruit.com/products/386) temperature/humidity sensor which had a handy Spark Core library available. + +{{> tweet id='586829181226524672' }} + +The data from this sensor was then made available by registering events using the Spark cloud's `publish` function which I then listened for on a server and forwarded all messages to Pusher for use by others. I hooked up a simple web page that would display each of the messages as they came in and cobbled together a [D3](http://d3js.org/) graph that plotted the temperature in real time. + +We quickly discovered that the DHT11 was *slow*. Very slow it seemed. I first thought it was a bug in my code but after putting the device in the fridge we started to see a change in the temperature output, but with something close to a 30 second delay. Hardly **real time**. + +I switched to using a TMP36 temperature sensor, one lacking a handy library. It took me *WAY* too long to get this working as I needed to find the right equation to convert the output voltage to degrees Celsius. "*Hardware is hard!*" + +But in the end I prevailed!!! + +{{> tweet id='586913832121008129' }} + +We gave demos at the end of the day. Mine was short and sweet but some of the others were pretty cool. + +[Dan](https://twitter.com/danielthepope) made a cool game where you fight to set the background colour. + +{{> tweet id='586901707285725185' }} + +[Ben](https://twitter.com/benjaminbenben) and [Gil](https://twitter.com/LuRsT) made a cool way of displaying what people are tweeting about. + +{{> tweet id='586926991020003328' }} + +We also had a Countdown clone, modern minesweep, twitter walls with flamingos, various chat rooms and an interactive [Ben's mind palace](http://www.bensmindpalace.co.uk/rt/). + +When all was done and we had wrapped up a few of us headed over to Joe Perks for some well deserved (custom) cocktails. + +{{> tweet id='586955640024788992' }} + +This did end up turning into a Ruby hack... + +{{> tweet id='586994376812933121' }} + +All-in-all it was a great day! I learned not to muck around with hardware at a JS hack day (although that may change now I've received my [Espruino Pico](http://www.espruino.com/Pico)) and there are some pretty quick and powerful things you can do with technologies like Pusher. diff --git a/src/posts/2015-07-27-nodebots-2015.markdown b/src/posts/2015-07-27-nodebots-2015.markdown new file mode 100644 index 0000000..447a521 --- /dev/null +++ b/src/posts/2015-07-27-nodebots-2015.markdown @@ -0,0 +1,69 @@ +--- +layout: post.html +title: "Nodebots 2015" +date: 2015-07-14 +tags: JavaScript JSOxford Nodebots HackDay +summary: "Last Saturday was [International NodeBots Day](https://github.com/nodebots/nodebotsday) and [JS Oxford](http://JSOxford.com) was yet again hosting a hack day." +--- + +Last Saturday was [International NodeBots Day](https://github.com/nodebots/nodebotsday) and [JS Oxford](http://JSOxford.com) was yet again hosting a hack day. We had a really good turn out with about 30 very enthusiastic people showing up. I belive this was, in no small part, due to the fact we had [Gordon Williams](https://twitter.com/espruino), the man behind the [Espruino](http://www.espruino.com/), on hand to help us build some awesome little robot cars made possible by the Expruino Pico and a PCB made especially for the day. + +{{> tweet id='624872341206642688' }} + +I have been looking forward to this event for a long time now. [Last year's NodeBot event](https://blog.marcusnoble.co.uk/2014-08-24-nodebots/) was one of the main reasons I fell in love with JS Oxford. It was lots of fun and really spurred my interest in microcontrollers (Arduinos, Espruinos, etc.). I may have been a little too keen... + +{{> tweet id='624607801277427712' }} + +The day started out with an intro from Ryan and Gordon talking about the pre-designed project that was available (or we could make whatever we wanted) and a brief overview of the many components laid out in front of us. + +{{> picture alt="So many components to play with." caption="So many components to play with." url="/images/Nodebots2015Components.jpg" }} + +I started off working with [Tom](https://twitter.com/neverontarget) and [Katy](https://twitter.com/katyemoe) following the [instructions](https://github.com/espruino/EspruinoDocs/blob/master/devices/RobotPCB.md) to build a small Espruino Pico car that can be built upon. After shorting out our first board we eventually had something that worked... + +{{> tweet id='624913165864857600' }} + +At this point I decided I wanted to have a go with some of the kit I had brought, specifically one of [these](http://www.ebay.co.uk/itm/Hot-sale-Motor-Smart-Robot-Car-Chassis-Speed-Encoder-Battery-Box-For-Arduino-DDS/391198705451) I got off eBay. The main difference between this and the small cars we'd been building was the motors on this were considerably hungrier, requiring ~5v to work rather than 3.3v. This posed a problem as the pins on the controllable Espruino Pico all output at 3.3v with the only way to get 5v is the use the constant 5v out pin. After some (repeated) chatting with Gordon I was advised to make use of a transistor to have a controllable switch for the 5v power. I used two of these to have individually controllable wheels and threw together some code that would have the car randomly drive around. + +

+var movement = [0, 0];
+var timeout;
+
+setWatch(function(){
+  if(timeout){
+    clearInterval(timeout);
+    timeout = undefined;
+    movement = [0,0];
+    digitalWrite(A6, movement[0]);
+    digitalWrite(A7, movement[1]);
+    digitalWrite(B3, 0);
+  }else{
+    go();
+  }
+}, BTN, {repeat:1, edge:'rising'});
+
+
+function getRand() {
+  return Math.floor(Math.random() * (1 - 0 + 1)) + 0;
+}
+
+function go(){
+  digitalWrite(B3, 1);
+  timeout = setInterval(function(){
+    movement = [getRand(), getRand()];
+    digitalWrite(A6, movement[0]);
+    digitalWrite(A7, movement[1]);
+  },1000);
+}
+
+ +The end result is quite entertaining... + +{{> tweet id='624950235509456896' }} + +All in all it was a very successfull event with many [awesome](https://twitter.com/danielthepope/status/624969982934392832) [robots](https://twitter.com/roylinesuk/status/625029819550564352) being built. + +{{> tweet id='624964081691324416' }} + +With the day over, a robot uprising in effect and a lot of tired people it was time for some celebratory food and drinks at [Joe Perks](http://joeperksandco.co.uk/). + +{{> picture url="/images/NodebotsJoePerks.jpg" }} \ No newline at end of file diff --git a/src/posts/2015-09-05-elevated-intelligence-watch.md b/src/posts/2015-09-05-elevated-intelligence-watch.md new file mode 100644 index 0000000..5997d07 --- /dev/null +++ b/src/posts/2015-09-05-elevated-intelligence-watch.md @@ -0,0 +1,45 @@ +--- +layout: post.html +title: "Elevated Intelligence Watch" +date: 2015-09-05 +tags: Android SmartWatch +summary: "A few weeks ago I bought an [Asus ZenWatch](https://www.asus.com/Phone-Accessory/ASUS_ZenWatch_WI500Q/) as the price [recently dropped](https://store.google.com/product/asus_zenwatch) (due to the upcoming release of the [ASUS ZenWatch 2](https://www.asus.com/ZenWatch/ASUS_ZenWatch_2_WI501Q/)). My experiences with it so far have been..." +--- + +A few weeks ago I bought an [Asus ZenWatch](https://www.asus.com/Phone-Accessory/ASUS_ZenWatch_WI500Q/) as the price [recently dropped](https://store.google.com/product/asus_zenwatch) (due to the upcoming release of the [ASUS ZenWatch 2](https://www.asus.com/ZenWatch/ASUS_ZenWatch_2_WI501Q/)). My experiences with it so far have been... + +...somewhat underwhelming. + +I had purchased the device under the guise of assisting me with my aim to lose some weight. There are many Android Wear apps that allow you to track the number of steps you make throughout the day and encourage you to achieve the [recommended 10K steps](http://www.nhs.uk/Livewell/loseweight/Pages/10000stepschallenge.aspx). The problem is, all these apps seem to have a different way of calculating how many steps you have taken. + +{{> picture alt="Google Fit" caption="Google Fit" url="/images/Fit.png" class="inline" }} +{{> picture alt="Watch Face" caption="Watch Face" url="/images/Clock.png" class="inline" }} +{{> picture alt="Asus Wellness" caption="Asus Wellness" url="/images/Wellness.png" class="inline" }} +{{> picture alt="Up by Jawbone" caption="Up by Jawbone" url="/images/Up.png" class="inline" }} + +*Ugh!* + +This obviously destroys any confidence I have that my steps are actually being tracked. So I decided to stick with a single app (Google Fit) and ignore the rest. My reason for picking [Google Fit](https://fit.google.com/) is it has a nice feature that can detect different types of activities, so I can track how many calories I burn playing tennis as well as track my daily number of steps. It is also quite nice to have it all backed up to my Google account, giving me a nice interface to look back over different activities I've taken part in. There is also an [API](https://developers.google.com/fit/rest/) so I can make sure of that data at a later date if I so choose. + +{{> picture alt="Google Fit Activity Summary" caption="Google Fit Activity Summary" url="/images/GoogleFit.png" }} + +The biggest impact I saw after I had used it a few days was on my battery. It requires bluetooth enabled on your phone constantly and this can be a massive battery drain (depending on your phone). Luckily my [OnePlus One](https://oneplus.net/one) had a pretty amazing battery life to start with so I still get a full day's use out of it (*just*) but others may not be so lucky. + +## It's not all doom and gloom + +One thing it does, and does *really well*, is give you the ability to be indecisive about what watch you want. When I first got it I found myself changing the watch face daily (sometimes several times throughout the day). As the watch itself looks pretty smart and "ordinary" it fits in with most situations (casual and formal). Having the ability the easily change to a suitable (or [not suitable](https://play.google.com/store/apps/details?id=pl.tajchert.swear&hl=en)) watch face to match the situation is really, really nice. + +{{> picture alt="Stickers" url="/images/Stickers.png" class="inline" }} +{{> picture alt="Pixels" url="/images/Pixels.png" class="inline" }} +{{> picture alt="Mechanism" url="/images/Mechanism.png" class="inline" }} +{{> picture alt="Mr Robot" url="/images/MrRobot.png" class="inline" }} + +It does also have pretty good voice commands which allow you to do pretty much anything (send a text, search, add a note, send a WhatsApp message) just by talking to your watch. I did occasionally find myself in a situation where both my watch and phone started listening when I spoke those [magic words](https://support.google.com/websearch/answer/2940021?hl=en) so I recommend turning off the "listen from any screen" option on the phone. While it is a really cool and powerful feature I have yet to overcome the social awkwardness of talking to my watch so have only used it while driving or at home. I'm sure we'll soon all be [speaking to our computers](https://vimeo.com/121710266), but for now, its a bit weird. + +But so far, my primary use of it has been to check on notifications without having to pull out my phone. Simple, but really useful. Not quite sure its £160 worth of usefulness though. + +## Closing thought... + +One thing I hadn't anticipated before I got my new watch, and something I hadn't seen anyone mention, is that your shiny new watch... could become unresponsive and not be able to tell you what time it is... + +{{> picture alt="Time has become unresponsive" caption="Time has become unresponsive" url="/images/NotResponding.png" }} \ No newline at end of file diff --git a/src/posts/2015-10-06-hackathonarama.markdown b/src/posts/2015-10-06-hackathonarama.markdown new file mode 100644 index 0000000..8d7271d --- /dev/null +++ b/src/posts/2015-10-06-hackathonarama.markdown @@ -0,0 +1,51 @@ +--- +layout: post.html +title: "Hackathonarama" +date: 2015-10-06 +tags: hackathon +summary: "This past weekend I attended my first proper 2-day hackathon. While I didn't manage to build anything awesome I did learn *a lot* about some new technologies and how to approach hackathons, especially when it's your first time." +--- + +Last weekend I attended my first real 2-day hackathon - [Hackference](http://2015.hackference.co.uk/) (a 1 day conference and 2 day hackathon) - not really knowing what I was doing going in. Unfortunately I didn't manage to build anything cool (more on that below) but I did learn a lot about hackathons and about my fellow developers. Here are my tips for going to your first hackathon (in no relevant order): + +### 1. Drink water + +This should really be a tip for life but I really made this mistake on the first day. I went equipped with cans of Relentless, bottles of Mt. Dew and other things that will do crazy things to my body. While these do give you a short-term boost in energy, the come-down can be hard and will eventually leave you dehydrated. A better tactic is to drink water for the most part and if you find yourself in need of a boost then have an energy drink sparingly. This will also help prevent the headaches kicking in on the second day. + +### 2. Bring a friend (or make friends there) + +I went along alone, which usually is fine (I love my own company) but, being the anti-social type that I am, I ended up working alone rather than in a team. This was by far my biggest mistake. I totally missed out on a great learning experience by working with others. If you can't get anyone to go along with you, find someone there that is working on something that interests you and ask to join them. + +### 3. Don't waste too much time on a technology/library/API/etc. + +On the first day you will likely have sponsors telling you about some of their resources that you can make use of. This is really cool as if you get stuck with any of them you can go right to the source for help. But the idea of the event is to build and learn. If you end up sinking many of the crucial hours trying to get a library to work you aren't going to get a project finished. This is where I went wrong. I tried to make use a Microsoft's [Face API](https://gallery.cortanaanalytics.com/MachineLearningAPI/b0b2598aa46c4f44a08af8891e415cc7) but unfortunately is was having problems. + +{{> picture alt="No Face API for you :cry:" caption="No Face API for you :cry:" url="/images/AzurePortalError.png" }} + +The two there from Microsoft, [Martin](https://twitter.com/MartinKearn) & [Martin](https://twitter.com/thebeebs/), did manage to generate me an API key on the second day but by then it was too late for me to do anything useful with it. + +I then moved on to trying out [Twilio's](https://www.twilio.com/) WebRTC Video. I was going to build a super-simple video chat room between two people. The code required to get it set up is incredibly simple, Twilio have done a great job with the SDK. I loaded it up on my laptop, then on my Android phone. The laptop worked great... the phone didn't work. *Ugh!* After some researching I eventually came across a [blog post](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) by [Peter Gasston](http://www.broken-links.com/2010/07/08/making-html5-video-work-on-android-phones/) that explains a problem on Android where the `.play()` method needs to be manually called to get mp4 videos to play. After adding this to my code (at the end of the second day) all worked perfectly. Throughout all this I was talking with [Rob](https://twitter.com/dN0t) from Twilio about it (who contacted the lead engineer about the issue) so when I had a solution I made sure he was aware so it could be baked back into the Twilio SDK. *How cool is that!?* + +### 4. Have some ideas ready + +I went in with nothing. No clue what I was going to do. Even after seeing the sponsors demo's I was still lacking a bright idea. If you can, look up the sponsors in advance, look at what they have on offer and come up with 2-3 ideas of how you could use their resources for something cool. Even if you don't act on them you wont be in the position I was of spending the first hour or two just trying to come up with an idea of what to do. + +### 5. Talk to people + +This was the best thing I did. I went round and talked to people, asked them what they were doing, how they were doing it, etc. The whole point of being there is to learn so don't waste the most useful resource available - other peoples experiences. + +### 6. Sleep + +I had planned to power through the night, which I did do, but I got to a point where I wasn't able to think of anything new or do anything creative. My brain was just too tired. I had tried to get some rest (take a sleeping bag and pillow) but it was too noisy at the time. With hindsight, some ear plugs would have been **very** useful. + +### 7. Make sure you know how to use a projector + +{{> picture url="/images/HackathonProjector.jpg" caption="How many developers does it take to hook up a projector?" alt="How many developers does it take to hook up a projector?" }} + +### 8. HAVE FUN! + +This should be your main focus. If you're not having fun, why are you even there? Don't beat yourself up if you fail to produce something but be happy with trying and learning new things. + +--- + +I want to say thank you to everyone involved in organising and running Hackference and for everyone who attended and made me feel so welcome. I also want to thank [Pusher](http://www.pusher.com/) as I won the ticket to go from them (I :heart: Pusher). A big shout out to [Rob Spectre](https://twitter.com/dN0t) for his *AMAZING* [keynote talk](https://github.com/RobSpectre/Talks/tree/master/With%20Great%20Power) (Developers are superheroes? You bet they are!) and for continuously putting up with me finding problems with the Twilio WebRTC SDK and trying to help me overcome them, and for just being a cool guy who likes comics! \ No newline at end of file diff --git a/src/posts/2015-10-28-looking-after-your-butler.markdown b/src/posts/2015-10-28-looking-after-your-butler.markdown new file mode 100644 index 0000000..e3d8d52 --- /dev/null +++ b/src/posts/2015-10-28-looking-after-your-butler.markdown @@ -0,0 +1,90 @@ +--- +layout: post.html +title: "Looking after your butler" +date: 2015-10-28 +tags: ContinuousIntegration Jenkins +summary: "In my team we have a handy-helpful butler that handles all our builds and deploys. I spent all last week getting to know him. Here is what I found out." +--- + +In my team at work we have a butler. + +{{> picture alt="Picture of Geoffrey from The Fresh Prince of Bel-Air" url="/images/butler.jpg" }} + +OK, so it's not [Geoffrey](http://www.imdb.com/name/nm0545186/) from [The Fresh Prince of Bel-Air](http://www.imdb.com/title/tt0098800/), it's more like this... + +{{> picture alt="Jenkins Logo" url="/images/Jenkins.jpg" caption="Jenkins CI!" }} + +For those unaware, [Jenkins](https://jenkins-ci.org/) is a [Continuous Integration](https://en.wikipedia.org/wiki/Continuous_integration) server that is used to automate repetitive tasks such as building your projects and running tests, among [many, many other things](https://wiki.jenkins-ci.org/display/JENKINS/Plugins). We use Jenkins to: + +1. build all our code committed in and on the Master branch +2. package for various platforms (Dev, Prod, Mobile, Etc.) +3. run all tests (unit, integration and acceptance) +4. deploy to our development server. + +We have been using Jenkins for roughly three years now since it was set up by a contractor we had for a while. In that time the amount of jobs we run on it has grown considerably as has the variety of tasks we now want it to perform. Since the contractor left we haven't had anyone in the team that really knows the ins-and-outs of Jenkins and it went many months (years?) without any updates being performed on it for fear of it breaking. + +**Well that stops now!!!** + +I spent all of last week cleaning, updating, improving, rationalising and making sense of every aspect of our Jenkins setup. Here's what I learned: + +## Backups + +As with any major upgrade or change you should always have appropriate backups should anything go awry. We didn't have this in place for Jenkins (short of the VM backup) so before I did anything I first made backups. The great thing about Jenkins is it's plugin ecosystem. Here you will likely find a plugin to do anything you need. Backups are no different, the very useful [thinBackup](https://wiki.jenkins-ci.org/display/JENKINS/thinBackup) allows you to backups all configurations (global system configs and individual job configs) and restore them later if needed. thingBackup also has the ability to make regular backups so we no longer need to worry about out setup getting ruined. + +Before I performed the upgrade I wanted to clean up as much as I could to make things easier. We still had a *lot* of old jobs from our pre-Git days (Ugh – SVN) that were disabled but still hanging around. Being the overly-cautious type that we are we decided to back these up as well but have them removed from Jenkins. The super-handy [Shelve Project Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Shelve+Project+Plugin) allows you to 'shelve' individual Jenkins jobs. This simply creates a zip of the job folder and moves it to another folder in the Jenkins directory. With that you still have the job in tact but it no longer clutters your job lists. + +Another invaluable plugin I have installed it the [JobConfigHistory Plugin](https://wiki.jenkins-ci.org/display/JENKINS/JobConfigHistory+Plugin) that keeps a diff of configurations each time they are changed. You have no idea how many times in the past I had changed a job thinking I was improving it, only to have the build fail and I couldn't remember what the old config was! + +## Limit tasks + +Overly complex jobs are prone to failing. The more tasks you add the less other people are going to understand what is going on. The key is to only include what is needed and nothing more. What this is exactly very much depends on the job you're creating but the main thing I realised was this: + +> Perform all your unit tests and static analysis on your dev builds and leave your prod builds nice and sparse with the bare minimum needed to build the project. + +We had previously had our prod builds as carbon-copies of our dev build with just the build profile different. This is wasteful! By the time the you build the prod profile you should have already built the dev profile, ran all the tests and generated static analysis reports so why bother going through all that again? + +## Limit checkouts + +In our team we use a 'Libraries' repo to house all our dependencies that aren't included using a dependency manager. All our Jenkins jobs checked out this repo so the libraries are available during build. This has one major downside – making any chances to the Libraries repo caused *all* our jobs to start building at the same time. We had three repos that contain shared resources of one kind or another that are needed by most jobs. + +To solve this I set up new jobs whose solve purpose is to checkout these resources and "Archive the Artifacts" so they can then be used by other jobs rather than needing to check them our in each job. This also has the added benefit of reducing the amount of network traffic going between Jenkins and your repositories. + +## Greedy Blocking + +We have some jobs that will cause problems if they run at the same time as certain other jobs. For example, it's not very good if our deploy job runs while we are in the middle of running our integration tests. The [Build Blocker plugin](https://wiki.jenkins-ci.org/display/JENKINS/Build+Blocker+Plugin) allows you to stop jobs from running when a job matching a provided regex is already running. It will queue these jobs until all conflicting running jobs have finished. I decided it is better to be greedy with your blocking regex and restrict more than less (to prevent unreliable tests due to conflicts). For most of our deploys and tests we have something similar to `Dev_(Test|Deploy|Acceptance)_.*{PROJECT_NAME}.*` + +## Re-use + +Writing your jobs with reusable tasks will make them much easier to understand and quicker to set up. A lot of plugins have global configurations that can then be overridden on a per-job basis. I usually try to avoid this and configure things only once. A good example of this is with the [Email-ext Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin) that allows you to construct templates for emails to be sent out upon certain events (such as a build failing)*. + +As well as reusing plugin configurations I also tend to have a "pattern" to how the jobs are structured. As we have multiple of the same type of jobs (ASP .NET and Java) I was able to put together some very prescriptive instructions that others can follow. With the help of the [EnvInject Plugin](https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin) I was able to provide some snippets that can be copied and pasted, providing the appropriate variables are defined at the start of the job. This has also help me overcome one of my most common issues when creating jobs – *typos!* + +* *I'm not sure if it's a bug or me misunderstanding but this plugin doesn't seem to include the default recipients for all triggers defined globally. Make sure you check the 'Advanced' section when adding this plugin to a job.* + +## Nodes + +Don't restrict jobs to nodes unless absolutely necessary! If you have different platforms (Windows/Linux/Etc.) on your nodes then restrict to a label (E.g. "Windows") so that adding new nodes of that type mean you don't need to update jobs. Restricting to a specific machine can often be a sign that other machines aren't correctly set up and could be missing some application or configuration. The one exception we have for this is our job that backs up our GitHub wiki to the slave in our office in the event the network is lost (it happens) so we still have a way of accessing it. + +There may be a time when a job needs to be run on *all* nodes when a repo is updated. In our case this was when we updated a configuration file that needed to be copied to a location on all Jenkins nodes. Rather than having a job that copies to network paths, which would need updating any time a new slave is added, you can make use of the 'Multi-configuration project' job type that allows you to create a matrix axis of properties to run. One of these 'axis' is the 'Slaves' axis that allows you to tell Jenkins to run the job on all (or a selection) of nodes at the same time. + +## Triggers + +I thought a lot about when and why are jobs were being triggered. We had previously been very inconsistent in this aspect in that some polled SCM every X minutes to see if there was changes, some just built every X minutes regardless of changes, some only built when other jobs completed and other were manual only. Looking at just a job name I had no idea when (or even if) it would be built after I had made changes to the code. + +We generally have 5 different types of jobs for each project: A dev build, Dev deploy, Tests (Unit, Integration or Acceptance), Prod build and Prod deploy. These jobs seem to logically follow on from each other, you don't want to deploy before your project is built right? + +Jenkins has a really nice feature that allows you to create workflows of jobs by creating "downstream" and "upstream" jobs. Basically, when configuring a job, you can set it's trigger to be the completion (successful or otherwise) of another job. I decided that only our dev build jobs should be checking for changes and then the deploy is triggered only if the build was successful. Tests only trigger if the deploy was successful (or new tests have been added to SCM) and the prod build is only triggered if al tests pass. This allows us to have more confidence when deploying to production as it will have only ever built a version that has passed all our tests. + +# Summary + +I learned a lot digging through our Jenkins setup. A lot about Jenkins and a lot about my team (past and present). It became obvious pretty early on that we hadn't really thought about what we really wanted Jenkins to do for us. We knew automation was a good thing, and continuous testing had made us *much* better developers, but there was a lot of "try it and see" to how we approached it. + +The main thing that became apparent is that we need to really think about what a job *needs* to do when we're creating it and not just 'Copy existing job'. This has made managing our various jobs much more bearable and has increased our confidence in the system due to a reduction in false-negative results caused by poorly constructed jobs. + +## Bonus! + +Jenkins can be used for much more than just building and testing your code. After I started writing this post we saw some issues with some of our tests randomly failing. After a little investigation it became clear that the problem lied with out MSSQL server occasionally timing out. I decided it'd be useful to put together a little project that simply tries to connect one of the databases and run a simple `select *` query. I set this up as a Jenkins job that ran every 2 minutes and published the results as a JUnit-style report. From this Jenkins could produce a graph of the past results to help identify any patterns. + +{{> picture alt="SQL Graph" url="/images/SQLGraph.png" caption="Not really a pattern yet..." }} + +I'd love to hear from anyone else who is using Jenkins (or similar) in more creative and inventive ways – Tweet @Marcus\_Noble_ \ No newline at end of file diff --git a/src/posts/2015-11-30-my-adventures-in-svgland.markdown b/src/posts/2015-11-30-my-adventures-in-svgland.markdown new file mode 100644 index 0000000..e2cebc4 --- /dev/null +++ b/src/posts/2015-11-30-my-adventures-in-svgland.markdown @@ -0,0 +1,103 @@ +--- +layout: post.html +title: "My Adventures in SVG-land" +date: 2015-11-30 +tags: SVG Animation +summary: "A few months back a little [GitHub repo](https://github.com/benfoxall/logo-hacks) by [@benfoxall](https://github.com/benfoxall) caught my eye. Little did I know it'd lead me through a rabbit hole of fascination in SVG animation." +--- + +A few months back a little [GitHub repo](https://github.com/benfoxall/logo-hacks) by [@benfoxall](https://github.com/benfoxall) caught my eye. Little did I know it'd lead me through a rabbit hole of fascination in SVG animation. + +I was amazed at how you could animate pictures using JavaScript. Pictures made up of markup! Previously pricey, bloated graphic applications had been needed to create such beautiful moving imagery. No more! Here is my story of SVG-land. + +Slowly, over the next few months, I began learning more about SVGs. How to build them, how to tweak them, what can and can't be done and how to bring them to life. + +My first experimentation in SVG animation was building upon the [JS Oxford](http://jsoxford.com/) logo Ben had already made and incorporating more into it. This became the [welcome](http://jsoxford.com/welcome.html) page to be used at meetups. + +For a while I was satisfied with this. It worked, looked pretty cool and achieved what I intended. + +But the itch to explore began to grow and I wanted to refine the process. As you can see from the [source](https://github.com/jsoxford/jsoxford.github.com/blob/develop/welcome.html) it wasn't the easiest thing to manage. I wanted to find out the best way to animate SVGs and what pros and cons of the various methods were. + +There are really three ways to animate SVGs: + +1) JavaScript + +2) CSS + +3) SMIL ([Going to be deprecated](https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/5o0yiO440LM/59rZqirUQNwJ)) + +I had used JavaScript previously but it wasn't a controlled animation, it was just randomly showing elements. I set out to create an animation that went from the "new" JS Oxford logo to the "classic" logo, to the meetup members photos and finally the standard horse. + +{{> picture alt="Logo transitions" caption="The many faces of JS Oxford" url="/images/JSOxLogos.png" }} + +## Attempt #1 - JavaScript + +As I had used it previously I started off using JavaScript again. + +[Source](https://github.com/AverageMarcus/AdventuresInSVG/blob/gh-pages/AnimatingWithJavaScript.html) + + + +**Pros:** + +* Easy to change the routine of the animation. If I wanted the horse animation first, just change it's position in the array. +* Timings can be dynamically changed. As you can see above I've provided links to speed up/slow down the animation. + +**Cons:** + +* Still needs a bit of CSS (classes) to keep it simple +* May not perform too well on low-end devices or if the amount of work done in JS is large + +## Attempt #2 - CSS + +CSS3 has animations as part of the language. I mainly relied upon using [keyframes](https://developer.mozilla.org/en-US/docs/Web/CSS/%40keyframes) and [transforms](https://developer.mozilla.org/en-US/docs/Web/CSS/transform). + +The major issue I experienced was with the [animation-delay](https://developer.mozilla.org/en-US/docs/Web/CSS/animation-delay) property. As the name suggests, this property lets you specify a delay for the animation. My intention was to delay the pending logo transitions so that they'd start after the previous has finished. This worked great at first, but when the animation repeated the delay was ignored and everything started happening at once. As it stands this ability is currently lacking from the CSS spec. Some Googling suggested that I need to make clever use of the keyframes so that, for example, the first logo uses 0-25%, the second uses 25-50%, and so on. + +This worked, but it isn't nice. If I decide I want to add or remove a transition I will need to work out and update *all* the keyframe timings. + +[Source](https://github.com/AverageMarcus/AdventuresInSVG/blob/gh-pages/AnimatingWithCSS.html) + + + +**Pros:** + +* Very few lines of code needed to animate something. +* Animations are smooth + +**Cons:** + +* Timings are difficult and not flexible (as mentioned above). +* Timings are fixed and cannot be altered on-the-fly + +## Attempt #3 - Promises (JS) + +Not satisfied with my approach using JavaScript I decided to re-visit it and try to tackle it using promises. + +Before this I hadn't *really* used promises (other than a little in NodeJS) and I knew the browser support was lacking so I checked out some of the libraries that provide promises. + +I settled on [Q](https://github.com/kriskowal/q), mainly for its built-in `delay` function that would be super useful with timing animations. + +[Source](https://github.com/AverageMarcus/AdventuresInSVG/blob/gh-pages/AnimatingWithPromises.html) + + + +**Pros:** + +* All the same as the JS ones above +* By making use of the `delay` function timing between animations can easily be varied. +* Nice, easy to read syntax + +**Cons:** + +* Much more code as a rather large library was used. + +# Closing Thoughts + +I'm still experimenting and learning. I'm sure that there are better ways to create more complex animations (if anyone knows, please let me know). + +When working with SVGs on the web I urge you to make use of [SVGOMG](https://jakearchibald.github.io/svgomg/) to remove bloat and cleanup your SVGs. + +Also, SVGs manipulation by JS/CSS may or may not be allowed depending on the way you include the SVG on the page. I recommend checking out [SVG On The Web](https://svgontheweb.com) to learn more. + +One thing I did discover while on this journey is that Firefox (at time of writing) doesn't handle the `transform-origin` property, causing things to incorrectly fly around the logo in comical fashion. diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..6379247 --- /dev/null +++ b/templates/index.html @@ -0,0 +1,49 @@ + + + + {{>head }} + + + {{> header }} + +
+
+ +
    + {{#each pagination.files }} +
  • +
    + + +

    + {{ this.title }} +

    +
    {{{ markdown this.summary }}}
    +
    +
  • + {{/each}} +
+ + + +
+
+ + \ No newline at end of file diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..db60e95 --- /dev/null +++ b/templates/page.html @@ -0,0 +1,17 @@ + + + + {{>head }} + + + {{> header }} + +
+

{{title}}

+ +
+ {{{ contents }}} +
+
+ + \ No newline at end of file diff --git a/templates/partials/footer.html b/templates/partials/footer.html new file mode 100644 index 0000000..f344409 --- /dev/null +++ b/templates/partials/footer.html @@ -0,0 +1,21 @@ + + + + \ No newline at end of file diff --git a/templates/partials/head.html b/templates/partials/head.html new file mode 100644 index 0000000..cc54558 --- /dev/null +++ b/templates/partials/head.html @@ -0,0 +1,14 @@ + + + + + + {{ site.title }} + + + + + + + + \ No newline at end of file diff --git a/templates/partials/header.html b/templates/partials/header.html new file mode 100644 index 0000000..a68fd05 --- /dev/null +++ b/templates/partials/header.html @@ -0,0 +1,19 @@ + + +
+ +
\ No newline at end of file diff --git a/templates/partials/picture.html b/templates/partials/picture.html new file mode 100644 index 0000000..3734d5c --- /dev/null +++ b/templates/partials/picture.html @@ -0,0 +1,6 @@ +
+ + {{ alt }} + +
{{ caption }}
+
\ No newline at end of file diff --git a/templates/partials/tweet.html b/templates/partials/tweet.html new file mode 100644 index 0000000..a3846ce --- /dev/null +++ b/templates/partials/tweet.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/templates/post.html b/templates/post.html new file mode 100644 index 0000000..3602ace --- /dev/null +++ b/templates/post.html @@ -0,0 +1,31 @@ + +{{> head }} + + {{> header }} + +
+
+
+ + + +

+ {{ title }} +

+
+ {{{ contents }}} +
+ +
+
+
+ + {{> footer }} + + \ No newline at end of file