diff --git a/Gemfile b/Gemfile index 49c6d12a4..efcafbd40 100644 --- a/Gemfile +++ b/Gemfile @@ -5,9 +5,12 @@ gem 'redhillonrails_core', :git => 'git://github.com/warpc/redhillonrails_core.g gem 'pg', '~> 0.14.0' -gem 'devise', '~> 2.1.2' -gem 'omniauth', '~> 1.1.0' -gem 'omniauth-openid', '~> 1.0.1' +gem 'devise', '~> 2.2.3' +gem 'omniauth' +gem 'omniauth-facebook' +gem 'omniauth-google-oauth2' +gem 'omniauth-github' +# gem 'omniauth-openid', '~> 1.0.1' gem 'cancan', '1.6.7' # 1.6.8 fail specs with strange error gem 'ancestry', '~> 1.3.0' diff --git a/Gemfile.lock b/Gemfile.lock index 2f620a232..7ca25bf53 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -52,7 +52,7 @@ GEM activesupport (3.2.13) i18n (= 0.6.1) multi_json (~> 1.0) - airbrake (3.1.8) + airbrake (3.1.9) activesupport builder json @@ -68,8 +68,8 @@ GEM daemons (~> 1.1.4) i18n (>= 0.5.0) state_machine (~> 1.1.0) - bourne (1.2.1) - mocha (= 0.12.7) + bourne (1.4.0) + mocha (~> 0.13.2) builder (3.0.4) cancan (1.6.7) cape (1.7.0) @@ -80,7 +80,7 @@ GEM net-ssh (>= 2.0.14) net-ssh-gateway (>= 1.1.0) capistrano_colors (0.5.5) - charlock_holmes (0.6.9.1) + charlock_holmes (0.6.9.2) chronic (0.6.7) chunky_png (1.2.7) cocaine (0.4.2) @@ -90,7 +90,7 @@ GEM coffee-script (2.2.0) coffee-script-source execjs - coffee-script-source (1.6.1) + coffee-script-source (1.6.2) compass (0.12.2) chunky_png (~> 1.2) fssm (>= 0.2.7) @@ -99,7 +99,7 @@ GEM compass (>= 0.12.2, < 0.14) creole (0.5.0) daemons (1.1.9) - devise (2.1.3) + devise (2.2.3) bcrypt-ruby (~> 3.0) orm_adapter (~> 0.1) railties (~> 3.1) @@ -119,6 +119,8 @@ GEM factory_girl_rails (4.0.0) factory_girl (~> 4.0.0) railties (>= 3.0.0) + faraday (0.8.7) + multipart-post (~> 1.1) ffi (1.0.11) fssm (0.2.10) gemoji (1.2.1) @@ -148,9 +150,10 @@ GEM haml (~> 3.1) railties (>= 3.1, < 4.1) hashie (1.2.0) - highline (1.6.16) + highline (1.6.15) hike (1.2.1) hirb (0.7.1) + httpauth (0.2.0) i18n (0.6.1) jbuilder (0.8.3) activesupport (>= 3.0.0) @@ -159,6 +162,8 @@ GEM railties (>= 3.1.0, < 5.0) thor (~> 0.14) json (1.7.7) + jwt (0.1.8) + multi_json (>= 1.5) kgio (2.8.0) libv8 (3.3.10.4) macaddr (1.6.1) @@ -180,10 +185,11 @@ GEM actionpack metaclass (0.0.1) mime-types (1.21) - mocha (0.12.7) + mocha (0.13.3) metaclass (~> 0.0.1) mock_redis (0.6.2) - multi_json (1.7.1) + multi_json (1.7.2) + multipart-post (1.2.0) mustache (0.99.4) net-scp (1.1.0) net-ssh (>= 2.6.5) @@ -193,13 +199,27 @@ GEM net-ssh-gateway (1.2.0) net-ssh (>= 2.6.5) newrelic_rpm (3.5.5.38) - nokogiri (1.5.7) + nokogiri (1.5.9) + oauth2 (0.8.1) + faraday (~> 0.8) + httpauth (~> 0.1) + jwt (~> 0.1.4) + multi_json (~> 1.0) + rack (~> 1.2) omniauth (1.1.3) hashie (~> 1.2) rack - omniauth-openid (1.0.1) + omniauth-facebook (1.4.1) + omniauth-oauth2 (~> 1.1.0) + omniauth-github (1.1.0) + omniauth (~> 1.0) + omniauth-oauth2 (~> 1.1) + omniauth-google-oauth2 (0.1.13) + omniauth (~> 1.0) + omniauth-oauth2 + omniauth-oauth2 (1.1.1) + oauth2 (~> 0.8.0) omniauth (~> 1.0) - rack-openid (~> 1.3.1) orm_adapter (0.4.0) paperclip (3.3.1) activemodel (>= 3.0.0) @@ -219,9 +239,6 @@ GEM rack (1.4.5) rack-cache (1.2) rack (>= 0.4) - rack-openid (1.3.1) - rack (>= 1.1.0) - ruby-openid (>= 2.1.8) rack-protection (1.5.0) rack rack-ssl (1.3.3) @@ -254,7 +271,7 @@ GEM rdoc (~> 3.4) thor (>= 0.14.6, < 2.0) raindrops (0.10.0) - rake (10.0.3) + rake (10.0.4) rdiscount (2.0.7.1) rdoc (3.12.2) json (~> 1.4) @@ -295,7 +312,6 @@ GEM ruby-haml-js (0.0.3) execjs sprockets (>= 2.0.0) - ruby-openid (2.2.3) rubypython (0.5.3) blankslate (>= 2.1.2.3) ffi (~> 1.0.7) @@ -316,9 +332,9 @@ GEM shoulda-context (~> 1.0, >= 1.0.1) shoulda-matchers (~> 1.0, >= 1.4.1) shoulda-context (1.0.2) - shoulda-matchers (1.5.0) + shoulda-matchers (1.5.4) activesupport (>= 3.0.0) - bourne (~> 1.2.0) + bourne (~> 1.3) sinatra (1.3.6) rack (~> 1.4) rack-protection (~> 1.3) @@ -342,7 +358,7 @@ GEM eventmachine (>= 0.12.6) rack (>= 1.0.0) thor (0.17.0) - tilt (1.3.5) + tilt (1.3.6) treetop (1.4.12) polyglot polyglot (>= 0.3.1) @@ -389,7 +405,7 @@ DEPENDENCIES coffee-rails (~> 3.2.2) compass-rails (~> 1.0.3) creole - devise (~> 2.1.2) + devise (~> 2.2.3) diff-display (~> 0.0.1) factory_girl_rails (~> 4.0.0) gemoji (~> 1.2.1) @@ -406,8 +422,10 @@ DEPENDENCIES meta-tags (~> 1.2.5) mock_redis (= 0.6.2) newrelic_rpm (~> 3.5.5.38) - omniauth (~> 1.1.0) - omniauth-openid (~> 1.0.1) + omniauth + omniauth-facebook + omniauth-github + omniauth-google-oauth2 paperclip (~> 3.3.1) perform_later (~> 1.3.0) pg (~> 0.14.0) diff --git a/app/assets/images/emoji/+1.png b/app/assets/images/emoji/+1.png new file mode 100644 index 000000000..3a43ecae2 Binary files /dev/null and b/app/assets/images/emoji/+1.png differ diff --git a/app/assets/images/emoji/-1.png b/app/assets/images/emoji/-1.png new file mode 100644 index 000000000..e44c04219 Binary files /dev/null and b/app/assets/images/emoji/-1.png differ diff --git a/app/assets/images/emoji/100.png b/app/assets/images/emoji/100.png new file mode 100644 index 000000000..bce9ab14f Binary files /dev/null and b/app/assets/images/emoji/100.png differ diff --git a/app/assets/images/emoji/1234.png b/app/assets/images/emoji/1234.png new file mode 100644 index 000000000..c47c2e1f9 Binary files /dev/null and b/app/assets/images/emoji/1234.png differ diff --git a/app/assets/images/emoji/8ball.png b/app/assets/images/emoji/8ball.png new file mode 100644 index 000000000..c2c710d45 Binary files /dev/null and b/app/assets/images/emoji/8ball.png differ diff --git a/app/assets/images/emoji/a.png b/app/assets/images/emoji/a.png new file mode 100644 index 000000000..4908a44fc Binary files /dev/null and b/app/assets/images/emoji/a.png differ diff --git a/app/assets/images/emoji/ab.png b/app/assets/images/emoji/ab.png new file mode 100644 index 000000000..2a5222047 Binary files /dev/null and b/app/assets/images/emoji/ab.png differ diff --git a/app/assets/images/emoji/abc.png b/app/assets/images/emoji/abc.png new file mode 100644 index 000000000..505d40a15 Binary files /dev/null and b/app/assets/images/emoji/abc.png differ diff --git a/app/assets/images/emoji/abcd.png b/app/assets/images/emoji/abcd.png new file mode 100644 index 000000000..5218470b6 Binary files /dev/null and b/app/assets/images/emoji/abcd.png differ diff --git a/app/assets/images/emoji/accept.png b/app/assets/images/emoji/accept.png new file mode 100644 index 000000000..2d2009031 Binary files /dev/null and b/app/assets/images/emoji/accept.png differ diff --git a/app/assets/images/emoji/aerial_tramway.png b/app/assets/images/emoji/aerial_tramway.png new file mode 100644 index 000000000..38f6dfe23 Binary files /dev/null and b/app/assets/images/emoji/aerial_tramway.png differ diff --git a/app/assets/images/emoji/airplane.png b/app/assets/images/emoji/airplane.png new file mode 100644 index 000000000..8407cb675 Binary files /dev/null and b/app/assets/images/emoji/airplane.png differ diff --git a/app/assets/images/emoji/alarm_clock.png b/app/assets/images/emoji/alarm_clock.png new file mode 100644 index 000000000..86ca8c8ed Binary files /dev/null and b/app/assets/images/emoji/alarm_clock.png differ diff --git a/app/assets/images/emoji/alien.png b/app/assets/images/emoji/alien.png new file mode 100644 index 000000000..e3fd76a78 Binary files /dev/null and b/app/assets/images/emoji/alien.png differ diff --git a/app/assets/images/emoji/ambulance.png b/app/assets/images/emoji/ambulance.png new file mode 100644 index 000000000..b740f45db Binary files /dev/null and b/app/assets/images/emoji/ambulance.png differ diff --git a/app/assets/images/emoji/anchor.png b/app/assets/images/emoji/anchor.png new file mode 100644 index 000000000..0c5192e64 Binary files /dev/null and b/app/assets/images/emoji/anchor.png differ diff --git a/app/assets/images/emoji/angel.png b/app/assets/images/emoji/angel.png new file mode 100644 index 000000000..da52c310c Binary files /dev/null and b/app/assets/images/emoji/angel.png differ diff --git a/app/assets/images/emoji/anger.png b/app/assets/images/emoji/anger.png new file mode 100644 index 000000000..6fb4dca18 Binary files /dev/null and b/app/assets/images/emoji/anger.png differ diff --git a/app/assets/images/emoji/angry.png b/app/assets/images/emoji/angry.png new file mode 100644 index 000000000..34174f5e5 Binary files /dev/null and b/app/assets/images/emoji/angry.png differ diff --git a/app/assets/images/emoji/anguished.png b/app/assets/images/emoji/anguished.png new file mode 100644 index 000000000..c2edad796 Binary files /dev/null and b/app/assets/images/emoji/anguished.png differ diff --git a/app/assets/images/emoji/ant.png b/app/assets/images/emoji/ant.png new file mode 100644 index 000000000..b92d1cc14 Binary files /dev/null and b/app/assets/images/emoji/ant.png differ diff --git a/app/assets/images/emoji/apple.png b/app/assets/images/emoji/apple.png new file mode 100644 index 000000000..08aa17b95 Binary files /dev/null and b/app/assets/images/emoji/apple.png differ diff --git a/app/assets/images/emoji/aquarius.png b/app/assets/images/emoji/aquarius.png new file mode 100644 index 000000000..cbff66edc Binary files /dev/null and b/app/assets/images/emoji/aquarius.png differ diff --git a/app/assets/images/emoji/aries.png b/app/assets/images/emoji/aries.png new file mode 100644 index 000000000..d676fd392 Binary files /dev/null and b/app/assets/images/emoji/aries.png differ diff --git a/app/assets/images/emoji/arrow_backward.png b/app/assets/images/emoji/arrow_backward.png new file mode 100644 index 000000000..2be422ba3 Binary files /dev/null and b/app/assets/images/emoji/arrow_backward.png differ diff --git a/app/assets/images/emoji/arrow_double_down.png b/app/assets/images/emoji/arrow_double_down.png new file mode 100644 index 000000000..2ecbebcda Binary files /dev/null and b/app/assets/images/emoji/arrow_double_down.png differ diff --git a/app/assets/images/emoji/arrow_double_up.png b/app/assets/images/emoji/arrow_double_up.png new file mode 100644 index 000000000..d42979d4b Binary files /dev/null and b/app/assets/images/emoji/arrow_double_up.png differ diff --git a/app/assets/images/emoji/arrow_down.png b/app/assets/images/emoji/arrow_down.png new file mode 100644 index 000000000..3956eb399 Binary files /dev/null and b/app/assets/images/emoji/arrow_down.png differ diff --git a/app/assets/images/emoji/arrow_down_small.png b/app/assets/images/emoji/arrow_down_small.png new file mode 100644 index 000000000..f7f2d5101 Binary files /dev/null and b/app/assets/images/emoji/arrow_down_small.png differ diff --git a/app/assets/images/emoji/arrow_forward.png b/app/assets/images/emoji/arrow_forward.png new file mode 100644 index 000000000..fbfe711b6 Binary files /dev/null and b/app/assets/images/emoji/arrow_forward.png differ diff --git a/app/assets/images/emoji/arrow_heading_down.png b/app/assets/images/emoji/arrow_heading_down.png new file mode 100644 index 000000000..56dd3b9d3 Binary files /dev/null and b/app/assets/images/emoji/arrow_heading_down.png differ diff --git a/app/assets/images/emoji/arrow_heading_up.png b/app/assets/images/emoji/arrow_heading_up.png new file mode 100644 index 000000000..c8f670a1e Binary files /dev/null and b/app/assets/images/emoji/arrow_heading_up.png differ diff --git a/app/assets/images/emoji/arrow_left.png b/app/assets/images/emoji/arrow_left.png new file mode 100644 index 000000000..9d7d1b568 Binary files /dev/null and b/app/assets/images/emoji/arrow_left.png differ diff --git a/app/assets/images/emoji/arrow_lower_left.png b/app/assets/images/emoji/arrow_lower_left.png new file mode 100644 index 000000000..a4438cb6e Binary files /dev/null and b/app/assets/images/emoji/arrow_lower_left.png differ diff --git a/app/assets/images/emoji/arrow_lower_right.png b/app/assets/images/emoji/arrow_lower_right.png new file mode 100644 index 000000000..2a15cc7cc Binary files /dev/null and b/app/assets/images/emoji/arrow_lower_right.png differ diff --git a/app/assets/images/emoji/arrow_right.png b/app/assets/images/emoji/arrow_right.png new file mode 100644 index 000000000..e5cca853d Binary files /dev/null and b/app/assets/images/emoji/arrow_right.png differ diff --git a/app/assets/images/emoji/arrow_right_hook.png b/app/assets/images/emoji/arrow_right_hook.png new file mode 100644 index 000000000..8b4ea6e17 Binary files /dev/null and b/app/assets/images/emoji/arrow_right_hook.png differ diff --git a/app/assets/images/emoji/arrow_up.png b/app/assets/images/emoji/arrow_up.png new file mode 100644 index 000000000..565ce2952 Binary files /dev/null and b/app/assets/images/emoji/arrow_up.png differ diff --git a/app/assets/images/emoji/arrow_up_down.png b/app/assets/images/emoji/arrow_up_down.png new file mode 100644 index 000000000..b718c2145 Binary files /dev/null and b/app/assets/images/emoji/arrow_up_down.png differ diff --git a/app/assets/images/emoji/arrow_up_small.png b/app/assets/images/emoji/arrow_up_small.png new file mode 100644 index 000000000..121733197 Binary files /dev/null and b/app/assets/images/emoji/arrow_up_small.png differ diff --git a/app/assets/images/emoji/arrow_upper_left.png b/app/assets/images/emoji/arrow_upper_left.png new file mode 100644 index 000000000..12aebd9a7 Binary files /dev/null and b/app/assets/images/emoji/arrow_upper_left.png differ diff --git a/app/assets/images/emoji/arrow_upper_right.png b/app/assets/images/emoji/arrow_upper_right.png new file mode 100644 index 000000000..0daf4e940 Binary files /dev/null and b/app/assets/images/emoji/arrow_upper_right.png differ diff --git a/app/assets/images/emoji/arrows_clockwise.png b/app/assets/images/emoji/arrows_clockwise.png new file mode 100644 index 000000000..5f84d7e72 Binary files /dev/null and b/app/assets/images/emoji/arrows_clockwise.png differ diff --git a/app/assets/images/emoji/arrows_counterclockwise.png b/app/assets/images/emoji/arrows_counterclockwise.png new file mode 100644 index 000000000..1933ae18b Binary files /dev/null and b/app/assets/images/emoji/arrows_counterclockwise.png differ diff --git a/app/assets/images/emoji/art.png b/app/assets/images/emoji/art.png new file mode 100644 index 000000000..d45212b03 Binary files /dev/null and b/app/assets/images/emoji/art.png differ diff --git a/app/assets/images/emoji/articulated_lorry.png b/app/assets/images/emoji/articulated_lorry.png new file mode 100644 index 000000000..81ec1f917 Binary files /dev/null and b/app/assets/images/emoji/articulated_lorry.png differ diff --git a/app/assets/images/emoji/astonished.png b/app/assets/images/emoji/astonished.png new file mode 100644 index 000000000..858a83484 Binary files /dev/null and b/app/assets/images/emoji/astonished.png differ diff --git a/app/assets/images/emoji/athletic_shoe.png b/app/assets/images/emoji/athletic_shoe.png new file mode 100644 index 000000000..45b82e61c Binary files /dev/null and b/app/assets/images/emoji/athletic_shoe.png differ diff --git a/app/assets/images/emoji/atm.png b/app/assets/images/emoji/atm.png new file mode 100644 index 000000000..c2846e792 Binary files /dev/null and b/app/assets/images/emoji/atm.png differ diff --git a/app/assets/images/emoji/b.png b/app/assets/images/emoji/b.png new file mode 100644 index 000000000..8742b3d2e Binary files /dev/null and b/app/assets/images/emoji/b.png differ diff --git a/app/assets/images/emoji/baby.png b/app/assets/images/emoji/baby.png new file mode 100644 index 000000000..3b29da40b Binary files /dev/null and b/app/assets/images/emoji/baby.png differ diff --git a/app/assets/images/emoji/baby_bottle.png b/app/assets/images/emoji/baby_bottle.png new file mode 100644 index 000000000..1b2cfe5e3 Binary files /dev/null and b/app/assets/images/emoji/baby_bottle.png differ diff --git a/app/assets/images/emoji/baby_chick.png b/app/assets/images/emoji/baby_chick.png new file mode 100644 index 000000000..9be8d2930 Binary files /dev/null and b/app/assets/images/emoji/baby_chick.png differ diff --git a/app/assets/images/emoji/baby_symbol.png b/app/assets/images/emoji/baby_symbol.png new file mode 100644 index 000000000..2e58725cf Binary files /dev/null and b/app/assets/images/emoji/baby_symbol.png differ diff --git a/app/assets/images/emoji/back.png b/app/assets/images/emoji/back.png new file mode 100644 index 000000000..0cde62876 Binary files /dev/null and b/app/assets/images/emoji/back.png differ diff --git a/app/assets/images/emoji/baggage_claim.png b/app/assets/images/emoji/baggage_claim.png new file mode 100644 index 000000000..59ae044a4 Binary files /dev/null and b/app/assets/images/emoji/baggage_claim.png differ diff --git a/app/assets/images/emoji/balloon.png b/app/assets/images/emoji/balloon.png new file mode 100644 index 000000000..a4d3207b8 Binary files /dev/null and b/app/assets/images/emoji/balloon.png differ diff --git a/app/assets/images/emoji/ballot_box_with_check.png b/app/assets/images/emoji/ballot_box_with_check.png new file mode 100644 index 000000000..f07a466c7 Binary files /dev/null and b/app/assets/images/emoji/ballot_box_with_check.png differ diff --git a/app/assets/images/emoji/bamboo.png b/app/assets/images/emoji/bamboo.png new file mode 100644 index 000000000..fc858d0fc Binary files /dev/null and b/app/assets/images/emoji/bamboo.png differ diff --git a/app/assets/images/emoji/banana.png b/app/assets/images/emoji/banana.png new file mode 100644 index 000000000..a0563afb9 Binary files /dev/null and b/app/assets/images/emoji/banana.png differ diff --git a/app/assets/images/emoji/bangbang.png b/app/assets/images/emoji/bangbang.png new file mode 100644 index 000000000..7270f0afe Binary files /dev/null and b/app/assets/images/emoji/bangbang.png differ diff --git a/app/assets/images/emoji/bank.png b/app/assets/images/emoji/bank.png new file mode 100644 index 000000000..1faa8777e Binary files /dev/null and b/app/assets/images/emoji/bank.png differ diff --git a/app/assets/images/emoji/bar_chart.png b/app/assets/images/emoji/bar_chart.png new file mode 100644 index 000000000..7871cc603 Binary files /dev/null and b/app/assets/images/emoji/bar_chart.png differ diff --git a/app/assets/images/emoji/barber.png b/app/assets/images/emoji/barber.png new file mode 100644 index 000000000..a10cb2322 Binary files /dev/null and b/app/assets/images/emoji/barber.png differ diff --git a/app/assets/images/emoji/baseball.png b/app/assets/images/emoji/baseball.png new file mode 100644 index 000000000..da004e2ea Binary files /dev/null and b/app/assets/images/emoji/baseball.png differ diff --git a/app/assets/images/emoji/basketball.png b/app/assets/images/emoji/basketball.png new file mode 100644 index 000000000..ef694bec4 Binary files /dev/null and b/app/assets/images/emoji/basketball.png differ diff --git a/app/assets/images/emoji/bath.png b/app/assets/images/emoji/bath.png new file mode 100644 index 000000000..8f75d1d24 Binary files /dev/null and b/app/assets/images/emoji/bath.png differ diff --git a/app/assets/images/emoji/bathtub.png b/app/assets/images/emoji/bathtub.png new file mode 100644 index 000000000..1c3f844ab Binary files /dev/null and b/app/assets/images/emoji/bathtub.png differ diff --git a/app/assets/images/emoji/battery.png b/app/assets/images/emoji/battery.png new file mode 100644 index 000000000..aa7eedce4 Binary files /dev/null and b/app/assets/images/emoji/battery.png differ diff --git a/app/assets/images/emoji/bear.png b/app/assets/images/emoji/bear.png new file mode 100644 index 000000000..f5afe920e Binary files /dev/null and b/app/assets/images/emoji/bear.png differ diff --git a/app/assets/images/emoji/bee.png b/app/assets/images/emoji/bee.png new file mode 100644 index 000000000..f53733953 Binary files /dev/null and b/app/assets/images/emoji/bee.png differ diff --git a/app/assets/images/emoji/beer.png b/app/assets/images/emoji/beer.png new file mode 100644 index 000000000..cd78bed74 Binary files /dev/null and b/app/assets/images/emoji/beer.png differ diff --git a/app/assets/images/emoji/beers.png b/app/assets/images/emoji/beers.png new file mode 100644 index 000000000..cc5e4ab5a Binary files /dev/null and b/app/assets/images/emoji/beers.png differ diff --git a/app/assets/images/emoji/beetle.png b/app/assets/images/emoji/beetle.png new file mode 100644 index 000000000..222577ca7 Binary files /dev/null and b/app/assets/images/emoji/beetle.png differ diff --git a/app/assets/images/emoji/beginner.png b/app/assets/images/emoji/beginner.png new file mode 100644 index 000000000..1f022d175 Binary files /dev/null and b/app/assets/images/emoji/beginner.png differ diff --git a/app/assets/images/emoji/bell.png b/app/assets/images/emoji/bell.png new file mode 100644 index 000000000..69acceb28 Binary files /dev/null and b/app/assets/images/emoji/bell.png differ diff --git a/app/assets/images/emoji/bento.png b/app/assets/images/emoji/bento.png new file mode 100644 index 000000000..c6d99e89b Binary files /dev/null and b/app/assets/images/emoji/bento.png differ diff --git a/app/assets/images/emoji/bicyclist.png b/app/assets/images/emoji/bicyclist.png new file mode 100644 index 000000000..4e3e0549c Binary files /dev/null and b/app/assets/images/emoji/bicyclist.png differ diff --git a/app/assets/images/emoji/bike.png b/app/assets/images/emoji/bike.png new file mode 100644 index 000000000..657386027 Binary files /dev/null and b/app/assets/images/emoji/bike.png differ diff --git a/app/assets/images/emoji/bikini.png b/app/assets/images/emoji/bikini.png new file mode 100644 index 000000000..4ff63b40f Binary files /dev/null and b/app/assets/images/emoji/bikini.png differ diff --git a/app/assets/images/emoji/bird.png b/app/assets/images/emoji/bird.png new file mode 100644 index 000000000..e6be8c027 Binary files /dev/null and b/app/assets/images/emoji/bird.png differ diff --git a/app/assets/images/emoji/birthday.png b/app/assets/images/emoji/birthday.png new file mode 100644 index 000000000..36e8edcbe Binary files /dev/null and b/app/assets/images/emoji/birthday.png differ diff --git a/app/assets/images/emoji/black_circle.png b/app/assets/images/emoji/black_circle.png new file mode 100644 index 000000000..e46f9df61 Binary files /dev/null and b/app/assets/images/emoji/black_circle.png differ diff --git a/app/assets/images/emoji/black_joker.png b/app/assets/images/emoji/black_joker.png new file mode 100644 index 000000000..4c78f3614 Binary files /dev/null and b/app/assets/images/emoji/black_joker.png differ diff --git a/app/assets/images/emoji/black_large_square.png b/app/assets/images/emoji/black_large_square.png new file mode 100644 index 000000000..71da10de8 Binary files /dev/null and b/app/assets/images/emoji/black_large_square.png differ diff --git a/app/assets/images/emoji/black_medium_small_square.png b/app/assets/images/emoji/black_medium_small_square.png new file mode 100644 index 000000000..25bfe9c45 Binary files /dev/null and b/app/assets/images/emoji/black_medium_small_square.png differ diff --git a/app/assets/images/emoji/black_medium_square.png b/app/assets/images/emoji/black_medium_square.png new file mode 100644 index 000000000..204cce12c Binary files /dev/null and b/app/assets/images/emoji/black_medium_square.png differ diff --git a/app/assets/images/emoji/black_nib.png b/app/assets/images/emoji/black_nib.png new file mode 100644 index 000000000..29f6994c1 Binary files /dev/null and b/app/assets/images/emoji/black_nib.png differ diff --git a/app/assets/images/emoji/black_small_square.png b/app/assets/images/emoji/black_small_square.png new file mode 100644 index 000000000..a247751ec Binary files /dev/null and b/app/assets/images/emoji/black_small_square.png differ diff --git a/app/assets/images/emoji/black_square_button.png b/app/assets/images/emoji/black_square_button.png new file mode 100644 index 000000000..7332e397c Binary files /dev/null and b/app/assets/images/emoji/black_square_button.png differ diff --git a/app/assets/images/emoji/blossom.png b/app/assets/images/emoji/blossom.png new file mode 100644 index 000000000..55a97353b Binary files /dev/null and b/app/assets/images/emoji/blossom.png differ diff --git a/app/assets/images/emoji/blowfish.png b/app/assets/images/emoji/blowfish.png new file mode 100644 index 000000000..a1d47cb7e Binary files /dev/null and b/app/assets/images/emoji/blowfish.png differ diff --git a/app/assets/images/emoji/blue_book.png b/app/assets/images/emoji/blue_book.png new file mode 100644 index 000000000..e2b9e8c79 Binary files /dev/null and b/app/assets/images/emoji/blue_book.png differ diff --git a/app/assets/images/emoji/blue_car.png b/app/assets/images/emoji/blue_car.png new file mode 100644 index 000000000..978291e08 Binary files /dev/null and b/app/assets/images/emoji/blue_car.png differ diff --git a/app/assets/images/emoji/blue_heart.png b/app/assets/images/emoji/blue_heart.png new file mode 100644 index 000000000..baa29b31b Binary files /dev/null and b/app/assets/images/emoji/blue_heart.png differ diff --git a/app/assets/images/emoji/blush.png b/app/assets/images/emoji/blush.png new file mode 100644 index 000000000..1e9021cb6 Binary files /dev/null and b/app/assets/images/emoji/blush.png differ diff --git a/app/assets/images/emoji/boar.png b/app/assets/images/emoji/boar.png new file mode 100644 index 000000000..8196ad4a1 Binary files /dev/null and b/app/assets/images/emoji/boar.png differ diff --git a/app/assets/images/emoji/boat.png b/app/assets/images/emoji/boat.png new file mode 100644 index 000000000..ff656dc62 Binary files /dev/null and b/app/assets/images/emoji/boat.png differ diff --git a/app/assets/images/emoji/bomb.png b/app/assets/images/emoji/bomb.png new file mode 100644 index 000000000..3289787dc Binary files /dev/null and b/app/assets/images/emoji/bomb.png differ diff --git a/app/assets/images/emoji/book.png b/app/assets/images/emoji/book.png new file mode 100644 index 000000000..8b698415c Binary files /dev/null and b/app/assets/images/emoji/book.png differ diff --git a/app/assets/images/emoji/bookmark.png b/app/assets/images/emoji/bookmark.png new file mode 100644 index 000000000..dbee45c60 Binary files /dev/null and b/app/assets/images/emoji/bookmark.png differ diff --git a/app/assets/images/emoji/bookmark_tabs.png b/app/assets/images/emoji/bookmark_tabs.png new file mode 100644 index 000000000..0c4e3bf17 Binary files /dev/null and b/app/assets/images/emoji/bookmark_tabs.png differ diff --git a/app/assets/images/emoji/books.png b/app/assets/images/emoji/books.png new file mode 100644 index 000000000..dca06a1ad Binary files /dev/null and b/app/assets/images/emoji/books.png differ diff --git a/app/assets/images/emoji/boom.png b/app/assets/images/emoji/boom.png new file mode 100644 index 000000000..bddeb8f49 Binary files /dev/null and b/app/assets/images/emoji/boom.png differ diff --git a/app/assets/images/emoji/boot.png b/app/assets/images/emoji/boot.png new file mode 100644 index 000000000..58d0fdbcd Binary files /dev/null and b/app/assets/images/emoji/boot.png differ diff --git a/app/assets/images/emoji/bouquet.png b/app/assets/images/emoji/bouquet.png new file mode 100644 index 000000000..ce637832e Binary files /dev/null and b/app/assets/images/emoji/bouquet.png differ diff --git a/app/assets/images/emoji/bow.png b/app/assets/images/emoji/bow.png new file mode 100644 index 000000000..024cb6104 Binary files /dev/null and b/app/assets/images/emoji/bow.png differ diff --git a/app/assets/images/emoji/bowling.png b/app/assets/images/emoji/bowling.png new file mode 100644 index 000000000..13d8ece2e Binary files /dev/null and b/app/assets/images/emoji/bowling.png differ diff --git a/app/assets/images/emoji/bowtie.png b/app/assets/images/emoji/bowtie.png new file mode 100644 index 000000000..28ff0c787 Binary files /dev/null and b/app/assets/images/emoji/bowtie.png differ diff --git a/app/assets/images/emoji/boy.png b/app/assets/images/emoji/boy.png new file mode 100644 index 000000000..f79f1f298 Binary files /dev/null and b/app/assets/images/emoji/boy.png differ diff --git a/app/assets/images/emoji/bread.png b/app/assets/images/emoji/bread.png new file mode 100644 index 000000000..7e7c63753 Binary files /dev/null and b/app/assets/images/emoji/bread.png differ diff --git a/app/assets/images/emoji/bride_with_veil.png b/app/assets/images/emoji/bride_with_veil.png new file mode 100644 index 000000000..dd0b0cfda Binary files /dev/null and b/app/assets/images/emoji/bride_with_veil.png differ diff --git a/app/assets/images/emoji/bridge_at_night.png b/app/assets/images/emoji/bridge_at_night.png new file mode 100644 index 000000000..495b06c3d Binary files /dev/null and b/app/assets/images/emoji/bridge_at_night.png differ diff --git a/app/assets/images/emoji/briefcase.png b/app/assets/images/emoji/briefcase.png new file mode 100644 index 000000000..46e82b001 Binary files /dev/null and b/app/assets/images/emoji/briefcase.png differ diff --git a/app/assets/images/emoji/broken_heart.png b/app/assets/images/emoji/broken_heart.png new file mode 100644 index 000000000..a1bc850ec Binary files /dev/null and b/app/assets/images/emoji/broken_heart.png differ diff --git a/app/assets/images/emoji/bug.png b/app/assets/images/emoji/bug.png new file mode 100644 index 000000000..c2eaf7a70 Binary files /dev/null and b/app/assets/images/emoji/bug.png differ diff --git a/app/assets/images/emoji/bulb.png b/app/assets/images/emoji/bulb.png new file mode 100644 index 000000000..23afca1c7 Binary files /dev/null and b/app/assets/images/emoji/bulb.png differ diff --git a/app/assets/images/emoji/bullettrain_front.png b/app/assets/images/emoji/bullettrain_front.png new file mode 100644 index 000000000..16651acff Binary files /dev/null and b/app/assets/images/emoji/bullettrain_front.png differ diff --git a/app/assets/images/emoji/bullettrain_side.png b/app/assets/images/emoji/bullettrain_side.png new file mode 100644 index 000000000..8eca36845 Binary files /dev/null and b/app/assets/images/emoji/bullettrain_side.png differ diff --git a/app/assets/images/emoji/bus.png b/app/assets/images/emoji/bus.png new file mode 100644 index 000000000..823aa39e4 Binary files /dev/null and b/app/assets/images/emoji/bus.png differ diff --git a/app/assets/images/emoji/busstop.png b/app/assets/images/emoji/busstop.png new file mode 100644 index 000000000..99af2322a Binary files /dev/null and b/app/assets/images/emoji/busstop.png differ diff --git a/app/assets/images/emoji/bust_in_silhouette.png b/app/assets/images/emoji/bust_in_silhouette.png new file mode 100644 index 000000000..d13139869 Binary files /dev/null and b/app/assets/images/emoji/bust_in_silhouette.png differ diff --git a/app/assets/images/emoji/busts_in_silhouette.png b/app/assets/images/emoji/busts_in_silhouette.png new file mode 100644 index 000000000..1f3aabcff Binary files /dev/null and b/app/assets/images/emoji/busts_in_silhouette.png differ diff --git a/app/assets/images/emoji/cactus.png b/app/assets/images/emoji/cactus.png new file mode 100644 index 000000000..5a2c3cc72 Binary files /dev/null and b/app/assets/images/emoji/cactus.png differ diff --git a/app/assets/images/emoji/cake.png b/app/assets/images/emoji/cake.png new file mode 100644 index 000000000..efeb9b4b2 Binary files /dev/null and b/app/assets/images/emoji/cake.png differ diff --git a/app/assets/images/emoji/calendar.png b/app/assets/images/emoji/calendar.png new file mode 100644 index 000000000..900b868bb Binary files /dev/null and b/app/assets/images/emoji/calendar.png differ diff --git a/app/assets/images/emoji/calling.png b/app/assets/images/emoji/calling.png new file mode 100644 index 000000000..837897f26 Binary files /dev/null and b/app/assets/images/emoji/calling.png differ diff --git a/app/assets/images/emoji/camel.png b/app/assets/images/emoji/camel.png new file mode 100644 index 000000000..496c186ae Binary files /dev/null and b/app/assets/images/emoji/camel.png differ diff --git a/app/assets/images/emoji/camera.png b/app/assets/images/emoji/camera.png new file mode 100644 index 000000000..397d03b39 Binary files /dev/null and b/app/assets/images/emoji/camera.png differ diff --git a/app/assets/images/emoji/cancer.png b/app/assets/images/emoji/cancer.png new file mode 100644 index 000000000..ea43a4a2a Binary files /dev/null and b/app/assets/images/emoji/cancer.png differ diff --git a/app/assets/images/emoji/candy.png b/app/assets/images/emoji/candy.png new file mode 100644 index 000000000..33722f236 Binary files /dev/null and b/app/assets/images/emoji/candy.png differ diff --git a/app/assets/images/emoji/capital_abcd.png b/app/assets/images/emoji/capital_abcd.png new file mode 100644 index 000000000..ffc0cba4b Binary files /dev/null and b/app/assets/images/emoji/capital_abcd.png differ diff --git a/app/assets/images/emoji/capricorn.png b/app/assets/images/emoji/capricorn.png new file mode 100644 index 000000000..f2044e789 Binary files /dev/null and b/app/assets/images/emoji/capricorn.png differ diff --git a/app/assets/images/emoji/car.png b/app/assets/images/emoji/car.png new file mode 100644 index 000000000..d70a2f062 Binary files /dev/null and b/app/assets/images/emoji/car.png differ diff --git a/app/assets/images/emoji/card_index.png b/app/assets/images/emoji/card_index.png new file mode 100644 index 000000000..374e94e9e Binary files /dev/null and b/app/assets/images/emoji/card_index.png differ diff --git a/app/assets/images/emoji/carousel_horse.png b/app/assets/images/emoji/carousel_horse.png new file mode 100644 index 000000000..765d2c0a8 Binary files /dev/null and b/app/assets/images/emoji/carousel_horse.png differ diff --git a/app/assets/images/emoji/cat.png b/app/assets/images/emoji/cat.png new file mode 100644 index 000000000..09b9ef79a Binary files /dev/null and b/app/assets/images/emoji/cat.png differ diff --git a/app/assets/images/emoji/cat2.png b/app/assets/images/emoji/cat2.png new file mode 100644 index 000000000..977c992c5 Binary files /dev/null and b/app/assets/images/emoji/cat2.png differ diff --git a/app/assets/images/emoji/cd.png b/app/assets/images/emoji/cd.png new file mode 100644 index 000000000..baff835c4 Binary files /dev/null and b/app/assets/images/emoji/cd.png differ diff --git a/app/assets/images/emoji/chart.png b/app/assets/images/emoji/chart.png new file mode 100644 index 000000000..ac2c4bb09 Binary files /dev/null and b/app/assets/images/emoji/chart.png differ diff --git a/app/assets/images/emoji/chart_with_downwards_trend.png b/app/assets/images/emoji/chart_with_downwards_trend.png new file mode 100644 index 000000000..65b82f044 Binary files /dev/null and b/app/assets/images/emoji/chart_with_downwards_trend.png differ diff --git a/app/assets/images/emoji/chart_with_upwards_trend.png b/app/assets/images/emoji/chart_with_upwards_trend.png new file mode 100644 index 000000000..de3e9ba7b Binary files /dev/null and b/app/assets/images/emoji/chart_with_upwards_trend.png differ diff --git a/app/assets/images/emoji/checkered_flag.png b/app/assets/images/emoji/checkered_flag.png new file mode 100644 index 000000000..ead4a68dd Binary files /dev/null and b/app/assets/images/emoji/checkered_flag.png differ diff --git a/app/assets/images/emoji/cherries.png b/app/assets/images/emoji/cherries.png new file mode 100644 index 000000000..8d3e044f2 Binary files /dev/null and b/app/assets/images/emoji/cherries.png differ diff --git a/app/assets/images/emoji/cherry_blossom.png b/app/assets/images/emoji/cherry_blossom.png new file mode 100644 index 000000000..e03155499 Binary files /dev/null and b/app/assets/images/emoji/cherry_blossom.png differ diff --git a/app/assets/images/emoji/chestnut.png b/app/assets/images/emoji/chestnut.png new file mode 100644 index 000000000..066fb6bf6 Binary files /dev/null and b/app/assets/images/emoji/chestnut.png differ diff --git a/app/assets/images/emoji/chicken.png b/app/assets/images/emoji/chicken.png new file mode 100644 index 000000000..6d25c0ef4 Binary files /dev/null and b/app/assets/images/emoji/chicken.png differ diff --git a/app/assets/images/emoji/children_crossing.png b/app/assets/images/emoji/children_crossing.png new file mode 100644 index 000000000..b0302ae62 Binary files /dev/null and b/app/assets/images/emoji/children_crossing.png differ diff --git a/app/assets/images/emoji/chocolate_bar.png b/app/assets/images/emoji/chocolate_bar.png new file mode 100644 index 000000000..c7ec19d07 Binary files /dev/null and b/app/assets/images/emoji/chocolate_bar.png differ diff --git a/app/assets/images/emoji/christmas_tree.png b/app/assets/images/emoji/christmas_tree.png new file mode 100644 index 000000000..d813b9593 Binary files /dev/null and b/app/assets/images/emoji/christmas_tree.png differ diff --git a/app/assets/images/emoji/church.png b/app/assets/images/emoji/church.png new file mode 100644 index 000000000..4c07c6b9e Binary files /dev/null and b/app/assets/images/emoji/church.png differ diff --git a/app/assets/images/emoji/cinema.png b/app/assets/images/emoji/cinema.png new file mode 100644 index 000000000..a990ccf99 Binary files /dev/null and b/app/assets/images/emoji/cinema.png differ diff --git a/app/assets/images/emoji/circus_tent.png b/app/assets/images/emoji/circus_tent.png new file mode 100644 index 000000000..4af8719aa Binary files /dev/null and b/app/assets/images/emoji/circus_tent.png differ diff --git a/app/assets/images/emoji/city_sunrise.png b/app/assets/images/emoji/city_sunrise.png new file mode 100644 index 000000000..91ca2a40b Binary files /dev/null and b/app/assets/images/emoji/city_sunrise.png differ diff --git a/app/assets/images/emoji/city_sunset.png b/app/assets/images/emoji/city_sunset.png new file mode 100644 index 000000000..7cb178a2c Binary files /dev/null and b/app/assets/images/emoji/city_sunset.png differ diff --git a/app/assets/images/emoji/cl.png b/app/assets/images/emoji/cl.png new file mode 100644 index 000000000..15ac67525 Binary files /dev/null and b/app/assets/images/emoji/cl.png differ diff --git a/app/assets/images/emoji/clap.png b/app/assets/images/emoji/clap.png new file mode 100644 index 000000000..d01c982a7 Binary files /dev/null and b/app/assets/images/emoji/clap.png differ diff --git a/app/assets/images/emoji/clapper.png b/app/assets/images/emoji/clapper.png new file mode 100644 index 000000000..4e1dc111d Binary files /dev/null and b/app/assets/images/emoji/clapper.png differ diff --git a/app/assets/images/emoji/clipboard.png b/app/assets/images/emoji/clipboard.png new file mode 100644 index 000000000..e2c74e6df Binary files /dev/null and b/app/assets/images/emoji/clipboard.png differ diff --git a/app/assets/images/emoji/clock1.png b/app/assets/images/emoji/clock1.png new file mode 100644 index 000000000..ca34e8975 Binary files /dev/null and b/app/assets/images/emoji/clock1.png differ diff --git a/app/assets/images/emoji/clock10.png b/app/assets/images/emoji/clock10.png new file mode 100644 index 000000000..f710bef5c Binary files /dev/null and b/app/assets/images/emoji/clock10.png differ diff --git a/app/assets/images/emoji/clock1030.png b/app/assets/images/emoji/clock1030.png new file mode 100644 index 000000000..84a3bc8fb Binary files /dev/null and b/app/assets/images/emoji/clock1030.png differ diff --git a/app/assets/images/emoji/clock11.png b/app/assets/images/emoji/clock11.png new file mode 100644 index 000000000..fbc165b99 Binary files /dev/null and b/app/assets/images/emoji/clock11.png differ diff --git a/app/assets/images/emoji/clock1130.png b/app/assets/images/emoji/clock1130.png new file mode 100644 index 000000000..415999ec8 Binary files /dev/null and b/app/assets/images/emoji/clock1130.png differ diff --git a/app/assets/images/emoji/clock12.png b/app/assets/images/emoji/clock12.png new file mode 100644 index 000000000..c1ca82f39 Binary files /dev/null and b/app/assets/images/emoji/clock12.png differ diff --git a/app/assets/images/emoji/clock1230.png b/app/assets/images/emoji/clock1230.png new file mode 100644 index 000000000..a6527154d Binary files /dev/null and b/app/assets/images/emoji/clock1230.png differ diff --git a/app/assets/images/emoji/clock130.png b/app/assets/images/emoji/clock130.png new file mode 100644 index 000000000..df9392019 Binary files /dev/null and b/app/assets/images/emoji/clock130.png differ diff --git a/app/assets/images/emoji/clock2.png b/app/assets/images/emoji/clock2.png new file mode 100644 index 000000000..1a12524ee Binary files /dev/null and b/app/assets/images/emoji/clock2.png differ diff --git a/app/assets/images/emoji/clock230.png b/app/assets/images/emoji/clock230.png new file mode 100644 index 000000000..f12c6912a Binary files /dev/null and b/app/assets/images/emoji/clock230.png differ diff --git a/app/assets/images/emoji/clock3.png b/app/assets/images/emoji/clock3.png new file mode 100644 index 000000000..cd99bb155 Binary files /dev/null and b/app/assets/images/emoji/clock3.png differ diff --git a/app/assets/images/emoji/clock330.png b/app/assets/images/emoji/clock330.png new file mode 100644 index 000000000..1dc9628ea Binary files /dev/null and b/app/assets/images/emoji/clock330.png differ diff --git a/app/assets/images/emoji/clock4.png b/app/assets/images/emoji/clock4.png new file mode 100644 index 000000000..7274e8b07 Binary files /dev/null and b/app/assets/images/emoji/clock4.png differ diff --git a/app/assets/images/emoji/clock430.png b/app/assets/images/emoji/clock430.png new file mode 100644 index 000000000..7726aaea1 Binary files /dev/null and b/app/assets/images/emoji/clock430.png differ diff --git a/app/assets/images/emoji/clock5.png b/app/assets/images/emoji/clock5.png new file mode 100644 index 000000000..3ed5a81af Binary files /dev/null and b/app/assets/images/emoji/clock5.png differ diff --git a/app/assets/images/emoji/clock530.png b/app/assets/images/emoji/clock530.png new file mode 100644 index 000000000..e08d4ad2b Binary files /dev/null and b/app/assets/images/emoji/clock530.png differ diff --git a/app/assets/images/emoji/clock6.png b/app/assets/images/emoji/clock6.png new file mode 100644 index 000000000..ac38cb926 Binary files /dev/null and b/app/assets/images/emoji/clock6.png differ diff --git a/app/assets/images/emoji/clock630.png b/app/assets/images/emoji/clock630.png new file mode 100644 index 000000000..46f0681f1 Binary files /dev/null and b/app/assets/images/emoji/clock630.png differ diff --git a/app/assets/images/emoji/clock7.png b/app/assets/images/emoji/clock7.png new file mode 100644 index 000000000..6a138dfde Binary files /dev/null and b/app/assets/images/emoji/clock7.png differ diff --git a/app/assets/images/emoji/clock730.png b/app/assets/images/emoji/clock730.png new file mode 100644 index 000000000..18aab22fd Binary files /dev/null and b/app/assets/images/emoji/clock730.png differ diff --git a/app/assets/images/emoji/clock8.png b/app/assets/images/emoji/clock8.png new file mode 100644 index 000000000..6690cd74e Binary files /dev/null and b/app/assets/images/emoji/clock8.png differ diff --git a/app/assets/images/emoji/clock830.png b/app/assets/images/emoji/clock830.png new file mode 100644 index 000000000..ec3e382dd Binary files /dev/null and b/app/assets/images/emoji/clock830.png differ diff --git a/app/assets/images/emoji/clock9.png b/app/assets/images/emoji/clock9.png new file mode 100644 index 000000000..c4ad74609 Binary files /dev/null and b/app/assets/images/emoji/clock9.png differ diff --git a/app/assets/images/emoji/clock930.png b/app/assets/images/emoji/clock930.png new file mode 100644 index 000000000..fd3522142 Binary files /dev/null and b/app/assets/images/emoji/clock930.png differ diff --git a/app/assets/images/emoji/closed_book.png b/app/assets/images/emoji/closed_book.png new file mode 100644 index 000000000..484029c5e Binary files /dev/null and b/app/assets/images/emoji/closed_book.png differ diff --git a/app/assets/images/emoji/closed_lock_with_key.png b/app/assets/images/emoji/closed_lock_with_key.png new file mode 100644 index 000000000..e6fdf6cb2 Binary files /dev/null and b/app/assets/images/emoji/closed_lock_with_key.png differ diff --git a/app/assets/images/emoji/closed_umbrella.png b/app/assets/images/emoji/closed_umbrella.png new file mode 100644 index 000000000..072c5c217 Binary files /dev/null and b/app/assets/images/emoji/closed_umbrella.png differ diff --git a/app/assets/images/emoji/cloud.png b/app/assets/images/emoji/cloud.png new file mode 100644 index 000000000..b31c08c0b Binary files /dev/null and b/app/assets/images/emoji/cloud.png differ diff --git a/app/assets/images/emoji/clubs.png b/app/assets/images/emoji/clubs.png new file mode 100644 index 000000000..bfab53656 Binary files /dev/null and b/app/assets/images/emoji/clubs.png differ diff --git a/app/assets/images/emoji/cn.png b/app/assets/images/emoji/cn.png new file mode 100644 index 000000000..b30dcc53d Binary files /dev/null and b/app/assets/images/emoji/cn.png differ diff --git a/app/assets/images/emoji/cocktail.png b/app/assets/images/emoji/cocktail.png new file mode 100644 index 000000000..28b45ea51 Binary files /dev/null and b/app/assets/images/emoji/cocktail.png differ diff --git a/app/assets/images/emoji/coffee.png b/app/assets/images/emoji/coffee.png new file mode 100644 index 000000000..57e1adcb0 Binary files /dev/null and b/app/assets/images/emoji/coffee.png differ diff --git a/app/assets/images/emoji/cold_sweat.png b/app/assets/images/emoji/cold_sweat.png new file mode 100644 index 000000000..b9e39bc60 Binary files /dev/null and b/app/assets/images/emoji/cold_sweat.png differ diff --git a/app/assets/images/emoji/collision.png b/app/assets/images/emoji/collision.png new file mode 100644 index 000000000..bddeb8f49 Binary files /dev/null and b/app/assets/images/emoji/collision.png differ diff --git a/app/assets/images/emoji/computer.png b/app/assets/images/emoji/computer.png new file mode 100644 index 000000000..d4d268762 Binary files /dev/null and b/app/assets/images/emoji/computer.png differ diff --git a/app/assets/images/emoji/confetti_ball.png b/app/assets/images/emoji/confetti_ball.png new file mode 100644 index 000000000..bd293e3d8 Binary files /dev/null and b/app/assets/images/emoji/confetti_ball.png differ diff --git a/app/assets/images/emoji/confounded.png b/app/assets/images/emoji/confounded.png new file mode 100644 index 000000000..a5877a0a7 Binary files /dev/null and b/app/assets/images/emoji/confounded.png differ diff --git a/app/assets/images/emoji/confused.png b/app/assets/images/emoji/confused.png new file mode 100644 index 000000000..18ff760ac Binary files /dev/null and b/app/assets/images/emoji/confused.png differ diff --git a/app/assets/images/emoji/congratulations.png b/app/assets/images/emoji/congratulations.png new file mode 100644 index 000000000..dcbb1d229 Binary files /dev/null and b/app/assets/images/emoji/congratulations.png differ diff --git a/app/assets/images/emoji/construction.png b/app/assets/images/emoji/construction.png new file mode 100644 index 000000000..523e9f10b Binary files /dev/null and b/app/assets/images/emoji/construction.png differ diff --git a/app/assets/images/emoji/construction_worker.png b/app/assets/images/emoji/construction_worker.png new file mode 100644 index 000000000..4d6486047 Binary files /dev/null and b/app/assets/images/emoji/construction_worker.png differ diff --git a/app/assets/images/emoji/convenience_store.png b/app/assets/images/emoji/convenience_store.png new file mode 100644 index 000000000..671696c2d Binary files /dev/null and b/app/assets/images/emoji/convenience_store.png differ diff --git a/app/assets/images/emoji/cookie.png b/app/assets/images/emoji/cookie.png new file mode 100644 index 000000000..653edb258 Binary files /dev/null and b/app/assets/images/emoji/cookie.png differ diff --git a/app/assets/images/emoji/cool.png b/app/assets/images/emoji/cool.png new file mode 100644 index 000000000..937dcd792 Binary files /dev/null and b/app/assets/images/emoji/cool.png differ diff --git a/app/assets/images/emoji/cop.png b/app/assets/images/emoji/cop.png new file mode 100644 index 000000000..43a5a84f8 Binary files /dev/null and b/app/assets/images/emoji/cop.png differ diff --git a/app/assets/images/emoji/copyright.png b/app/assets/images/emoji/copyright.png new file mode 100644 index 000000000..d59f580a9 Binary files /dev/null and b/app/assets/images/emoji/copyright.png differ diff --git a/app/assets/images/emoji/corn.png b/app/assets/images/emoji/corn.png new file mode 100644 index 000000000..fe5d8b128 Binary files /dev/null and b/app/assets/images/emoji/corn.png differ diff --git a/app/assets/images/emoji/couple.png b/app/assets/images/emoji/couple.png new file mode 100644 index 000000000..9e51f40e1 Binary files /dev/null and b/app/assets/images/emoji/couple.png differ diff --git a/app/assets/images/emoji/couple_with_heart.png b/app/assets/images/emoji/couple_with_heart.png new file mode 100644 index 000000000..c503f40a9 Binary files /dev/null and b/app/assets/images/emoji/couple_with_heart.png differ diff --git a/app/assets/images/emoji/couplekiss.png b/app/assets/images/emoji/couplekiss.png new file mode 100644 index 000000000..d02790822 Binary files /dev/null and b/app/assets/images/emoji/couplekiss.png differ diff --git a/app/assets/images/emoji/cow.png b/app/assets/images/emoji/cow.png new file mode 100644 index 000000000..12e1ab6c0 Binary files /dev/null and b/app/assets/images/emoji/cow.png differ diff --git a/app/assets/images/emoji/cow2.png b/app/assets/images/emoji/cow2.png new file mode 100644 index 000000000..594c92155 Binary files /dev/null and b/app/assets/images/emoji/cow2.png differ diff --git a/app/assets/images/emoji/credit_card.png b/app/assets/images/emoji/credit_card.png new file mode 100644 index 000000000..be1c1dd30 Binary files /dev/null and b/app/assets/images/emoji/credit_card.png differ diff --git a/app/assets/images/emoji/crescent_moon.png b/app/assets/images/emoji/crescent_moon.png new file mode 100644 index 000000000..afdb450d1 Binary files /dev/null and b/app/assets/images/emoji/crescent_moon.png differ diff --git a/app/assets/images/emoji/crocodile.png b/app/assets/images/emoji/crocodile.png new file mode 100644 index 000000000..7435d5ab3 Binary files /dev/null and b/app/assets/images/emoji/crocodile.png differ diff --git a/app/assets/images/emoji/crossed_flags.png b/app/assets/images/emoji/crossed_flags.png new file mode 100644 index 000000000..2ffbb2627 Binary files /dev/null and b/app/assets/images/emoji/crossed_flags.png differ diff --git a/app/assets/images/emoji/crown.png b/app/assets/images/emoji/crown.png new file mode 100644 index 000000000..39da1d528 Binary files /dev/null and b/app/assets/images/emoji/crown.png differ diff --git a/app/assets/images/emoji/cry.png b/app/assets/images/emoji/cry.png new file mode 100644 index 000000000..6d0d9afd2 Binary files /dev/null and b/app/assets/images/emoji/cry.png differ diff --git a/app/assets/images/emoji/crying_cat_face.png b/app/assets/images/emoji/crying_cat_face.png new file mode 100644 index 000000000..42d4c27ca Binary files /dev/null and b/app/assets/images/emoji/crying_cat_face.png differ diff --git a/app/assets/images/emoji/crystal_ball.png b/app/assets/images/emoji/crystal_ball.png new file mode 100644 index 000000000..6d2c6c42d Binary files /dev/null and b/app/assets/images/emoji/crystal_ball.png differ diff --git a/app/assets/images/emoji/cupid.png b/app/assets/images/emoji/cupid.png new file mode 100644 index 000000000..498728476 Binary files /dev/null and b/app/assets/images/emoji/cupid.png differ diff --git a/app/assets/images/emoji/curly_loop.png b/app/assets/images/emoji/curly_loop.png new file mode 100644 index 000000000..8f051aca4 Binary files /dev/null and b/app/assets/images/emoji/curly_loop.png differ diff --git a/app/assets/images/emoji/currency_exchange.png b/app/assets/images/emoji/currency_exchange.png new file mode 100644 index 000000000..d5ee21fc6 Binary files /dev/null and b/app/assets/images/emoji/currency_exchange.png differ diff --git a/app/assets/images/emoji/curry.png b/app/assets/images/emoji/curry.png new file mode 100644 index 000000000..7983c706a Binary files /dev/null and b/app/assets/images/emoji/curry.png differ diff --git a/app/assets/images/emoji/custard.png b/app/assets/images/emoji/custard.png new file mode 100644 index 000000000..9f843b4c1 Binary files /dev/null and b/app/assets/images/emoji/custard.png differ diff --git a/app/assets/images/emoji/customs.png b/app/assets/images/emoji/customs.png new file mode 100644 index 000000000..92691e311 Binary files /dev/null and b/app/assets/images/emoji/customs.png differ diff --git a/app/assets/images/emoji/cyclone.png b/app/assets/images/emoji/cyclone.png new file mode 100644 index 000000000..6c49f64b2 Binary files /dev/null and b/app/assets/images/emoji/cyclone.png differ diff --git a/app/assets/images/emoji/dancer.png b/app/assets/images/emoji/dancer.png new file mode 100644 index 000000000..6885a0bc3 Binary files /dev/null and b/app/assets/images/emoji/dancer.png differ diff --git a/app/assets/images/emoji/dancers.png b/app/assets/images/emoji/dancers.png new file mode 100644 index 000000000..2dfb451a7 Binary files /dev/null and b/app/assets/images/emoji/dancers.png differ diff --git a/app/assets/images/emoji/dango.png b/app/assets/images/emoji/dango.png new file mode 100644 index 000000000..2d042aebe Binary files /dev/null and b/app/assets/images/emoji/dango.png differ diff --git a/app/assets/images/emoji/dart.png b/app/assets/images/emoji/dart.png new file mode 100644 index 000000000..0438fe54f Binary files /dev/null and b/app/assets/images/emoji/dart.png differ diff --git a/app/assets/images/emoji/dash.png b/app/assets/images/emoji/dash.png new file mode 100644 index 000000000..dc2c0a8f4 Binary files /dev/null and b/app/assets/images/emoji/dash.png differ diff --git a/app/assets/images/emoji/date.png b/app/assets/images/emoji/date.png new file mode 100644 index 000000000..6ad2efa5f Binary files /dev/null and b/app/assets/images/emoji/date.png differ diff --git a/app/assets/images/emoji/de.png b/app/assets/images/emoji/de.png new file mode 100644 index 000000000..16a28548c Binary files /dev/null and b/app/assets/images/emoji/de.png differ diff --git a/app/assets/images/emoji/deciduous_tree.png b/app/assets/images/emoji/deciduous_tree.png new file mode 100644 index 000000000..9bb16bdfe Binary files /dev/null and b/app/assets/images/emoji/deciduous_tree.png differ diff --git a/app/assets/images/emoji/department_store.png b/app/assets/images/emoji/department_store.png new file mode 100644 index 000000000..68d959c50 Binary files /dev/null and b/app/assets/images/emoji/department_store.png differ diff --git a/app/assets/images/emoji/diamond_shape_with_a_dot_inside.png b/app/assets/images/emoji/diamond_shape_with_a_dot_inside.png new file mode 100644 index 000000000..dfd1098b3 Binary files /dev/null and b/app/assets/images/emoji/diamond_shape_with_a_dot_inside.png differ diff --git a/app/assets/images/emoji/diamonds.png b/app/assets/images/emoji/diamonds.png new file mode 100644 index 000000000..fe0827758 Binary files /dev/null and b/app/assets/images/emoji/diamonds.png differ diff --git a/app/assets/images/emoji/disappointed.png b/app/assets/images/emoji/disappointed.png new file mode 100644 index 000000000..825520087 Binary files /dev/null and b/app/assets/images/emoji/disappointed.png differ diff --git a/app/assets/images/emoji/disappointed_relieved.png b/app/assets/images/emoji/disappointed_relieved.png new file mode 100644 index 000000000..fa5f9e7f9 Binary files /dev/null and b/app/assets/images/emoji/disappointed_relieved.png differ diff --git a/app/assets/images/emoji/dizzy.png b/app/assets/images/emoji/dizzy.png new file mode 100644 index 000000000..55213d2dd Binary files /dev/null and b/app/assets/images/emoji/dizzy.png differ diff --git a/app/assets/images/emoji/dizzy_face.png b/app/assets/images/emoji/dizzy_face.png new file mode 100644 index 000000000..8001d6ff8 Binary files /dev/null and b/app/assets/images/emoji/dizzy_face.png differ diff --git a/app/assets/images/emoji/do_not_litter.png b/app/assets/images/emoji/do_not_litter.png new file mode 100644 index 000000000..38c7ae7af Binary files /dev/null and b/app/assets/images/emoji/do_not_litter.png differ diff --git a/app/assets/images/emoji/dog.png b/app/assets/images/emoji/dog.png new file mode 100644 index 000000000..389a02bf2 Binary files /dev/null and b/app/assets/images/emoji/dog.png differ diff --git a/app/assets/images/emoji/dog2.png b/app/assets/images/emoji/dog2.png new file mode 100644 index 000000000..c7f6a24ac Binary files /dev/null and b/app/assets/images/emoji/dog2.png differ diff --git a/app/assets/images/emoji/dollar.png b/app/assets/images/emoji/dollar.png new file mode 100644 index 000000000..63de88495 Binary files /dev/null and b/app/assets/images/emoji/dollar.png differ diff --git a/app/assets/images/emoji/dolls.png b/app/assets/images/emoji/dolls.png new file mode 100644 index 000000000..47ce33900 Binary files /dev/null and b/app/assets/images/emoji/dolls.png differ diff --git a/app/assets/images/emoji/dolphin.png b/app/assets/images/emoji/dolphin.png new file mode 100644 index 000000000..9326077a9 Binary files /dev/null and b/app/assets/images/emoji/dolphin.png differ diff --git a/app/assets/images/emoji/door.png b/app/assets/images/emoji/door.png new file mode 100644 index 000000000..83c819ae4 Binary files /dev/null and b/app/assets/images/emoji/door.png differ diff --git a/app/assets/images/emoji/doughnut.png b/app/assets/images/emoji/doughnut.png new file mode 100644 index 000000000..ccf869129 Binary files /dev/null and b/app/assets/images/emoji/doughnut.png differ diff --git a/app/assets/images/emoji/dragon.png b/app/assets/images/emoji/dragon.png new file mode 100644 index 000000000..e399d60e1 Binary files /dev/null and b/app/assets/images/emoji/dragon.png differ diff --git a/app/assets/images/emoji/dragon_face.png b/app/assets/images/emoji/dragon_face.png new file mode 100644 index 000000000..e5e556bd1 Binary files /dev/null and b/app/assets/images/emoji/dragon_face.png differ diff --git a/app/assets/images/emoji/dress.png b/app/assets/images/emoji/dress.png new file mode 100644 index 000000000..6434e2e2f Binary files /dev/null and b/app/assets/images/emoji/dress.png differ diff --git a/app/assets/images/emoji/dromedary_camel.png b/app/assets/images/emoji/dromedary_camel.png new file mode 100644 index 000000000..c8c7b9ffa Binary files /dev/null and b/app/assets/images/emoji/dromedary_camel.png differ diff --git a/app/assets/images/emoji/droplet.png b/app/assets/images/emoji/droplet.png new file mode 100644 index 000000000..9eff46339 Binary files /dev/null and b/app/assets/images/emoji/droplet.png differ diff --git a/app/assets/images/emoji/dvd.png b/app/assets/images/emoji/dvd.png new file mode 100644 index 000000000..363c83d01 Binary files /dev/null and b/app/assets/images/emoji/dvd.png differ diff --git a/app/assets/images/emoji/e-mail.png b/app/assets/images/emoji/e-mail.png new file mode 100644 index 000000000..176a8e1e8 Binary files /dev/null and b/app/assets/images/emoji/e-mail.png differ diff --git a/app/assets/images/emoji/ear.png b/app/assets/images/emoji/ear.png new file mode 100644 index 000000000..2bbbf10c9 Binary files /dev/null and b/app/assets/images/emoji/ear.png differ diff --git a/app/assets/images/emoji/ear_of_rice.png b/app/assets/images/emoji/ear_of_rice.png new file mode 100644 index 000000000..a9bba5c2c Binary files /dev/null and b/app/assets/images/emoji/ear_of_rice.png differ diff --git a/app/assets/images/emoji/earth_africa.png b/app/assets/images/emoji/earth_africa.png new file mode 100644 index 000000000..44ce5ecb6 Binary files /dev/null and b/app/assets/images/emoji/earth_africa.png differ diff --git a/app/assets/images/emoji/earth_americas.png b/app/assets/images/emoji/earth_americas.png new file mode 100644 index 000000000..97d717671 Binary files /dev/null and b/app/assets/images/emoji/earth_americas.png differ diff --git a/app/assets/images/emoji/earth_asia.png b/app/assets/images/emoji/earth_asia.png new file mode 100644 index 000000000..95ec357ca Binary files /dev/null and b/app/assets/images/emoji/earth_asia.png differ diff --git a/app/assets/images/emoji/egg.png b/app/assets/images/emoji/egg.png new file mode 100644 index 000000000..c3de6ae4e Binary files /dev/null and b/app/assets/images/emoji/egg.png differ diff --git a/app/assets/images/emoji/eggplant.png b/app/assets/images/emoji/eggplant.png new file mode 100644 index 000000000..566d6a844 Binary files /dev/null and b/app/assets/images/emoji/eggplant.png differ diff --git a/app/assets/images/emoji/eight.png b/app/assets/images/emoji/eight.png new file mode 100644 index 000000000..7bdb42232 Binary files /dev/null and b/app/assets/images/emoji/eight.png differ diff --git a/app/assets/images/emoji/eight_pointed_black_star.png b/app/assets/images/emoji/eight_pointed_black_star.png new file mode 100644 index 000000000..73dc6a0c9 Binary files /dev/null and b/app/assets/images/emoji/eight_pointed_black_star.png differ diff --git a/app/assets/images/emoji/eight_spoked_asterisk.png b/app/assets/images/emoji/eight_spoked_asterisk.png new file mode 100644 index 000000000..946a20333 Binary files /dev/null and b/app/assets/images/emoji/eight_spoked_asterisk.png differ diff --git a/app/assets/images/emoji/electric_plug.png b/app/assets/images/emoji/electric_plug.png new file mode 100644 index 000000000..7a3d6cee6 Binary files /dev/null and b/app/assets/images/emoji/electric_plug.png differ diff --git a/app/assets/images/emoji/elephant.png b/app/assets/images/emoji/elephant.png new file mode 100644 index 000000000..5ca04570e Binary files /dev/null and b/app/assets/images/emoji/elephant.png differ diff --git a/app/assets/images/emoji/email.png b/app/assets/images/emoji/email.png new file mode 100644 index 000000000..3631861bb Binary files /dev/null and b/app/assets/images/emoji/email.png differ diff --git a/app/assets/images/emoji/end.png b/app/assets/images/emoji/end.png new file mode 100644 index 000000000..edb0bda24 Binary files /dev/null and b/app/assets/images/emoji/end.png differ diff --git a/app/assets/images/emoji/envelope.png b/app/assets/images/emoji/envelope.png new file mode 100644 index 000000000..3631861bb Binary files /dev/null and b/app/assets/images/emoji/envelope.png differ diff --git a/app/assets/images/emoji/envelope_with_arrow.png b/app/assets/images/emoji/envelope_with_arrow.png new file mode 100644 index 000000000..0e01fd5f0 Binary files /dev/null and b/app/assets/images/emoji/envelope_with_arrow.png differ diff --git a/app/assets/images/emoji/es.png b/app/assets/images/emoji/es.png new file mode 100644 index 000000000..71b30bff3 Binary files /dev/null and b/app/assets/images/emoji/es.png differ diff --git a/app/assets/images/emoji/euro.png b/app/assets/images/emoji/euro.png new file mode 100644 index 000000000..1c5904b71 Binary files /dev/null and b/app/assets/images/emoji/euro.png differ diff --git a/app/assets/images/emoji/european_castle.png b/app/assets/images/emoji/european_castle.png new file mode 100644 index 000000000..8229b8a8a Binary files /dev/null and b/app/assets/images/emoji/european_castle.png differ diff --git a/app/assets/images/emoji/european_post_office.png b/app/assets/images/emoji/european_post_office.png new file mode 100644 index 000000000..0f65b1453 Binary files /dev/null and b/app/assets/images/emoji/european_post_office.png differ diff --git a/app/assets/images/emoji/evergreen_tree.png b/app/assets/images/emoji/evergreen_tree.png new file mode 100644 index 000000000..ae8ad1037 Binary files /dev/null and b/app/assets/images/emoji/evergreen_tree.png differ diff --git a/app/assets/images/emoji/exclamation.png b/app/assets/images/emoji/exclamation.png new file mode 100644 index 000000000..4c560f5e3 Binary files /dev/null and b/app/assets/images/emoji/exclamation.png differ diff --git a/app/assets/images/emoji/expressionless.png b/app/assets/images/emoji/expressionless.png new file mode 100644 index 000000000..1798f24de Binary files /dev/null and b/app/assets/images/emoji/expressionless.png differ diff --git a/app/assets/images/emoji/eyeglasses.png b/app/assets/images/emoji/eyeglasses.png new file mode 100644 index 000000000..a3cf75a27 Binary files /dev/null and b/app/assets/images/emoji/eyeglasses.png differ diff --git a/app/assets/images/emoji/eyes.png b/app/assets/images/emoji/eyes.png new file mode 100644 index 000000000..dc2216f63 Binary files /dev/null and b/app/assets/images/emoji/eyes.png differ diff --git a/app/assets/images/emoji/facepunch.png b/app/assets/images/emoji/facepunch.png new file mode 100644 index 000000000..2d41fd37e Binary files /dev/null and b/app/assets/images/emoji/facepunch.png differ diff --git a/app/assets/images/emoji/factory.png b/app/assets/images/emoji/factory.png new file mode 100644 index 000000000..640463479 Binary files /dev/null and b/app/assets/images/emoji/factory.png differ diff --git a/app/assets/images/emoji/fallen_leaf.png b/app/assets/images/emoji/fallen_leaf.png new file mode 100644 index 000000000..d49f9c175 Binary files /dev/null and b/app/assets/images/emoji/fallen_leaf.png differ diff --git a/app/assets/images/emoji/family.png b/app/assets/images/emoji/family.png new file mode 100644 index 000000000..b4b365f3a Binary files /dev/null and b/app/assets/images/emoji/family.png differ diff --git a/app/assets/images/emoji/fast_forward.png b/app/assets/images/emoji/fast_forward.png new file mode 100644 index 000000000..b94a11726 Binary files /dev/null and b/app/assets/images/emoji/fast_forward.png differ diff --git a/app/assets/images/emoji/fax.png b/app/assets/images/emoji/fax.png new file mode 100644 index 000000000..62be2c958 Binary files /dev/null and b/app/assets/images/emoji/fax.png differ diff --git a/app/assets/images/emoji/fearful.png b/app/assets/images/emoji/fearful.png new file mode 100644 index 000000000..513fce47b Binary files /dev/null and b/app/assets/images/emoji/fearful.png differ diff --git a/app/assets/images/emoji/feelsgood.png b/app/assets/images/emoji/feelsgood.png new file mode 100644 index 000000000..bad80a6b1 Binary files /dev/null and b/app/assets/images/emoji/feelsgood.png differ diff --git a/app/assets/images/emoji/feet.png b/app/assets/images/emoji/feet.png new file mode 100644 index 000000000..89b9fec9e Binary files /dev/null and b/app/assets/images/emoji/feet.png differ diff --git a/app/assets/images/emoji/ferris_wheel.png b/app/assets/images/emoji/ferris_wheel.png new file mode 100644 index 000000000..54a1dcfa1 Binary files /dev/null and b/app/assets/images/emoji/ferris_wheel.png differ diff --git a/app/assets/images/emoji/file_folder.png b/app/assets/images/emoji/file_folder.png new file mode 100644 index 000000000..4d8bebf8a Binary files /dev/null and b/app/assets/images/emoji/file_folder.png differ diff --git a/app/assets/images/emoji/finnadie.png b/app/assets/images/emoji/finnadie.png new file mode 100644 index 000000000..05ba8ac5e Binary files /dev/null and b/app/assets/images/emoji/finnadie.png differ diff --git a/app/assets/images/emoji/fire.png b/app/assets/images/emoji/fire.png new file mode 100644 index 000000000..f2a3149bb Binary files /dev/null and b/app/assets/images/emoji/fire.png differ diff --git a/app/assets/images/emoji/fire_engine.png b/app/assets/images/emoji/fire_engine.png new file mode 100644 index 000000000..9e6c59c99 Binary files /dev/null and b/app/assets/images/emoji/fire_engine.png differ diff --git a/app/assets/images/emoji/fireworks.png b/app/assets/images/emoji/fireworks.png new file mode 100644 index 000000000..b4eccd577 Binary files /dev/null and b/app/assets/images/emoji/fireworks.png differ diff --git a/app/assets/images/emoji/first_quarter_moon.png b/app/assets/images/emoji/first_quarter_moon.png new file mode 100644 index 000000000..f38c23693 Binary files /dev/null and b/app/assets/images/emoji/first_quarter_moon.png differ diff --git a/app/assets/images/emoji/first_quarter_moon_with_face.png b/app/assets/images/emoji/first_quarter_moon_with_face.png new file mode 100644 index 000000000..85ae2ce72 Binary files /dev/null and b/app/assets/images/emoji/first_quarter_moon_with_face.png differ diff --git a/app/assets/images/emoji/fish.png b/app/assets/images/emoji/fish.png new file mode 100644 index 000000000..dc2a3f52d Binary files /dev/null and b/app/assets/images/emoji/fish.png differ diff --git a/app/assets/images/emoji/fish_cake.png b/app/assets/images/emoji/fish_cake.png new file mode 100644 index 000000000..a8f22614d Binary files /dev/null and b/app/assets/images/emoji/fish_cake.png differ diff --git a/app/assets/images/emoji/fishing_pole_and_fish.png b/app/assets/images/emoji/fishing_pole_and_fish.png new file mode 100644 index 000000000..d84609c3b Binary files /dev/null and b/app/assets/images/emoji/fishing_pole_and_fish.png differ diff --git a/app/assets/images/emoji/fist.png b/app/assets/images/emoji/fist.png new file mode 100644 index 000000000..ecc8874c2 Binary files /dev/null and b/app/assets/images/emoji/fist.png differ diff --git a/app/assets/images/emoji/five.png b/app/assets/images/emoji/five.png new file mode 100644 index 000000000..794321aa2 Binary files /dev/null and b/app/assets/images/emoji/five.png differ diff --git a/app/assets/images/emoji/flags.png b/app/assets/images/emoji/flags.png new file mode 100644 index 000000000..540164e84 Binary files /dev/null and b/app/assets/images/emoji/flags.png differ diff --git a/app/assets/images/emoji/flashlight.png b/app/assets/images/emoji/flashlight.png new file mode 100644 index 000000000..215940aa8 Binary files /dev/null and b/app/assets/images/emoji/flashlight.png differ diff --git a/app/assets/images/emoji/floppy_disk.png b/app/assets/images/emoji/floppy_disk.png new file mode 100644 index 000000000..4ad56315a Binary files /dev/null and b/app/assets/images/emoji/floppy_disk.png differ diff --git a/app/assets/images/emoji/flower_playing_cards.png b/app/assets/images/emoji/flower_playing_cards.png new file mode 100644 index 000000000..cc46a6a1f Binary files /dev/null and b/app/assets/images/emoji/flower_playing_cards.png differ diff --git a/app/assets/images/emoji/flushed.png b/app/assets/images/emoji/flushed.png new file mode 100644 index 000000000..9b49410c0 Binary files /dev/null and b/app/assets/images/emoji/flushed.png differ diff --git a/app/assets/images/emoji/foggy.png b/app/assets/images/emoji/foggy.png new file mode 100644 index 000000000..3c7b8b04b Binary files /dev/null and b/app/assets/images/emoji/foggy.png differ diff --git a/app/assets/images/emoji/football.png b/app/assets/images/emoji/football.png new file mode 100644 index 000000000..0e4e168fa Binary files /dev/null and b/app/assets/images/emoji/football.png differ diff --git a/app/assets/images/emoji/footprints.png b/app/assets/images/emoji/footprints.png new file mode 100644 index 000000000..d7a25614f Binary files /dev/null and b/app/assets/images/emoji/footprints.png differ diff --git a/app/assets/images/emoji/fork_and_knife.png b/app/assets/images/emoji/fork_and_knife.png new file mode 100644 index 000000000..8ba4bc653 Binary files /dev/null and b/app/assets/images/emoji/fork_and_knife.png differ diff --git a/app/assets/images/emoji/fountain.png b/app/assets/images/emoji/fountain.png new file mode 100644 index 000000000..da126e648 Binary files /dev/null and b/app/assets/images/emoji/fountain.png differ diff --git a/app/assets/images/emoji/four.png b/app/assets/images/emoji/four.png new file mode 100644 index 000000000..14782ba23 Binary files /dev/null and b/app/assets/images/emoji/four.png differ diff --git a/app/assets/images/emoji/four_leaf_clover.png b/app/assets/images/emoji/four_leaf_clover.png new file mode 100644 index 000000000..f2014bea4 Binary files /dev/null and b/app/assets/images/emoji/four_leaf_clover.png differ diff --git a/app/assets/images/emoji/fr.png b/app/assets/images/emoji/fr.png new file mode 100644 index 000000000..6311c9115 Binary files /dev/null and b/app/assets/images/emoji/fr.png differ diff --git a/app/assets/images/emoji/free.png b/app/assets/images/emoji/free.png new file mode 100644 index 000000000..c886cf249 Binary files /dev/null and b/app/assets/images/emoji/free.png differ diff --git a/app/assets/images/emoji/fried_shrimp.png b/app/assets/images/emoji/fried_shrimp.png new file mode 100644 index 000000000..c8c284bf1 Binary files /dev/null and b/app/assets/images/emoji/fried_shrimp.png differ diff --git a/app/assets/images/emoji/fries.png b/app/assets/images/emoji/fries.png new file mode 100644 index 000000000..cfef66966 Binary files /dev/null and b/app/assets/images/emoji/fries.png differ diff --git a/app/assets/images/emoji/frog.png b/app/assets/images/emoji/frog.png new file mode 100644 index 000000000..cfe11b18f Binary files /dev/null and b/app/assets/images/emoji/frog.png differ diff --git a/app/assets/images/emoji/frowning.png b/app/assets/images/emoji/frowning.png new file mode 100644 index 000000000..7f8b6c77b Binary files /dev/null and b/app/assets/images/emoji/frowning.png differ diff --git a/app/assets/images/emoji/fuelpump.png b/app/assets/images/emoji/fuelpump.png new file mode 100644 index 000000000..54c29aeb1 Binary files /dev/null and b/app/assets/images/emoji/fuelpump.png differ diff --git a/app/assets/images/emoji/full_moon.png b/app/assets/images/emoji/full_moon.png new file mode 100644 index 000000000..8ff657a25 Binary files /dev/null and b/app/assets/images/emoji/full_moon.png differ diff --git a/app/assets/images/emoji/full_moon_with_face.png b/app/assets/images/emoji/full_moon_with_face.png new file mode 100644 index 000000000..94395a408 Binary files /dev/null and b/app/assets/images/emoji/full_moon_with_face.png differ diff --git a/app/assets/images/emoji/game_die.png b/app/assets/images/emoji/game_die.png new file mode 100644 index 000000000..4136e78ec Binary files /dev/null and b/app/assets/images/emoji/game_die.png differ diff --git a/app/assets/images/emoji/gb.png b/app/assets/images/emoji/gb.png new file mode 100644 index 000000000..2a62c7a08 Binary files /dev/null and b/app/assets/images/emoji/gb.png differ diff --git a/app/assets/images/emoji/gem.png b/app/assets/images/emoji/gem.png new file mode 100644 index 000000000..8a5d8dad5 Binary files /dev/null and b/app/assets/images/emoji/gem.png differ diff --git a/app/assets/images/emoji/gemini.png b/app/assets/images/emoji/gemini.png new file mode 100644 index 000000000..d926f6e88 Binary files /dev/null and b/app/assets/images/emoji/gemini.png differ diff --git a/app/assets/images/emoji/ghost.png b/app/assets/images/emoji/ghost.png new file mode 100644 index 000000000..671dd0c9e Binary files /dev/null and b/app/assets/images/emoji/ghost.png differ diff --git a/app/assets/images/emoji/gift.png b/app/assets/images/emoji/gift.png new file mode 100644 index 000000000..552cfdc2b Binary files /dev/null and b/app/assets/images/emoji/gift.png differ diff --git a/app/assets/images/emoji/gift_heart.png b/app/assets/images/emoji/gift_heart.png new file mode 100644 index 000000000..f31c26a3f Binary files /dev/null and b/app/assets/images/emoji/gift_heart.png differ diff --git a/app/assets/images/emoji/girl.png b/app/assets/images/emoji/girl.png new file mode 100644 index 000000000..ea4126941 Binary files /dev/null and b/app/assets/images/emoji/girl.png differ diff --git a/app/assets/images/emoji/globe_with_meridians.png b/app/assets/images/emoji/globe_with_meridians.png new file mode 100644 index 000000000..b19864667 Binary files /dev/null and b/app/assets/images/emoji/globe_with_meridians.png differ diff --git a/app/assets/images/emoji/goat.png b/app/assets/images/emoji/goat.png new file mode 100644 index 000000000..4be9cf304 Binary files /dev/null and b/app/assets/images/emoji/goat.png differ diff --git a/app/assets/images/emoji/goberserk.png b/app/assets/images/emoji/goberserk.png new file mode 100644 index 000000000..59a742aaa Binary files /dev/null and b/app/assets/images/emoji/goberserk.png differ diff --git a/app/assets/images/emoji/godmode.png b/app/assets/images/emoji/godmode.png new file mode 100644 index 000000000..7e75ab208 Binary files /dev/null and b/app/assets/images/emoji/godmode.png differ diff --git a/app/assets/images/emoji/golf.png b/app/assets/images/emoji/golf.png new file mode 100644 index 000000000..cba2116a7 Binary files /dev/null and b/app/assets/images/emoji/golf.png differ diff --git a/app/assets/images/emoji/grapes.png b/app/assets/images/emoji/grapes.png new file mode 100644 index 000000000..0f9f007a1 Binary files /dev/null and b/app/assets/images/emoji/grapes.png differ diff --git a/app/assets/images/emoji/green_apple.png b/app/assets/images/emoji/green_apple.png new file mode 100644 index 000000000..337205cd1 Binary files /dev/null and b/app/assets/images/emoji/green_apple.png differ diff --git a/app/assets/images/emoji/green_book.png b/app/assets/images/emoji/green_book.png new file mode 100644 index 000000000..e86651e5c Binary files /dev/null and b/app/assets/images/emoji/green_book.png differ diff --git a/app/assets/images/emoji/green_heart.png b/app/assets/images/emoji/green_heart.png new file mode 100644 index 000000000..7289cb814 Binary files /dev/null and b/app/assets/images/emoji/green_heart.png differ diff --git a/app/assets/images/emoji/grey_exclamation.png b/app/assets/images/emoji/grey_exclamation.png new file mode 100644 index 000000000..a50d265e9 Binary files /dev/null and b/app/assets/images/emoji/grey_exclamation.png differ diff --git a/app/assets/images/emoji/grey_question.png b/app/assets/images/emoji/grey_question.png new file mode 100644 index 000000000..57db41ead Binary files /dev/null and b/app/assets/images/emoji/grey_question.png differ diff --git a/app/assets/images/emoji/grimacing.png b/app/assets/images/emoji/grimacing.png new file mode 100644 index 000000000..f78e9407d Binary files /dev/null and b/app/assets/images/emoji/grimacing.png differ diff --git a/app/assets/images/emoji/grin.png b/app/assets/images/emoji/grin.png new file mode 100644 index 000000000..591cfcef8 Binary files /dev/null and b/app/assets/images/emoji/grin.png differ diff --git a/app/assets/images/emoji/grinning.png b/app/assets/images/emoji/grinning.png new file mode 100644 index 000000000..0ef00d79d Binary files /dev/null and b/app/assets/images/emoji/grinning.png differ diff --git a/app/assets/images/emoji/guardsman.png b/app/assets/images/emoji/guardsman.png new file mode 100644 index 000000000..b67b335d6 Binary files /dev/null and b/app/assets/images/emoji/guardsman.png differ diff --git a/app/assets/images/emoji/guitar.png b/app/assets/images/emoji/guitar.png new file mode 100644 index 000000000..2b7fa43c9 Binary files /dev/null and b/app/assets/images/emoji/guitar.png differ diff --git a/app/assets/images/emoji/gun.png b/app/assets/images/emoji/gun.png new file mode 100644 index 000000000..c49dc52c6 Binary files /dev/null and b/app/assets/images/emoji/gun.png differ diff --git a/app/assets/images/emoji/haircut.png b/app/assets/images/emoji/haircut.png new file mode 100644 index 000000000..902d273f6 Binary files /dev/null and b/app/assets/images/emoji/haircut.png differ diff --git a/app/assets/images/emoji/hamburger.png b/app/assets/images/emoji/hamburger.png new file mode 100644 index 000000000..9f1a3fdff Binary files /dev/null and b/app/assets/images/emoji/hamburger.png differ diff --git a/app/assets/images/emoji/hammer.png b/app/assets/images/emoji/hammer.png new file mode 100644 index 000000000..6b75bc37b Binary files /dev/null and b/app/assets/images/emoji/hammer.png differ diff --git a/app/assets/images/emoji/hamster.png b/app/assets/images/emoji/hamster.png new file mode 100644 index 000000000..ada9c3108 Binary files /dev/null and b/app/assets/images/emoji/hamster.png differ diff --git a/app/assets/images/emoji/hand.png b/app/assets/images/emoji/hand.png new file mode 100644 index 000000000..5e45c25a5 Binary files /dev/null and b/app/assets/images/emoji/hand.png differ diff --git a/app/assets/images/emoji/handbag.png b/app/assets/images/emoji/handbag.png new file mode 100644 index 000000000..d7adf04dd Binary files /dev/null and b/app/assets/images/emoji/handbag.png differ diff --git a/app/assets/images/emoji/hankey.png b/app/assets/images/emoji/hankey.png new file mode 100644 index 000000000..73a4dc840 Binary files /dev/null and b/app/assets/images/emoji/hankey.png differ diff --git a/app/assets/images/emoji/hash.png b/app/assets/images/emoji/hash.png new file mode 100644 index 000000000..6765d7d3c Binary files /dev/null and b/app/assets/images/emoji/hash.png differ diff --git a/app/assets/images/emoji/hatched_chick.png b/app/assets/images/emoji/hatched_chick.png new file mode 100644 index 000000000..39c25bc7c Binary files /dev/null and b/app/assets/images/emoji/hatched_chick.png differ diff --git a/app/assets/images/emoji/hatching_chick.png b/app/assets/images/emoji/hatching_chick.png new file mode 100644 index 000000000..005a55519 Binary files /dev/null and b/app/assets/images/emoji/hatching_chick.png differ diff --git a/app/assets/images/emoji/headphones.png b/app/assets/images/emoji/headphones.png new file mode 100644 index 000000000..ad83000e6 Binary files /dev/null and b/app/assets/images/emoji/headphones.png differ diff --git a/app/assets/images/emoji/hear_no_evil.png b/app/assets/images/emoji/hear_no_evil.png new file mode 100644 index 000000000..f97a1f9a0 Binary files /dev/null and b/app/assets/images/emoji/hear_no_evil.png differ diff --git a/app/assets/images/emoji/heart.png b/app/assets/images/emoji/heart.png new file mode 100644 index 000000000..7d7790ce4 Binary files /dev/null and b/app/assets/images/emoji/heart.png differ diff --git a/app/assets/images/emoji/heart_decoration.png b/app/assets/images/emoji/heart_decoration.png new file mode 100644 index 000000000..b40a48675 Binary files /dev/null and b/app/assets/images/emoji/heart_decoration.png differ diff --git a/app/assets/images/emoji/heart_eyes.png b/app/assets/images/emoji/heart_eyes.png new file mode 100644 index 000000000..0e5794270 Binary files /dev/null and b/app/assets/images/emoji/heart_eyes.png differ diff --git a/app/assets/images/emoji/heart_eyes_cat.png b/app/assets/images/emoji/heart_eyes_cat.png new file mode 100644 index 000000000..eeba240e5 Binary files /dev/null and b/app/assets/images/emoji/heart_eyes_cat.png differ diff --git a/app/assets/images/emoji/heartbeat.png b/app/assets/images/emoji/heartbeat.png new file mode 100644 index 000000000..b6628f6fa Binary files /dev/null and b/app/assets/images/emoji/heartbeat.png differ diff --git a/app/assets/images/emoji/heartpulse.png b/app/assets/images/emoji/heartpulse.png new file mode 100644 index 000000000..a7491cbea Binary files /dev/null and b/app/assets/images/emoji/heartpulse.png differ diff --git a/app/assets/images/emoji/hearts.png b/app/assets/images/emoji/hearts.png new file mode 100644 index 000000000..e89471538 Binary files /dev/null and b/app/assets/images/emoji/hearts.png differ diff --git a/app/assets/images/emoji/heavy_check_mark.png b/app/assets/images/emoji/heavy_check_mark.png new file mode 100644 index 000000000..336d2626d Binary files /dev/null and b/app/assets/images/emoji/heavy_check_mark.png differ diff --git a/app/assets/images/emoji/heavy_division_sign.png b/app/assets/images/emoji/heavy_division_sign.png new file mode 100644 index 000000000..ac757a238 Binary files /dev/null and b/app/assets/images/emoji/heavy_division_sign.png differ diff --git a/app/assets/images/emoji/heavy_dollar_sign.png b/app/assets/images/emoji/heavy_dollar_sign.png new file mode 100644 index 000000000..361e26aef Binary files /dev/null and b/app/assets/images/emoji/heavy_dollar_sign.png differ diff --git a/app/assets/images/emoji/heavy_exclamation_mark.png b/app/assets/images/emoji/heavy_exclamation_mark.png new file mode 100644 index 000000000..4c560f5e3 Binary files /dev/null and b/app/assets/images/emoji/heavy_exclamation_mark.png differ diff --git a/app/assets/images/emoji/heavy_minus_sign.png b/app/assets/images/emoji/heavy_minus_sign.png new file mode 100644 index 000000000..b8d3d82f2 Binary files /dev/null and b/app/assets/images/emoji/heavy_minus_sign.png differ diff --git a/app/assets/images/emoji/heavy_multiplication_x.png b/app/assets/images/emoji/heavy_multiplication_x.png new file mode 100644 index 000000000..13d666078 Binary files /dev/null and b/app/assets/images/emoji/heavy_multiplication_x.png differ diff --git a/app/assets/images/emoji/heavy_plus_sign.png b/app/assets/images/emoji/heavy_plus_sign.png new file mode 100644 index 000000000..61595387b Binary files /dev/null and b/app/assets/images/emoji/heavy_plus_sign.png differ diff --git a/app/assets/images/emoji/helicopter.png b/app/assets/images/emoji/helicopter.png new file mode 100644 index 000000000..8e82a0d58 Binary files /dev/null and b/app/assets/images/emoji/helicopter.png differ diff --git a/app/assets/images/emoji/herb.png b/app/assets/images/emoji/herb.png new file mode 100644 index 000000000..de1ff1b73 Binary files /dev/null and b/app/assets/images/emoji/herb.png differ diff --git a/app/assets/images/emoji/hibiscus.png b/app/assets/images/emoji/hibiscus.png new file mode 100644 index 000000000..32a3774c0 Binary files /dev/null and b/app/assets/images/emoji/hibiscus.png differ diff --git a/app/assets/images/emoji/high_brightness.png b/app/assets/images/emoji/high_brightness.png new file mode 100644 index 000000000..ba9de7d40 Binary files /dev/null and b/app/assets/images/emoji/high_brightness.png differ diff --git a/app/assets/images/emoji/high_heel.png b/app/assets/images/emoji/high_heel.png new file mode 100644 index 000000000..525b6a0dd Binary files /dev/null and b/app/assets/images/emoji/high_heel.png differ diff --git a/app/assets/images/emoji/hocho.png b/app/assets/images/emoji/hocho.png new file mode 100644 index 000000000..18eade0ac Binary files /dev/null and b/app/assets/images/emoji/hocho.png differ diff --git a/app/assets/images/emoji/honey_pot.png b/app/assets/images/emoji/honey_pot.png new file mode 100644 index 000000000..73278898a Binary files /dev/null and b/app/assets/images/emoji/honey_pot.png differ diff --git a/app/assets/images/emoji/honeybee.png b/app/assets/images/emoji/honeybee.png new file mode 100644 index 000000000..f53733953 Binary files /dev/null and b/app/assets/images/emoji/honeybee.png differ diff --git a/app/assets/images/emoji/horse.png b/app/assets/images/emoji/horse.png new file mode 100644 index 000000000..78d580ad3 Binary files /dev/null and b/app/assets/images/emoji/horse.png differ diff --git a/app/assets/images/emoji/horse_racing.png b/app/assets/images/emoji/horse_racing.png new file mode 100644 index 000000000..e3bbaec1d Binary files /dev/null and b/app/assets/images/emoji/horse_racing.png differ diff --git a/app/assets/images/emoji/hospital.png b/app/assets/images/emoji/hospital.png new file mode 100644 index 000000000..c05c49377 Binary files /dev/null and b/app/assets/images/emoji/hospital.png differ diff --git a/app/assets/images/emoji/hotel.png b/app/assets/images/emoji/hotel.png new file mode 100644 index 000000000..d29f276a1 Binary files /dev/null and b/app/assets/images/emoji/hotel.png differ diff --git a/app/assets/images/emoji/hotsprings.png b/app/assets/images/emoji/hotsprings.png new file mode 100644 index 000000000..a0bc9d75f Binary files /dev/null and b/app/assets/images/emoji/hotsprings.png differ diff --git a/app/assets/images/emoji/hourglass.png b/app/assets/images/emoji/hourglass.png new file mode 100644 index 000000000..405aab41b Binary files /dev/null and b/app/assets/images/emoji/hourglass.png differ diff --git a/app/assets/images/emoji/hourglass_flowing_sand.png b/app/assets/images/emoji/hourglass_flowing_sand.png new file mode 100644 index 000000000..52c9eb704 Binary files /dev/null and b/app/assets/images/emoji/hourglass_flowing_sand.png differ diff --git a/app/assets/images/emoji/house.png b/app/assets/images/emoji/house.png new file mode 100644 index 000000000..95b9ee094 Binary files /dev/null and b/app/assets/images/emoji/house.png differ diff --git a/app/assets/images/emoji/house_with_garden.png b/app/assets/images/emoji/house_with_garden.png new file mode 100644 index 000000000..eccbfe943 Binary files /dev/null and b/app/assets/images/emoji/house_with_garden.png differ diff --git a/app/assets/images/emoji/hurtrealbad.png b/app/assets/images/emoji/hurtrealbad.png new file mode 100644 index 000000000..146ef1a6a Binary files /dev/null and b/app/assets/images/emoji/hurtrealbad.png differ diff --git a/app/assets/images/emoji/hushed.png b/app/assets/images/emoji/hushed.png new file mode 100644 index 000000000..afa3f6686 Binary files /dev/null and b/app/assets/images/emoji/hushed.png differ diff --git a/app/assets/images/emoji/ice_cream.png b/app/assets/images/emoji/ice_cream.png new file mode 100644 index 000000000..190be0165 Binary files /dev/null and b/app/assets/images/emoji/ice_cream.png differ diff --git a/app/assets/images/emoji/icecream.png b/app/assets/images/emoji/icecream.png new file mode 100644 index 000000000..871ce0976 Binary files /dev/null and b/app/assets/images/emoji/icecream.png differ diff --git a/app/assets/images/emoji/id.png b/app/assets/images/emoji/id.png new file mode 100644 index 000000000..47437a76d Binary files /dev/null and b/app/assets/images/emoji/id.png differ diff --git a/app/assets/images/emoji/ideograph_advantage.png b/app/assets/images/emoji/ideograph_advantage.png new file mode 100644 index 000000000..e79af7844 Binary files /dev/null and b/app/assets/images/emoji/ideograph_advantage.png differ diff --git a/app/assets/images/emoji/imp.png b/app/assets/images/emoji/imp.png new file mode 100644 index 000000000..48e570105 Binary files /dev/null and b/app/assets/images/emoji/imp.png differ diff --git a/app/assets/images/emoji/inbox_tray.png b/app/assets/images/emoji/inbox_tray.png new file mode 100644 index 000000000..e2df0f897 Binary files /dev/null and b/app/assets/images/emoji/inbox_tray.png differ diff --git a/app/assets/images/emoji/incoming_envelope.png b/app/assets/images/emoji/incoming_envelope.png new file mode 100644 index 000000000..afc827125 Binary files /dev/null and b/app/assets/images/emoji/incoming_envelope.png differ diff --git a/app/assets/images/emoji/information_desk_person.png b/app/assets/images/emoji/information_desk_person.png new file mode 100644 index 000000000..52c0a50a3 Binary files /dev/null and b/app/assets/images/emoji/information_desk_person.png differ diff --git a/app/assets/images/emoji/information_source.png b/app/assets/images/emoji/information_source.png new file mode 100644 index 000000000..9cb8b09b2 Binary files /dev/null and b/app/assets/images/emoji/information_source.png differ diff --git a/app/assets/images/emoji/innocent.png b/app/assets/images/emoji/innocent.png new file mode 100644 index 000000000..503b614f8 Binary files /dev/null and b/app/assets/images/emoji/innocent.png differ diff --git a/app/assets/images/emoji/interrobang.png b/app/assets/images/emoji/interrobang.png new file mode 100644 index 000000000..64304b9f5 Binary files /dev/null and b/app/assets/images/emoji/interrobang.png differ diff --git a/app/assets/images/emoji/iphone.png b/app/assets/images/emoji/iphone.png new file mode 100644 index 000000000..df007103b Binary files /dev/null and b/app/assets/images/emoji/iphone.png differ diff --git a/app/assets/images/emoji/it.png b/app/assets/images/emoji/it.png new file mode 100644 index 000000000..70bc9f324 Binary files /dev/null and b/app/assets/images/emoji/it.png differ diff --git a/app/assets/images/emoji/izakaya_lantern.png b/app/assets/images/emoji/izakaya_lantern.png new file mode 100644 index 000000000..18730ad55 Binary files /dev/null and b/app/assets/images/emoji/izakaya_lantern.png differ diff --git a/app/assets/images/emoji/jack_o_lantern.png b/app/assets/images/emoji/jack_o_lantern.png new file mode 100644 index 000000000..1f7667ea4 Binary files /dev/null and b/app/assets/images/emoji/jack_o_lantern.png differ diff --git a/app/assets/images/emoji/japan.png b/app/assets/images/emoji/japan.png new file mode 100644 index 000000000..459328035 Binary files /dev/null and b/app/assets/images/emoji/japan.png differ diff --git a/app/assets/images/emoji/japanese_castle.png b/app/assets/images/emoji/japanese_castle.png new file mode 100644 index 000000000..f225ab217 Binary files /dev/null and b/app/assets/images/emoji/japanese_castle.png differ diff --git a/app/assets/images/emoji/japanese_goblin.png b/app/assets/images/emoji/japanese_goblin.png new file mode 100644 index 000000000..bd21b1875 Binary files /dev/null and b/app/assets/images/emoji/japanese_goblin.png differ diff --git a/app/assets/images/emoji/japanese_ogre.png b/app/assets/images/emoji/japanese_ogre.png new file mode 100644 index 000000000..e9f5471c9 Binary files /dev/null and b/app/assets/images/emoji/japanese_ogre.png differ diff --git a/app/assets/images/emoji/jeans.png b/app/assets/images/emoji/jeans.png new file mode 100644 index 000000000..d721cea54 Binary files /dev/null and b/app/assets/images/emoji/jeans.png differ diff --git a/app/assets/images/emoji/joy.png b/app/assets/images/emoji/joy.png new file mode 100644 index 000000000..47df693d4 Binary files /dev/null and b/app/assets/images/emoji/joy.png differ diff --git a/app/assets/images/emoji/joy_cat.png b/app/assets/images/emoji/joy_cat.png new file mode 100644 index 000000000..6c60cb0ef Binary files /dev/null and b/app/assets/images/emoji/joy_cat.png differ diff --git a/app/assets/images/emoji/jp.png b/app/assets/images/emoji/jp.png new file mode 100644 index 000000000..b786efbbd Binary files /dev/null and b/app/assets/images/emoji/jp.png differ diff --git a/app/assets/images/emoji/key.png b/app/assets/images/emoji/key.png new file mode 100644 index 000000000..34673213f Binary files /dev/null and b/app/assets/images/emoji/key.png differ diff --git a/app/assets/images/emoji/keycap_ten.png b/app/assets/images/emoji/keycap_ten.png new file mode 100644 index 000000000..71dac1c1c Binary files /dev/null and b/app/assets/images/emoji/keycap_ten.png differ diff --git a/app/assets/images/emoji/kimono.png b/app/assets/images/emoji/kimono.png new file mode 100644 index 000000000..34ffe137d Binary files /dev/null and b/app/assets/images/emoji/kimono.png differ diff --git a/app/assets/images/emoji/kiss.png b/app/assets/images/emoji/kiss.png new file mode 100644 index 000000000..4ae2c2b5d Binary files /dev/null and b/app/assets/images/emoji/kiss.png differ diff --git a/app/assets/images/emoji/kissing.png b/app/assets/images/emoji/kissing.png new file mode 100644 index 000000000..eb049c80b Binary files /dev/null and b/app/assets/images/emoji/kissing.png differ diff --git a/app/assets/images/emoji/kissing_cat.png b/app/assets/images/emoji/kissing_cat.png new file mode 100644 index 000000000..adc62fbe3 Binary files /dev/null and b/app/assets/images/emoji/kissing_cat.png differ diff --git a/app/assets/images/emoji/kissing_closed_eyes.png b/app/assets/images/emoji/kissing_closed_eyes.png new file mode 100644 index 000000000..449de1970 Binary files /dev/null and b/app/assets/images/emoji/kissing_closed_eyes.png differ diff --git a/app/assets/images/emoji/kissing_heart.png b/app/assets/images/emoji/kissing_heart.png new file mode 100644 index 000000000..af9a80b7f Binary files /dev/null and b/app/assets/images/emoji/kissing_heart.png differ diff --git a/app/assets/images/emoji/kissing_smiling_eyes.png b/app/assets/images/emoji/kissing_smiling_eyes.png new file mode 100644 index 000000000..d85706e70 Binary files /dev/null and b/app/assets/images/emoji/kissing_smiling_eyes.png differ diff --git a/app/assets/images/emoji/koala.png b/app/assets/images/emoji/koala.png new file mode 100644 index 000000000..e17bd3cf5 Binary files /dev/null and b/app/assets/images/emoji/koala.png differ diff --git a/app/assets/images/emoji/koko.png b/app/assets/images/emoji/koko.png new file mode 100644 index 000000000..3bef28c9f Binary files /dev/null and b/app/assets/images/emoji/koko.png differ diff --git a/app/assets/images/emoji/kr.png b/app/assets/images/emoji/kr.png new file mode 100644 index 000000000..b4c0c1b67 Binary files /dev/null and b/app/assets/images/emoji/kr.png differ diff --git a/app/assets/images/emoji/lantern.png b/app/assets/images/emoji/lantern.png new file mode 100644 index 000000000..18730ad55 Binary files /dev/null and b/app/assets/images/emoji/lantern.png differ diff --git a/app/assets/images/emoji/large_blue_circle.png b/app/assets/images/emoji/large_blue_circle.png new file mode 100644 index 000000000..a5b4ad4aa Binary files /dev/null and b/app/assets/images/emoji/large_blue_circle.png differ diff --git a/app/assets/images/emoji/large_blue_diamond.png b/app/assets/images/emoji/large_blue_diamond.png new file mode 100644 index 000000000..f4598ec0f Binary files /dev/null and b/app/assets/images/emoji/large_blue_diamond.png differ diff --git a/app/assets/images/emoji/large_orange_diamond.png b/app/assets/images/emoji/large_orange_diamond.png new file mode 100644 index 000000000..46d52e5cb Binary files /dev/null and b/app/assets/images/emoji/large_orange_diamond.png differ diff --git a/app/assets/images/emoji/last_quarter_moon.png b/app/assets/images/emoji/last_quarter_moon.png new file mode 100644 index 000000000..355e3c3f7 Binary files /dev/null and b/app/assets/images/emoji/last_quarter_moon.png differ diff --git a/app/assets/images/emoji/last_quarter_moon_with_face.png b/app/assets/images/emoji/last_quarter_moon_with_face.png new file mode 100644 index 000000000..9ece82dfe Binary files /dev/null and b/app/assets/images/emoji/last_quarter_moon_with_face.png differ diff --git a/app/assets/images/emoji/laughing.png b/app/assets/images/emoji/laughing.png new file mode 100644 index 000000000..11c91eb22 Binary files /dev/null and b/app/assets/images/emoji/laughing.png differ diff --git a/app/assets/images/emoji/leaves.png b/app/assets/images/emoji/leaves.png new file mode 100644 index 000000000..801e578e6 Binary files /dev/null and b/app/assets/images/emoji/leaves.png differ diff --git a/app/assets/images/emoji/ledger.png b/app/assets/images/emoji/ledger.png new file mode 100644 index 000000000..e4f72acea Binary files /dev/null and b/app/assets/images/emoji/ledger.png differ diff --git a/app/assets/images/emoji/left_luggage.png b/app/assets/images/emoji/left_luggage.png new file mode 100644 index 000000000..1c08b464d Binary files /dev/null and b/app/assets/images/emoji/left_luggage.png differ diff --git a/app/assets/images/emoji/left_right_arrow.png b/app/assets/images/emoji/left_right_arrow.png new file mode 100644 index 000000000..b9fd11c51 Binary files /dev/null and b/app/assets/images/emoji/left_right_arrow.png differ diff --git a/app/assets/images/emoji/leftwards_arrow_with_hook.png b/app/assets/images/emoji/leftwards_arrow_with_hook.png new file mode 100644 index 000000000..bc45dfefd Binary files /dev/null and b/app/assets/images/emoji/leftwards_arrow_with_hook.png differ diff --git a/app/assets/images/emoji/lemon.png b/app/assets/images/emoji/lemon.png new file mode 100644 index 000000000..9814dc959 Binary files /dev/null and b/app/assets/images/emoji/lemon.png differ diff --git a/app/assets/images/emoji/leo.png b/app/assets/images/emoji/leo.png new file mode 100644 index 000000000..e025933b2 Binary files /dev/null and b/app/assets/images/emoji/leo.png differ diff --git a/app/assets/images/emoji/leopard.png b/app/assets/images/emoji/leopard.png new file mode 100644 index 000000000..8abfc4a27 Binary files /dev/null and b/app/assets/images/emoji/leopard.png differ diff --git a/app/assets/images/emoji/libra.png b/app/assets/images/emoji/libra.png new file mode 100644 index 000000000..c9062dd2e Binary files /dev/null and b/app/assets/images/emoji/libra.png differ diff --git a/app/assets/images/emoji/light_rail.png b/app/assets/images/emoji/light_rail.png new file mode 100644 index 000000000..bcfe801ee Binary files /dev/null and b/app/assets/images/emoji/light_rail.png differ diff --git a/app/assets/images/emoji/link.png b/app/assets/images/emoji/link.png new file mode 100644 index 000000000..ffb8f62ce Binary files /dev/null and b/app/assets/images/emoji/link.png differ diff --git a/app/assets/images/emoji/lips.png b/app/assets/images/emoji/lips.png new file mode 100644 index 000000000..826ed1102 Binary files /dev/null and b/app/assets/images/emoji/lips.png differ diff --git a/app/assets/images/emoji/lipstick.png b/app/assets/images/emoji/lipstick.png new file mode 100644 index 000000000..82f990c56 Binary files /dev/null and b/app/assets/images/emoji/lipstick.png differ diff --git a/app/assets/images/emoji/lock.png b/app/assets/images/emoji/lock.png new file mode 100644 index 000000000..4892b0235 Binary files /dev/null and b/app/assets/images/emoji/lock.png differ diff --git a/app/assets/images/emoji/lock_with_ink_pen.png b/app/assets/images/emoji/lock_with_ink_pen.png new file mode 100644 index 000000000..375e67e82 Binary files /dev/null and b/app/assets/images/emoji/lock_with_ink_pen.png differ diff --git a/app/assets/images/emoji/lollipop.png b/app/assets/images/emoji/lollipop.png new file mode 100644 index 000000000..ba55e7093 Binary files /dev/null and b/app/assets/images/emoji/lollipop.png differ diff --git a/app/assets/images/emoji/loop.png b/app/assets/images/emoji/loop.png new file mode 100644 index 000000000..ef34df3a4 Binary files /dev/null and b/app/assets/images/emoji/loop.png differ diff --git a/app/assets/images/emoji/loudspeaker.png b/app/assets/images/emoji/loudspeaker.png new file mode 100644 index 000000000..752385e52 Binary files /dev/null and b/app/assets/images/emoji/loudspeaker.png differ diff --git a/app/assets/images/emoji/love_hotel.png b/app/assets/images/emoji/love_hotel.png new file mode 100644 index 000000000..44d7db828 Binary files /dev/null and b/app/assets/images/emoji/love_hotel.png differ diff --git a/app/assets/images/emoji/love_letter.png b/app/assets/images/emoji/love_letter.png new file mode 100644 index 000000000..e29981f44 Binary files /dev/null and b/app/assets/images/emoji/love_letter.png differ diff --git a/app/assets/images/emoji/low_brightness.png b/app/assets/images/emoji/low_brightness.png new file mode 100644 index 000000000..ea15bde4f Binary files /dev/null and b/app/assets/images/emoji/low_brightness.png differ diff --git a/app/assets/images/emoji/m.png b/app/assets/images/emoji/m.png new file mode 100644 index 000000000..7424665e2 Binary files /dev/null and b/app/assets/images/emoji/m.png differ diff --git a/app/assets/images/emoji/mag.png b/app/assets/images/emoji/mag.png new file mode 100644 index 000000000..aa5b1d7c4 Binary files /dev/null and b/app/assets/images/emoji/mag.png differ diff --git a/app/assets/images/emoji/mag_right.png b/app/assets/images/emoji/mag_right.png new file mode 100644 index 000000000..6e6cf11e6 Binary files /dev/null and b/app/assets/images/emoji/mag_right.png differ diff --git a/app/assets/images/emoji/mahjong.png b/app/assets/images/emoji/mahjong.png new file mode 100644 index 000000000..f51ce65fd Binary files /dev/null and b/app/assets/images/emoji/mahjong.png differ diff --git a/app/assets/images/emoji/mailbox.png b/app/assets/images/emoji/mailbox.png new file mode 100644 index 000000000..8351e7076 Binary files /dev/null and b/app/assets/images/emoji/mailbox.png differ diff --git a/app/assets/images/emoji/mailbox_closed.png b/app/assets/images/emoji/mailbox_closed.png new file mode 100644 index 000000000..a5982b69b Binary files /dev/null and b/app/assets/images/emoji/mailbox_closed.png differ diff --git a/app/assets/images/emoji/mailbox_with_mail.png b/app/assets/images/emoji/mailbox_with_mail.png new file mode 100644 index 000000000..dae345943 Binary files /dev/null and b/app/assets/images/emoji/mailbox_with_mail.png differ diff --git a/app/assets/images/emoji/mailbox_with_no_mail.png b/app/assets/images/emoji/mailbox_with_no_mail.png new file mode 100644 index 000000000..59f15c5d7 Binary files /dev/null and b/app/assets/images/emoji/mailbox_with_no_mail.png differ diff --git a/app/assets/images/emoji/man.png b/app/assets/images/emoji/man.png new file mode 100644 index 000000000..d9bfa26a6 Binary files /dev/null and b/app/assets/images/emoji/man.png differ diff --git a/app/assets/images/emoji/man_with_gua_pi_mao.png b/app/assets/images/emoji/man_with_gua_pi_mao.png new file mode 100644 index 000000000..7aad74b55 Binary files /dev/null and b/app/assets/images/emoji/man_with_gua_pi_mao.png differ diff --git a/app/assets/images/emoji/man_with_turban.png b/app/assets/images/emoji/man_with_turban.png new file mode 100644 index 000000000..036604caf Binary files /dev/null and b/app/assets/images/emoji/man_with_turban.png differ diff --git a/app/assets/images/emoji/mans_shoe.png b/app/assets/images/emoji/mans_shoe.png new file mode 100644 index 000000000..ecba9ba7d Binary files /dev/null and b/app/assets/images/emoji/mans_shoe.png differ diff --git a/app/assets/images/emoji/maple_leaf.png b/app/assets/images/emoji/maple_leaf.png new file mode 100644 index 000000000..4e9b47207 Binary files /dev/null and b/app/assets/images/emoji/maple_leaf.png differ diff --git a/app/assets/images/emoji/mask.png b/app/assets/images/emoji/mask.png new file mode 100644 index 000000000..05887e99c Binary files /dev/null and b/app/assets/images/emoji/mask.png differ diff --git a/app/assets/images/emoji/massage.png b/app/assets/images/emoji/massage.png new file mode 100644 index 000000000..dd30d1597 Binary files /dev/null and b/app/assets/images/emoji/massage.png differ diff --git a/app/assets/images/emoji/meat_on_bone.png b/app/assets/images/emoji/meat_on_bone.png new file mode 100644 index 000000000..d6b311b6b Binary files /dev/null and b/app/assets/images/emoji/meat_on_bone.png differ diff --git a/app/assets/images/emoji/mega.png b/app/assets/images/emoji/mega.png new file mode 100644 index 000000000..5d9319e72 Binary files /dev/null and b/app/assets/images/emoji/mega.png differ diff --git a/app/assets/images/emoji/melon.png b/app/assets/images/emoji/melon.png new file mode 100644 index 000000000..11c13cbbd Binary files /dev/null and b/app/assets/images/emoji/melon.png differ diff --git a/app/assets/images/emoji/memo.png b/app/assets/images/emoji/memo.png new file mode 100644 index 000000000..fc97ddbc9 Binary files /dev/null and b/app/assets/images/emoji/memo.png differ diff --git a/app/assets/images/emoji/mens.png b/app/assets/images/emoji/mens.png new file mode 100644 index 000000000..abccfc9f2 Binary files /dev/null and b/app/assets/images/emoji/mens.png differ diff --git a/app/assets/images/emoji/metal.png b/app/assets/images/emoji/metal.png new file mode 100644 index 000000000..94f1fda22 Binary files /dev/null and b/app/assets/images/emoji/metal.png differ diff --git a/app/assets/images/emoji/metro.png b/app/assets/images/emoji/metro.png new file mode 100644 index 000000000..7f34f6be3 Binary files /dev/null and b/app/assets/images/emoji/metro.png differ diff --git a/app/assets/images/emoji/microphone.png b/app/assets/images/emoji/microphone.png new file mode 100644 index 000000000..ce19a2bb6 Binary files /dev/null and b/app/assets/images/emoji/microphone.png differ diff --git a/app/assets/images/emoji/microscope.png b/app/assets/images/emoji/microscope.png new file mode 100644 index 000000000..f11d54c01 Binary files /dev/null and b/app/assets/images/emoji/microscope.png differ diff --git a/app/assets/images/emoji/milky_way.png b/app/assets/images/emoji/milky_way.png new file mode 100644 index 000000000..901090a12 Binary files /dev/null and b/app/assets/images/emoji/milky_way.png differ diff --git a/app/assets/images/emoji/minibus.png b/app/assets/images/emoji/minibus.png new file mode 100644 index 000000000..c52cef234 Binary files /dev/null and b/app/assets/images/emoji/minibus.png differ diff --git a/app/assets/images/emoji/minidisc.png b/app/assets/images/emoji/minidisc.png new file mode 100644 index 000000000..e19cc5d01 Binary files /dev/null and b/app/assets/images/emoji/minidisc.png differ diff --git a/app/assets/images/emoji/mobile_phone_off.png b/app/assets/images/emoji/mobile_phone_off.png new file mode 100644 index 000000000..fa16c763c Binary files /dev/null and b/app/assets/images/emoji/mobile_phone_off.png differ diff --git a/app/assets/images/emoji/money_with_wings.png b/app/assets/images/emoji/money_with_wings.png new file mode 100644 index 000000000..135e3981e Binary files /dev/null and b/app/assets/images/emoji/money_with_wings.png differ diff --git a/app/assets/images/emoji/moneybag.png b/app/assets/images/emoji/moneybag.png new file mode 100644 index 000000000..5546c04ba Binary files /dev/null and b/app/assets/images/emoji/moneybag.png differ diff --git a/app/assets/images/emoji/monkey.png b/app/assets/images/emoji/monkey.png new file mode 100644 index 000000000..640703597 Binary files /dev/null and b/app/assets/images/emoji/monkey.png differ diff --git a/app/assets/images/emoji/monkey_face.png b/app/assets/images/emoji/monkey_face.png new file mode 100644 index 000000000..6964cf4d5 Binary files /dev/null and b/app/assets/images/emoji/monkey_face.png differ diff --git a/app/assets/images/emoji/monorail.png b/app/assets/images/emoji/monorail.png new file mode 100644 index 000000000..913d30024 Binary files /dev/null and b/app/assets/images/emoji/monorail.png differ diff --git a/app/assets/images/emoji/moon.png b/app/assets/images/emoji/moon.png new file mode 100644 index 000000000..dd8c48458 Binary files /dev/null and b/app/assets/images/emoji/moon.png differ diff --git a/app/assets/images/emoji/mortar_board.png b/app/assets/images/emoji/mortar_board.png new file mode 100644 index 000000000..2e811b097 Binary files /dev/null and b/app/assets/images/emoji/mortar_board.png differ diff --git a/app/assets/images/emoji/mount_fuji.png b/app/assets/images/emoji/mount_fuji.png new file mode 100644 index 000000000..4c313e583 Binary files /dev/null and b/app/assets/images/emoji/mount_fuji.png differ diff --git a/app/assets/images/emoji/mountain_bicyclist.png b/app/assets/images/emoji/mountain_bicyclist.png new file mode 100644 index 000000000..b69889756 Binary files /dev/null and b/app/assets/images/emoji/mountain_bicyclist.png differ diff --git a/app/assets/images/emoji/mountain_cableway.png b/app/assets/images/emoji/mountain_cableway.png new file mode 100644 index 000000000..5688bb239 Binary files /dev/null and b/app/assets/images/emoji/mountain_cableway.png differ diff --git a/app/assets/images/emoji/mountain_railway.png b/app/assets/images/emoji/mountain_railway.png new file mode 100644 index 000000000..1f3d1aab5 Binary files /dev/null and b/app/assets/images/emoji/mountain_railway.png differ diff --git a/app/assets/images/emoji/mouse.png b/app/assets/images/emoji/mouse.png new file mode 100644 index 000000000..8ff162e2d Binary files /dev/null and b/app/assets/images/emoji/mouse.png differ diff --git a/app/assets/images/emoji/mouse2.png b/app/assets/images/emoji/mouse2.png new file mode 100644 index 000000000..2d777e5e1 Binary files /dev/null and b/app/assets/images/emoji/mouse2.png differ diff --git a/app/assets/images/emoji/movie_camera.png b/app/assets/images/emoji/movie_camera.png new file mode 100644 index 000000000..9c1438409 Binary files /dev/null and b/app/assets/images/emoji/movie_camera.png differ diff --git a/app/assets/images/emoji/moyai.png b/app/assets/images/emoji/moyai.png new file mode 100644 index 000000000..61a1a9c21 Binary files /dev/null and b/app/assets/images/emoji/moyai.png differ diff --git a/app/assets/images/emoji/muscle.png b/app/assets/images/emoji/muscle.png new file mode 100644 index 000000000..19f92efb6 Binary files /dev/null and b/app/assets/images/emoji/muscle.png differ diff --git a/app/assets/images/emoji/mushroom.png b/app/assets/images/emoji/mushroom.png new file mode 100644 index 000000000..5eeed8e79 Binary files /dev/null and b/app/assets/images/emoji/mushroom.png differ diff --git a/app/assets/images/emoji/musical_keyboard.png b/app/assets/images/emoji/musical_keyboard.png new file mode 100644 index 000000000..93647a4a3 Binary files /dev/null and b/app/assets/images/emoji/musical_keyboard.png differ diff --git a/app/assets/images/emoji/musical_note.png b/app/assets/images/emoji/musical_note.png new file mode 100644 index 000000000..68b261bcb Binary files /dev/null and b/app/assets/images/emoji/musical_note.png differ diff --git a/app/assets/images/emoji/musical_score.png b/app/assets/images/emoji/musical_score.png new file mode 100644 index 000000000..0c927d32f Binary files /dev/null and b/app/assets/images/emoji/musical_score.png differ diff --git a/app/assets/images/emoji/mute.png b/app/assets/images/emoji/mute.png new file mode 100644 index 000000000..4cf67c367 Binary files /dev/null and b/app/assets/images/emoji/mute.png differ diff --git a/app/assets/images/emoji/nail_care.png b/app/assets/images/emoji/nail_care.png new file mode 100644 index 000000000..6a66e63d2 Binary files /dev/null and b/app/assets/images/emoji/nail_care.png differ diff --git a/app/assets/images/emoji/name_badge.png b/app/assets/images/emoji/name_badge.png new file mode 100644 index 000000000..2b712dcd5 Binary files /dev/null and b/app/assets/images/emoji/name_badge.png differ diff --git a/app/assets/images/emoji/neckbeard.png b/app/assets/images/emoji/neckbeard.png new file mode 100644 index 000000000..15108fc97 Binary files /dev/null and b/app/assets/images/emoji/neckbeard.png differ diff --git a/app/assets/images/emoji/necktie.png b/app/assets/images/emoji/necktie.png new file mode 100644 index 000000000..80461c66f Binary files /dev/null and b/app/assets/images/emoji/necktie.png differ diff --git a/app/assets/images/emoji/negative_squared_cross_mark.png b/app/assets/images/emoji/negative_squared_cross_mark.png new file mode 100644 index 000000000..b47a0cece Binary files /dev/null and b/app/assets/images/emoji/negative_squared_cross_mark.png differ diff --git a/app/assets/images/emoji/neutral_face.png b/app/assets/images/emoji/neutral_face.png new file mode 100644 index 000000000..682a1ba06 Binary files /dev/null and b/app/assets/images/emoji/neutral_face.png differ diff --git a/app/assets/images/emoji/new.png b/app/assets/images/emoji/new.png new file mode 100644 index 000000000..28d1570e0 Binary files /dev/null and b/app/assets/images/emoji/new.png differ diff --git a/app/assets/images/emoji/new_moon.png b/app/assets/images/emoji/new_moon.png new file mode 100644 index 000000000..540239b1f Binary files /dev/null and b/app/assets/images/emoji/new_moon.png differ diff --git a/app/assets/images/emoji/new_moon_with_face.png b/app/assets/images/emoji/new_moon_with_face.png new file mode 100644 index 000000000..b9aff7a06 Binary files /dev/null and b/app/assets/images/emoji/new_moon_with_face.png differ diff --git a/app/assets/images/emoji/newspaper.png b/app/assets/images/emoji/newspaper.png new file mode 100644 index 000000000..d171394e6 Binary files /dev/null and b/app/assets/images/emoji/newspaper.png differ diff --git a/app/assets/images/emoji/ng.png b/app/assets/images/emoji/ng.png new file mode 100644 index 000000000..2ca180ae3 Binary files /dev/null and b/app/assets/images/emoji/ng.png differ diff --git a/app/assets/images/emoji/nine.png b/app/assets/images/emoji/nine.png new file mode 100644 index 000000000..8006cc909 Binary files /dev/null and b/app/assets/images/emoji/nine.png differ diff --git a/app/assets/images/emoji/no_bell.png b/app/assets/images/emoji/no_bell.png new file mode 100644 index 000000000..613b81cd2 Binary files /dev/null and b/app/assets/images/emoji/no_bell.png differ diff --git a/app/assets/images/emoji/no_bicycles.png b/app/assets/images/emoji/no_bicycles.png new file mode 100644 index 000000000..4b2621664 Binary files /dev/null and b/app/assets/images/emoji/no_bicycles.png differ diff --git a/app/assets/images/emoji/no_entry.png b/app/assets/images/emoji/no_entry.png new file mode 100644 index 000000000..cf2086a8e Binary files /dev/null and b/app/assets/images/emoji/no_entry.png differ diff --git a/app/assets/images/emoji/no_entry_sign.png b/app/assets/images/emoji/no_entry_sign.png new file mode 100644 index 000000000..a8444d18d Binary files /dev/null and b/app/assets/images/emoji/no_entry_sign.png differ diff --git a/app/assets/images/emoji/no_good.png b/app/assets/images/emoji/no_good.png new file mode 100644 index 000000000..d459a35bc Binary files /dev/null and b/app/assets/images/emoji/no_good.png differ diff --git a/app/assets/images/emoji/no_mobile_phones.png b/app/assets/images/emoji/no_mobile_phones.png new file mode 100644 index 000000000..41df57cf8 Binary files /dev/null and b/app/assets/images/emoji/no_mobile_phones.png differ diff --git a/app/assets/images/emoji/no_mouth.png b/app/assets/images/emoji/no_mouth.png new file mode 100644 index 000000000..d9ec7ca7d Binary files /dev/null and b/app/assets/images/emoji/no_mouth.png differ diff --git a/app/assets/images/emoji/no_pedestrians.png b/app/assets/images/emoji/no_pedestrians.png new file mode 100644 index 000000000..c35f530b2 Binary files /dev/null and b/app/assets/images/emoji/no_pedestrians.png differ diff --git a/app/assets/images/emoji/no_smoking.png b/app/assets/images/emoji/no_smoking.png new file mode 100644 index 000000000..eb11d7911 Binary files /dev/null and b/app/assets/images/emoji/no_smoking.png differ diff --git a/app/assets/images/emoji/non-potable_water.png b/app/assets/images/emoji/non-potable_water.png new file mode 100644 index 000000000..1b29d35b9 Binary files /dev/null and b/app/assets/images/emoji/non-potable_water.png differ diff --git a/app/assets/images/emoji/nose.png b/app/assets/images/emoji/nose.png new file mode 100644 index 000000000..ad17c16c2 Binary files /dev/null and b/app/assets/images/emoji/nose.png differ diff --git a/app/assets/images/emoji/notebook.png b/app/assets/images/emoji/notebook.png new file mode 100644 index 000000000..07ea6087e Binary files /dev/null and b/app/assets/images/emoji/notebook.png differ diff --git a/app/assets/images/emoji/notebook_with_decorative_cover.png b/app/assets/images/emoji/notebook_with_decorative_cover.png new file mode 100644 index 000000000..4f3b14c85 Binary files /dev/null and b/app/assets/images/emoji/notebook_with_decorative_cover.png differ diff --git a/app/assets/images/emoji/notes.png b/app/assets/images/emoji/notes.png new file mode 100644 index 000000000..a13147fae Binary files /dev/null and b/app/assets/images/emoji/notes.png differ diff --git a/app/assets/images/emoji/nut_and_bolt.png b/app/assets/images/emoji/nut_and_bolt.png new file mode 100644 index 000000000..bddfa72a7 Binary files /dev/null and b/app/assets/images/emoji/nut_and_bolt.png differ diff --git a/app/assets/images/emoji/o.png b/app/assets/images/emoji/o.png new file mode 100644 index 000000000..0ededebe3 Binary files /dev/null and b/app/assets/images/emoji/o.png differ diff --git a/app/assets/images/emoji/o2.png b/app/assets/images/emoji/o2.png new file mode 100644 index 000000000..d85f9fb98 Binary files /dev/null and b/app/assets/images/emoji/o2.png differ diff --git a/app/assets/images/emoji/ocean.png b/app/assets/images/emoji/ocean.png new file mode 100644 index 000000000..f8d520cd4 Binary files /dev/null and b/app/assets/images/emoji/ocean.png differ diff --git a/app/assets/images/emoji/octocat.png b/app/assets/images/emoji/octocat.png new file mode 100644 index 000000000..9d74d902a Binary files /dev/null and b/app/assets/images/emoji/octocat.png differ diff --git a/app/assets/images/emoji/octopus.png b/app/assets/images/emoji/octopus.png new file mode 100644 index 000000000..52ce64b46 Binary files /dev/null and b/app/assets/images/emoji/octopus.png differ diff --git a/app/assets/images/emoji/oden.png b/app/assets/images/emoji/oden.png new file mode 100644 index 000000000..73add1c73 Binary files /dev/null and b/app/assets/images/emoji/oden.png differ diff --git a/app/assets/images/emoji/office.png b/app/assets/images/emoji/office.png new file mode 100644 index 000000000..3f20b5642 Binary files /dev/null and b/app/assets/images/emoji/office.png differ diff --git a/app/assets/images/emoji/ok.png b/app/assets/images/emoji/ok.png new file mode 100644 index 000000000..6433d1a90 Binary files /dev/null and b/app/assets/images/emoji/ok.png differ diff --git a/app/assets/images/emoji/ok_hand.png b/app/assets/images/emoji/ok_hand.png new file mode 100644 index 000000000..3177439dc Binary files /dev/null and b/app/assets/images/emoji/ok_hand.png differ diff --git a/app/assets/images/emoji/ok_woman.png b/app/assets/images/emoji/ok_woman.png new file mode 100644 index 000000000..e8b98194e Binary files /dev/null and b/app/assets/images/emoji/ok_woman.png differ diff --git a/app/assets/images/emoji/older_man.png b/app/assets/images/emoji/older_man.png new file mode 100644 index 000000000..149f0cfb8 Binary files /dev/null and b/app/assets/images/emoji/older_man.png differ diff --git a/app/assets/images/emoji/older_woman.png b/app/assets/images/emoji/older_woman.png new file mode 100644 index 000000000..f839565f4 Binary files /dev/null and b/app/assets/images/emoji/older_woman.png differ diff --git a/app/assets/images/emoji/on.png b/app/assets/images/emoji/on.png new file mode 100644 index 000000000..3595387fb Binary files /dev/null and b/app/assets/images/emoji/on.png differ diff --git a/app/assets/images/emoji/oncoming_automobile.png b/app/assets/images/emoji/oncoming_automobile.png new file mode 100644 index 000000000..cb46de22c Binary files /dev/null and b/app/assets/images/emoji/oncoming_automobile.png differ diff --git a/app/assets/images/emoji/oncoming_bus.png b/app/assets/images/emoji/oncoming_bus.png new file mode 100644 index 000000000..3695f7623 Binary files /dev/null and b/app/assets/images/emoji/oncoming_bus.png differ diff --git a/app/assets/images/emoji/oncoming_police_car.png b/app/assets/images/emoji/oncoming_police_car.png new file mode 100644 index 000000000..af20e7eff Binary files /dev/null and b/app/assets/images/emoji/oncoming_police_car.png differ diff --git a/app/assets/images/emoji/oncoming_taxi.png b/app/assets/images/emoji/oncoming_taxi.png new file mode 100644 index 000000000..f78cf3103 Binary files /dev/null and b/app/assets/images/emoji/oncoming_taxi.png differ diff --git a/app/assets/images/emoji/one.png b/app/assets/images/emoji/one.png new file mode 100644 index 000000000..2d1f9f8c4 Binary files /dev/null and b/app/assets/images/emoji/one.png differ diff --git a/app/assets/images/emoji/open_book.png b/app/assets/images/emoji/open_book.png new file mode 100644 index 000000000..8b698415c Binary files /dev/null and b/app/assets/images/emoji/open_book.png differ diff --git a/app/assets/images/emoji/open_file_folder.png b/app/assets/images/emoji/open_file_folder.png new file mode 100644 index 000000000..2bbbbf5e7 Binary files /dev/null and b/app/assets/images/emoji/open_file_folder.png differ diff --git a/app/assets/images/emoji/open_hands.png b/app/assets/images/emoji/open_hands.png new file mode 100644 index 000000000..2cc25bd41 Binary files /dev/null and b/app/assets/images/emoji/open_hands.png differ diff --git a/app/assets/images/emoji/open_mouth.png b/app/assets/images/emoji/open_mouth.png new file mode 100644 index 000000000..e5283582c Binary files /dev/null and b/app/assets/images/emoji/open_mouth.png differ diff --git a/app/assets/images/emoji/ophiuchus.png b/app/assets/images/emoji/ophiuchus.png new file mode 100644 index 000000000..4eef715bc Binary files /dev/null and b/app/assets/images/emoji/ophiuchus.png differ diff --git a/app/assets/images/emoji/orange_book.png b/app/assets/images/emoji/orange_book.png new file mode 100644 index 000000000..49650d59e Binary files /dev/null and b/app/assets/images/emoji/orange_book.png differ diff --git a/app/assets/images/emoji/outbox_tray.png b/app/assets/images/emoji/outbox_tray.png new file mode 100644 index 000000000..7ad15e649 Binary files /dev/null and b/app/assets/images/emoji/outbox_tray.png differ diff --git a/app/assets/images/emoji/ox.png b/app/assets/images/emoji/ox.png new file mode 100644 index 000000000..f76698024 Binary files /dev/null and b/app/assets/images/emoji/ox.png differ diff --git a/app/assets/images/emoji/package.png b/app/assets/images/emoji/package.png new file mode 100644 index 000000000..26602af9d Binary files /dev/null and b/app/assets/images/emoji/package.png differ diff --git a/app/assets/images/emoji/page_facing_up.png b/app/assets/images/emoji/page_facing_up.png new file mode 100644 index 000000000..64cd2e1b2 Binary files /dev/null and b/app/assets/images/emoji/page_facing_up.png differ diff --git a/app/assets/images/emoji/page_with_curl.png b/app/assets/images/emoji/page_with_curl.png new file mode 100644 index 000000000..bf8f979d3 Binary files /dev/null and b/app/assets/images/emoji/page_with_curl.png differ diff --git a/app/assets/images/emoji/pager.png b/app/assets/images/emoji/pager.png new file mode 100644 index 000000000..e3e1fc44e Binary files /dev/null and b/app/assets/images/emoji/pager.png differ diff --git a/app/assets/images/emoji/palm_tree.png b/app/assets/images/emoji/palm_tree.png new file mode 100644 index 000000000..d534785ef Binary files /dev/null and b/app/assets/images/emoji/palm_tree.png differ diff --git a/app/assets/images/emoji/panda_face.png b/app/assets/images/emoji/panda_face.png new file mode 100644 index 000000000..a794fb17f Binary files /dev/null and b/app/assets/images/emoji/panda_face.png differ diff --git a/app/assets/images/emoji/paperclip.png b/app/assets/images/emoji/paperclip.png new file mode 100644 index 000000000..774412dc1 Binary files /dev/null and b/app/assets/images/emoji/paperclip.png differ diff --git a/app/assets/images/emoji/parking.png b/app/assets/images/emoji/parking.png new file mode 100644 index 000000000..c24af81cc Binary files /dev/null and b/app/assets/images/emoji/parking.png differ diff --git a/app/assets/images/emoji/part_alternation_mark.png b/app/assets/images/emoji/part_alternation_mark.png new file mode 100644 index 000000000..45dc9b851 Binary files /dev/null and b/app/assets/images/emoji/part_alternation_mark.png differ diff --git a/app/assets/images/emoji/partly_sunny.png b/app/assets/images/emoji/partly_sunny.png new file mode 100644 index 000000000..020dd5ff6 Binary files /dev/null and b/app/assets/images/emoji/partly_sunny.png differ diff --git a/app/assets/images/emoji/passport_control.png b/app/assets/images/emoji/passport_control.png new file mode 100644 index 000000000..675b76d37 Binary files /dev/null and b/app/assets/images/emoji/passport_control.png differ diff --git a/app/assets/images/emoji/paw_prints.png b/app/assets/images/emoji/paw_prints.png new file mode 100644 index 000000000..89b9fec9e Binary files /dev/null and b/app/assets/images/emoji/paw_prints.png differ diff --git a/app/assets/images/emoji/peach.png b/app/assets/images/emoji/peach.png new file mode 100644 index 000000000..ee2139ecb Binary files /dev/null and b/app/assets/images/emoji/peach.png differ diff --git a/app/assets/images/emoji/pear.png b/app/assets/images/emoji/pear.png new file mode 100644 index 000000000..f24aca8c0 Binary files /dev/null and b/app/assets/images/emoji/pear.png differ diff --git a/app/assets/images/emoji/pencil.png b/app/assets/images/emoji/pencil.png new file mode 100644 index 000000000..fc97ddbc9 Binary files /dev/null and b/app/assets/images/emoji/pencil.png differ diff --git a/app/assets/images/emoji/pencil2.png b/app/assets/images/emoji/pencil2.png new file mode 100644 index 000000000..e624373b4 Binary files /dev/null and b/app/assets/images/emoji/pencil2.png differ diff --git a/app/assets/images/emoji/penguin.png b/app/assets/images/emoji/penguin.png new file mode 100644 index 000000000..d8edbcb8f Binary files /dev/null and b/app/assets/images/emoji/penguin.png differ diff --git a/app/assets/images/emoji/pensive.png b/app/assets/images/emoji/pensive.png new file mode 100644 index 000000000..2f3bad945 Binary files /dev/null and b/app/assets/images/emoji/pensive.png differ diff --git a/app/assets/images/emoji/performing_arts.png b/app/assets/images/emoji/performing_arts.png new file mode 100644 index 000000000..899fbe5a7 Binary files /dev/null and b/app/assets/images/emoji/performing_arts.png differ diff --git a/app/assets/images/emoji/persevere.png b/app/assets/images/emoji/persevere.png new file mode 100644 index 000000000..c7e433e8e Binary files /dev/null and b/app/assets/images/emoji/persevere.png differ diff --git a/app/assets/images/emoji/person_frowning.png b/app/assets/images/emoji/person_frowning.png new file mode 100644 index 000000000..6f34d5e15 Binary files /dev/null and b/app/assets/images/emoji/person_frowning.png differ diff --git a/app/assets/images/emoji/person_with_blond_hair.png b/app/assets/images/emoji/person_with_blond_hair.png new file mode 100644 index 000000000..c144301cb Binary files /dev/null and b/app/assets/images/emoji/person_with_blond_hair.png differ diff --git a/app/assets/images/emoji/person_with_pouting_face.png b/app/assets/images/emoji/person_with_pouting_face.png new file mode 100644 index 000000000..c4a95c3b2 Binary files /dev/null and b/app/assets/images/emoji/person_with_pouting_face.png differ diff --git a/app/assets/images/emoji/phone.png b/app/assets/images/emoji/phone.png new file mode 100644 index 000000000..87d2559b5 Binary files /dev/null and b/app/assets/images/emoji/phone.png differ diff --git a/app/assets/images/emoji/pig.png b/app/assets/images/emoji/pig.png new file mode 100644 index 000000000..f7f273c73 Binary files /dev/null and b/app/assets/images/emoji/pig.png differ diff --git a/app/assets/images/emoji/pig2.png b/app/assets/images/emoji/pig2.png new file mode 100644 index 000000000..fec3374d7 Binary files /dev/null and b/app/assets/images/emoji/pig2.png differ diff --git a/app/assets/images/emoji/pig_nose.png b/app/assets/images/emoji/pig_nose.png new file mode 100644 index 000000000..38d612446 Binary files /dev/null and b/app/assets/images/emoji/pig_nose.png differ diff --git a/app/assets/images/emoji/pill.png b/app/assets/images/emoji/pill.png new file mode 100644 index 000000000..cd84a78ff Binary files /dev/null and b/app/assets/images/emoji/pill.png differ diff --git a/app/assets/images/emoji/pineapple.png b/app/assets/images/emoji/pineapple.png new file mode 100644 index 000000000..d6f8e2876 Binary files /dev/null and b/app/assets/images/emoji/pineapple.png differ diff --git a/app/assets/images/emoji/pisces.png b/app/assets/images/emoji/pisces.png new file mode 100644 index 000000000..5a2da0a05 Binary files /dev/null and b/app/assets/images/emoji/pisces.png differ diff --git a/app/assets/images/emoji/pizza.png b/app/assets/images/emoji/pizza.png new file mode 100644 index 000000000..460367d02 Binary files /dev/null and b/app/assets/images/emoji/pizza.png differ diff --git a/app/assets/images/emoji/point_down.png b/app/assets/images/emoji/point_down.png new file mode 100644 index 000000000..658c6d918 Binary files /dev/null and b/app/assets/images/emoji/point_down.png differ diff --git a/app/assets/images/emoji/point_left.png b/app/assets/images/emoji/point_left.png new file mode 100644 index 000000000..fee9cac4d Binary files /dev/null and b/app/assets/images/emoji/point_left.png differ diff --git a/app/assets/images/emoji/point_right.png b/app/assets/images/emoji/point_right.png new file mode 100644 index 000000000..b04e2849d Binary files /dev/null and b/app/assets/images/emoji/point_right.png differ diff --git a/app/assets/images/emoji/point_up.png b/app/assets/images/emoji/point_up.png new file mode 100644 index 000000000..01896e214 Binary files /dev/null and b/app/assets/images/emoji/point_up.png differ diff --git a/app/assets/images/emoji/point_up_2.png b/app/assets/images/emoji/point_up_2.png new file mode 100644 index 000000000..196d109a8 Binary files /dev/null and b/app/assets/images/emoji/point_up_2.png differ diff --git a/app/assets/images/emoji/police_car.png b/app/assets/images/emoji/police_car.png new file mode 100644 index 000000000..b8f17275e Binary files /dev/null and b/app/assets/images/emoji/police_car.png differ diff --git a/app/assets/images/emoji/poodle.png b/app/assets/images/emoji/poodle.png new file mode 100644 index 000000000..adac80bd9 Binary files /dev/null and b/app/assets/images/emoji/poodle.png differ diff --git a/app/assets/images/emoji/poop.png b/app/assets/images/emoji/poop.png new file mode 100644 index 000000000..73a4dc840 Binary files /dev/null and b/app/assets/images/emoji/poop.png differ diff --git a/app/assets/images/emoji/post_office.png b/app/assets/images/emoji/post_office.png new file mode 100644 index 000000000..43b59e30e Binary files /dev/null and b/app/assets/images/emoji/post_office.png differ diff --git a/app/assets/images/emoji/postal_horn.png b/app/assets/images/emoji/postal_horn.png new file mode 100644 index 000000000..e9b713bbe Binary files /dev/null and b/app/assets/images/emoji/postal_horn.png differ diff --git a/app/assets/images/emoji/postbox.png b/app/assets/images/emoji/postbox.png new file mode 100644 index 000000000..ce04b7008 Binary files /dev/null and b/app/assets/images/emoji/postbox.png differ diff --git a/app/assets/images/emoji/potable_water.png b/app/assets/images/emoji/potable_water.png new file mode 100644 index 000000000..e9fd56079 Binary files /dev/null and b/app/assets/images/emoji/potable_water.png differ diff --git a/app/assets/images/emoji/pouch.png b/app/assets/images/emoji/pouch.png new file mode 100644 index 000000000..0bc5879fc Binary files /dev/null and b/app/assets/images/emoji/pouch.png differ diff --git a/app/assets/images/emoji/poultry_leg.png b/app/assets/images/emoji/poultry_leg.png new file mode 100644 index 000000000..43ad85965 Binary files /dev/null and b/app/assets/images/emoji/poultry_leg.png differ diff --git a/app/assets/images/emoji/pound.png b/app/assets/images/emoji/pound.png new file mode 100644 index 000000000..f8be91d7a Binary files /dev/null and b/app/assets/images/emoji/pound.png differ diff --git a/app/assets/images/emoji/pouting_cat.png b/app/assets/images/emoji/pouting_cat.png new file mode 100644 index 000000000..4325fd48d Binary files /dev/null and b/app/assets/images/emoji/pouting_cat.png differ diff --git a/app/assets/images/emoji/pray.png b/app/assets/images/emoji/pray.png new file mode 100644 index 000000000..f86c992d5 Binary files /dev/null and b/app/assets/images/emoji/pray.png differ diff --git a/app/assets/images/emoji/princess.png b/app/assets/images/emoji/princess.png new file mode 100644 index 000000000..1ebb2ce9b Binary files /dev/null and b/app/assets/images/emoji/princess.png differ diff --git a/app/assets/images/emoji/punch.png b/app/assets/images/emoji/punch.png new file mode 100644 index 000000000..2d41fd37e Binary files /dev/null and b/app/assets/images/emoji/punch.png differ diff --git a/app/assets/images/emoji/purple_heart.png b/app/assets/images/emoji/purple_heart.png new file mode 100644 index 000000000..d5f875043 Binary files /dev/null and b/app/assets/images/emoji/purple_heart.png differ diff --git a/app/assets/images/emoji/purse.png b/app/assets/images/emoji/purse.png new file mode 100644 index 000000000..8f06a2b93 Binary files /dev/null and b/app/assets/images/emoji/purse.png differ diff --git a/app/assets/images/emoji/pushpin.png b/app/assets/images/emoji/pushpin.png new file mode 100644 index 000000000..540c4ecb8 Binary files /dev/null and b/app/assets/images/emoji/pushpin.png differ diff --git a/app/assets/images/emoji/put_litter_in_its_place.png b/app/assets/images/emoji/put_litter_in_its_place.png new file mode 100644 index 000000000..c2e350c2d Binary files /dev/null and b/app/assets/images/emoji/put_litter_in_its_place.png differ diff --git a/app/assets/images/emoji/question.png b/app/assets/images/emoji/question.png new file mode 100644 index 000000000..63fd7f837 Binary files /dev/null and b/app/assets/images/emoji/question.png differ diff --git a/app/assets/images/emoji/rabbit.png b/app/assets/images/emoji/rabbit.png new file mode 100644 index 000000000..5cb3ef6f0 Binary files /dev/null and b/app/assets/images/emoji/rabbit.png differ diff --git a/app/assets/images/emoji/rabbit2.png b/app/assets/images/emoji/rabbit2.png new file mode 100644 index 000000000..5bc993e79 Binary files /dev/null and b/app/assets/images/emoji/rabbit2.png differ diff --git a/app/assets/images/emoji/racehorse.png b/app/assets/images/emoji/racehorse.png new file mode 100644 index 000000000..4d09c64de Binary files /dev/null and b/app/assets/images/emoji/racehorse.png differ diff --git a/app/assets/images/emoji/radio.png b/app/assets/images/emoji/radio.png new file mode 100644 index 000000000..ea589efe3 Binary files /dev/null and b/app/assets/images/emoji/radio.png differ diff --git a/app/assets/images/emoji/radio_button.png b/app/assets/images/emoji/radio_button.png new file mode 100644 index 000000000..63755eec2 Binary files /dev/null and b/app/assets/images/emoji/radio_button.png differ diff --git a/app/assets/images/emoji/rage.png b/app/assets/images/emoji/rage.png new file mode 100644 index 000000000..c65ddff55 Binary files /dev/null and b/app/assets/images/emoji/rage.png differ diff --git a/app/assets/images/emoji/rage1.png b/app/assets/images/emoji/rage1.png new file mode 100644 index 000000000..dd2c84f92 Binary files /dev/null and b/app/assets/images/emoji/rage1.png differ diff --git a/app/assets/images/emoji/rage2.png b/app/assets/images/emoji/rage2.png new file mode 100644 index 000000000..f792e063b Binary files /dev/null and b/app/assets/images/emoji/rage2.png differ diff --git a/app/assets/images/emoji/rage3.png b/app/assets/images/emoji/rage3.png new file mode 100644 index 000000000..58764cbcb Binary files /dev/null and b/app/assets/images/emoji/rage3.png differ diff --git a/app/assets/images/emoji/rage4.png b/app/assets/images/emoji/rage4.png new file mode 100644 index 000000000..c726c94a2 Binary files /dev/null and b/app/assets/images/emoji/rage4.png differ diff --git a/app/assets/images/emoji/railway_car.png b/app/assets/images/emoji/railway_car.png new file mode 100644 index 000000000..22361158f Binary files /dev/null and b/app/assets/images/emoji/railway_car.png differ diff --git a/app/assets/images/emoji/rainbow.png b/app/assets/images/emoji/rainbow.png new file mode 100644 index 000000000..6b1faa037 Binary files /dev/null and b/app/assets/images/emoji/rainbow.png differ diff --git a/app/assets/images/emoji/raised_hand.png b/app/assets/images/emoji/raised_hand.png new file mode 100644 index 000000000..5e45c25a5 Binary files /dev/null and b/app/assets/images/emoji/raised_hand.png differ diff --git a/app/assets/images/emoji/raised_hands.png b/app/assets/images/emoji/raised_hands.png new file mode 100644 index 000000000..e03142bdc Binary files /dev/null and b/app/assets/images/emoji/raised_hands.png differ diff --git a/app/assets/images/emoji/raising_hand.png b/app/assets/images/emoji/raising_hand.png new file mode 100644 index 000000000..e1741a40e Binary files /dev/null and b/app/assets/images/emoji/raising_hand.png differ diff --git a/app/assets/images/emoji/ram.png b/app/assets/images/emoji/ram.png new file mode 100644 index 000000000..5ea7bfbc0 Binary files /dev/null and b/app/assets/images/emoji/ram.png differ diff --git a/app/assets/images/emoji/ramen.png b/app/assets/images/emoji/ramen.png new file mode 100644 index 000000000..78dc7d537 Binary files /dev/null and b/app/assets/images/emoji/ramen.png differ diff --git a/app/assets/images/emoji/rat.png b/app/assets/images/emoji/rat.png new file mode 100644 index 000000000..1c463dfde Binary files /dev/null and b/app/assets/images/emoji/rat.png differ diff --git a/app/assets/images/emoji/recycle.png b/app/assets/images/emoji/recycle.png new file mode 100644 index 000000000..99104c0e9 Binary files /dev/null and b/app/assets/images/emoji/recycle.png differ diff --git a/app/assets/images/emoji/red_car.png b/app/assets/images/emoji/red_car.png new file mode 100644 index 000000000..d70a2f062 Binary files /dev/null and b/app/assets/images/emoji/red_car.png differ diff --git a/app/assets/images/emoji/red_circle.png b/app/assets/images/emoji/red_circle.png new file mode 100644 index 000000000..b391289b2 Binary files /dev/null and b/app/assets/images/emoji/red_circle.png differ diff --git a/app/assets/images/emoji/registered.png b/app/assets/images/emoji/registered.png new file mode 100644 index 000000000..e5394109a Binary files /dev/null and b/app/assets/images/emoji/registered.png differ diff --git a/app/assets/images/emoji/relaxed.png b/app/assets/images/emoji/relaxed.png new file mode 100644 index 000000000..bbab82d3b Binary files /dev/null and b/app/assets/images/emoji/relaxed.png differ diff --git a/app/assets/images/emoji/relieved.png b/app/assets/images/emoji/relieved.png new file mode 100644 index 000000000..820cf315a Binary files /dev/null and b/app/assets/images/emoji/relieved.png differ diff --git a/app/assets/images/emoji/repeat.png b/app/assets/images/emoji/repeat.png new file mode 100644 index 000000000..80113b692 Binary files /dev/null and b/app/assets/images/emoji/repeat.png differ diff --git a/app/assets/images/emoji/repeat_one.png b/app/assets/images/emoji/repeat_one.png new file mode 100644 index 000000000..3c47bcc1f Binary files /dev/null and b/app/assets/images/emoji/repeat_one.png differ diff --git a/app/assets/images/emoji/restroom.png b/app/assets/images/emoji/restroom.png new file mode 100644 index 000000000..312ca3dc2 Binary files /dev/null and b/app/assets/images/emoji/restroom.png differ diff --git a/app/assets/images/emoji/revolving_hearts.png b/app/assets/images/emoji/revolving_hearts.png new file mode 100644 index 000000000..ea3317c47 Binary files /dev/null and b/app/assets/images/emoji/revolving_hearts.png differ diff --git a/app/assets/images/emoji/rewind.png b/app/assets/images/emoji/rewind.png new file mode 100644 index 000000000..13ba866ad Binary files /dev/null and b/app/assets/images/emoji/rewind.png differ diff --git a/app/assets/images/emoji/ribbon.png b/app/assets/images/emoji/ribbon.png new file mode 100644 index 000000000..63ee5ba5a Binary files /dev/null and b/app/assets/images/emoji/ribbon.png differ diff --git a/app/assets/images/emoji/rice.png b/app/assets/images/emoji/rice.png new file mode 100644 index 000000000..f4773edec Binary files /dev/null and b/app/assets/images/emoji/rice.png differ diff --git a/app/assets/images/emoji/rice_ball.png b/app/assets/images/emoji/rice_ball.png new file mode 100644 index 000000000..04f8a8806 Binary files /dev/null and b/app/assets/images/emoji/rice_ball.png differ diff --git a/app/assets/images/emoji/rice_cracker.png b/app/assets/images/emoji/rice_cracker.png new file mode 100644 index 000000000..954c901e9 Binary files /dev/null and b/app/assets/images/emoji/rice_cracker.png differ diff --git a/app/assets/images/emoji/rice_scene.png b/app/assets/images/emoji/rice_scene.png new file mode 100644 index 000000000..14361988d Binary files /dev/null and b/app/assets/images/emoji/rice_scene.png differ diff --git a/app/assets/images/emoji/ring.png b/app/assets/images/emoji/ring.png new file mode 100644 index 000000000..8a57fd68b Binary files /dev/null and b/app/assets/images/emoji/ring.png differ diff --git a/app/assets/images/emoji/rocket.png b/app/assets/images/emoji/rocket.png new file mode 100644 index 000000000..783078d37 Binary files /dev/null and b/app/assets/images/emoji/rocket.png differ diff --git a/app/assets/images/emoji/roller_coaster.png b/app/assets/images/emoji/roller_coaster.png new file mode 100644 index 000000000..9180b9861 Binary files /dev/null and b/app/assets/images/emoji/roller_coaster.png differ diff --git a/app/assets/images/emoji/rooster.png b/app/assets/images/emoji/rooster.png new file mode 100644 index 000000000..fab23ad36 Binary files /dev/null and b/app/assets/images/emoji/rooster.png differ diff --git a/app/assets/images/emoji/rose.png b/app/assets/images/emoji/rose.png new file mode 100644 index 000000000..3479fbcbb Binary files /dev/null and b/app/assets/images/emoji/rose.png differ diff --git a/app/assets/images/emoji/rotating_light.png b/app/assets/images/emoji/rotating_light.png new file mode 100644 index 000000000..6cf4a775e Binary files /dev/null and b/app/assets/images/emoji/rotating_light.png differ diff --git a/app/assets/images/emoji/round_pushpin.png b/app/assets/images/emoji/round_pushpin.png new file mode 100644 index 000000000..e498e92cf Binary files /dev/null and b/app/assets/images/emoji/round_pushpin.png differ diff --git a/app/assets/images/emoji/rowboat.png b/app/assets/images/emoji/rowboat.png new file mode 100644 index 000000000..fe8ae3ecd Binary files /dev/null and b/app/assets/images/emoji/rowboat.png differ diff --git a/app/assets/images/emoji/ru.png b/app/assets/images/emoji/ru.png new file mode 100644 index 000000000..55fcf3549 Binary files /dev/null and b/app/assets/images/emoji/ru.png differ diff --git a/app/assets/images/emoji/rugby_football.png b/app/assets/images/emoji/rugby_football.png new file mode 100644 index 000000000..f8db67d70 Binary files /dev/null and b/app/assets/images/emoji/rugby_football.png differ diff --git a/app/assets/images/emoji/runner.png b/app/assets/images/emoji/runner.png new file mode 100644 index 000000000..1ecfd9059 Binary files /dev/null and b/app/assets/images/emoji/runner.png differ diff --git a/app/assets/images/emoji/running.png b/app/assets/images/emoji/running.png new file mode 100644 index 000000000..1ecfd9059 Binary files /dev/null and b/app/assets/images/emoji/running.png differ diff --git a/app/assets/images/emoji/running_shirt_with_sash.png b/app/assets/images/emoji/running_shirt_with_sash.png new file mode 100644 index 000000000..0d68bba09 Binary files /dev/null and b/app/assets/images/emoji/running_shirt_with_sash.png differ diff --git a/app/assets/images/emoji/sa.png b/app/assets/images/emoji/sa.png new file mode 100644 index 000000000..387f098b9 Binary files /dev/null and b/app/assets/images/emoji/sa.png differ diff --git a/app/assets/images/emoji/sagittarius.png b/app/assets/images/emoji/sagittarius.png new file mode 100644 index 000000000..8b5435baa Binary files /dev/null and b/app/assets/images/emoji/sagittarius.png differ diff --git a/app/assets/images/emoji/sailboat.png b/app/assets/images/emoji/sailboat.png new file mode 100644 index 000000000..ff656dc62 Binary files /dev/null and b/app/assets/images/emoji/sailboat.png differ diff --git a/app/assets/images/emoji/sake.png b/app/assets/images/emoji/sake.png new file mode 100644 index 000000000..1f69907e5 Binary files /dev/null and b/app/assets/images/emoji/sake.png differ diff --git a/app/assets/images/emoji/sandal.png b/app/assets/images/emoji/sandal.png new file mode 100644 index 000000000..aa62cca5d Binary files /dev/null and b/app/assets/images/emoji/sandal.png differ diff --git a/app/assets/images/emoji/santa.png b/app/assets/images/emoji/santa.png new file mode 100644 index 000000000..a2240c07e Binary files /dev/null and b/app/assets/images/emoji/santa.png differ diff --git a/app/assets/images/emoji/satellite.png b/app/assets/images/emoji/satellite.png new file mode 100644 index 000000000..3481cc2ef Binary files /dev/null and b/app/assets/images/emoji/satellite.png differ diff --git a/app/assets/images/emoji/satisfied.png b/app/assets/images/emoji/satisfied.png new file mode 100644 index 000000000..11c91eb22 Binary files /dev/null and b/app/assets/images/emoji/satisfied.png differ diff --git a/app/assets/images/emoji/saxophone.png b/app/assets/images/emoji/saxophone.png new file mode 100644 index 000000000..011559a76 Binary files /dev/null and b/app/assets/images/emoji/saxophone.png differ diff --git a/app/assets/images/emoji/school.png b/app/assets/images/emoji/school.png new file mode 100644 index 000000000..afd922bf1 Binary files /dev/null and b/app/assets/images/emoji/school.png differ diff --git a/app/assets/images/emoji/school_satchel.png b/app/assets/images/emoji/school_satchel.png new file mode 100644 index 000000000..edfb19aec Binary files /dev/null and b/app/assets/images/emoji/school_satchel.png differ diff --git a/app/assets/images/emoji/scissors.png b/app/assets/images/emoji/scissors.png new file mode 100644 index 000000000..020e05224 Binary files /dev/null and b/app/assets/images/emoji/scissors.png differ diff --git a/app/assets/images/emoji/scorpius.png b/app/assets/images/emoji/scorpius.png new file mode 100644 index 000000000..67fcea165 Binary files /dev/null and b/app/assets/images/emoji/scorpius.png differ diff --git a/app/assets/images/emoji/scream.png b/app/assets/images/emoji/scream.png new file mode 100644 index 000000000..76bfc6b8a Binary files /dev/null and b/app/assets/images/emoji/scream.png differ diff --git a/app/assets/images/emoji/scream_cat.png b/app/assets/images/emoji/scream_cat.png new file mode 100644 index 000000000..d94cd34ff Binary files /dev/null and b/app/assets/images/emoji/scream_cat.png differ diff --git a/app/assets/images/emoji/scroll.png b/app/assets/images/emoji/scroll.png new file mode 100644 index 000000000..c5a10e6b8 Binary files /dev/null and b/app/assets/images/emoji/scroll.png differ diff --git a/app/assets/images/emoji/seat.png b/app/assets/images/emoji/seat.png new file mode 100644 index 000000000..d1cb864b4 Binary files /dev/null and b/app/assets/images/emoji/seat.png differ diff --git a/app/assets/images/emoji/secret.png b/app/assets/images/emoji/secret.png new file mode 100644 index 000000000..82e383a60 Binary files /dev/null and b/app/assets/images/emoji/secret.png differ diff --git a/app/assets/images/emoji/see_no_evil.png b/app/assets/images/emoji/see_no_evil.png new file mode 100644 index 000000000..0890a6222 Binary files /dev/null and b/app/assets/images/emoji/see_no_evil.png differ diff --git a/app/assets/images/emoji/seedling.png b/app/assets/images/emoji/seedling.png new file mode 100644 index 000000000..f0eb5a6b9 Binary files /dev/null and b/app/assets/images/emoji/seedling.png differ diff --git a/app/assets/images/emoji/seven.png b/app/assets/images/emoji/seven.png new file mode 100644 index 000000000..354e89ae7 Binary files /dev/null and b/app/assets/images/emoji/seven.png differ diff --git a/app/assets/images/emoji/shaved_ice.png b/app/assets/images/emoji/shaved_ice.png new file mode 100644 index 000000000..0d0b382c2 Binary files /dev/null and b/app/assets/images/emoji/shaved_ice.png differ diff --git a/app/assets/images/emoji/sheep.png b/app/assets/images/emoji/sheep.png new file mode 100644 index 000000000..c7277d289 Binary files /dev/null and b/app/assets/images/emoji/sheep.png differ diff --git a/app/assets/images/emoji/shell.png b/app/assets/images/emoji/shell.png new file mode 100644 index 000000000..3145b5649 Binary files /dev/null and b/app/assets/images/emoji/shell.png differ diff --git a/app/assets/images/emoji/ship.png b/app/assets/images/emoji/ship.png new file mode 100644 index 000000000..5d2d8b602 Binary files /dev/null and b/app/assets/images/emoji/ship.png differ diff --git a/app/assets/images/emoji/shipit.png b/app/assets/images/emoji/shipit.png new file mode 100644 index 000000000..a58a47f62 Binary files /dev/null and b/app/assets/images/emoji/shipit.png differ diff --git a/app/assets/images/emoji/shirt.png b/app/assets/images/emoji/shirt.png new file mode 100644 index 000000000..297a6d63e Binary files /dev/null and b/app/assets/images/emoji/shirt.png differ diff --git a/app/assets/images/emoji/shit.png b/app/assets/images/emoji/shit.png new file mode 100644 index 000000000..73a4dc840 Binary files /dev/null and b/app/assets/images/emoji/shit.png differ diff --git a/app/assets/images/emoji/shoe.png b/app/assets/images/emoji/shoe.png new file mode 100644 index 000000000..ecba9ba7d Binary files /dev/null and b/app/assets/images/emoji/shoe.png differ diff --git a/app/assets/images/emoji/shower.png b/app/assets/images/emoji/shower.png new file mode 100644 index 000000000..94f82aac0 Binary files /dev/null and b/app/assets/images/emoji/shower.png differ diff --git a/app/assets/images/emoji/signal_strength.png b/app/assets/images/emoji/signal_strength.png new file mode 100644 index 000000000..a4bd23ebf Binary files /dev/null and b/app/assets/images/emoji/signal_strength.png differ diff --git a/app/assets/images/emoji/six.png b/app/assets/images/emoji/six.png new file mode 100644 index 000000000..568805565 Binary files /dev/null and b/app/assets/images/emoji/six.png differ diff --git a/app/assets/images/emoji/six_pointed_star.png b/app/assets/images/emoji/six_pointed_star.png new file mode 100644 index 000000000..010f8f5f9 Binary files /dev/null and b/app/assets/images/emoji/six_pointed_star.png differ diff --git a/app/assets/images/emoji/ski.png b/app/assets/images/emoji/ski.png new file mode 100644 index 000000000..c97de3ed9 Binary files /dev/null and b/app/assets/images/emoji/ski.png differ diff --git a/app/assets/images/emoji/skull.png b/app/assets/images/emoji/skull.png new file mode 100644 index 000000000..bd4ee3829 Binary files /dev/null and b/app/assets/images/emoji/skull.png differ diff --git a/app/assets/images/emoji/sleeping.png b/app/assets/images/emoji/sleeping.png new file mode 100644 index 000000000..a2f3bf757 Binary files /dev/null and b/app/assets/images/emoji/sleeping.png differ diff --git a/app/assets/images/emoji/sleepy.png b/app/assets/images/emoji/sleepy.png new file mode 100644 index 000000000..df4f55efd Binary files /dev/null and b/app/assets/images/emoji/sleepy.png differ diff --git a/app/assets/images/emoji/slot_machine.png b/app/assets/images/emoji/slot_machine.png new file mode 100644 index 000000000..26f114830 Binary files /dev/null and b/app/assets/images/emoji/slot_machine.png differ diff --git a/app/assets/images/emoji/small_blue_diamond.png b/app/assets/images/emoji/small_blue_diamond.png new file mode 100644 index 000000000..5a7b5d555 Binary files /dev/null and b/app/assets/images/emoji/small_blue_diamond.png differ diff --git a/app/assets/images/emoji/small_orange_diamond.png b/app/assets/images/emoji/small_orange_diamond.png new file mode 100644 index 000000000..04941d37b Binary files /dev/null and b/app/assets/images/emoji/small_orange_diamond.png differ diff --git a/app/assets/images/emoji/small_red_triangle.png b/app/assets/images/emoji/small_red_triangle.png new file mode 100644 index 000000000..8c4428da8 Binary files /dev/null and b/app/assets/images/emoji/small_red_triangle.png differ diff --git a/app/assets/images/emoji/small_red_triangle_down.png b/app/assets/images/emoji/small_red_triangle_down.png new file mode 100644 index 000000000..94832f060 Binary files /dev/null and b/app/assets/images/emoji/small_red_triangle_down.png differ diff --git a/app/assets/images/emoji/smile.png b/app/assets/images/emoji/smile.png new file mode 100644 index 000000000..81a839689 Binary files /dev/null and b/app/assets/images/emoji/smile.png differ diff --git a/app/assets/images/emoji/smile_cat.png b/app/assets/images/emoji/smile_cat.png new file mode 100644 index 000000000..ad333ba3b Binary files /dev/null and b/app/assets/images/emoji/smile_cat.png differ diff --git a/app/assets/images/emoji/smiley.png b/app/assets/images/emoji/smiley.png new file mode 100644 index 000000000..77b581d68 Binary files /dev/null and b/app/assets/images/emoji/smiley.png differ diff --git a/app/assets/images/emoji/smiley_cat.png b/app/assets/images/emoji/smiley_cat.png new file mode 100644 index 000000000..dbf1b0276 Binary files /dev/null and b/app/assets/images/emoji/smiley_cat.png differ diff --git a/app/assets/images/emoji/smiling_imp.png b/app/assets/images/emoji/smiling_imp.png new file mode 100644 index 000000000..d90404930 Binary files /dev/null and b/app/assets/images/emoji/smiling_imp.png differ diff --git a/app/assets/images/emoji/smirk.png b/app/assets/images/emoji/smirk.png new file mode 100644 index 000000000..bc6e5082c Binary files /dev/null and b/app/assets/images/emoji/smirk.png differ diff --git a/app/assets/images/emoji/smirk_cat.png b/app/assets/images/emoji/smirk_cat.png new file mode 100644 index 000000000..351565e24 Binary files /dev/null and b/app/assets/images/emoji/smirk_cat.png differ diff --git a/app/assets/images/emoji/smoking.png b/app/assets/images/emoji/smoking.png new file mode 100644 index 000000000..4aad6cbd7 Binary files /dev/null and b/app/assets/images/emoji/smoking.png differ diff --git a/app/assets/images/emoji/snail.png b/app/assets/images/emoji/snail.png new file mode 100644 index 000000000..e75e69a84 Binary files /dev/null and b/app/assets/images/emoji/snail.png differ diff --git a/app/assets/images/emoji/snake.png b/app/assets/images/emoji/snake.png new file mode 100644 index 000000000..ef58933e2 Binary files /dev/null and b/app/assets/images/emoji/snake.png differ diff --git a/app/assets/images/emoji/snowboarder.png b/app/assets/images/emoji/snowboarder.png new file mode 100644 index 000000000..aeda5c8d8 Binary files /dev/null and b/app/assets/images/emoji/snowboarder.png differ diff --git a/app/assets/images/emoji/snowflake.png b/app/assets/images/emoji/snowflake.png new file mode 100644 index 000000000..54b68ff4f Binary files /dev/null and b/app/assets/images/emoji/snowflake.png differ diff --git a/app/assets/images/emoji/snowman.png b/app/assets/images/emoji/snowman.png new file mode 100644 index 000000000..a97902e53 Binary files /dev/null and b/app/assets/images/emoji/snowman.png differ diff --git a/app/assets/images/emoji/sob.png b/app/assets/images/emoji/sob.png new file mode 100644 index 000000000..7d433183a Binary files /dev/null and b/app/assets/images/emoji/sob.png differ diff --git a/app/assets/images/emoji/soccer.png b/app/assets/images/emoji/soccer.png new file mode 100644 index 000000000..1e118b5b1 Binary files /dev/null and b/app/assets/images/emoji/soccer.png differ diff --git a/app/assets/images/emoji/soon.png b/app/assets/images/emoji/soon.png new file mode 100644 index 000000000..9386615a3 Binary files /dev/null and b/app/assets/images/emoji/soon.png differ diff --git a/app/assets/images/emoji/sos.png b/app/assets/images/emoji/sos.png new file mode 100644 index 000000000..e3e16ef73 Binary files /dev/null and b/app/assets/images/emoji/sos.png differ diff --git a/app/assets/images/emoji/sound.png b/app/assets/images/emoji/sound.png new file mode 100644 index 000000000..6aa4dbff4 Binary files /dev/null and b/app/assets/images/emoji/sound.png differ diff --git a/app/assets/images/emoji/space_invader.png b/app/assets/images/emoji/space_invader.png new file mode 100644 index 000000000..384049167 Binary files /dev/null and b/app/assets/images/emoji/space_invader.png differ diff --git a/app/assets/images/emoji/spades.png b/app/assets/images/emoji/spades.png new file mode 100644 index 000000000..133a1aba8 Binary files /dev/null and b/app/assets/images/emoji/spades.png differ diff --git a/app/assets/images/emoji/spaghetti.png b/app/assets/images/emoji/spaghetti.png new file mode 100644 index 000000000..08de243f5 Binary files /dev/null and b/app/assets/images/emoji/spaghetti.png differ diff --git a/app/assets/images/emoji/sparkle.png b/app/assets/images/emoji/sparkle.png new file mode 100644 index 000000000..23a68ceb2 Binary files /dev/null and b/app/assets/images/emoji/sparkle.png differ diff --git a/app/assets/images/emoji/sparkler.png b/app/assets/images/emoji/sparkler.png new file mode 100644 index 000000000..4aabd7e0e Binary files /dev/null and b/app/assets/images/emoji/sparkler.png differ diff --git a/app/assets/images/emoji/sparkles.png b/app/assets/images/emoji/sparkles.png new file mode 100644 index 000000000..92138828d Binary files /dev/null and b/app/assets/images/emoji/sparkles.png differ diff --git a/app/assets/images/emoji/sparkling_heart.png b/app/assets/images/emoji/sparkling_heart.png new file mode 100644 index 000000000..0826bbc06 Binary files /dev/null and b/app/assets/images/emoji/sparkling_heart.png differ diff --git a/app/assets/images/emoji/speak_no_evil.png b/app/assets/images/emoji/speak_no_evil.png new file mode 100644 index 000000000..87944c4de Binary files /dev/null and b/app/assets/images/emoji/speak_no_evil.png differ diff --git a/app/assets/images/emoji/speaker.png b/app/assets/images/emoji/speaker.png new file mode 100644 index 000000000..c884bd4f6 Binary files /dev/null and b/app/assets/images/emoji/speaker.png differ diff --git a/app/assets/images/emoji/speech_balloon.png b/app/assets/images/emoji/speech_balloon.png new file mode 100644 index 000000000..2896c2788 Binary files /dev/null and b/app/assets/images/emoji/speech_balloon.png differ diff --git a/app/assets/images/emoji/speedboat.png b/app/assets/images/emoji/speedboat.png new file mode 100644 index 000000000..da6689b3b Binary files /dev/null and b/app/assets/images/emoji/speedboat.png differ diff --git a/app/assets/images/emoji/squirrel.png b/app/assets/images/emoji/squirrel.png new file mode 100644 index 000000000..a58a47f62 Binary files /dev/null and b/app/assets/images/emoji/squirrel.png differ diff --git a/app/assets/images/emoji/star.png b/app/assets/images/emoji/star.png new file mode 100644 index 000000000..1bfddc862 Binary files /dev/null and b/app/assets/images/emoji/star.png differ diff --git a/app/assets/images/emoji/star2.png b/app/assets/images/emoji/star2.png new file mode 100644 index 000000000..8b40ff4c8 Binary files /dev/null and b/app/assets/images/emoji/star2.png differ diff --git a/app/assets/images/emoji/stars.png b/app/assets/images/emoji/stars.png new file mode 100644 index 000000000..097a84241 Binary files /dev/null and b/app/assets/images/emoji/stars.png differ diff --git a/app/assets/images/emoji/station.png b/app/assets/images/emoji/station.png new file mode 100644 index 000000000..e77daa8a7 Binary files /dev/null and b/app/assets/images/emoji/station.png differ diff --git a/app/assets/images/emoji/statue_of_liberty.png b/app/assets/images/emoji/statue_of_liberty.png new file mode 100644 index 000000000..9ad902806 Binary files /dev/null and b/app/assets/images/emoji/statue_of_liberty.png differ diff --git a/app/assets/images/emoji/steam_locomotive.png b/app/assets/images/emoji/steam_locomotive.png new file mode 100644 index 000000000..549507766 Binary files /dev/null and b/app/assets/images/emoji/steam_locomotive.png differ diff --git a/app/assets/images/emoji/stew.png b/app/assets/images/emoji/stew.png new file mode 100644 index 000000000..6e80b4a9c Binary files /dev/null and b/app/assets/images/emoji/stew.png differ diff --git a/app/assets/images/emoji/straight_ruler.png b/app/assets/images/emoji/straight_ruler.png new file mode 100644 index 000000000..af8cb4bcf Binary files /dev/null and b/app/assets/images/emoji/straight_ruler.png differ diff --git a/app/assets/images/emoji/strawberry.png b/app/assets/images/emoji/strawberry.png new file mode 100644 index 000000000..13eb827ab Binary files /dev/null and b/app/assets/images/emoji/strawberry.png differ diff --git a/app/assets/images/emoji/stuck_out_tongue.png b/app/assets/images/emoji/stuck_out_tongue.png new file mode 100644 index 000000000..53c41433f Binary files /dev/null and b/app/assets/images/emoji/stuck_out_tongue.png differ diff --git a/app/assets/images/emoji/stuck_out_tongue_closed_eyes.png b/app/assets/images/emoji/stuck_out_tongue_closed_eyes.png new file mode 100644 index 000000000..333716ee1 Binary files /dev/null and b/app/assets/images/emoji/stuck_out_tongue_closed_eyes.png differ diff --git a/app/assets/images/emoji/stuck_out_tongue_winking_eye.png b/app/assets/images/emoji/stuck_out_tongue_winking_eye.png new file mode 100644 index 000000000..6ae9d497d Binary files /dev/null and b/app/assets/images/emoji/stuck_out_tongue_winking_eye.png differ diff --git a/app/assets/images/emoji/sun_with_face.png b/app/assets/images/emoji/sun_with_face.png new file mode 100644 index 000000000..ee276636f Binary files /dev/null and b/app/assets/images/emoji/sun_with_face.png differ diff --git a/app/assets/images/emoji/sunflower.png b/app/assets/images/emoji/sunflower.png new file mode 100644 index 000000000..d9bad194a Binary files /dev/null and b/app/assets/images/emoji/sunflower.png differ diff --git a/app/assets/images/emoji/sunglasses.png b/app/assets/images/emoji/sunglasses.png new file mode 100644 index 000000000..1c468a1c9 Binary files /dev/null and b/app/assets/images/emoji/sunglasses.png differ diff --git a/app/assets/images/emoji/sunny.png b/app/assets/images/emoji/sunny.png new file mode 100644 index 000000000..d23c095e0 Binary files /dev/null and b/app/assets/images/emoji/sunny.png differ diff --git a/app/assets/images/emoji/sunrise.png b/app/assets/images/emoji/sunrise.png new file mode 100644 index 000000000..ec58dcc94 Binary files /dev/null and b/app/assets/images/emoji/sunrise.png differ diff --git a/app/assets/images/emoji/sunrise_over_mountains.png b/app/assets/images/emoji/sunrise_over_mountains.png new file mode 100644 index 000000000..ebc3db146 Binary files /dev/null and b/app/assets/images/emoji/sunrise_over_mountains.png differ diff --git a/app/assets/images/emoji/surfer.png b/app/assets/images/emoji/surfer.png new file mode 100644 index 000000000..b067e8cb3 Binary files /dev/null and b/app/assets/images/emoji/surfer.png differ diff --git a/app/assets/images/emoji/sushi.png b/app/assets/images/emoji/sushi.png new file mode 100644 index 000000000..0d179bd97 Binary files /dev/null and b/app/assets/images/emoji/sushi.png differ diff --git a/app/assets/images/emoji/suspect.png b/app/assets/images/emoji/suspect.png new file mode 100644 index 000000000..58e8921c0 Binary files /dev/null and b/app/assets/images/emoji/suspect.png differ diff --git a/app/assets/images/emoji/suspension_railway.png b/app/assets/images/emoji/suspension_railway.png new file mode 100644 index 000000000..aaa45f61f Binary files /dev/null and b/app/assets/images/emoji/suspension_railway.png differ diff --git a/app/assets/images/emoji/sweat.png b/app/assets/images/emoji/sweat.png new file mode 100644 index 000000000..e894b7699 Binary files /dev/null and b/app/assets/images/emoji/sweat.png differ diff --git a/app/assets/images/emoji/sweat_drops.png b/app/assets/images/emoji/sweat_drops.png new file mode 100644 index 000000000..a83b3e960 Binary files /dev/null and b/app/assets/images/emoji/sweat_drops.png differ diff --git a/app/assets/images/emoji/sweat_smile.png b/app/assets/images/emoji/sweat_smile.png new file mode 100644 index 000000000..3903f717f Binary files /dev/null and b/app/assets/images/emoji/sweat_smile.png differ diff --git a/app/assets/images/emoji/sweet_potato.png b/app/assets/images/emoji/sweet_potato.png new file mode 100644 index 000000000..32117fa9c Binary files /dev/null and b/app/assets/images/emoji/sweet_potato.png differ diff --git a/app/assets/images/emoji/swimmer.png b/app/assets/images/emoji/swimmer.png new file mode 100644 index 000000000..d3878a065 Binary files /dev/null and b/app/assets/images/emoji/swimmer.png differ diff --git a/app/assets/images/emoji/symbols.png b/app/assets/images/emoji/symbols.png new file mode 100644 index 000000000..16bc1da92 Binary files /dev/null and b/app/assets/images/emoji/symbols.png differ diff --git a/app/assets/images/emoji/syringe.png b/app/assets/images/emoji/syringe.png new file mode 100644 index 000000000..e7e7ab6e3 Binary files /dev/null and b/app/assets/images/emoji/syringe.png differ diff --git a/app/assets/images/emoji/tada.png b/app/assets/images/emoji/tada.png new file mode 100644 index 000000000..7411b5266 Binary files /dev/null and b/app/assets/images/emoji/tada.png differ diff --git a/app/assets/images/emoji/tanabata_tree.png b/app/assets/images/emoji/tanabata_tree.png new file mode 100644 index 000000000..473346410 Binary files /dev/null and b/app/assets/images/emoji/tanabata_tree.png differ diff --git a/app/assets/images/emoji/tangerine.png b/app/assets/images/emoji/tangerine.png new file mode 100644 index 000000000..fc9d4f82a Binary files /dev/null and b/app/assets/images/emoji/tangerine.png differ diff --git a/app/assets/images/emoji/taurus.png b/app/assets/images/emoji/taurus.png new file mode 100644 index 000000000..6af582f69 Binary files /dev/null and b/app/assets/images/emoji/taurus.png differ diff --git a/app/assets/images/emoji/taxi.png b/app/assets/images/emoji/taxi.png new file mode 100644 index 000000000..60a50d365 Binary files /dev/null and b/app/assets/images/emoji/taxi.png differ diff --git a/app/assets/images/emoji/tea.png b/app/assets/images/emoji/tea.png new file mode 100644 index 000000000..3ece0b708 Binary files /dev/null and b/app/assets/images/emoji/tea.png differ diff --git a/app/assets/images/emoji/telephone.png b/app/assets/images/emoji/telephone.png new file mode 100644 index 000000000..87d2559b5 Binary files /dev/null and b/app/assets/images/emoji/telephone.png differ diff --git a/app/assets/images/emoji/telephone_receiver.png b/app/assets/images/emoji/telephone_receiver.png new file mode 100644 index 000000000..36e21e012 Binary files /dev/null and b/app/assets/images/emoji/telephone_receiver.png differ diff --git a/app/assets/images/emoji/telescope.png b/app/assets/images/emoji/telescope.png new file mode 100644 index 000000000..51fd8a07f Binary files /dev/null and b/app/assets/images/emoji/telescope.png differ diff --git a/app/assets/images/emoji/tennis.png b/app/assets/images/emoji/tennis.png new file mode 100644 index 000000000..278d904ee Binary files /dev/null and b/app/assets/images/emoji/tennis.png differ diff --git a/app/assets/images/emoji/tent.png b/app/assets/images/emoji/tent.png new file mode 100644 index 000000000..5c0d20e48 Binary files /dev/null and b/app/assets/images/emoji/tent.png differ diff --git a/app/assets/images/emoji/thought_balloon.png b/app/assets/images/emoji/thought_balloon.png new file mode 100644 index 000000000..701bdf0f6 Binary files /dev/null and b/app/assets/images/emoji/thought_balloon.png differ diff --git a/app/assets/images/emoji/three.png b/app/assets/images/emoji/three.png new file mode 100644 index 000000000..55644c990 Binary files /dev/null and b/app/assets/images/emoji/three.png differ diff --git a/app/assets/images/emoji/thumbsdown.png b/app/assets/images/emoji/thumbsdown.png new file mode 100644 index 000000000..e44c04219 Binary files /dev/null and b/app/assets/images/emoji/thumbsdown.png differ diff --git a/app/assets/images/emoji/thumbsup.png b/app/assets/images/emoji/thumbsup.png new file mode 100644 index 000000000..3a43ecae2 Binary files /dev/null and b/app/assets/images/emoji/thumbsup.png differ diff --git a/app/assets/images/emoji/ticket.png b/app/assets/images/emoji/ticket.png new file mode 100644 index 000000000..cdacf1a70 Binary files /dev/null and b/app/assets/images/emoji/ticket.png differ diff --git a/app/assets/images/emoji/tiger.png b/app/assets/images/emoji/tiger.png new file mode 100644 index 000000000..d6cc84a3b Binary files /dev/null and b/app/assets/images/emoji/tiger.png differ diff --git a/app/assets/images/emoji/tiger2.png b/app/assets/images/emoji/tiger2.png new file mode 100644 index 000000000..b0c7d8dc3 Binary files /dev/null and b/app/assets/images/emoji/tiger2.png differ diff --git a/app/assets/images/emoji/tired_face.png b/app/assets/images/emoji/tired_face.png new file mode 100644 index 000000000..3a8eefe56 Binary files /dev/null and b/app/assets/images/emoji/tired_face.png differ diff --git a/app/assets/images/emoji/tm.png b/app/assets/images/emoji/tm.png new file mode 100644 index 000000000..9ba71b75b Binary files /dev/null and b/app/assets/images/emoji/tm.png differ diff --git a/app/assets/images/emoji/toilet.png b/app/assets/images/emoji/toilet.png new file mode 100644 index 000000000..e5cc4119a Binary files /dev/null and b/app/assets/images/emoji/toilet.png differ diff --git a/app/assets/images/emoji/tokyo_tower.png b/app/assets/images/emoji/tokyo_tower.png new file mode 100644 index 000000000..e1cbd7a3c Binary files /dev/null and b/app/assets/images/emoji/tokyo_tower.png differ diff --git a/app/assets/images/emoji/tomato.png b/app/assets/images/emoji/tomato.png new file mode 100644 index 000000000..a129700bb Binary files /dev/null and b/app/assets/images/emoji/tomato.png differ diff --git a/app/assets/images/emoji/tongue.png b/app/assets/images/emoji/tongue.png new file mode 100644 index 000000000..b0bab1207 Binary files /dev/null and b/app/assets/images/emoji/tongue.png differ diff --git a/app/assets/images/emoji/top.png b/app/assets/images/emoji/top.png new file mode 100644 index 000000000..5aa4dd442 Binary files /dev/null and b/app/assets/images/emoji/top.png differ diff --git a/app/assets/images/emoji/tophat.png b/app/assets/images/emoji/tophat.png new file mode 100644 index 000000000..7d27134d6 Binary files /dev/null and b/app/assets/images/emoji/tophat.png differ diff --git a/app/assets/images/emoji/tractor.png b/app/assets/images/emoji/tractor.png new file mode 100644 index 000000000..058fd3eda Binary files /dev/null and b/app/assets/images/emoji/tractor.png differ diff --git a/app/assets/images/emoji/traffic_light.png b/app/assets/images/emoji/traffic_light.png new file mode 100644 index 000000000..42eaf7091 Binary files /dev/null and b/app/assets/images/emoji/traffic_light.png differ diff --git a/app/assets/images/emoji/train.png b/app/assets/images/emoji/train.png new file mode 100644 index 000000000..22361158f Binary files /dev/null and b/app/assets/images/emoji/train.png differ diff --git a/app/assets/images/emoji/train2.png b/app/assets/images/emoji/train2.png new file mode 100644 index 000000000..9c0d3ab64 Binary files /dev/null and b/app/assets/images/emoji/train2.png differ diff --git a/app/assets/images/emoji/tram.png b/app/assets/images/emoji/tram.png new file mode 100644 index 000000000..5eb29fb71 Binary files /dev/null and b/app/assets/images/emoji/tram.png differ diff --git a/app/assets/images/emoji/triangular_flag_on_post.png b/app/assets/images/emoji/triangular_flag_on_post.png new file mode 100644 index 000000000..f9a3f32d7 Binary files /dev/null and b/app/assets/images/emoji/triangular_flag_on_post.png differ diff --git a/app/assets/images/emoji/triangular_ruler.png b/app/assets/images/emoji/triangular_ruler.png new file mode 100644 index 000000000..383677cb7 Binary files /dev/null and b/app/assets/images/emoji/triangular_ruler.png differ diff --git a/app/assets/images/emoji/trident.png b/app/assets/images/emoji/trident.png new file mode 100644 index 000000000..d79a7b4cc Binary files /dev/null and b/app/assets/images/emoji/trident.png differ diff --git a/app/assets/images/emoji/triumph.png b/app/assets/images/emoji/triumph.png new file mode 100644 index 000000000..92f93bd10 Binary files /dev/null and b/app/assets/images/emoji/triumph.png differ diff --git a/app/assets/images/emoji/trolleybus.png b/app/assets/images/emoji/trolleybus.png new file mode 100644 index 000000000..b9740a53f Binary files /dev/null and b/app/assets/images/emoji/trolleybus.png differ diff --git a/app/assets/images/emoji/trollface.png b/app/assets/images/emoji/trollface.png new file mode 100644 index 000000000..cce7c7585 Binary files /dev/null and b/app/assets/images/emoji/trollface.png differ diff --git a/app/assets/images/emoji/trophy.png b/app/assets/images/emoji/trophy.png new file mode 100644 index 000000000..95d3b63f5 Binary files /dev/null and b/app/assets/images/emoji/trophy.png differ diff --git a/app/assets/images/emoji/tropical_drink.png b/app/assets/images/emoji/tropical_drink.png new file mode 100644 index 000000000..55ca9eeda Binary files /dev/null and b/app/assets/images/emoji/tropical_drink.png differ diff --git a/app/assets/images/emoji/tropical_fish.png b/app/assets/images/emoji/tropical_fish.png new file mode 100644 index 000000000..a6d734987 Binary files /dev/null and b/app/assets/images/emoji/tropical_fish.png differ diff --git a/app/assets/images/emoji/truck.png b/app/assets/images/emoji/truck.png new file mode 100644 index 000000000..3f25ba1f9 Binary files /dev/null and b/app/assets/images/emoji/truck.png differ diff --git a/app/assets/images/emoji/trumpet.png b/app/assets/images/emoji/trumpet.png new file mode 100644 index 000000000..8d4703fc2 Binary files /dev/null and b/app/assets/images/emoji/trumpet.png differ diff --git a/app/assets/images/emoji/tshirt.png b/app/assets/images/emoji/tshirt.png new file mode 100644 index 000000000..297a6d63e Binary files /dev/null and b/app/assets/images/emoji/tshirt.png differ diff --git a/app/assets/images/emoji/tulip.png b/app/assets/images/emoji/tulip.png new file mode 100644 index 000000000..b3ee1102a Binary files /dev/null and b/app/assets/images/emoji/tulip.png differ diff --git a/app/assets/images/emoji/turtle.png b/app/assets/images/emoji/turtle.png new file mode 100644 index 000000000..04d1d9684 Binary files /dev/null and b/app/assets/images/emoji/turtle.png differ diff --git a/app/assets/images/emoji/tv.png b/app/assets/images/emoji/tv.png new file mode 100644 index 000000000..803dc3d41 Binary files /dev/null and b/app/assets/images/emoji/tv.png differ diff --git a/app/assets/images/emoji/twisted_rightwards_arrows.png b/app/assets/images/emoji/twisted_rightwards_arrows.png new file mode 100644 index 000000000..25cde18b2 Binary files /dev/null and b/app/assets/images/emoji/twisted_rightwards_arrows.png differ diff --git a/app/assets/images/emoji/two.png b/app/assets/images/emoji/two.png new file mode 100644 index 000000000..c191f8a32 Binary files /dev/null and b/app/assets/images/emoji/two.png differ diff --git a/app/assets/images/emoji/two_hearts.png b/app/assets/images/emoji/two_hearts.png new file mode 100644 index 000000000..b189e9aea Binary files /dev/null and b/app/assets/images/emoji/two_hearts.png differ diff --git a/app/assets/images/emoji/two_men_holding_hands.png b/app/assets/images/emoji/two_men_holding_hands.png new file mode 100644 index 000000000..d1099f21f Binary files /dev/null and b/app/assets/images/emoji/two_men_holding_hands.png differ diff --git a/app/assets/images/emoji/two_women_holding_hands.png b/app/assets/images/emoji/two_women_holding_hands.png new file mode 100644 index 000000000..619646c4e Binary files /dev/null and b/app/assets/images/emoji/two_women_holding_hands.png differ diff --git a/app/assets/images/emoji/u5272.png b/app/assets/images/emoji/u5272.png new file mode 100644 index 000000000..2148253fc Binary files /dev/null and b/app/assets/images/emoji/u5272.png differ diff --git a/app/assets/images/emoji/u5408.png b/app/assets/images/emoji/u5408.png new file mode 100644 index 000000000..03ab0d874 Binary files /dev/null and b/app/assets/images/emoji/u5408.png differ diff --git a/app/assets/images/emoji/u55b6.png b/app/assets/images/emoji/u55b6.png new file mode 100644 index 000000000..ba946d3f3 Binary files /dev/null and b/app/assets/images/emoji/u55b6.png differ diff --git a/app/assets/images/emoji/u6307.png b/app/assets/images/emoji/u6307.png new file mode 100644 index 000000000..6557f5672 Binary files /dev/null and b/app/assets/images/emoji/u6307.png differ diff --git a/app/assets/images/emoji/u6708.png b/app/assets/images/emoji/u6708.png new file mode 100644 index 000000000..e4dfe5aa7 Binary files /dev/null and b/app/assets/images/emoji/u6708.png differ diff --git a/app/assets/images/emoji/u6709.png b/app/assets/images/emoji/u6709.png new file mode 100644 index 000000000..cd8fb3f62 Binary files /dev/null and b/app/assets/images/emoji/u6709.png differ diff --git a/app/assets/images/emoji/u6e80.png b/app/assets/images/emoji/u6e80.png new file mode 100644 index 000000000..5df1cb878 Binary files /dev/null and b/app/assets/images/emoji/u6e80.png differ diff --git a/app/assets/images/emoji/u7121.png b/app/assets/images/emoji/u7121.png new file mode 100644 index 000000000..25f694ed3 Binary files /dev/null and b/app/assets/images/emoji/u7121.png differ diff --git a/app/assets/images/emoji/u7533.png b/app/assets/images/emoji/u7533.png new file mode 100644 index 000000000..fc4a9901b Binary files /dev/null and b/app/assets/images/emoji/u7533.png differ diff --git a/app/assets/images/emoji/u7981.png b/app/assets/images/emoji/u7981.png new file mode 100644 index 000000000..f550a573d Binary files /dev/null and b/app/assets/images/emoji/u7981.png differ diff --git a/app/assets/images/emoji/u7a7a.png b/app/assets/images/emoji/u7a7a.png new file mode 100644 index 000000000..c05f5cff7 Binary files /dev/null and b/app/assets/images/emoji/u7a7a.png differ diff --git a/app/assets/images/emoji/uk.png b/app/assets/images/emoji/uk.png new file mode 100644 index 000000000..2a62c7a08 Binary files /dev/null and b/app/assets/images/emoji/uk.png differ diff --git a/app/assets/images/emoji/umbrella.png b/app/assets/images/emoji/umbrella.png new file mode 100644 index 000000000..1db722fa6 Binary files /dev/null and b/app/assets/images/emoji/umbrella.png differ diff --git a/app/assets/images/emoji/unamused.png b/app/assets/images/emoji/unamused.png new file mode 100644 index 000000000..3722e6f57 Binary files /dev/null and b/app/assets/images/emoji/unamused.png differ diff --git a/app/assets/images/emoji/underage.png b/app/assets/images/emoji/underage.png new file mode 100644 index 000000000..a789b3c62 Binary files /dev/null and b/app/assets/images/emoji/underage.png differ diff --git a/app/assets/images/emoji/unicode/0023.png b/app/assets/images/emoji/unicode/0023.png new file mode 100644 index 000000000..6765d7d3c Binary files /dev/null and b/app/assets/images/emoji/unicode/0023.png differ diff --git a/app/assets/images/emoji/unicode/0030.png b/app/assets/images/emoji/unicode/0030.png new file mode 100644 index 000000000..15e7446c8 Binary files /dev/null and b/app/assets/images/emoji/unicode/0030.png differ diff --git a/app/assets/images/emoji/unicode/0031.png b/app/assets/images/emoji/unicode/0031.png new file mode 100644 index 000000000..2d1f9f8c4 Binary files /dev/null and b/app/assets/images/emoji/unicode/0031.png differ diff --git a/app/assets/images/emoji/unicode/0032.png b/app/assets/images/emoji/unicode/0032.png new file mode 100644 index 000000000..c191f8a32 Binary files /dev/null and b/app/assets/images/emoji/unicode/0032.png differ diff --git a/app/assets/images/emoji/unicode/0033.png b/app/assets/images/emoji/unicode/0033.png new file mode 100644 index 000000000..55644c990 Binary files /dev/null and b/app/assets/images/emoji/unicode/0033.png differ diff --git a/app/assets/images/emoji/unicode/0034.png b/app/assets/images/emoji/unicode/0034.png new file mode 100644 index 000000000..14782ba23 Binary files /dev/null and b/app/assets/images/emoji/unicode/0034.png differ diff --git a/app/assets/images/emoji/unicode/0035.png b/app/assets/images/emoji/unicode/0035.png new file mode 100644 index 000000000..794321aa2 Binary files /dev/null and b/app/assets/images/emoji/unicode/0035.png differ diff --git a/app/assets/images/emoji/unicode/0036.png b/app/assets/images/emoji/unicode/0036.png new file mode 100644 index 000000000..568805565 Binary files /dev/null and b/app/assets/images/emoji/unicode/0036.png differ diff --git a/app/assets/images/emoji/unicode/0037.png b/app/assets/images/emoji/unicode/0037.png new file mode 100644 index 000000000..354e89ae7 Binary files /dev/null and b/app/assets/images/emoji/unicode/0037.png differ diff --git a/app/assets/images/emoji/unicode/0038.png b/app/assets/images/emoji/unicode/0038.png new file mode 100644 index 000000000..7bdb42232 Binary files /dev/null and b/app/assets/images/emoji/unicode/0038.png differ diff --git a/app/assets/images/emoji/unicode/0039.png b/app/assets/images/emoji/unicode/0039.png new file mode 100644 index 000000000..8006cc909 Binary files /dev/null and b/app/assets/images/emoji/unicode/0039.png differ diff --git a/app/assets/images/emoji/unicode/00a9.png b/app/assets/images/emoji/unicode/00a9.png new file mode 100644 index 000000000..d59f580a9 Binary files /dev/null and b/app/assets/images/emoji/unicode/00a9.png differ diff --git a/app/assets/images/emoji/unicode/00ae.png b/app/assets/images/emoji/unicode/00ae.png new file mode 100644 index 000000000..e5394109a Binary files /dev/null and b/app/assets/images/emoji/unicode/00ae.png differ diff --git a/app/assets/images/emoji/unicode/1f004.png b/app/assets/images/emoji/unicode/1f004.png new file mode 100644 index 000000000..f51ce65fd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f004.png differ diff --git a/app/assets/images/emoji/unicode/1f0cf.png b/app/assets/images/emoji/unicode/1f0cf.png new file mode 100644 index 000000000..4c78f3614 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f0cf.png differ diff --git a/app/assets/images/emoji/unicode/1f170.png b/app/assets/images/emoji/unicode/1f170.png new file mode 100644 index 000000000..4908a44fc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f170.png differ diff --git a/app/assets/images/emoji/unicode/1f171.png b/app/assets/images/emoji/unicode/1f171.png new file mode 100644 index 000000000..8742b3d2e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f171.png differ diff --git a/app/assets/images/emoji/unicode/1f17e.png b/app/assets/images/emoji/unicode/1f17e.png new file mode 100644 index 000000000..d85f9fb98 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f17e.png differ diff --git a/app/assets/images/emoji/unicode/1f17f.png b/app/assets/images/emoji/unicode/1f17f.png new file mode 100644 index 000000000..c24af81cc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f17f.png differ diff --git a/app/assets/images/emoji/unicode/1f18e.png b/app/assets/images/emoji/unicode/1f18e.png new file mode 100644 index 000000000..2a5222047 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f18e.png differ diff --git a/app/assets/images/emoji/unicode/1f191.png b/app/assets/images/emoji/unicode/1f191.png new file mode 100644 index 000000000..15ac67525 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f191.png differ diff --git a/app/assets/images/emoji/unicode/1f192.png b/app/assets/images/emoji/unicode/1f192.png new file mode 100644 index 000000000..937dcd792 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f192.png differ diff --git a/app/assets/images/emoji/unicode/1f193.png b/app/assets/images/emoji/unicode/1f193.png new file mode 100644 index 000000000..c886cf249 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f193.png differ diff --git a/app/assets/images/emoji/unicode/1f194.png b/app/assets/images/emoji/unicode/1f194.png new file mode 100644 index 000000000..47437a76d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f194.png differ diff --git a/app/assets/images/emoji/unicode/1f195.png b/app/assets/images/emoji/unicode/1f195.png new file mode 100644 index 000000000..28d1570e0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f195.png differ diff --git a/app/assets/images/emoji/unicode/1f196.png b/app/assets/images/emoji/unicode/1f196.png new file mode 100644 index 000000000..2ca180ae3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f196.png differ diff --git a/app/assets/images/emoji/unicode/1f197.png b/app/assets/images/emoji/unicode/1f197.png new file mode 100644 index 000000000..6433d1a90 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f197.png differ diff --git a/app/assets/images/emoji/unicode/1f198.png b/app/assets/images/emoji/unicode/1f198.png new file mode 100644 index 000000000..e3e16ef73 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f198.png differ diff --git a/app/assets/images/emoji/unicode/1f199.png b/app/assets/images/emoji/unicode/1f199.png new file mode 100644 index 000000000..829219a86 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f199.png differ diff --git a/app/assets/images/emoji/unicode/1f19a.png b/app/assets/images/emoji/unicode/1f19a.png new file mode 100644 index 000000000..863638850 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f19a.png differ diff --git a/app/assets/images/emoji/unicode/1f1e8.png b/app/assets/images/emoji/unicode/1f1e8.png new file mode 100644 index 000000000..b30dcc53d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1e8.png differ diff --git a/app/assets/images/emoji/unicode/1f1e9.png b/app/assets/images/emoji/unicode/1f1e9.png new file mode 100644 index 000000000..16a28548c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1e9.png differ diff --git a/app/assets/images/emoji/unicode/1f1ea.png b/app/assets/images/emoji/unicode/1f1ea.png new file mode 100644 index 000000000..71b30bff3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1ea.png differ diff --git a/app/assets/images/emoji/unicode/1f1eb.png b/app/assets/images/emoji/unicode/1f1eb.png new file mode 100644 index 000000000..6311c9115 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1eb.png differ diff --git a/app/assets/images/emoji/unicode/1f1ec.png b/app/assets/images/emoji/unicode/1f1ec.png new file mode 100644 index 000000000..2a62c7a08 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1ec.png differ diff --git a/app/assets/images/emoji/unicode/1f1ee.png b/app/assets/images/emoji/unicode/1f1ee.png new file mode 100644 index 000000000..70bc9f324 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1ee.png differ diff --git a/app/assets/images/emoji/unicode/1f1ef.png b/app/assets/images/emoji/unicode/1f1ef.png new file mode 100644 index 000000000..b786efbbd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1ef.png differ diff --git a/app/assets/images/emoji/unicode/1f1f0.png b/app/assets/images/emoji/unicode/1f1f0.png new file mode 100644 index 000000000..b4c0c1b67 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1f0.png differ diff --git a/app/assets/images/emoji/unicode/1f1f7.png b/app/assets/images/emoji/unicode/1f1f7.png new file mode 100644 index 000000000..55fcf3549 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1f7.png differ diff --git a/app/assets/images/emoji/unicode/1f1fa.png b/app/assets/images/emoji/unicode/1f1fa.png new file mode 100644 index 000000000..38137669a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f1fa.png differ diff --git a/app/assets/images/emoji/unicode/1f201.png b/app/assets/images/emoji/unicode/1f201.png new file mode 100644 index 000000000..3bef28c9f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f201.png differ diff --git a/app/assets/images/emoji/unicode/1f202.png b/app/assets/images/emoji/unicode/1f202.png new file mode 100644 index 000000000..387f098b9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f202.png differ diff --git a/app/assets/images/emoji/unicode/1f21a.png b/app/assets/images/emoji/unicode/1f21a.png new file mode 100644 index 000000000..25f694ed3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f21a.png differ diff --git a/app/assets/images/emoji/unicode/1f22f.png b/app/assets/images/emoji/unicode/1f22f.png new file mode 100644 index 000000000..6557f5672 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f22f.png differ diff --git a/app/assets/images/emoji/unicode/1f232.png b/app/assets/images/emoji/unicode/1f232.png new file mode 100644 index 000000000..f550a573d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f232.png differ diff --git a/app/assets/images/emoji/unicode/1f233.png b/app/assets/images/emoji/unicode/1f233.png new file mode 100644 index 000000000..c05f5cff7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f233.png differ diff --git a/app/assets/images/emoji/unicode/1f234.png b/app/assets/images/emoji/unicode/1f234.png new file mode 100644 index 000000000..03ab0d874 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f234.png differ diff --git a/app/assets/images/emoji/unicode/1f235.png b/app/assets/images/emoji/unicode/1f235.png new file mode 100644 index 000000000..5df1cb878 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f235.png differ diff --git a/app/assets/images/emoji/unicode/1f236.png b/app/assets/images/emoji/unicode/1f236.png new file mode 100644 index 000000000..cd8fb3f62 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f236.png differ diff --git a/app/assets/images/emoji/unicode/1f237.png b/app/assets/images/emoji/unicode/1f237.png new file mode 100644 index 000000000..e4dfe5aa7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f237.png differ diff --git a/app/assets/images/emoji/unicode/1f238.png b/app/assets/images/emoji/unicode/1f238.png new file mode 100644 index 000000000..fc4a9901b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f238.png differ diff --git a/app/assets/images/emoji/unicode/1f239.png b/app/assets/images/emoji/unicode/1f239.png new file mode 100644 index 000000000..2148253fc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f239.png differ diff --git a/app/assets/images/emoji/unicode/1f23a.png b/app/assets/images/emoji/unicode/1f23a.png new file mode 100644 index 000000000..ba946d3f3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f23a.png differ diff --git a/app/assets/images/emoji/unicode/1f250.png b/app/assets/images/emoji/unicode/1f250.png new file mode 100644 index 000000000..e79af7844 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f250.png differ diff --git a/app/assets/images/emoji/unicode/1f251.png b/app/assets/images/emoji/unicode/1f251.png new file mode 100644 index 000000000..2d2009031 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f251.png differ diff --git a/app/assets/images/emoji/unicode/1f300.png b/app/assets/images/emoji/unicode/1f300.png new file mode 100644 index 000000000..6c49f64b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f300.png differ diff --git a/app/assets/images/emoji/unicode/1f301.png b/app/assets/images/emoji/unicode/1f301.png new file mode 100644 index 000000000..3c7b8b04b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f301.png differ diff --git a/app/assets/images/emoji/unicode/1f302.png b/app/assets/images/emoji/unicode/1f302.png new file mode 100644 index 000000000..072c5c217 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f302.png differ diff --git a/app/assets/images/emoji/unicode/1f303.png b/app/assets/images/emoji/unicode/1f303.png new file mode 100644 index 000000000..097a84241 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f303.png differ diff --git a/app/assets/images/emoji/unicode/1f304.png b/app/assets/images/emoji/unicode/1f304.png new file mode 100644 index 000000000..ebc3db146 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f304.png differ diff --git a/app/assets/images/emoji/unicode/1f305.png b/app/assets/images/emoji/unicode/1f305.png new file mode 100644 index 000000000..ec58dcc94 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f305.png differ diff --git a/app/assets/images/emoji/unicode/1f306.png b/app/assets/images/emoji/unicode/1f306.png new file mode 100644 index 000000000..7cb178a2c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f306.png differ diff --git a/app/assets/images/emoji/unicode/1f307.png b/app/assets/images/emoji/unicode/1f307.png new file mode 100644 index 000000000..91ca2a40b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f307.png differ diff --git a/app/assets/images/emoji/unicode/1f308.png b/app/assets/images/emoji/unicode/1f308.png new file mode 100644 index 000000000..6b1faa037 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f308.png differ diff --git a/app/assets/images/emoji/unicode/1f309.png b/app/assets/images/emoji/unicode/1f309.png new file mode 100644 index 000000000..495b06c3d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f309.png differ diff --git a/app/assets/images/emoji/unicode/1f30a.png b/app/assets/images/emoji/unicode/1f30a.png new file mode 100644 index 000000000..f8d520cd4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30a.png differ diff --git a/app/assets/images/emoji/unicode/1f30b.png b/app/assets/images/emoji/unicode/1f30b.png new file mode 100644 index 000000000..9b434539b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30b.png differ diff --git a/app/assets/images/emoji/unicode/1f30c.png b/app/assets/images/emoji/unicode/1f30c.png new file mode 100644 index 000000000..901090a12 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30c.png differ diff --git a/app/assets/images/emoji/unicode/1f30d.png b/app/assets/images/emoji/unicode/1f30d.png new file mode 100644 index 000000000..44ce5ecb6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30d.png differ diff --git a/app/assets/images/emoji/unicode/1f30e.png b/app/assets/images/emoji/unicode/1f30e.png new file mode 100644 index 000000000..97d717671 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30e.png differ diff --git a/app/assets/images/emoji/unicode/1f30f.png b/app/assets/images/emoji/unicode/1f30f.png new file mode 100644 index 000000000..95ec357ca Binary files /dev/null and b/app/assets/images/emoji/unicode/1f30f.png differ diff --git a/app/assets/images/emoji/unicode/1f310.png b/app/assets/images/emoji/unicode/1f310.png new file mode 100644 index 000000000..b19864667 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f310.png differ diff --git a/app/assets/images/emoji/unicode/1f311.png b/app/assets/images/emoji/unicode/1f311.png new file mode 100644 index 000000000..540239b1f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f311.png differ diff --git a/app/assets/images/emoji/unicode/1f312.png b/app/assets/images/emoji/unicode/1f312.png new file mode 100644 index 000000000..c8f13dd31 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f312.png differ diff --git a/app/assets/images/emoji/unicode/1f313.png b/app/assets/images/emoji/unicode/1f313.png new file mode 100644 index 000000000..f38c23693 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f313.png differ diff --git a/app/assets/images/emoji/unicode/1f314.png b/app/assets/images/emoji/unicode/1f314.png new file mode 100644 index 000000000..dd8c48458 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f314.png differ diff --git a/app/assets/images/emoji/unicode/1f315.png b/app/assets/images/emoji/unicode/1f315.png new file mode 100644 index 000000000..8ff657a25 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f315.png differ diff --git a/app/assets/images/emoji/unicode/1f316.png b/app/assets/images/emoji/unicode/1f316.png new file mode 100644 index 000000000..8e324ec5f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f316.png differ diff --git a/app/assets/images/emoji/unicode/1f317.png b/app/assets/images/emoji/unicode/1f317.png new file mode 100644 index 000000000..355e3c3f7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f317.png differ diff --git a/app/assets/images/emoji/unicode/1f318.png b/app/assets/images/emoji/unicode/1f318.png new file mode 100644 index 000000000..30387780f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f318.png differ diff --git a/app/assets/images/emoji/unicode/1f319.png b/app/assets/images/emoji/unicode/1f319.png new file mode 100644 index 000000000..afdb450d1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f319.png differ diff --git a/app/assets/images/emoji/unicode/1f31a.png b/app/assets/images/emoji/unicode/1f31a.png new file mode 100644 index 000000000..b9aff7a06 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31a.png differ diff --git a/app/assets/images/emoji/unicode/1f31b.png b/app/assets/images/emoji/unicode/1f31b.png new file mode 100644 index 000000000..85ae2ce72 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31b.png differ diff --git a/app/assets/images/emoji/unicode/1f31c.png b/app/assets/images/emoji/unicode/1f31c.png new file mode 100644 index 000000000..9ece82dfe Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31c.png differ diff --git a/app/assets/images/emoji/unicode/1f31d.png b/app/assets/images/emoji/unicode/1f31d.png new file mode 100644 index 000000000..94395a408 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31d.png differ diff --git a/app/assets/images/emoji/unicode/1f31e.png b/app/assets/images/emoji/unicode/1f31e.png new file mode 100644 index 000000000..ee276636f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31e.png differ diff --git a/app/assets/images/emoji/unicode/1f31f.png b/app/assets/images/emoji/unicode/1f31f.png new file mode 100644 index 000000000..8b40ff4c8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f31f.png differ diff --git a/app/assets/images/emoji/unicode/1f330.png b/app/assets/images/emoji/unicode/1f330.png new file mode 100644 index 000000000..066fb6bf6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f330.png differ diff --git a/app/assets/images/emoji/unicode/1f331.png b/app/assets/images/emoji/unicode/1f331.png new file mode 100644 index 000000000..f0eb5a6b9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f331.png differ diff --git a/app/assets/images/emoji/unicode/1f332.png b/app/assets/images/emoji/unicode/1f332.png new file mode 100644 index 000000000..ae8ad1037 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f332.png differ diff --git a/app/assets/images/emoji/unicode/1f333.png b/app/assets/images/emoji/unicode/1f333.png new file mode 100644 index 000000000..9bb16bdfe Binary files /dev/null and b/app/assets/images/emoji/unicode/1f333.png differ diff --git a/app/assets/images/emoji/unicode/1f334.png b/app/assets/images/emoji/unicode/1f334.png new file mode 100644 index 000000000..d534785ef Binary files /dev/null and b/app/assets/images/emoji/unicode/1f334.png differ diff --git a/app/assets/images/emoji/unicode/1f335.png b/app/assets/images/emoji/unicode/1f335.png new file mode 100644 index 000000000..5a2c3cc72 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f335.png differ diff --git a/app/assets/images/emoji/unicode/1f337.png b/app/assets/images/emoji/unicode/1f337.png new file mode 100644 index 000000000..b3ee1102a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f337.png differ diff --git a/app/assets/images/emoji/unicode/1f338.png b/app/assets/images/emoji/unicode/1f338.png new file mode 100644 index 000000000..e03155499 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f338.png differ diff --git a/app/assets/images/emoji/unicode/1f339.png b/app/assets/images/emoji/unicode/1f339.png new file mode 100644 index 000000000..3479fbcbb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f339.png differ diff --git a/app/assets/images/emoji/unicode/1f33a.png b/app/assets/images/emoji/unicode/1f33a.png new file mode 100644 index 000000000..32a3774c0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33a.png differ diff --git a/app/assets/images/emoji/unicode/1f33b.png b/app/assets/images/emoji/unicode/1f33b.png new file mode 100644 index 000000000..d9bad194a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33b.png differ diff --git a/app/assets/images/emoji/unicode/1f33c.png b/app/assets/images/emoji/unicode/1f33c.png new file mode 100644 index 000000000..55a97353b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33c.png differ diff --git a/app/assets/images/emoji/unicode/1f33d.png b/app/assets/images/emoji/unicode/1f33d.png new file mode 100644 index 000000000..fe5d8b128 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33d.png differ diff --git a/app/assets/images/emoji/unicode/1f33e.png b/app/assets/images/emoji/unicode/1f33e.png new file mode 100644 index 000000000..a9bba5c2c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33e.png differ diff --git a/app/assets/images/emoji/unicode/1f33f.png b/app/assets/images/emoji/unicode/1f33f.png new file mode 100644 index 000000000..de1ff1b73 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f33f.png differ diff --git a/app/assets/images/emoji/unicode/1f340.png b/app/assets/images/emoji/unicode/1f340.png new file mode 100644 index 000000000..f2014bea4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f340.png differ diff --git a/app/assets/images/emoji/unicode/1f341.png b/app/assets/images/emoji/unicode/1f341.png new file mode 100644 index 000000000..4e9b47207 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f341.png differ diff --git a/app/assets/images/emoji/unicode/1f342.png b/app/assets/images/emoji/unicode/1f342.png new file mode 100644 index 000000000..d49f9c175 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f342.png differ diff --git a/app/assets/images/emoji/unicode/1f343.png b/app/assets/images/emoji/unicode/1f343.png new file mode 100644 index 000000000..801e578e6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f343.png differ diff --git a/app/assets/images/emoji/unicode/1f344.png b/app/assets/images/emoji/unicode/1f344.png new file mode 100644 index 000000000..5eeed8e79 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f344.png differ diff --git a/app/assets/images/emoji/unicode/1f345.png b/app/assets/images/emoji/unicode/1f345.png new file mode 100644 index 000000000..a129700bb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f345.png differ diff --git a/app/assets/images/emoji/unicode/1f346.png b/app/assets/images/emoji/unicode/1f346.png new file mode 100644 index 000000000..566d6a844 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f346.png differ diff --git a/app/assets/images/emoji/unicode/1f347.png b/app/assets/images/emoji/unicode/1f347.png new file mode 100644 index 000000000..0f9f007a1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f347.png differ diff --git a/app/assets/images/emoji/unicode/1f348.png b/app/assets/images/emoji/unicode/1f348.png new file mode 100644 index 000000000..11c13cbbd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f348.png differ diff --git a/app/assets/images/emoji/unicode/1f349.png b/app/assets/images/emoji/unicode/1f349.png new file mode 100644 index 000000000..fc212be78 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f349.png differ diff --git a/app/assets/images/emoji/unicode/1f34a.png b/app/assets/images/emoji/unicode/1f34a.png new file mode 100644 index 000000000..fc9d4f82a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34a.png differ diff --git a/app/assets/images/emoji/unicode/1f34b.png b/app/assets/images/emoji/unicode/1f34b.png new file mode 100644 index 000000000..9814dc959 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34b.png differ diff --git a/app/assets/images/emoji/unicode/1f34c.png b/app/assets/images/emoji/unicode/1f34c.png new file mode 100644 index 000000000..a0563afb9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34c.png differ diff --git a/app/assets/images/emoji/unicode/1f34d.png b/app/assets/images/emoji/unicode/1f34d.png new file mode 100644 index 000000000..d6f8e2876 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34d.png differ diff --git a/app/assets/images/emoji/unicode/1f34e.png b/app/assets/images/emoji/unicode/1f34e.png new file mode 100644 index 000000000..08aa17b95 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34e.png differ diff --git a/app/assets/images/emoji/unicode/1f34f.png b/app/assets/images/emoji/unicode/1f34f.png new file mode 100644 index 000000000..337205cd1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f34f.png differ diff --git a/app/assets/images/emoji/unicode/1f350.png b/app/assets/images/emoji/unicode/1f350.png new file mode 100644 index 000000000..f24aca8c0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f350.png differ diff --git a/app/assets/images/emoji/unicode/1f351.png b/app/assets/images/emoji/unicode/1f351.png new file mode 100644 index 000000000..ee2139ecb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f351.png differ diff --git a/app/assets/images/emoji/unicode/1f352.png b/app/assets/images/emoji/unicode/1f352.png new file mode 100644 index 000000000..8d3e044f2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f352.png differ diff --git a/app/assets/images/emoji/unicode/1f353.png b/app/assets/images/emoji/unicode/1f353.png new file mode 100644 index 000000000..13eb827ab Binary files /dev/null and b/app/assets/images/emoji/unicode/1f353.png differ diff --git a/app/assets/images/emoji/unicode/1f354.png b/app/assets/images/emoji/unicode/1f354.png new file mode 100644 index 000000000..9f1a3fdff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f354.png differ diff --git a/app/assets/images/emoji/unicode/1f355.png b/app/assets/images/emoji/unicode/1f355.png new file mode 100644 index 000000000..460367d02 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f355.png differ diff --git a/app/assets/images/emoji/unicode/1f356.png b/app/assets/images/emoji/unicode/1f356.png new file mode 100644 index 000000000..d6b311b6b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f356.png differ diff --git a/app/assets/images/emoji/unicode/1f357.png b/app/assets/images/emoji/unicode/1f357.png new file mode 100644 index 000000000..43ad85965 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f357.png differ diff --git a/app/assets/images/emoji/unicode/1f358.png b/app/assets/images/emoji/unicode/1f358.png new file mode 100644 index 000000000..954c901e9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f358.png differ diff --git a/app/assets/images/emoji/unicode/1f359.png b/app/assets/images/emoji/unicode/1f359.png new file mode 100644 index 000000000..04f8a8806 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f359.png differ diff --git a/app/assets/images/emoji/unicode/1f35a.png b/app/assets/images/emoji/unicode/1f35a.png new file mode 100644 index 000000000..f4773edec Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35a.png differ diff --git a/app/assets/images/emoji/unicode/1f35b.png b/app/assets/images/emoji/unicode/1f35b.png new file mode 100644 index 000000000..7983c706a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35b.png differ diff --git a/app/assets/images/emoji/unicode/1f35c.png b/app/assets/images/emoji/unicode/1f35c.png new file mode 100644 index 000000000..78dc7d537 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35c.png differ diff --git a/app/assets/images/emoji/unicode/1f35d.png b/app/assets/images/emoji/unicode/1f35d.png new file mode 100644 index 000000000..08de243f5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35d.png differ diff --git a/app/assets/images/emoji/unicode/1f35e.png b/app/assets/images/emoji/unicode/1f35e.png new file mode 100644 index 000000000..7e7c63753 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35e.png differ diff --git a/app/assets/images/emoji/unicode/1f35f.png b/app/assets/images/emoji/unicode/1f35f.png new file mode 100644 index 000000000..cfef66966 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f35f.png differ diff --git a/app/assets/images/emoji/unicode/1f360.png b/app/assets/images/emoji/unicode/1f360.png new file mode 100644 index 000000000..32117fa9c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f360.png differ diff --git a/app/assets/images/emoji/unicode/1f361.png b/app/assets/images/emoji/unicode/1f361.png new file mode 100644 index 000000000..2d042aebe Binary files /dev/null and b/app/assets/images/emoji/unicode/1f361.png differ diff --git a/app/assets/images/emoji/unicode/1f362.png b/app/assets/images/emoji/unicode/1f362.png new file mode 100644 index 000000000..73add1c73 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f362.png differ diff --git a/app/assets/images/emoji/unicode/1f363.png b/app/assets/images/emoji/unicode/1f363.png new file mode 100644 index 000000000..0d179bd97 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f363.png differ diff --git a/app/assets/images/emoji/unicode/1f364.png b/app/assets/images/emoji/unicode/1f364.png new file mode 100644 index 000000000..c8c284bf1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f364.png differ diff --git a/app/assets/images/emoji/unicode/1f365.png b/app/assets/images/emoji/unicode/1f365.png new file mode 100644 index 000000000..a8f22614d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f365.png differ diff --git a/app/assets/images/emoji/unicode/1f366.png b/app/assets/images/emoji/unicode/1f366.png new file mode 100644 index 000000000..871ce0976 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f366.png differ diff --git a/app/assets/images/emoji/unicode/1f367.png b/app/assets/images/emoji/unicode/1f367.png new file mode 100644 index 000000000..0d0b382c2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f367.png differ diff --git a/app/assets/images/emoji/unicode/1f368.png b/app/assets/images/emoji/unicode/1f368.png new file mode 100644 index 000000000..190be0165 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f368.png differ diff --git a/app/assets/images/emoji/unicode/1f369.png b/app/assets/images/emoji/unicode/1f369.png new file mode 100644 index 000000000..ccf869129 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f369.png differ diff --git a/app/assets/images/emoji/unicode/1f36a.png b/app/assets/images/emoji/unicode/1f36a.png new file mode 100644 index 000000000..653edb258 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36a.png differ diff --git a/app/assets/images/emoji/unicode/1f36b.png b/app/assets/images/emoji/unicode/1f36b.png new file mode 100644 index 000000000..c7ec19d07 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36b.png differ diff --git a/app/assets/images/emoji/unicode/1f36c.png b/app/assets/images/emoji/unicode/1f36c.png new file mode 100644 index 000000000..33722f236 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36c.png differ diff --git a/app/assets/images/emoji/unicode/1f36d.png b/app/assets/images/emoji/unicode/1f36d.png new file mode 100644 index 000000000..ba55e7093 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36d.png differ diff --git a/app/assets/images/emoji/unicode/1f36e.png b/app/assets/images/emoji/unicode/1f36e.png new file mode 100644 index 000000000..9f843b4c1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36e.png differ diff --git a/app/assets/images/emoji/unicode/1f36f.png b/app/assets/images/emoji/unicode/1f36f.png new file mode 100644 index 000000000..73278898a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f36f.png differ diff --git a/app/assets/images/emoji/unicode/1f370.png b/app/assets/images/emoji/unicode/1f370.png new file mode 100644 index 000000000..efeb9b4b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f370.png differ diff --git a/app/assets/images/emoji/unicode/1f371.png b/app/assets/images/emoji/unicode/1f371.png new file mode 100644 index 000000000..c6d99e89b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f371.png differ diff --git a/app/assets/images/emoji/unicode/1f372.png b/app/assets/images/emoji/unicode/1f372.png new file mode 100644 index 000000000..6e80b4a9c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f372.png differ diff --git a/app/assets/images/emoji/unicode/1f373.png b/app/assets/images/emoji/unicode/1f373.png new file mode 100644 index 000000000..c3de6ae4e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f373.png differ diff --git a/app/assets/images/emoji/unicode/1f374.png b/app/assets/images/emoji/unicode/1f374.png new file mode 100644 index 000000000..8ba4bc653 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f374.png differ diff --git a/app/assets/images/emoji/unicode/1f375.png b/app/assets/images/emoji/unicode/1f375.png new file mode 100644 index 000000000..3ece0b708 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f375.png differ diff --git a/app/assets/images/emoji/unicode/1f376.png b/app/assets/images/emoji/unicode/1f376.png new file mode 100644 index 000000000..1f69907e5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f376.png differ diff --git a/app/assets/images/emoji/unicode/1f377.png b/app/assets/images/emoji/unicode/1f377.png new file mode 100644 index 000000000..82b0f0005 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f377.png differ diff --git a/app/assets/images/emoji/unicode/1f378.png b/app/assets/images/emoji/unicode/1f378.png new file mode 100644 index 000000000..28b45ea51 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f378.png differ diff --git a/app/assets/images/emoji/unicode/1f379.png b/app/assets/images/emoji/unicode/1f379.png new file mode 100644 index 000000000..55ca9eeda Binary files /dev/null and b/app/assets/images/emoji/unicode/1f379.png differ diff --git a/app/assets/images/emoji/unicode/1f37a.png b/app/assets/images/emoji/unicode/1f37a.png new file mode 100644 index 000000000..cd78bed74 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f37a.png differ diff --git a/app/assets/images/emoji/unicode/1f37b.png b/app/assets/images/emoji/unicode/1f37b.png new file mode 100644 index 000000000..cc5e4ab5a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f37b.png differ diff --git a/app/assets/images/emoji/unicode/1f37c.png b/app/assets/images/emoji/unicode/1f37c.png new file mode 100644 index 000000000..1b2cfe5e3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f37c.png differ diff --git a/app/assets/images/emoji/unicode/1f380.png b/app/assets/images/emoji/unicode/1f380.png new file mode 100644 index 000000000..63ee5ba5a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f380.png differ diff --git a/app/assets/images/emoji/unicode/1f381.png b/app/assets/images/emoji/unicode/1f381.png new file mode 100644 index 000000000..552cfdc2b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f381.png differ diff --git a/app/assets/images/emoji/unicode/1f382.png b/app/assets/images/emoji/unicode/1f382.png new file mode 100644 index 000000000..36e8edcbe Binary files /dev/null and b/app/assets/images/emoji/unicode/1f382.png differ diff --git a/app/assets/images/emoji/unicode/1f383.png b/app/assets/images/emoji/unicode/1f383.png new file mode 100644 index 000000000..1f7667ea4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f383.png differ diff --git a/app/assets/images/emoji/unicode/1f384.png b/app/assets/images/emoji/unicode/1f384.png new file mode 100644 index 000000000..d813b9593 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f384.png differ diff --git a/app/assets/images/emoji/unicode/1f385.png b/app/assets/images/emoji/unicode/1f385.png new file mode 100644 index 000000000..a2240c07e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f385.png differ diff --git a/app/assets/images/emoji/unicode/1f386.png b/app/assets/images/emoji/unicode/1f386.png new file mode 100644 index 000000000..b4eccd577 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f386.png differ diff --git a/app/assets/images/emoji/unicode/1f387.png b/app/assets/images/emoji/unicode/1f387.png new file mode 100644 index 000000000..4aabd7e0e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f387.png differ diff --git a/app/assets/images/emoji/unicode/1f388.png b/app/assets/images/emoji/unicode/1f388.png new file mode 100644 index 000000000..a4d3207b8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f388.png differ diff --git a/app/assets/images/emoji/unicode/1f389.png b/app/assets/images/emoji/unicode/1f389.png new file mode 100644 index 000000000..7411b5266 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f389.png differ diff --git a/app/assets/images/emoji/unicode/1f38a.png b/app/assets/images/emoji/unicode/1f38a.png new file mode 100644 index 000000000..bd293e3d8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38a.png differ diff --git a/app/assets/images/emoji/unicode/1f38b.png b/app/assets/images/emoji/unicode/1f38b.png new file mode 100644 index 000000000..473346410 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38b.png differ diff --git a/app/assets/images/emoji/unicode/1f38c.png b/app/assets/images/emoji/unicode/1f38c.png new file mode 100644 index 000000000..2ffbb2627 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38c.png differ diff --git a/app/assets/images/emoji/unicode/1f38d.png b/app/assets/images/emoji/unicode/1f38d.png new file mode 100644 index 000000000..fc858d0fc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38d.png differ diff --git a/app/assets/images/emoji/unicode/1f38e.png b/app/assets/images/emoji/unicode/1f38e.png new file mode 100644 index 000000000..47ce33900 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38e.png differ diff --git a/app/assets/images/emoji/unicode/1f38f.png b/app/assets/images/emoji/unicode/1f38f.png new file mode 100644 index 000000000..540164e84 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f38f.png differ diff --git a/app/assets/images/emoji/unicode/1f390.png b/app/assets/images/emoji/unicode/1f390.png new file mode 100644 index 000000000..efacf5dd4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f390.png differ diff --git a/app/assets/images/emoji/unicode/1f391.png b/app/assets/images/emoji/unicode/1f391.png new file mode 100644 index 000000000..14361988d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f391.png differ diff --git a/app/assets/images/emoji/unicode/1f392.png b/app/assets/images/emoji/unicode/1f392.png new file mode 100644 index 000000000..edfb19aec Binary files /dev/null and b/app/assets/images/emoji/unicode/1f392.png differ diff --git a/app/assets/images/emoji/unicode/1f393.png b/app/assets/images/emoji/unicode/1f393.png new file mode 100644 index 000000000..2e811b097 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f393.png differ diff --git a/app/assets/images/emoji/unicode/1f3a0.png b/app/assets/images/emoji/unicode/1f3a0.png new file mode 100644 index 000000000..765d2c0a8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a0.png differ diff --git a/app/assets/images/emoji/unicode/1f3a1.png b/app/assets/images/emoji/unicode/1f3a1.png new file mode 100644 index 000000000..54a1dcfa1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a1.png differ diff --git a/app/assets/images/emoji/unicode/1f3a2.png b/app/assets/images/emoji/unicode/1f3a2.png new file mode 100644 index 000000000..9180b9861 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a2.png differ diff --git a/app/assets/images/emoji/unicode/1f3a3.png b/app/assets/images/emoji/unicode/1f3a3.png new file mode 100644 index 000000000..d84609c3b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a3.png differ diff --git a/app/assets/images/emoji/unicode/1f3a4.png b/app/assets/images/emoji/unicode/1f3a4.png new file mode 100644 index 000000000..ce19a2bb6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a4.png differ diff --git a/app/assets/images/emoji/unicode/1f3a5.png b/app/assets/images/emoji/unicode/1f3a5.png new file mode 100644 index 000000000..9c1438409 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a5.png differ diff --git a/app/assets/images/emoji/unicode/1f3a6.png b/app/assets/images/emoji/unicode/1f3a6.png new file mode 100644 index 000000000..a990ccf99 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a6.png differ diff --git a/app/assets/images/emoji/unicode/1f3a7.png b/app/assets/images/emoji/unicode/1f3a7.png new file mode 100644 index 000000000..ad83000e6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a7.png differ diff --git a/app/assets/images/emoji/unicode/1f3a8.png b/app/assets/images/emoji/unicode/1f3a8.png new file mode 100644 index 000000000..d45212b03 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a8.png differ diff --git a/app/assets/images/emoji/unicode/1f3a9.png b/app/assets/images/emoji/unicode/1f3a9.png new file mode 100644 index 000000000..7d27134d6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3a9.png differ diff --git a/app/assets/images/emoji/unicode/1f3aa.png b/app/assets/images/emoji/unicode/1f3aa.png new file mode 100644 index 000000000..4af8719aa Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3aa.png differ diff --git a/app/assets/images/emoji/unicode/1f3ab.png b/app/assets/images/emoji/unicode/1f3ab.png new file mode 100644 index 000000000..cdacf1a70 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ab.png differ diff --git a/app/assets/images/emoji/unicode/1f3ac.png b/app/assets/images/emoji/unicode/1f3ac.png new file mode 100644 index 000000000..4e1dc111d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ac.png differ diff --git a/app/assets/images/emoji/unicode/1f3ad.png b/app/assets/images/emoji/unicode/1f3ad.png new file mode 100644 index 000000000..899fbe5a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ad.png differ diff --git a/app/assets/images/emoji/unicode/1f3ae.png b/app/assets/images/emoji/unicode/1f3ae.png new file mode 100644 index 000000000..59d45baea Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ae.png differ diff --git a/app/assets/images/emoji/unicode/1f3af.png b/app/assets/images/emoji/unicode/1f3af.png new file mode 100644 index 000000000..0438fe54f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3af.png differ diff --git a/app/assets/images/emoji/unicode/1f3b0.png b/app/assets/images/emoji/unicode/1f3b0.png new file mode 100644 index 000000000..26f114830 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b0.png differ diff --git a/app/assets/images/emoji/unicode/1f3b1.png b/app/assets/images/emoji/unicode/1f3b1.png new file mode 100644 index 000000000..c2c710d45 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b1.png differ diff --git a/app/assets/images/emoji/unicode/1f3b2.png b/app/assets/images/emoji/unicode/1f3b2.png new file mode 100644 index 000000000..4136e78ec Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b2.png differ diff --git a/app/assets/images/emoji/unicode/1f3b3.png b/app/assets/images/emoji/unicode/1f3b3.png new file mode 100644 index 000000000..13d8ece2e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b3.png differ diff --git a/app/assets/images/emoji/unicode/1f3b4.png b/app/assets/images/emoji/unicode/1f3b4.png new file mode 100644 index 000000000..cc46a6a1f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b4.png differ diff --git a/app/assets/images/emoji/unicode/1f3b5.png b/app/assets/images/emoji/unicode/1f3b5.png new file mode 100644 index 000000000..68b261bcb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b5.png differ diff --git a/app/assets/images/emoji/unicode/1f3b6.png b/app/assets/images/emoji/unicode/1f3b6.png new file mode 100644 index 000000000..a13147fae Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b6.png differ diff --git a/app/assets/images/emoji/unicode/1f3b7.png b/app/assets/images/emoji/unicode/1f3b7.png new file mode 100644 index 000000000..011559a76 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b7.png differ diff --git a/app/assets/images/emoji/unicode/1f3b8.png b/app/assets/images/emoji/unicode/1f3b8.png new file mode 100644 index 000000000..2b7fa43c9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b8.png differ diff --git a/app/assets/images/emoji/unicode/1f3b9.png b/app/assets/images/emoji/unicode/1f3b9.png new file mode 100644 index 000000000..93647a4a3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3b9.png differ diff --git a/app/assets/images/emoji/unicode/1f3ba.png b/app/assets/images/emoji/unicode/1f3ba.png new file mode 100644 index 000000000..8d4703fc2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ba.png differ diff --git a/app/assets/images/emoji/unicode/1f3bb.png b/app/assets/images/emoji/unicode/1f3bb.png new file mode 100644 index 000000000..0dba5ba2b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3bb.png differ diff --git a/app/assets/images/emoji/unicode/1f3bc.png b/app/assets/images/emoji/unicode/1f3bc.png new file mode 100644 index 000000000..0c927d32f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3bc.png differ diff --git a/app/assets/images/emoji/unicode/1f3bd.png b/app/assets/images/emoji/unicode/1f3bd.png new file mode 100644 index 000000000..0d68bba09 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3bd.png differ diff --git a/app/assets/images/emoji/unicode/1f3be.png b/app/assets/images/emoji/unicode/1f3be.png new file mode 100644 index 000000000..278d904ee Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3be.png differ diff --git a/app/assets/images/emoji/unicode/1f3bf.png b/app/assets/images/emoji/unicode/1f3bf.png new file mode 100644 index 000000000..c97de3ed9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3bf.png differ diff --git a/app/assets/images/emoji/unicode/1f3c0.png b/app/assets/images/emoji/unicode/1f3c0.png new file mode 100644 index 000000000..ef694bec4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c0.png differ diff --git a/app/assets/images/emoji/unicode/1f3c1.png b/app/assets/images/emoji/unicode/1f3c1.png new file mode 100644 index 000000000..ead4a68dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c1.png differ diff --git a/app/assets/images/emoji/unicode/1f3c2.png b/app/assets/images/emoji/unicode/1f3c2.png new file mode 100644 index 000000000..aeda5c8d8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c2.png differ diff --git a/app/assets/images/emoji/unicode/1f3c3.png b/app/assets/images/emoji/unicode/1f3c3.png new file mode 100644 index 000000000..1ecfd9059 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c3.png differ diff --git a/app/assets/images/emoji/unicode/1f3c4.png b/app/assets/images/emoji/unicode/1f3c4.png new file mode 100644 index 000000000..b067e8cb3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c4.png differ diff --git a/app/assets/images/emoji/unicode/1f3c6.png b/app/assets/images/emoji/unicode/1f3c6.png new file mode 100644 index 000000000..95d3b63f5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c6.png differ diff --git a/app/assets/images/emoji/unicode/1f3c7.png b/app/assets/images/emoji/unicode/1f3c7.png new file mode 100644 index 000000000..e3bbaec1d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c7.png differ diff --git a/app/assets/images/emoji/unicode/1f3c8.png b/app/assets/images/emoji/unicode/1f3c8.png new file mode 100644 index 000000000..0e4e168fa Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c8.png differ diff --git a/app/assets/images/emoji/unicode/1f3c9.png b/app/assets/images/emoji/unicode/1f3c9.png new file mode 100644 index 000000000..f8db67d70 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3c9.png differ diff --git a/app/assets/images/emoji/unicode/1f3ca.png b/app/assets/images/emoji/unicode/1f3ca.png new file mode 100644 index 000000000..d3878a065 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ca.png differ diff --git a/app/assets/images/emoji/unicode/1f3e0.png b/app/assets/images/emoji/unicode/1f3e0.png new file mode 100644 index 000000000..95b9ee094 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e0.png differ diff --git a/app/assets/images/emoji/unicode/1f3e1.png b/app/assets/images/emoji/unicode/1f3e1.png new file mode 100644 index 000000000..eccbfe943 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e1.png differ diff --git a/app/assets/images/emoji/unicode/1f3e2.png b/app/assets/images/emoji/unicode/1f3e2.png new file mode 100644 index 000000000..3f20b5642 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e2.png differ diff --git a/app/assets/images/emoji/unicode/1f3e3.png b/app/assets/images/emoji/unicode/1f3e3.png new file mode 100644 index 000000000..43b59e30e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e3.png differ diff --git a/app/assets/images/emoji/unicode/1f3e4.png b/app/assets/images/emoji/unicode/1f3e4.png new file mode 100644 index 000000000..0f65b1453 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e4.png differ diff --git a/app/assets/images/emoji/unicode/1f3e5.png b/app/assets/images/emoji/unicode/1f3e5.png new file mode 100644 index 000000000..c05c49377 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e5.png differ diff --git a/app/assets/images/emoji/unicode/1f3e6.png b/app/assets/images/emoji/unicode/1f3e6.png new file mode 100644 index 000000000..1faa8777e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e6.png differ diff --git a/app/assets/images/emoji/unicode/1f3e7.png b/app/assets/images/emoji/unicode/1f3e7.png new file mode 100644 index 000000000..c2846e792 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e7.png differ diff --git a/app/assets/images/emoji/unicode/1f3e8.png b/app/assets/images/emoji/unicode/1f3e8.png new file mode 100644 index 000000000..d29f276a1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e8.png differ diff --git a/app/assets/images/emoji/unicode/1f3e9.png b/app/assets/images/emoji/unicode/1f3e9.png new file mode 100644 index 000000000..44d7db828 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3e9.png differ diff --git a/app/assets/images/emoji/unicode/1f3ea.png b/app/assets/images/emoji/unicode/1f3ea.png new file mode 100644 index 000000000..671696c2d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ea.png differ diff --git a/app/assets/images/emoji/unicode/1f3eb.png b/app/assets/images/emoji/unicode/1f3eb.png new file mode 100644 index 000000000..afd922bf1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3eb.png differ diff --git a/app/assets/images/emoji/unicode/1f3ec.png b/app/assets/images/emoji/unicode/1f3ec.png new file mode 100644 index 000000000..68d959c50 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ec.png differ diff --git a/app/assets/images/emoji/unicode/1f3ed.png b/app/assets/images/emoji/unicode/1f3ed.png new file mode 100644 index 000000000..640463479 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ed.png differ diff --git a/app/assets/images/emoji/unicode/1f3ee.png b/app/assets/images/emoji/unicode/1f3ee.png new file mode 100644 index 000000000..18730ad55 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ee.png differ diff --git a/app/assets/images/emoji/unicode/1f3ef.png b/app/assets/images/emoji/unicode/1f3ef.png new file mode 100644 index 000000000..f225ab217 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3ef.png differ diff --git a/app/assets/images/emoji/unicode/1f3f0.png b/app/assets/images/emoji/unicode/1f3f0.png new file mode 100644 index 000000000..8229b8a8a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f3f0.png differ diff --git a/app/assets/images/emoji/unicode/1f400.png b/app/assets/images/emoji/unicode/1f400.png new file mode 100644 index 000000000..1c463dfde Binary files /dev/null and b/app/assets/images/emoji/unicode/1f400.png differ diff --git a/app/assets/images/emoji/unicode/1f401.png b/app/assets/images/emoji/unicode/1f401.png new file mode 100644 index 000000000..2d777e5e1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f401.png differ diff --git a/app/assets/images/emoji/unicode/1f402.png b/app/assets/images/emoji/unicode/1f402.png new file mode 100644 index 000000000..f76698024 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f402.png differ diff --git a/app/assets/images/emoji/unicode/1f403.png b/app/assets/images/emoji/unicode/1f403.png new file mode 100644 index 000000000..3bcde3edd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f403.png differ diff --git a/app/assets/images/emoji/unicode/1f404.png b/app/assets/images/emoji/unicode/1f404.png new file mode 100644 index 000000000..594c92155 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f404.png differ diff --git a/app/assets/images/emoji/unicode/1f405.png b/app/assets/images/emoji/unicode/1f405.png new file mode 100644 index 000000000..b0c7d8dc3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f405.png differ diff --git a/app/assets/images/emoji/unicode/1f406.png b/app/assets/images/emoji/unicode/1f406.png new file mode 100644 index 000000000..8abfc4a27 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f406.png differ diff --git a/app/assets/images/emoji/unicode/1f407.png b/app/assets/images/emoji/unicode/1f407.png new file mode 100644 index 000000000..5bc993e79 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f407.png differ diff --git a/app/assets/images/emoji/unicode/1f408.png b/app/assets/images/emoji/unicode/1f408.png new file mode 100644 index 000000000..977c992c5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f408.png differ diff --git a/app/assets/images/emoji/unicode/1f409.png b/app/assets/images/emoji/unicode/1f409.png new file mode 100644 index 000000000..e399d60e1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f409.png differ diff --git a/app/assets/images/emoji/unicode/1f40a.png b/app/assets/images/emoji/unicode/1f40a.png new file mode 100644 index 000000000..7435d5ab3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40a.png differ diff --git a/app/assets/images/emoji/unicode/1f40b.png b/app/assets/images/emoji/unicode/1f40b.png new file mode 100644 index 000000000..4af657b2f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40b.png differ diff --git a/app/assets/images/emoji/unicode/1f40c.png b/app/assets/images/emoji/unicode/1f40c.png new file mode 100644 index 000000000..e75e69a84 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40c.png differ diff --git a/app/assets/images/emoji/unicode/1f40d.png b/app/assets/images/emoji/unicode/1f40d.png new file mode 100644 index 000000000..ef58933e2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40d.png differ diff --git a/app/assets/images/emoji/unicode/1f40e.png b/app/assets/images/emoji/unicode/1f40e.png new file mode 100644 index 000000000..4d09c64de Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40e.png differ diff --git a/app/assets/images/emoji/unicode/1f40f.png b/app/assets/images/emoji/unicode/1f40f.png new file mode 100644 index 000000000..5ea7bfbc0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f40f.png differ diff --git a/app/assets/images/emoji/unicode/1f410.png b/app/assets/images/emoji/unicode/1f410.png new file mode 100644 index 000000000..4be9cf304 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f410.png differ diff --git a/app/assets/images/emoji/unicode/1f411.png b/app/assets/images/emoji/unicode/1f411.png new file mode 100644 index 000000000..c7277d289 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f411.png differ diff --git a/app/assets/images/emoji/unicode/1f412.png b/app/assets/images/emoji/unicode/1f412.png new file mode 100644 index 000000000..640703597 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f412.png differ diff --git a/app/assets/images/emoji/unicode/1f413.png b/app/assets/images/emoji/unicode/1f413.png new file mode 100644 index 000000000..fab23ad36 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f413.png differ diff --git a/app/assets/images/emoji/unicode/1f414.png b/app/assets/images/emoji/unicode/1f414.png new file mode 100644 index 000000000..6d25c0ef4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f414.png differ diff --git a/app/assets/images/emoji/unicode/1f415.png b/app/assets/images/emoji/unicode/1f415.png new file mode 100644 index 000000000..c7f6a24ac Binary files /dev/null and b/app/assets/images/emoji/unicode/1f415.png differ diff --git a/app/assets/images/emoji/unicode/1f416.png b/app/assets/images/emoji/unicode/1f416.png new file mode 100644 index 000000000..fec3374d7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f416.png differ diff --git a/app/assets/images/emoji/unicode/1f417.png b/app/assets/images/emoji/unicode/1f417.png new file mode 100644 index 000000000..8196ad4a1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f417.png differ diff --git a/app/assets/images/emoji/unicode/1f418.png b/app/assets/images/emoji/unicode/1f418.png new file mode 100644 index 000000000..5ca04570e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f418.png differ diff --git a/app/assets/images/emoji/unicode/1f419.png b/app/assets/images/emoji/unicode/1f419.png new file mode 100644 index 000000000..52ce64b46 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f419.png differ diff --git a/app/assets/images/emoji/unicode/1f41a.png b/app/assets/images/emoji/unicode/1f41a.png new file mode 100644 index 000000000..3145b5649 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41a.png differ diff --git a/app/assets/images/emoji/unicode/1f41b.png b/app/assets/images/emoji/unicode/1f41b.png new file mode 100644 index 000000000..c2eaf7a70 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41b.png differ diff --git a/app/assets/images/emoji/unicode/1f41c.png b/app/assets/images/emoji/unicode/1f41c.png new file mode 100644 index 000000000..b92d1cc14 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41c.png differ diff --git a/app/assets/images/emoji/unicode/1f41d.png b/app/assets/images/emoji/unicode/1f41d.png new file mode 100644 index 000000000..f53733953 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41d.png differ diff --git a/app/assets/images/emoji/unicode/1f41e.png b/app/assets/images/emoji/unicode/1f41e.png new file mode 100644 index 000000000..222577ca7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41e.png differ diff --git a/app/assets/images/emoji/unicode/1f41f.png b/app/assets/images/emoji/unicode/1f41f.png new file mode 100644 index 000000000..dc2a3f52d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f41f.png differ diff --git a/app/assets/images/emoji/unicode/1f420.png b/app/assets/images/emoji/unicode/1f420.png new file mode 100644 index 000000000..a6d734987 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f420.png differ diff --git a/app/assets/images/emoji/unicode/1f421.png b/app/assets/images/emoji/unicode/1f421.png new file mode 100644 index 000000000..a1d47cb7e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f421.png differ diff --git a/app/assets/images/emoji/unicode/1f422.png b/app/assets/images/emoji/unicode/1f422.png new file mode 100644 index 000000000..04d1d9684 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f422.png differ diff --git a/app/assets/images/emoji/unicode/1f423.png b/app/assets/images/emoji/unicode/1f423.png new file mode 100644 index 000000000..005a55519 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f423.png differ diff --git a/app/assets/images/emoji/unicode/1f424.png b/app/assets/images/emoji/unicode/1f424.png new file mode 100644 index 000000000..9be8d2930 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f424.png differ diff --git a/app/assets/images/emoji/unicode/1f425.png b/app/assets/images/emoji/unicode/1f425.png new file mode 100644 index 000000000..39c25bc7c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f425.png differ diff --git a/app/assets/images/emoji/unicode/1f426.png b/app/assets/images/emoji/unicode/1f426.png new file mode 100644 index 000000000..e6be8c027 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f426.png differ diff --git a/app/assets/images/emoji/unicode/1f427.png b/app/assets/images/emoji/unicode/1f427.png new file mode 100644 index 000000000..d8edbcb8f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f427.png differ diff --git a/app/assets/images/emoji/unicode/1f428.png b/app/assets/images/emoji/unicode/1f428.png new file mode 100644 index 000000000..e17bd3cf5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f428.png differ diff --git a/app/assets/images/emoji/unicode/1f429.png b/app/assets/images/emoji/unicode/1f429.png new file mode 100644 index 000000000..adac80bd9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f429.png differ diff --git a/app/assets/images/emoji/unicode/1f42a.png b/app/assets/images/emoji/unicode/1f42a.png new file mode 100644 index 000000000..c8c7b9ffa Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42a.png differ diff --git a/app/assets/images/emoji/unicode/1f42b.png b/app/assets/images/emoji/unicode/1f42b.png new file mode 100644 index 000000000..496c186ae Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42b.png differ diff --git a/app/assets/images/emoji/unicode/1f42c.png b/app/assets/images/emoji/unicode/1f42c.png new file mode 100644 index 000000000..9326077a9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42c.png differ diff --git a/app/assets/images/emoji/unicode/1f42d.png b/app/assets/images/emoji/unicode/1f42d.png new file mode 100644 index 000000000..8ff162e2d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42d.png differ diff --git a/app/assets/images/emoji/unicode/1f42e.png b/app/assets/images/emoji/unicode/1f42e.png new file mode 100644 index 000000000..12e1ab6c0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42e.png differ diff --git a/app/assets/images/emoji/unicode/1f42f.png b/app/assets/images/emoji/unicode/1f42f.png new file mode 100644 index 000000000..d6cc84a3b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f42f.png differ diff --git a/app/assets/images/emoji/unicode/1f430.png b/app/assets/images/emoji/unicode/1f430.png new file mode 100644 index 000000000..5cb3ef6f0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f430.png differ diff --git a/app/assets/images/emoji/unicode/1f431.png b/app/assets/images/emoji/unicode/1f431.png new file mode 100644 index 000000000..09b9ef79a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f431.png differ diff --git a/app/assets/images/emoji/unicode/1f432.png b/app/assets/images/emoji/unicode/1f432.png new file mode 100644 index 000000000..e5e556bd1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f432.png differ diff --git a/app/assets/images/emoji/unicode/1f433.png b/app/assets/images/emoji/unicode/1f433.png new file mode 100644 index 000000000..5bb113e42 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f433.png differ diff --git a/app/assets/images/emoji/unicode/1f434.png b/app/assets/images/emoji/unicode/1f434.png new file mode 100644 index 000000000..78d580ad3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f434.png differ diff --git a/app/assets/images/emoji/unicode/1f435.png b/app/assets/images/emoji/unicode/1f435.png new file mode 100644 index 000000000..6964cf4d5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f435.png differ diff --git a/app/assets/images/emoji/unicode/1f436.png b/app/assets/images/emoji/unicode/1f436.png new file mode 100644 index 000000000..389a02bf2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f436.png differ diff --git a/app/assets/images/emoji/unicode/1f437.png b/app/assets/images/emoji/unicode/1f437.png new file mode 100644 index 000000000..f7f273c73 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f437.png differ diff --git a/app/assets/images/emoji/unicode/1f438.png b/app/assets/images/emoji/unicode/1f438.png new file mode 100644 index 000000000..cfe11b18f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f438.png differ diff --git a/app/assets/images/emoji/unicode/1f439.png b/app/assets/images/emoji/unicode/1f439.png new file mode 100644 index 000000000..ada9c3108 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f439.png differ diff --git a/app/assets/images/emoji/unicode/1f43a.png b/app/assets/images/emoji/unicode/1f43a.png new file mode 100644 index 000000000..c60c96895 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f43a.png differ diff --git a/app/assets/images/emoji/unicode/1f43b.png b/app/assets/images/emoji/unicode/1f43b.png new file mode 100644 index 000000000..f5afe920e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f43b.png differ diff --git a/app/assets/images/emoji/unicode/1f43c.png b/app/assets/images/emoji/unicode/1f43c.png new file mode 100644 index 000000000..a794fb17f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f43c.png differ diff --git a/app/assets/images/emoji/unicode/1f43d.png b/app/assets/images/emoji/unicode/1f43d.png new file mode 100644 index 000000000..38d612446 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f43d.png differ diff --git a/app/assets/images/emoji/unicode/1f43e.png b/app/assets/images/emoji/unicode/1f43e.png new file mode 100644 index 000000000..89b9fec9e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f43e.png differ diff --git a/app/assets/images/emoji/unicode/1f440.png b/app/assets/images/emoji/unicode/1f440.png new file mode 100644 index 000000000..dc2216f63 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f440.png differ diff --git a/app/assets/images/emoji/unicode/1f442.png b/app/assets/images/emoji/unicode/1f442.png new file mode 100644 index 000000000..2bbbf10c9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f442.png differ diff --git a/app/assets/images/emoji/unicode/1f443.png b/app/assets/images/emoji/unicode/1f443.png new file mode 100644 index 000000000..ad17c16c2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f443.png differ diff --git a/app/assets/images/emoji/unicode/1f444.png b/app/assets/images/emoji/unicode/1f444.png new file mode 100644 index 000000000..826ed1102 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f444.png differ diff --git a/app/assets/images/emoji/unicode/1f445.png b/app/assets/images/emoji/unicode/1f445.png new file mode 100644 index 000000000..b0bab1207 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f445.png differ diff --git a/app/assets/images/emoji/unicode/1f446.png b/app/assets/images/emoji/unicode/1f446.png new file mode 100644 index 000000000..196d109a8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f446.png differ diff --git a/app/assets/images/emoji/unicode/1f447.png b/app/assets/images/emoji/unicode/1f447.png new file mode 100644 index 000000000..658c6d918 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f447.png differ diff --git a/app/assets/images/emoji/unicode/1f448.png b/app/assets/images/emoji/unicode/1f448.png new file mode 100644 index 000000000..fee9cac4d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f448.png differ diff --git a/app/assets/images/emoji/unicode/1f449.png b/app/assets/images/emoji/unicode/1f449.png new file mode 100644 index 000000000..b04e2849d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f449.png differ diff --git a/app/assets/images/emoji/unicode/1f44a.png b/app/assets/images/emoji/unicode/1f44a.png new file mode 100644 index 000000000..2d41fd37e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44a.png differ diff --git a/app/assets/images/emoji/unicode/1f44b.png b/app/assets/images/emoji/unicode/1f44b.png new file mode 100644 index 000000000..e78402eb0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44b.png differ diff --git a/app/assets/images/emoji/unicode/1f44c.png b/app/assets/images/emoji/unicode/1f44c.png new file mode 100644 index 000000000..3177439dc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44c.png differ diff --git a/app/assets/images/emoji/unicode/1f44d.png b/app/assets/images/emoji/unicode/1f44d.png new file mode 100644 index 000000000..3a43ecae2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44d.png differ diff --git a/app/assets/images/emoji/unicode/1f44e.png b/app/assets/images/emoji/unicode/1f44e.png new file mode 100644 index 000000000..e44c04219 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44e.png differ diff --git a/app/assets/images/emoji/unicode/1f44f.png b/app/assets/images/emoji/unicode/1f44f.png new file mode 100644 index 000000000..d01c982a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f44f.png differ diff --git a/app/assets/images/emoji/unicode/1f450.png b/app/assets/images/emoji/unicode/1f450.png new file mode 100644 index 000000000..2cc25bd41 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f450.png differ diff --git a/app/assets/images/emoji/unicode/1f451.png b/app/assets/images/emoji/unicode/1f451.png new file mode 100644 index 000000000..39da1d528 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f451.png differ diff --git a/app/assets/images/emoji/unicode/1f452.png b/app/assets/images/emoji/unicode/1f452.png new file mode 100644 index 000000000..4cb2e6a69 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f452.png differ diff --git a/app/assets/images/emoji/unicode/1f453.png b/app/assets/images/emoji/unicode/1f453.png new file mode 100644 index 000000000..a3cf75a27 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f453.png differ diff --git a/app/assets/images/emoji/unicode/1f454.png b/app/assets/images/emoji/unicode/1f454.png new file mode 100644 index 000000000..80461c66f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f454.png differ diff --git a/app/assets/images/emoji/unicode/1f455.png b/app/assets/images/emoji/unicode/1f455.png new file mode 100644 index 000000000..297a6d63e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f455.png differ diff --git a/app/assets/images/emoji/unicode/1f456.png b/app/assets/images/emoji/unicode/1f456.png new file mode 100644 index 000000000..d721cea54 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f456.png differ diff --git a/app/assets/images/emoji/unicode/1f457.png b/app/assets/images/emoji/unicode/1f457.png new file mode 100644 index 000000000..6434e2e2f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f457.png differ diff --git a/app/assets/images/emoji/unicode/1f458.png b/app/assets/images/emoji/unicode/1f458.png new file mode 100644 index 000000000..34ffe137d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f458.png differ diff --git a/app/assets/images/emoji/unicode/1f459.png b/app/assets/images/emoji/unicode/1f459.png new file mode 100644 index 000000000..4ff63b40f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f459.png differ diff --git a/app/assets/images/emoji/unicode/1f45a.png b/app/assets/images/emoji/unicode/1f45a.png new file mode 100644 index 000000000..aa297c7b6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45a.png differ diff --git a/app/assets/images/emoji/unicode/1f45b.png b/app/assets/images/emoji/unicode/1f45b.png new file mode 100644 index 000000000..8f06a2b93 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45b.png differ diff --git a/app/assets/images/emoji/unicode/1f45c.png b/app/assets/images/emoji/unicode/1f45c.png new file mode 100644 index 000000000..d7adf04dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45c.png differ diff --git a/app/assets/images/emoji/unicode/1f45d.png b/app/assets/images/emoji/unicode/1f45d.png new file mode 100644 index 000000000..0bc5879fc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45d.png differ diff --git a/app/assets/images/emoji/unicode/1f45e.png b/app/assets/images/emoji/unicode/1f45e.png new file mode 100644 index 000000000..ecba9ba7d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45e.png differ diff --git a/app/assets/images/emoji/unicode/1f45f.png b/app/assets/images/emoji/unicode/1f45f.png new file mode 100644 index 000000000..45b82e61c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f45f.png differ diff --git a/app/assets/images/emoji/unicode/1f460.png b/app/assets/images/emoji/unicode/1f460.png new file mode 100644 index 000000000..525b6a0dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f460.png differ diff --git a/app/assets/images/emoji/unicode/1f461.png b/app/assets/images/emoji/unicode/1f461.png new file mode 100644 index 000000000..aa62cca5d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f461.png differ diff --git a/app/assets/images/emoji/unicode/1f462.png b/app/assets/images/emoji/unicode/1f462.png new file mode 100644 index 000000000..58d0fdbcd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f462.png differ diff --git a/app/assets/images/emoji/unicode/1f463.png b/app/assets/images/emoji/unicode/1f463.png new file mode 100644 index 000000000..d7a25614f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f463.png differ diff --git a/app/assets/images/emoji/unicode/1f464.png b/app/assets/images/emoji/unicode/1f464.png new file mode 100644 index 000000000..d13139869 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f464.png differ diff --git a/app/assets/images/emoji/unicode/1f465.png b/app/assets/images/emoji/unicode/1f465.png new file mode 100644 index 000000000..1f3aabcff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f465.png differ diff --git a/app/assets/images/emoji/unicode/1f466.png b/app/assets/images/emoji/unicode/1f466.png new file mode 100644 index 000000000..f79f1f298 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f466.png differ diff --git a/app/assets/images/emoji/unicode/1f467.png b/app/assets/images/emoji/unicode/1f467.png new file mode 100644 index 000000000..ea4126941 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f467.png differ diff --git a/app/assets/images/emoji/unicode/1f468.png b/app/assets/images/emoji/unicode/1f468.png new file mode 100644 index 000000000..d9bfa26a6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f468.png differ diff --git a/app/assets/images/emoji/unicode/1f469.png b/app/assets/images/emoji/unicode/1f469.png new file mode 100644 index 000000000..6bf0d2b12 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f469.png differ diff --git a/app/assets/images/emoji/unicode/1f46a.png b/app/assets/images/emoji/unicode/1f46a.png new file mode 100644 index 000000000..b4b365f3a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46a.png differ diff --git a/app/assets/images/emoji/unicode/1f46b.png b/app/assets/images/emoji/unicode/1f46b.png new file mode 100644 index 000000000..9e51f40e1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46b.png differ diff --git a/app/assets/images/emoji/unicode/1f46c.png b/app/assets/images/emoji/unicode/1f46c.png new file mode 100644 index 000000000..d1099f21f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46c.png differ diff --git a/app/assets/images/emoji/unicode/1f46d.png b/app/assets/images/emoji/unicode/1f46d.png new file mode 100644 index 000000000..619646c4e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46d.png differ diff --git a/app/assets/images/emoji/unicode/1f46e.png b/app/assets/images/emoji/unicode/1f46e.png new file mode 100644 index 000000000..43a5a84f8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46e.png differ diff --git a/app/assets/images/emoji/unicode/1f46f.png b/app/assets/images/emoji/unicode/1f46f.png new file mode 100644 index 000000000..2dfb451a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f46f.png differ diff --git a/app/assets/images/emoji/unicode/1f470.png b/app/assets/images/emoji/unicode/1f470.png new file mode 100644 index 000000000..dd0b0cfda Binary files /dev/null and b/app/assets/images/emoji/unicode/1f470.png differ diff --git a/app/assets/images/emoji/unicode/1f471.png b/app/assets/images/emoji/unicode/1f471.png new file mode 100644 index 000000000..c144301cb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f471.png differ diff --git a/app/assets/images/emoji/unicode/1f472.png b/app/assets/images/emoji/unicode/1f472.png new file mode 100644 index 000000000..7aad74b55 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f472.png differ diff --git a/app/assets/images/emoji/unicode/1f473.png b/app/assets/images/emoji/unicode/1f473.png new file mode 100644 index 000000000..036604caf Binary files /dev/null and b/app/assets/images/emoji/unicode/1f473.png differ diff --git a/app/assets/images/emoji/unicode/1f474.png b/app/assets/images/emoji/unicode/1f474.png new file mode 100644 index 000000000..149f0cfb8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f474.png differ diff --git a/app/assets/images/emoji/unicode/1f475.png b/app/assets/images/emoji/unicode/1f475.png new file mode 100644 index 000000000..f839565f4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f475.png differ diff --git a/app/assets/images/emoji/unicode/1f476.png b/app/assets/images/emoji/unicode/1f476.png new file mode 100644 index 000000000..3b29da40b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f476.png differ diff --git a/app/assets/images/emoji/unicode/1f477.png b/app/assets/images/emoji/unicode/1f477.png new file mode 100644 index 000000000..4d6486047 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f477.png differ diff --git a/app/assets/images/emoji/unicode/1f478.png b/app/assets/images/emoji/unicode/1f478.png new file mode 100644 index 000000000..1ebb2ce9b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f478.png differ diff --git a/app/assets/images/emoji/unicode/1f479.png b/app/assets/images/emoji/unicode/1f479.png new file mode 100644 index 000000000..e9f5471c9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f479.png differ diff --git a/app/assets/images/emoji/unicode/1f47a.png b/app/assets/images/emoji/unicode/1f47a.png new file mode 100644 index 000000000..bd21b1875 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47a.png differ diff --git a/app/assets/images/emoji/unicode/1f47b.png b/app/assets/images/emoji/unicode/1f47b.png new file mode 100644 index 000000000..671dd0c9e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47b.png differ diff --git a/app/assets/images/emoji/unicode/1f47c.png b/app/assets/images/emoji/unicode/1f47c.png new file mode 100644 index 000000000..da52c310c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47c.png differ diff --git a/app/assets/images/emoji/unicode/1f47d.png b/app/assets/images/emoji/unicode/1f47d.png new file mode 100644 index 000000000..e3fd76a78 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47d.png differ diff --git a/app/assets/images/emoji/unicode/1f47e.png b/app/assets/images/emoji/unicode/1f47e.png new file mode 100644 index 000000000..384049167 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47e.png differ diff --git a/app/assets/images/emoji/unicode/1f47f.png b/app/assets/images/emoji/unicode/1f47f.png new file mode 100644 index 000000000..48e570105 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f47f.png differ diff --git a/app/assets/images/emoji/unicode/1f480.png b/app/assets/images/emoji/unicode/1f480.png new file mode 100644 index 000000000..bd4ee3829 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f480.png differ diff --git a/app/assets/images/emoji/unicode/1f481.png b/app/assets/images/emoji/unicode/1f481.png new file mode 100644 index 000000000..52c0a50a3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f481.png differ diff --git a/app/assets/images/emoji/unicode/1f482.png b/app/assets/images/emoji/unicode/1f482.png new file mode 100644 index 000000000..b67b335d6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f482.png differ diff --git a/app/assets/images/emoji/unicode/1f483.png b/app/assets/images/emoji/unicode/1f483.png new file mode 100644 index 000000000..6885a0bc3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f483.png differ diff --git a/app/assets/images/emoji/unicode/1f484.png b/app/assets/images/emoji/unicode/1f484.png new file mode 100644 index 000000000..82f990c56 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f484.png differ diff --git a/app/assets/images/emoji/unicode/1f485.png b/app/assets/images/emoji/unicode/1f485.png new file mode 100644 index 000000000..6a66e63d2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f485.png differ diff --git a/app/assets/images/emoji/unicode/1f486.png b/app/assets/images/emoji/unicode/1f486.png new file mode 100644 index 000000000..dd30d1597 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f486.png differ diff --git a/app/assets/images/emoji/unicode/1f487.png b/app/assets/images/emoji/unicode/1f487.png new file mode 100644 index 000000000..902d273f6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f487.png differ diff --git a/app/assets/images/emoji/unicode/1f488.png b/app/assets/images/emoji/unicode/1f488.png new file mode 100644 index 000000000..a10cb2322 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f488.png differ diff --git a/app/assets/images/emoji/unicode/1f489.png b/app/assets/images/emoji/unicode/1f489.png new file mode 100644 index 000000000..e7e7ab6e3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f489.png differ diff --git a/app/assets/images/emoji/unicode/1f48a.png b/app/assets/images/emoji/unicode/1f48a.png new file mode 100644 index 000000000..cd84a78ff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48a.png differ diff --git a/app/assets/images/emoji/unicode/1f48b.png b/app/assets/images/emoji/unicode/1f48b.png new file mode 100644 index 000000000..4ae2c2b5d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48b.png differ diff --git a/app/assets/images/emoji/unicode/1f48c.png b/app/assets/images/emoji/unicode/1f48c.png new file mode 100644 index 000000000..e29981f44 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48c.png differ diff --git a/app/assets/images/emoji/unicode/1f48d.png b/app/assets/images/emoji/unicode/1f48d.png new file mode 100644 index 000000000..8a57fd68b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48d.png differ diff --git a/app/assets/images/emoji/unicode/1f48e.png b/app/assets/images/emoji/unicode/1f48e.png new file mode 100644 index 000000000..8a5d8dad5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48e.png differ diff --git a/app/assets/images/emoji/unicode/1f48f.png b/app/assets/images/emoji/unicode/1f48f.png new file mode 100644 index 000000000..d02790822 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f48f.png differ diff --git a/app/assets/images/emoji/unicode/1f490.png b/app/assets/images/emoji/unicode/1f490.png new file mode 100644 index 000000000..ce637832e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f490.png differ diff --git a/app/assets/images/emoji/unicode/1f491.png b/app/assets/images/emoji/unicode/1f491.png new file mode 100644 index 000000000..c503f40a9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f491.png differ diff --git a/app/assets/images/emoji/unicode/1f492.png b/app/assets/images/emoji/unicode/1f492.png new file mode 100644 index 000000000..ead19d52c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f492.png differ diff --git a/app/assets/images/emoji/unicode/1f493.png b/app/assets/images/emoji/unicode/1f493.png new file mode 100644 index 000000000..b6628f6fa Binary files /dev/null and b/app/assets/images/emoji/unicode/1f493.png differ diff --git a/app/assets/images/emoji/unicode/1f494.png b/app/assets/images/emoji/unicode/1f494.png new file mode 100644 index 000000000..a1bc850ec Binary files /dev/null and b/app/assets/images/emoji/unicode/1f494.png differ diff --git a/app/assets/images/emoji/unicode/1f495.png b/app/assets/images/emoji/unicode/1f495.png new file mode 100644 index 000000000..b189e9aea Binary files /dev/null and b/app/assets/images/emoji/unicode/1f495.png differ diff --git a/app/assets/images/emoji/unicode/1f496.png b/app/assets/images/emoji/unicode/1f496.png new file mode 100644 index 000000000..0826bbc06 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f496.png differ diff --git a/app/assets/images/emoji/unicode/1f497.png b/app/assets/images/emoji/unicode/1f497.png new file mode 100644 index 000000000..a7491cbea Binary files /dev/null and b/app/assets/images/emoji/unicode/1f497.png differ diff --git a/app/assets/images/emoji/unicode/1f498.png b/app/assets/images/emoji/unicode/1f498.png new file mode 100644 index 000000000..498728476 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f498.png differ diff --git a/app/assets/images/emoji/unicode/1f499.png b/app/assets/images/emoji/unicode/1f499.png new file mode 100644 index 000000000..baa29b31b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f499.png differ diff --git a/app/assets/images/emoji/unicode/1f49a.png b/app/assets/images/emoji/unicode/1f49a.png new file mode 100644 index 000000000..7289cb814 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49a.png differ diff --git a/app/assets/images/emoji/unicode/1f49b.png b/app/assets/images/emoji/unicode/1f49b.png new file mode 100644 index 000000000..fa41ce78a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49b.png differ diff --git a/app/assets/images/emoji/unicode/1f49c.png b/app/assets/images/emoji/unicode/1f49c.png new file mode 100644 index 000000000..d5f875043 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49c.png differ diff --git a/app/assets/images/emoji/unicode/1f49d.png b/app/assets/images/emoji/unicode/1f49d.png new file mode 100644 index 000000000..f31c26a3f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49d.png differ diff --git a/app/assets/images/emoji/unicode/1f49e.png b/app/assets/images/emoji/unicode/1f49e.png new file mode 100644 index 000000000..ea3317c47 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49e.png differ diff --git a/app/assets/images/emoji/unicode/1f49f.png b/app/assets/images/emoji/unicode/1f49f.png new file mode 100644 index 000000000..b40a48675 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f49f.png differ diff --git a/app/assets/images/emoji/unicode/1f4a0.png b/app/assets/images/emoji/unicode/1f4a0.png new file mode 100644 index 000000000..dfd1098b3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a0.png differ diff --git a/app/assets/images/emoji/unicode/1f4a1.png b/app/assets/images/emoji/unicode/1f4a1.png new file mode 100644 index 000000000..23afca1c7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a1.png differ diff --git a/app/assets/images/emoji/unicode/1f4a2.png b/app/assets/images/emoji/unicode/1f4a2.png new file mode 100644 index 000000000..6fb4dca18 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a2.png differ diff --git a/app/assets/images/emoji/unicode/1f4a3.png b/app/assets/images/emoji/unicode/1f4a3.png new file mode 100644 index 000000000..3289787dc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a3.png differ diff --git a/app/assets/images/emoji/unicode/1f4a4.png b/app/assets/images/emoji/unicode/1f4a4.png new file mode 100644 index 000000000..30be04655 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a4.png differ diff --git a/app/assets/images/emoji/unicode/1f4a5.png b/app/assets/images/emoji/unicode/1f4a5.png new file mode 100644 index 000000000..bddeb8f49 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a5.png differ diff --git a/app/assets/images/emoji/unicode/1f4a6.png b/app/assets/images/emoji/unicode/1f4a6.png new file mode 100644 index 000000000..a83b3e960 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a6.png differ diff --git a/app/assets/images/emoji/unicode/1f4a7.png b/app/assets/images/emoji/unicode/1f4a7.png new file mode 100644 index 000000000..9eff46339 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a7.png differ diff --git a/app/assets/images/emoji/unicode/1f4a8.png b/app/assets/images/emoji/unicode/1f4a8.png new file mode 100644 index 000000000..dc2c0a8f4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a8.png differ diff --git a/app/assets/images/emoji/unicode/1f4a9.png b/app/assets/images/emoji/unicode/1f4a9.png new file mode 100644 index 000000000..73a4dc840 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4a9.png differ diff --git a/app/assets/images/emoji/unicode/1f4aa.png b/app/assets/images/emoji/unicode/1f4aa.png new file mode 100644 index 000000000..19f92efb6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4aa.png differ diff --git a/app/assets/images/emoji/unicode/1f4ab.png b/app/assets/images/emoji/unicode/1f4ab.png new file mode 100644 index 000000000..55213d2dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ab.png differ diff --git a/app/assets/images/emoji/unicode/1f4ac.png b/app/assets/images/emoji/unicode/1f4ac.png new file mode 100644 index 000000000..2896c2788 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ac.png differ diff --git a/app/assets/images/emoji/unicode/1f4ad.png b/app/assets/images/emoji/unicode/1f4ad.png new file mode 100644 index 000000000..701bdf0f6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ad.png differ diff --git a/app/assets/images/emoji/unicode/1f4ae.png b/app/assets/images/emoji/unicode/1f4ae.png new file mode 100644 index 000000000..c0929d0dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ae.png differ diff --git a/app/assets/images/emoji/unicode/1f4af.png b/app/assets/images/emoji/unicode/1f4af.png new file mode 100644 index 000000000..bce9ab14f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4af.png differ diff --git a/app/assets/images/emoji/unicode/1f4b0.png b/app/assets/images/emoji/unicode/1f4b0.png new file mode 100644 index 000000000..5546c04ba Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b0.png differ diff --git a/app/assets/images/emoji/unicode/1f4b1.png b/app/assets/images/emoji/unicode/1f4b1.png new file mode 100644 index 000000000..d5ee21fc6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b1.png differ diff --git a/app/assets/images/emoji/unicode/1f4b2.png b/app/assets/images/emoji/unicode/1f4b2.png new file mode 100644 index 000000000..361e26aef Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b2.png differ diff --git a/app/assets/images/emoji/unicode/1f4b3.png b/app/assets/images/emoji/unicode/1f4b3.png new file mode 100644 index 000000000..be1c1dd30 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b3.png differ diff --git a/app/assets/images/emoji/unicode/1f4b4.png b/app/assets/images/emoji/unicode/1f4b4.png new file mode 100644 index 000000000..139bc936e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b4.png differ diff --git a/app/assets/images/emoji/unicode/1f4b5.png b/app/assets/images/emoji/unicode/1f4b5.png new file mode 100644 index 000000000..63de88495 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b5.png differ diff --git a/app/assets/images/emoji/unicode/1f4b6.png b/app/assets/images/emoji/unicode/1f4b6.png new file mode 100644 index 000000000..1c5904b71 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b6.png differ diff --git a/app/assets/images/emoji/unicode/1f4b7.png b/app/assets/images/emoji/unicode/1f4b7.png new file mode 100644 index 000000000..f8be91d7a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b7.png differ diff --git a/app/assets/images/emoji/unicode/1f4b8.png b/app/assets/images/emoji/unicode/1f4b8.png new file mode 100644 index 000000000..135e3981e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b8.png differ diff --git a/app/assets/images/emoji/unicode/1f4b9.png b/app/assets/images/emoji/unicode/1f4b9.png new file mode 100644 index 000000000..ac2c4bb09 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4b9.png differ diff --git a/app/assets/images/emoji/unicode/1f4ba.png b/app/assets/images/emoji/unicode/1f4ba.png new file mode 100644 index 000000000..d1cb864b4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ba.png differ diff --git a/app/assets/images/emoji/unicode/1f4bb.png b/app/assets/images/emoji/unicode/1f4bb.png new file mode 100644 index 000000000..d4d268762 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4bb.png differ diff --git a/app/assets/images/emoji/unicode/1f4bc.png b/app/assets/images/emoji/unicode/1f4bc.png new file mode 100644 index 000000000..46e82b001 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4bc.png differ diff --git a/app/assets/images/emoji/unicode/1f4bd.png b/app/assets/images/emoji/unicode/1f4bd.png new file mode 100644 index 000000000..e19cc5d01 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4bd.png differ diff --git a/app/assets/images/emoji/unicode/1f4be.png b/app/assets/images/emoji/unicode/1f4be.png new file mode 100644 index 000000000..4ad56315a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4be.png differ diff --git a/app/assets/images/emoji/unicode/1f4bf.png b/app/assets/images/emoji/unicode/1f4bf.png new file mode 100644 index 000000000..baff835c4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4bf.png differ diff --git a/app/assets/images/emoji/unicode/1f4c0.png b/app/assets/images/emoji/unicode/1f4c0.png new file mode 100644 index 000000000..363c83d01 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c0.png differ diff --git a/app/assets/images/emoji/unicode/1f4c1.png b/app/assets/images/emoji/unicode/1f4c1.png new file mode 100644 index 000000000..4d8bebf8a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c1.png differ diff --git a/app/assets/images/emoji/unicode/1f4c2.png b/app/assets/images/emoji/unicode/1f4c2.png new file mode 100644 index 000000000..2bbbbf5e7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c2.png differ diff --git a/app/assets/images/emoji/unicode/1f4c3.png b/app/assets/images/emoji/unicode/1f4c3.png new file mode 100644 index 000000000..bf8f979d3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c3.png differ diff --git a/app/assets/images/emoji/unicode/1f4c4.png b/app/assets/images/emoji/unicode/1f4c4.png new file mode 100644 index 000000000..64cd2e1b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c4.png differ diff --git a/app/assets/images/emoji/unicode/1f4c5.png b/app/assets/images/emoji/unicode/1f4c5.png new file mode 100644 index 000000000..6ad2efa5f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c5.png differ diff --git a/app/assets/images/emoji/unicode/1f4c6.png b/app/assets/images/emoji/unicode/1f4c6.png new file mode 100644 index 000000000..900b868bb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c6.png differ diff --git a/app/assets/images/emoji/unicode/1f4c7.png b/app/assets/images/emoji/unicode/1f4c7.png new file mode 100644 index 000000000..374e94e9e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c7.png differ diff --git a/app/assets/images/emoji/unicode/1f4c8.png b/app/assets/images/emoji/unicode/1f4c8.png new file mode 100644 index 000000000..de3e9ba7b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c8.png differ diff --git a/app/assets/images/emoji/unicode/1f4c9.png b/app/assets/images/emoji/unicode/1f4c9.png new file mode 100644 index 000000000..65b82f044 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4c9.png differ diff --git a/app/assets/images/emoji/unicode/1f4ca.png b/app/assets/images/emoji/unicode/1f4ca.png new file mode 100644 index 000000000..7871cc603 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ca.png differ diff --git a/app/assets/images/emoji/unicode/1f4cb.png b/app/assets/images/emoji/unicode/1f4cb.png new file mode 100644 index 000000000..e2c74e6df Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4cb.png differ diff --git a/app/assets/images/emoji/unicode/1f4cc.png b/app/assets/images/emoji/unicode/1f4cc.png new file mode 100644 index 000000000..540c4ecb8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4cc.png differ diff --git a/app/assets/images/emoji/unicode/1f4cd.png b/app/assets/images/emoji/unicode/1f4cd.png new file mode 100644 index 000000000..e498e92cf Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4cd.png differ diff --git a/app/assets/images/emoji/unicode/1f4ce.png b/app/assets/images/emoji/unicode/1f4ce.png new file mode 100644 index 000000000..774412dc1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ce.png differ diff --git a/app/assets/images/emoji/unicode/1f4cf.png b/app/assets/images/emoji/unicode/1f4cf.png new file mode 100644 index 000000000..af8cb4bcf Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4cf.png differ diff --git a/app/assets/images/emoji/unicode/1f4d0.png b/app/assets/images/emoji/unicode/1f4d0.png new file mode 100644 index 000000000..383677cb7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d0.png differ diff --git a/app/assets/images/emoji/unicode/1f4d1.png b/app/assets/images/emoji/unicode/1f4d1.png new file mode 100644 index 000000000..0c4e3bf17 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d1.png differ diff --git a/app/assets/images/emoji/unicode/1f4d2.png b/app/assets/images/emoji/unicode/1f4d2.png new file mode 100644 index 000000000..e4f72acea Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d2.png differ diff --git a/app/assets/images/emoji/unicode/1f4d3.png b/app/assets/images/emoji/unicode/1f4d3.png new file mode 100644 index 000000000..07ea6087e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d3.png differ diff --git a/app/assets/images/emoji/unicode/1f4d4.png b/app/assets/images/emoji/unicode/1f4d4.png new file mode 100644 index 000000000..4f3b14c85 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d4.png differ diff --git a/app/assets/images/emoji/unicode/1f4d5.png b/app/assets/images/emoji/unicode/1f4d5.png new file mode 100644 index 000000000..484029c5e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d5.png differ diff --git a/app/assets/images/emoji/unicode/1f4d6.png b/app/assets/images/emoji/unicode/1f4d6.png new file mode 100644 index 000000000..8b698415c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d6.png differ diff --git a/app/assets/images/emoji/unicode/1f4d7.png b/app/assets/images/emoji/unicode/1f4d7.png new file mode 100644 index 000000000..e86651e5c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d7.png differ diff --git a/app/assets/images/emoji/unicode/1f4d8.png b/app/assets/images/emoji/unicode/1f4d8.png new file mode 100644 index 000000000..e2b9e8c79 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d8.png differ diff --git a/app/assets/images/emoji/unicode/1f4d9.png b/app/assets/images/emoji/unicode/1f4d9.png new file mode 100644 index 000000000..49650d59e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4d9.png differ diff --git a/app/assets/images/emoji/unicode/1f4da.png b/app/assets/images/emoji/unicode/1f4da.png new file mode 100644 index 000000000..dca06a1ad Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4da.png differ diff --git a/app/assets/images/emoji/unicode/1f4db.png b/app/assets/images/emoji/unicode/1f4db.png new file mode 100644 index 000000000..2b712dcd5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4db.png differ diff --git a/app/assets/images/emoji/unicode/1f4dc.png b/app/assets/images/emoji/unicode/1f4dc.png new file mode 100644 index 000000000..c5a10e6b8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4dc.png differ diff --git a/app/assets/images/emoji/unicode/1f4dd.png b/app/assets/images/emoji/unicode/1f4dd.png new file mode 100644 index 000000000..fc97ddbc9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4dd.png differ diff --git a/app/assets/images/emoji/unicode/1f4de.png b/app/assets/images/emoji/unicode/1f4de.png new file mode 100644 index 000000000..36e21e012 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4de.png differ diff --git a/app/assets/images/emoji/unicode/1f4df.png b/app/assets/images/emoji/unicode/1f4df.png new file mode 100644 index 000000000..e3e1fc44e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4df.png differ diff --git a/app/assets/images/emoji/unicode/1f4e0.png b/app/assets/images/emoji/unicode/1f4e0.png new file mode 100644 index 000000000..62be2c958 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e0.png differ diff --git a/app/assets/images/emoji/unicode/1f4e1.png b/app/assets/images/emoji/unicode/1f4e1.png new file mode 100644 index 000000000..3481cc2ef Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e1.png differ diff --git a/app/assets/images/emoji/unicode/1f4e2.png b/app/assets/images/emoji/unicode/1f4e2.png new file mode 100644 index 000000000..752385e52 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e2.png differ diff --git a/app/assets/images/emoji/unicode/1f4e3.png b/app/assets/images/emoji/unicode/1f4e3.png new file mode 100644 index 000000000..5d9319e72 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e3.png differ diff --git a/app/assets/images/emoji/unicode/1f4e4.png b/app/assets/images/emoji/unicode/1f4e4.png new file mode 100644 index 000000000..7ad15e649 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e4.png differ diff --git a/app/assets/images/emoji/unicode/1f4e5.png b/app/assets/images/emoji/unicode/1f4e5.png new file mode 100644 index 000000000..e2df0f897 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e5.png differ diff --git a/app/assets/images/emoji/unicode/1f4e6.png b/app/assets/images/emoji/unicode/1f4e6.png new file mode 100644 index 000000000..26602af9d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e6.png differ diff --git a/app/assets/images/emoji/unicode/1f4e7.png b/app/assets/images/emoji/unicode/1f4e7.png new file mode 100644 index 000000000..176a8e1e8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e7.png differ diff --git a/app/assets/images/emoji/unicode/1f4e8.png b/app/assets/images/emoji/unicode/1f4e8.png new file mode 100644 index 000000000..afc827125 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e8.png differ diff --git a/app/assets/images/emoji/unicode/1f4e9.png b/app/assets/images/emoji/unicode/1f4e9.png new file mode 100644 index 000000000..0e01fd5f0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4e9.png differ diff --git a/app/assets/images/emoji/unicode/1f4ea.png b/app/assets/images/emoji/unicode/1f4ea.png new file mode 100644 index 000000000..a5982b69b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ea.png differ diff --git a/app/assets/images/emoji/unicode/1f4eb.png b/app/assets/images/emoji/unicode/1f4eb.png new file mode 100644 index 000000000..8351e7076 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4eb.png differ diff --git a/app/assets/images/emoji/unicode/1f4ec.png b/app/assets/images/emoji/unicode/1f4ec.png new file mode 100644 index 000000000..dae345943 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ec.png differ diff --git a/app/assets/images/emoji/unicode/1f4ed.png b/app/assets/images/emoji/unicode/1f4ed.png new file mode 100644 index 000000000..59f15c5d7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ed.png differ diff --git a/app/assets/images/emoji/unicode/1f4ee.png b/app/assets/images/emoji/unicode/1f4ee.png new file mode 100644 index 000000000..ce04b7008 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ee.png differ diff --git a/app/assets/images/emoji/unicode/1f4ef.png b/app/assets/images/emoji/unicode/1f4ef.png new file mode 100644 index 000000000..e9b713bbe Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4ef.png differ diff --git a/app/assets/images/emoji/unicode/1f4f0.png b/app/assets/images/emoji/unicode/1f4f0.png new file mode 100644 index 000000000..d171394e6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f0.png differ diff --git a/app/assets/images/emoji/unicode/1f4f1.png b/app/assets/images/emoji/unicode/1f4f1.png new file mode 100644 index 000000000..df007103b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f1.png differ diff --git a/app/assets/images/emoji/unicode/1f4f2.png b/app/assets/images/emoji/unicode/1f4f2.png new file mode 100644 index 000000000..837897f26 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f2.png differ diff --git a/app/assets/images/emoji/unicode/1f4f3.png b/app/assets/images/emoji/unicode/1f4f3.png new file mode 100644 index 000000000..a716e96c6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f3.png differ diff --git a/app/assets/images/emoji/unicode/1f4f4.png b/app/assets/images/emoji/unicode/1f4f4.png new file mode 100644 index 000000000..fa16c763c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f4.png differ diff --git a/app/assets/images/emoji/unicode/1f4f5.png b/app/assets/images/emoji/unicode/1f4f5.png new file mode 100644 index 000000000..41df57cf8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f5.png differ diff --git a/app/assets/images/emoji/unicode/1f4f6.png b/app/assets/images/emoji/unicode/1f4f6.png new file mode 100644 index 000000000..a4bd23ebf Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f6.png differ diff --git a/app/assets/images/emoji/unicode/1f4f7.png b/app/assets/images/emoji/unicode/1f4f7.png new file mode 100644 index 000000000..397d03b39 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f7.png differ diff --git a/app/assets/images/emoji/unicode/1f4f9.png b/app/assets/images/emoji/unicode/1f4f9.png new file mode 100644 index 000000000..274cecdd6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4f9.png differ diff --git a/app/assets/images/emoji/unicode/1f4fa.png b/app/assets/images/emoji/unicode/1f4fa.png new file mode 100644 index 000000000..803dc3d41 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4fa.png differ diff --git a/app/assets/images/emoji/unicode/1f4fb.png b/app/assets/images/emoji/unicode/1f4fb.png new file mode 100644 index 000000000..ea589efe3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4fb.png differ diff --git a/app/assets/images/emoji/unicode/1f4fc.png b/app/assets/images/emoji/unicode/1f4fc.png new file mode 100644 index 000000000..881081c17 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f4fc.png differ diff --git a/app/assets/images/emoji/unicode/1f500.png b/app/assets/images/emoji/unicode/1f500.png new file mode 100644 index 000000000..25cde18b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f500.png differ diff --git a/app/assets/images/emoji/unicode/1f501.png b/app/assets/images/emoji/unicode/1f501.png new file mode 100644 index 000000000..80113b692 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f501.png differ diff --git a/app/assets/images/emoji/unicode/1f502.png b/app/assets/images/emoji/unicode/1f502.png new file mode 100644 index 000000000..3c47bcc1f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f502.png differ diff --git a/app/assets/images/emoji/unicode/1f503.png b/app/assets/images/emoji/unicode/1f503.png new file mode 100644 index 000000000..5f84d7e72 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f503.png differ diff --git a/app/assets/images/emoji/unicode/1f504.png b/app/assets/images/emoji/unicode/1f504.png new file mode 100644 index 000000000..1933ae18b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f504.png differ diff --git a/app/assets/images/emoji/unicode/1f505.png b/app/assets/images/emoji/unicode/1f505.png new file mode 100644 index 000000000..ea15bde4f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f505.png differ diff --git a/app/assets/images/emoji/unicode/1f506.png b/app/assets/images/emoji/unicode/1f506.png new file mode 100644 index 000000000..ba9de7d40 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f506.png differ diff --git a/app/assets/images/emoji/unicode/1f507.png b/app/assets/images/emoji/unicode/1f507.png new file mode 100644 index 000000000..4cf67c367 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f507.png differ diff --git a/app/assets/images/emoji/unicode/1f509.png b/app/assets/images/emoji/unicode/1f509.png new file mode 100644 index 000000000..6aa4dbff4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f509.png differ diff --git a/app/assets/images/emoji/unicode/1f50a.png b/app/assets/images/emoji/unicode/1f50a.png new file mode 100644 index 000000000..c884bd4f6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50a.png differ diff --git a/app/assets/images/emoji/unicode/1f50b.png b/app/assets/images/emoji/unicode/1f50b.png new file mode 100644 index 000000000..aa7eedce4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50b.png differ diff --git a/app/assets/images/emoji/unicode/1f50c.png b/app/assets/images/emoji/unicode/1f50c.png new file mode 100644 index 000000000..7a3d6cee6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50c.png differ diff --git a/app/assets/images/emoji/unicode/1f50d.png b/app/assets/images/emoji/unicode/1f50d.png new file mode 100644 index 000000000..aa5b1d7c4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50d.png differ diff --git a/app/assets/images/emoji/unicode/1f50e.png b/app/assets/images/emoji/unicode/1f50e.png new file mode 100644 index 000000000..6e6cf11e6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50e.png differ diff --git a/app/assets/images/emoji/unicode/1f50f.png b/app/assets/images/emoji/unicode/1f50f.png new file mode 100644 index 000000000..375e67e82 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f50f.png differ diff --git a/app/assets/images/emoji/unicode/1f510.png b/app/assets/images/emoji/unicode/1f510.png new file mode 100644 index 000000000..e6fdf6cb2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f510.png differ diff --git a/app/assets/images/emoji/unicode/1f511.png b/app/assets/images/emoji/unicode/1f511.png new file mode 100644 index 000000000..34673213f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f511.png differ diff --git a/app/assets/images/emoji/unicode/1f512.png b/app/assets/images/emoji/unicode/1f512.png new file mode 100644 index 000000000..4892b0235 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f512.png differ diff --git a/app/assets/images/emoji/unicode/1f513.png b/app/assets/images/emoji/unicode/1f513.png new file mode 100644 index 000000000..22b429cd0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f513.png differ diff --git a/app/assets/images/emoji/unicode/1f514.png b/app/assets/images/emoji/unicode/1f514.png new file mode 100644 index 000000000..69acceb28 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f514.png differ diff --git a/app/assets/images/emoji/unicode/1f515.png b/app/assets/images/emoji/unicode/1f515.png new file mode 100644 index 000000000..613b81cd2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f515.png differ diff --git a/app/assets/images/emoji/unicode/1f516.png b/app/assets/images/emoji/unicode/1f516.png new file mode 100644 index 000000000..dbee45c60 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f516.png differ diff --git a/app/assets/images/emoji/unicode/1f517.png b/app/assets/images/emoji/unicode/1f517.png new file mode 100644 index 000000000..ffb8f62ce Binary files /dev/null and b/app/assets/images/emoji/unicode/1f517.png differ diff --git a/app/assets/images/emoji/unicode/1f518.png b/app/assets/images/emoji/unicode/1f518.png new file mode 100644 index 000000000..63755eec2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f518.png differ diff --git a/app/assets/images/emoji/unicode/1f519.png b/app/assets/images/emoji/unicode/1f519.png new file mode 100644 index 000000000..0cde62876 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f519.png differ diff --git a/app/assets/images/emoji/unicode/1f51a.png b/app/assets/images/emoji/unicode/1f51a.png new file mode 100644 index 000000000..edb0bda24 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51a.png differ diff --git a/app/assets/images/emoji/unicode/1f51b.png b/app/assets/images/emoji/unicode/1f51b.png new file mode 100644 index 000000000..3595387fb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51b.png differ diff --git a/app/assets/images/emoji/unicode/1f51c.png b/app/assets/images/emoji/unicode/1f51c.png new file mode 100644 index 000000000..9386615a3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51c.png differ diff --git a/app/assets/images/emoji/unicode/1f51d.png b/app/assets/images/emoji/unicode/1f51d.png new file mode 100644 index 000000000..5aa4dd442 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51d.png differ diff --git a/app/assets/images/emoji/unicode/1f51e.png b/app/assets/images/emoji/unicode/1f51e.png new file mode 100644 index 000000000..a789b3c62 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51e.png differ diff --git a/app/assets/images/emoji/unicode/1f51f.png b/app/assets/images/emoji/unicode/1f51f.png new file mode 100644 index 000000000..71dac1c1c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f51f.png differ diff --git a/app/assets/images/emoji/unicode/1f520.png b/app/assets/images/emoji/unicode/1f520.png new file mode 100644 index 000000000..ffc0cba4b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f520.png differ diff --git a/app/assets/images/emoji/unicode/1f521.png b/app/assets/images/emoji/unicode/1f521.png new file mode 100644 index 000000000..5218470b6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f521.png differ diff --git a/app/assets/images/emoji/unicode/1f522.png b/app/assets/images/emoji/unicode/1f522.png new file mode 100644 index 000000000..c47c2e1f9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f522.png differ diff --git a/app/assets/images/emoji/unicode/1f523.png b/app/assets/images/emoji/unicode/1f523.png new file mode 100644 index 000000000..16bc1da92 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f523.png differ diff --git a/app/assets/images/emoji/unicode/1f524.png b/app/assets/images/emoji/unicode/1f524.png new file mode 100644 index 000000000..505d40a15 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f524.png differ diff --git a/app/assets/images/emoji/unicode/1f525.png b/app/assets/images/emoji/unicode/1f525.png new file mode 100644 index 000000000..f2a3149bb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f525.png differ diff --git a/app/assets/images/emoji/unicode/1f526.png b/app/assets/images/emoji/unicode/1f526.png new file mode 100644 index 000000000..215940aa8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f526.png differ diff --git a/app/assets/images/emoji/unicode/1f527.png b/app/assets/images/emoji/unicode/1f527.png new file mode 100644 index 000000000..a87072ad1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f527.png differ diff --git a/app/assets/images/emoji/unicode/1f528.png b/app/assets/images/emoji/unicode/1f528.png new file mode 100644 index 000000000..6b75bc37b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f528.png differ diff --git a/app/assets/images/emoji/unicode/1f529.png b/app/assets/images/emoji/unicode/1f529.png new file mode 100644 index 000000000..bddfa72a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f529.png differ diff --git a/app/assets/images/emoji/unicode/1f52a.png b/app/assets/images/emoji/unicode/1f52a.png new file mode 100644 index 000000000..18eade0ac Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52a.png differ diff --git a/app/assets/images/emoji/unicode/1f52b.png b/app/assets/images/emoji/unicode/1f52b.png new file mode 100644 index 000000000..c49dc52c6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52b.png differ diff --git a/app/assets/images/emoji/unicode/1f52c.png b/app/assets/images/emoji/unicode/1f52c.png new file mode 100644 index 000000000..f11d54c01 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52c.png differ diff --git a/app/assets/images/emoji/unicode/1f52d.png b/app/assets/images/emoji/unicode/1f52d.png new file mode 100644 index 000000000..51fd8a07f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52d.png differ diff --git a/app/assets/images/emoji/unicode/1f52e.png b/app/assets/images/emoji/unicode/1f52e.png new file mode 100644 index 000000000..6d2c6c42d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52e.png differ diff --git a/app/assets/images/emoji/unicode/1f52f.png b/app/assets/images/emoji/unicode/1f52f.png new file mode 100644 index 000000000..010f8f5f9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f52f.png differ diff --git a/app/assets/images/emoji/unicode/1f530.png b/app/assets/images/emoji/unicode/1f530.png new file mode 100644 index 000000000..1f022d175 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f530.png differ diff --git a/app/assets/images/emoji/unicode/1f531.png b/app/assets/images/emoji/unicode/1f531.png new file mode 100644 index 000000000..d79a7b4cc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f531.png differ diff --git a/app/assets/images/emoji/unicode/1f532.png b/app/assets/images/emoji/unicode/1f532.png new file mode 100644 index 000000000..7332e397c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f532.png differ diff --git a/app/assets/images/emoji/unicode/1f533.png b/app/assets/images/emoji/unicode/1f533.png new file mode 100644 index 000000000..63c7a3ef4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f533.png differ diff --git a/app/assets/images/emoji/unicode/1f534.png b/app/assets/images/emoji/unicode/1f534.png new file mode 100644 index 000000000..b391289b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f534.png differ diff --git a/app/assets/images/emoji/unicode/1f535.png b/app/assets/images/emoji/unicode/1f535.png new file mode 100644 index 000000000..a5b4ad4aa Binary files /dev/null and b/app/assets/images/emoji/unicode/1f535.png differ diff --git a/app/assets/images/emoji/unicode/1f536.png b/app/assets/images/emoji/unicode/1f536.png new file mode 100644 index 000000000..46d52e5cb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f536.png differ diff --git a/app/assets/images/emoji/unicode/1f537.png b/app/assets/images/emoji/unicode/1f537.png new file mode 100644 index 000000000..f4598ec0f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f537.png differ diff --git a/app/assets/images/emoji/unicode/1f538.png b/app/assets/images/emoji/unicode/1f538.png new file mode 100644 index 000000000..04941d37b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f538.png differ diff --git a/app/assets/images/emoji/unicode/1f539.png b/app/assets/images/emoji/unicode/1f539.png new file mode 100644 index 000000000..5a7b5d555 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f539.png differ diff --git a/app/assets/images/emoji/unicode/1f53a.png b/app/assets/images/emoji/unicode/1f53a.png new file mode 100644 index 000000000..8c4428da8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f53a.png differ diff --git a/app/assets/images/emoji/unicode/1f53b.png b/app/assets/images/emoji/unicode/1f53b.png new file mode 100644 index 000000000..94832f060 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f53b.png differ diff --git a/app/assets/images/emoji/unicode/1f53c.png b/app/assets/images/emoji/unicode/1f53c.png new file mode 100644 index 000000000..121733197 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f53c.png differ diff --git a/app/assets/images/emoji/unicode/1f53d.png b/app/assets/images/emoji/unicode/1f53d.png new file mode 100644 index 000000000..f7f2d5101 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f53d.png differ diff --git a/app/assets/images/emoji/unicode/1f550.png b/app/assets/images/emoji/unicode/1f550.png new file mode 100644 index 000000000..ca34e8975 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f550.png differ diff --git a/app/assets/images/emoji/unicode/1f551.png b/app/assets/images/emoji/unicode/1f551.png new file mode 100644 index 000000000..1a12524ee Binary files /dev/null and b/app/assets/images/emoji/unicode/1f551.png differ diff --git a/app/assets/images/emoji/unicode/1f552.png b/app/assets/images/emoji/unicode/1f552.png new file mode 100644 index 000000000..cd99bb155 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f552.png differ diff --git a/app/assets/images/emoji/unicode/1f553.png b/app/assets/images/emoji/unicode/1f553.png new file mode 100644 index 000000000..7274e8b07 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f553.png differ diff --git a/app/assets/images/emoji/unicode/1f554.png b/app/assets/images/emoji/unicode/1f554.png new file mode 100644 index 000000000..3ed5a81af Binary files /dev/null and b/app/assets/images/emoji/unicode/1f554.png differ diff --git a/app/assets/images/emoji/unicode/1f555.png b/app/assets/images/emoji/unicode/1f555.png new file mode 100644 index 000000000..ac38cb926 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f555.png differ diff --git a/app/assets/images/emoji/unicode/1f556.png b/app/assets/images/emoji/unicode/1f556.png new file mode 100644 index 000000000..6a138dfde Binary files /dev/null and b/app/assets/images/emoji/unicode/1f556.png differ diff --git a/app/assets/images/emoji/unicode/1f557.png b/app/assets/images/emoji/unicode/1f557.png new file mode 100644 index 000000000..6690cd74e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f557.png differ diff --git a/app/assets/images/emoji/unicode/1f558.png b/app/assets/images/emoji/unicode/1f558.png new file mode 100644 index 000000000..c4ad74609 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f558.png differ diff --git a/app/assets/images/emoji/unicode/1f559.png b/app/assets/images/emoji/unicode/1f559.png new file mode 100644 index 000000000..f710bef5c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f559.png differ diff --git a/app/assets/images/emoji/unicode/1f55a.png b/app/assets/images/emoji/unicode/1f55a.png new file mode 100644 index 000000000..fbc165b99 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55a.png differ diff --git a/app/assets/images/emoji/unicode/1f55b.png b/app/assets/images/emoji/unicode/1f55b.png new file mode 100644 index 000000000..c1ca82f39 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55b.png differ diff --git a/app/assets/images/emoji/unicode/1f55c.png b/app/assets/images/emoji/unicode/1f55c.png new file mode 100644 index 000000000..df9392019 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55c.png differ diff --git a/app/assets/images/emoji/unicode/1f55d.png b/app/assets/images/emoji/unicode/1f55d.png new file mode 100644 index 000000000..f12c6912a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55d.png differ diff --git a/app/assets/images/emoji/unicode/1f55e.png b/app/assets/images/emoji/unicode/1f55e.png new file mode 100644 index 000000000..1dc9628ea Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55e.png differ diff --git a/app/assets/images/emoji/unicode/1f55f.png b/app/assets/images/emoji/unicode/1f55f.png new file mode 100644 index 000000000..7726aaea1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f55f.png differ diff --git a/app/assets/images/emoji/unicode/1f560.png b/app/assets/images/emoji/unicode/1f560.png new file mode 100644 index 000000000..e08d4ad2b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f560.png differ diff --git a/app/assets/images/emoji/unicode/1f561.png b/app/assets/images/emoji/unicode/1f561.png new file mode 100644 index 000000000..46f0681f1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f561.png differ diff --git a/app/assets/images/emoji/unicode/1f562.png b/app/assets/images/emoji/unicode/1f562.png new file mode 100644 index 000000000..18aab22fd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f562.png differ diff --git a/app/assets/images/emoji/unicode/1f563.png b/app/assets/images/emoji/unicode/1f563.png new file mode 100644 index 000000000..ec3e382dd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f563.png differ diff --git a/app/assets/images/emoji/unicode/1f564.png b/app/assets/images/emoji/unicode/1f564.png new file mode 100644 index 000000000..fd3522142 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f564.png differ diff --git a/app/assets/images/emoji/unicode/1f565.png b/app/assets/images/emoji/unicode/1f565.png new file mode 100644 index 000000000..84a3bc8fb Binary files /dev/null and b/app/assets/images/emoji/unicode/1f565.png differ diff --git a/app/assets/images/emoji/unicode/1f566.png b/app/assets/images/emoji/unicode/1f566.png new file mode 100644 index 000000000..415999ec8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f566.png differ diff --git a/app/assets/images/emoji/unicode/1f567.png b/app/assets/images/emoji/unicode/1f567.png new file mode 100644 index 000000000..a6527154d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f567.png differ diff --git a/app/assets/images/emoji/unicode/1f5fb.png b/app/assets/images/emoji/unicode/1f5fb.png new file mode 100644 index 000000000..4c313e583 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f5fb.png differ diff --git a/app/assets/images/emoji/unicode/1f5fc.png b/app/assets/images/emoji/unicode/1f5fc.png new file mode 100644 index 000000000..e1cbd7a3c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f5fc.png differ diff --git a/app/assets/images/emoji/unicode/1f5fd.png b/app/assets/images/emoji/unicode/1f5fd.png new file mode 100644 index 000000000..9ad902806 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f5fd.png differ diff --git a/app/assets/images/emoji/unicode/1f5fe.png b/app/assets/images/emoji/unicode/1f5fe.png new file mode 100644 index 000000000..459328035 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f5fe.png differ diff --git a/app/assets/images/emoji/unicode/1f5ff.png b/app/assets/images/emoji/unicode/1f5ff.png new file mode 100644 index 000000000..61a1a9c21 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f5ff.png differ diff --git a/app/assets/images/emoji/unicode/1f600.png b/app/assets/images/emoji/unicode/1f600.png new file mode 100644 index 000000000..0ef00d79d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f600.png differ diff --git a/app/assets/images/emoji/unicode/1f601.png b/app/assets/images/emoji/unicode/1f601.png new file mode 100644 index 000000000..591cfcef8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f601.png differ diff --git a/app/assets/images/emoji/unicode/1f602.png b/app/assets/images/emoji/unicode/1f602.png new file mode 100644 index 000000000..47df693d4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f602.png differ diff --git a/app/assets/images/emoji/unicode/1f603.png b/app/assets/images/emoji/unicode/1f603.png new file mode 100644 index 000000000..77b581d68 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f603.png differ diff --git a/app/assets/images/emoji/unicode/1f604.png b/app/assets/images/emoji/unicode/1f604.png new file mode 100644 index 000000000..81a839689 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f604.png differ diff --git a/app/assets/images/emoji/unicode/1f605.png b/app/assets/images/emoji/unicode/1f605.png new file mode 100644 index 000000000..3903f717f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f605.png differ diff --git a/app/assets/images/emoji/unicode/1f606.png b/app/assets/images/emoji/unicode/1f606.png new file mode 100644 index 000000000..11c91eb22 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f606.png differ diff --git a/app/assets/images/emoji/unicode/1f607.png b/app/assets/images/emoji/unicode/1f607.png new file mode 100644 index 000000000..503b614f8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f607.png differ diff --git a/app/assets/images/emoji/unicode/1f608.png b/app/assets/images/emoji/unicode/1f608.png new file mode 100644 index 000000000..d90404930 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f608.png differ diff --git a/app/assets/images/emoji/unicode/1f609.png b/app/assets/images/emoji/unicode/1f609.png new file mode 100644 index 000000000..756766dd3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f609.png differ diff --git a/app/assets/images/emoji/unicode/1f60a.png b/app/assets/images/emoji/unicode/1f60a.png new file mode 100644 index 000000000..1e9021cb6 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60a.png differ diff --git a/app/assets/images/emoji/unicode/1f60b.png b/app/assets/images/emoji/unicode/1f60b.png new file mode 100644 index 000000000..fc39637ec Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60b.png differ diff --git a/app/assets/images/emoji/unicode/1f60c.png b/app/assets/images/emoji/unicode/1f60c.png new file mode 100644 index 000000000..820cf315a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60c.png differ diff --git a/app/assets/images/emoji/unicode/1f60d.png b/app/assets/images/emoji/unicode/1f60d.png new file mode 100644 index 000000000..0e5794270 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60d.png differ diff --git a/app/assets/images/emoji/unicode/1f60e.png b/app/assets/images/emoji/unicode/1f60e.png new file mode 100644 index 000000000..1c468a1c9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60e.png differ diff --git a/app/assets/images/emoji/unicode/1f60f.png b/app/assets/images/emoji/unicode/1f60f.png new file mode 100644 index 000000000..bc6e5082c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f60f.png differ diff --git a/app/assets/images/emoji/unicode/1f610.png b/app/assets/images/emoji/unicode/1f610.png new file mode 100644 index 000000000..682a1ba06 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f610.png differ diff --git a/app/assets/images/emoji/unicode/1f611.png b/app/assets/images/emoji/unicode/1f611.png new file mode 100644 index 000000000..1798f24de Binary files /dev/null and b/app/assets/images/emoji/unicode/1f611.png differ diff --git a/app/assets/images/emoji/unicode/1f612.png b/app/assets/images/emoji/unicode/1f612.png new file mode 100644 index 000000000..3722e6f57 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f612.png differ diff --git a/app/assets/images/emoji/unicode/1f613.png b/app/assets/images/emoji/unicode/1f613.png new file mode 100644 index 000000000..e894b7699 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f613.png differ diff --git a/app/assets/images/emoji/unicode/1f614.png b/app/assets/images/emoji/unicode/1f614.png new file mode 100644 index 000000000..2f3bad945 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f614.png differ diff --git a/app/assets/images/emoji/unicode/1f615.png b/app/assets/images/emoji/unicode/1f615.png new file mode 100644 index 000000000..18ff760ac Binary files /dev/null and b/app/assets/images/emoji/unicode/1f615.png differ diff --git a/app/assets/images/emoji/unicode/1f616.png b/app/assets/images/emoji/unicode/1f616.png new file mode 100644 index 000000000..a5877a0a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f616.png differ diff --git a/app/assets/images/emoji/unicode/1f617.png b/app/assets/images/emoji/unicode/1f617.png new file mode 100644 index 000000000..eb049c80b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f617.png differ diff --git a/app/assets/images/emoji/unicode/1f618.png b/app/assets/images/emoji/unicode/1f618.png new file mode 100644 index 000000000..af9a80b7f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f618.png differ diff --git a/app/assets/images/emoji/unicode/1f619.png b/app/assets/images/emoji/unicode/1f619.png new file mode 100644 index 000000000..d85706e70 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f619.png differ diff --git a/app/assets/images/emoji/unicode/1f61a.png b/app/assets/images/emoji/unicode/1f61a.png new file mode 100644 index 000000000..449de1970 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61a.png differ diff --git a/app/assets/images/emoji/unicode/1f61b.png b/app/assets/images/emoji/unicode/1f61b.png new file mode 100644 index 000000000..53c41433f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61b.png differ diff --git a/app/assets/images/emoji/unicode/1f61c.png b/app/assets/images/emoji/unicode/1f61c.png new file mode 100644 index 000000000..6ae9d497d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61c.png differ diff --git a/app/assets/images/emoji/unicode/1f61d.png b/app/assets/images/emoji/unicode/1f61d.png new file mode 100644 index 000000000..333716ee1 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61d.png differ diff --git a/app/assets/images/emoji/unicode/1f61e.png b/app/assets/images/emoji/unicode/1f61e.png new file mode 100644 index 000000000..825520087 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61e.png differ diff --git a/app/assets/images/emoji/unicode/1f61f.png b/app/assets/images/emoji/unicode/1f61f.png new file mode 100644 index 000000000..afd9283fc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f61f.png differ diff --git a/app/assets/images/emoji/unicode/1f620.png b/app/assets/images/emoji/unicode/1f620.png new file mode 100644 index 000000000..34174f5e5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f620.png differ diff --git a/app/assets/images/emoji/unicode/1f621.png b/app/assets/images/emoji/unicode/1f621.png new file mode 100644 index 000000000..c65ddff55 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f621.png differ diff --git a/app/assets/images/emoji/unicode/1f622.png b/app/assets/images/emoji/unicode/1f622.png new file mode 100644 index 000000000..6d0d9afd2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f622.png differ diff --git a/app/assets/images/emoji/unicode/1f623.png b/app/assets/images/emoji/unicode/1f623.png new file mode 100644 index 000000000..c7e433e8e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f623.png differ diff --git a/app/assets/images/emoji/unicode/1f624.png b/app/assets/images/emoji/unicode/1f624.png new file mode 100644 index 000000000..92f93bd10 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f624.png differ diff --git a/app/assets/images/emoji/unicode/1f625.png b/app/assets/images/emoji/unicode/1f625.png new file mode 100644 index 000000000..fa5f9e7f9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f625.png differ diff --git a/app/assets/images/emoji/unicode/1f626.png b/app/assets/images/emoji/unicode/1f626.png new file mode 100644 index 000000000..7f8b6c77b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f626.png differ diff --git a/app/assets/images/emoji/unicode/1f627.png b/app/assets/images/emoji/unicode/1f627.png new file mode 100644 index 000000000..c2edad796 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f627.png differ diff --git a/app/assets/images/emoji/unicode/1f628.png b/app/assets/images/emoji/unicode/1f628.png new file mode 100644 index 000000000..513fce47b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f628.png differ diff --git a/app/assets/images/emoji/unicode/1f629.png b/app/assets/images/emoji/unicode/1f629.png new file mode 100644 index 000000000..0c5475411 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f629.png differ diff --git a/app/assets/images/emoji/unicode/1f62a.png b/app/assets/images/emoji/unicode/1f62a.png new file mode 100644 index 000000000..df4f55efd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62a.png differ diff --git a/app/assets/images/emoji/unicode/1f62b.png b/app/assets/images/emoji/unicode/1f62b.png new file mode 100644 index 000000000..3a8eefe56 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62b.png differ diff --git a/app/assets/images/emoji/unicode/1f62c.png b/app/assets/images/emoji/unicode/1f62c.png new file mode 100644 index 000000000..f78e9407d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62c.png differ diff --git a/app/assets/images/emoji/unicode/1f62d.png b/app/assets/images/emoji/unicode/1f62d.png new file mode 100644 index 000000000..7d433183a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62d.png differ diff --git a/app/assets/images/emoji/unicode/1f62e.png b/app/assets/images/emoji/unicode/1f62e.png new file mode 100644 index 000000000..e5283582c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62e.png differ diff --git a/app/assets/images/emoji/unicode/1f62f.png b/app/assets/images/emoji/unicode/1f62f.png new file mode 100644 index 000000000..afa3f6686 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f62f.png differ diff --git a/app/assets/images/emoji/unicode/1f630.png b/app/assets/images/emoji/unicode/1f630.png new file mode 100644 index 000000000..b9e39bc60 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f630.png differ diff --git a/app/assets/images/emoji/unicode/1f631.png b/app/assets/images/emoji/unicode/1f631.png new file mode 100644 index 000000000..76bfc6b8a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f631.png differ diff --git a/app/assets/images/emoji/unicode/1f632.png b/app/assets/images/emoji/unicode/1f632.png new file mode 100644 index 000000000..858a83484 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f632.png differ diff --git a/app/assets/images/emoji/unicode/1f633.png b/app/assets/images/emoji/unicode/1f633.png new file mode 100644 index 000000000..9b49410c0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f633.png differ diff --git a/app/assets/images/emoji/unicode/1f634.png b/app/assets/images/emoji/unicode/1f634.png new file mode 100644 index 000000000..a2f3bf757 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f634.png differ diff --git a/app/assets/images/emoji/unicode/1f635.png b/app/assets/images/emoji/unicode/1f635.png new file mode 100644 index 000000000..8001d6ff8 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f635.png differ diff --git a/app/assets/images/emoji/unicode/1f636.png b/app/assets/images/emoji/unicode/1f636.png new file mode 100644 index 000000000..d9ec7ca7d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f636.png differ diff --git a/app/assets/images/emoji/unicode/1f637.png b/app/assets/images/emoji/unicode/1f637.png new file mode 100644 index 000000000..05887e99c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f637.png differ diff --git a/app/assets/images/emoji/unicode/1f638.png b/app/assets/images/emoji/unicode/1f638.png new file mode 100644 index 000000000..ad333ba3b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f638.png differ diff --git a/app/assets/images/emoji/unicode/1f639.png b/app/assets/images/emoji/unicode/1f639.png new file mode 100644 index 000000000..6c60cb0ef Binary files /dev/null and b/app/assets/images/emoji/unicode/1f639.png differ diff --git a/app/assets/images/emoji/unicode/1f63a.png b/app/assets/images/emoji/unicode/1f63a.png new file mode 100644 index 000000000..dbf1b0276 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63a.png differ diff --git a/app/assets/images/emoji/unicode/1f63b.png b/app/assets/images/emoji/unicode/1f63b.png new file mode 100644 index 000000000..eeba240e5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63b.png differ diff --git a/app/assets/images/emoji/unicode/1f63c.png b/app/assets/images/emoji/unicode/1f63c.png new file mode 100644 index 000000000..351565e24 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63c.png differ diff --git a/app/assets/images/emoji/unicode/1f63d.png b/app/assets/images/emoji/unicode/1f63d.png new file mode 100644 index 000000000..adc62fbe3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63d.png differ diff --git a/app/assets/images/emoji/unicode/1f63e.png b/app/assets/images/emoji/unicode/1f63e.png new file mode 100644 index 000000000..4325fd48d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63e.png differ diff --git a/app/assets/images/emoji/unicode/1f63f.png b/app/assets/images/emoji/unicode/1f63f.png new file mode 100644 index 000000000..42d4c27ca Binary files /dev/null and b/app/assets/images/emoji/unicode/1f63f.png differ diff --git a/app/assets/images/emoji/unicode/1f640.png b/app/assets/images/emoji/unicode/1f640.png new file mode 100644 index 000000000..d94cd34ff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f640.png differ diff --git a/app/assets/images/emoji/unicode/1f645.png b/app/assets/images/emoji/unicode/1f645.png new file mode 100644 index 000000000..d459a35bc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f645.png differ diff --git a/app/assets/images/emoji/unicode/1f646.png b/app/assets/images/emoji/unicode/1f646.png new file mode 100644 index 000000000..e8b98194e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f646.png differ diff --git a/app/assets/images/emoji/unicode/1f647.png b/app/assets/images/emoji/unicode/1f647.png new file mode 100644 index 000000000..024cb6104 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f647.png differ diff --git a/app/assets/images/emoji/unicode/1f648.png b/app/assets/images/emoji/unicode/1f648.png new file mode 100644 index 000000000..0890a6222 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f648.png differ diff --git a/app/assets/images/emoji/unicode/1f649.png b/app/assets/images/emoji/unicode/1f649.png new file mode 100644 index 000000000..f97a1f9a0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f649.png differ diff --git a/app/assets/images/emoji/unicode/1f64a.png b/app/assets/images/emoji/unicode/1f64a.png new file mode 100644 index 000000000..87944c4de Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64a.png differ diff --git a/app/assets/images/emoji/unicode/1f64b.png b/app/assets/images/emoji/unicode/1f64b.png new file mode 100644 index 000000000..e1741a40e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64b.png differ diff --git a/app/assets/images/emoji/unicode/1f64c.png b/app/assets/images/emoji/unicode/1f64c.png new file mode 100644 index 000000000..e03142bdc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64c.png differ diff --git a/app/assets/images/emoji/unicode/1f64d.png b/app/assets/images/emoji/unicode/1f64d.png new file mode 100644 index 000000000..6f34d5e15 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64d.png differ diff --git a/app/assets/images/emoji/unicode/1f64e.png b/app/assets/images/emoji/unicode/1f64e.png new file mode 100644 index 000000000..c4a95c3b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64e.png differ diff --git a/app/assets/images/emoji/unicode/1f64f.png b/app/assets/images/emoji/unicode/1f64f.png new file mode 100644 index 000000000..f86c992d5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f64f.png differ diff --git a/app/assets/images/emoji/unicode/1f680.png b/app/assets/images/emoji/unicode/1f680.png new file mode 100644 index 000000000..783078d37 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f680.png differ diff --git a/app/assets/images/emoji/unicode/1f681.png b/app/assets/images/emoji/unicode/1f681.png new file mode 100644 index 000000000..8e82a0d58 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f681.png differ diff --git a/app/assets/images/emoji/unicode/1f682.png b/app/assets/images/emoji/unicode/1f682.png new file mode 100644 index 000000000..549507766 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f682.png differ diff --git a/app/assets/images/emoji/unicode/1f683.png b/app/assets/images/emoji/unicode/1f683.png new file mode 100644 index 000000000..22361158f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f683.png differ diff --git a/app/assets/images/emoji/unicode/1f684.png b/app/assets/images/emoji/unicode/1f684.png new file mode 100644 index 000000000..8eca36845 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f684.png differ diff --git a/app/assets/images/emoji/unicode/1f685.png b/app/assets/images/emoji/unicode/1f685.png new file mode 100644 index 000000000..16651acff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f685.png differ diff --git a/app/assets/images/emoji/unicode/1f686.png b/app/assets/images/emoji/unicode/1f686.png new file mode 100644 index 000000000..9c0d3ab64 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f686.png differ diff --git a/app/assets/images/emoji/unicode/1f687.png b/app/assets/images/emoji/unicode/1f687.png new file mode 100644 index 000000000..7f34f6be3 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f687.png differ diff --git a/app/assets/images/emoji/unicode/1f688.png b/app/assets/images/emoji/unicode/1f688.png new file mode 100644 index 000000000..bcfe801ee Binary files /dev/null and b/app/assets/images/emoji/unicode/1f688.png differ diff --git a/app/assets/images/emoji/unicode/1f689.png b/app/assets/images/emoji/unicode/1f689.png new file mode 100644 index 000000000..e77daa8a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f689.png differ diff --git a/app/assets/images/emoji/unicode/1f68a.png b/app/assets/images/emoji/unicode/1f68a.png new file mode 100644 index 000000000..5eb29fb71 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f68a.png differ diff --git a/app/assets/images/emoji/unicode/1f68c.png b/app/assets/images/emoji/unicode/1f68c.png new file mode 100644 index 000000000..823aa39e4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f68c.png differ diff --git a/app/assets/images/emoji/unicode/1f68d.png b/app/assets/images/emoji/unicode/1f68d.png new file mode 100644 index 000000000..3695f7623 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f68d.png differ diff --git a/app/assets/images/emoji/unicode/1f68e.png b/app/assets/images/emoji/unicode/1f68e.png new file mode 100644 index 000000000..b9740a53f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f68e.png differ diff --git a/app/assets/images/emoji/unicode/1f68f.png b/app/assets/images/emoji/unicode/1f68f.png new file mode 100644 index 000000000..99af2322a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f68f.png differ diff --git a/app/assets/images/emoji/unicode/1f690.png b/app/assets/images/emoji/unicode/1f690.png new file mode 100644 index 000000000..c52cef234 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f690.png differ diff --git a/app/assets/images/emoji/unicode/1f691.png b/app/assets/images/emoji/unicode/1f691.png new file mode 100644 index 000000000..b740f45db Binary files /dev/null and b/app/assets/images/emoji/unicode/1f691.png differ diff --git a/app/assets/images/emoji/unicode/1f692.png b/app/assets/images/emoji/unicode/1f692.png new file mode 100644 index 000000000..9e6c59c99 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f692.png differ diff --git a/app/assets/images/emoji/unicode/1f693.png b/app/assets/images/emoji/unicode/1f693.png new file mode 100644 index 000000000..b8f17275e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f693.png differ diff --git a/app/assets/images/emoji/unicode/1f694.png b/app/assets/images/emoji/unicode/1f694.png new file mode 100644 index 000000000..af20e7eff Binary files /dev/null and b/app/assets/images/emoji/unicode/1f694.png differ diff --git a/app/assets/images/emoji/unicode/1f695.png b/app/assets/images/emoji/unicode/1f695.png new file mode 100644 index 000000000..60a50d365 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f695.png differ diff --git a/app/assets/images/emoji/unicode/1f696.png b/app/assets/images/emoji/unicode/1f696.png new file mode 100644 index 000000000..f78cf3103 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f696.png differ diff --git a/app/assets/images/emoji/unicode/1f697.png b/app/assets/images/emoji/unicode/1f697.png new file mode 100644 index 000000000..d70a2f062 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f697.png differ diff --git a/app/assets/images/emoji/unicode/1f698.png b/app/assets/images/emoji/unicode/1f698.png new file mode 100644 index 000000000..cb46de22c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f698.png differ diff --git a/app/assets/images/emoji/unicode/1f699.png b/app/assets/images/emoji/unicode/1f699.png new file mode 100644 index 000000000..978291e08 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f699.png differ diff --git a/app/assets/images/emoji/unicode/1f69a.png b/app/assets/images/emoji/unicode/1f69a.png new file mode 100644 index 000000000..3f25ba1f9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69a.png differ diff --git a/app/assets/images/emoji/unicode/1f69b.png b/app/assets/images/emoji/unicode/1f69b.png new file mode 100644 index 000000000..81ec1f917 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69b.png differ diff --git a/app/assets/images/emoji/unicode/1f69c.png b/app/assets/images/emoji/unicode/1f69c.png new file mode 100644 index 000000000..058fd3eda Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69c.png differ diff --git a/app/assets/images/emoji/unicode/1f69d.png b/app/assets/images/emoji/unicode/1f69d.png new file mode 100644 index 000000000..913d30024 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69d.png differ diff --git a/app/assets/images/emoji/unicode/1f69e.png b/app/assets/images/emoji/unicode/1f69e.png new file mode 100644 index 000000000..1f3d1aab5 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69e.png differ diff --git a/app/assets/images/emoji/unicode/1f69f.png b/app/assets/images/emoji/unicode/1f69f.png new file mode 100644 index 000000000..aaa45f61f Binary files /dev/null and b/app/assets/images/emoji/unicode/1f69f.png differ diff --git a/app/assets/images/emoji/unicode/1f6a0.png b/app/assets/images/emoji/unicode/1f6a0.png new file mode 100644 index 000000000..5688bb239 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a0.png differ diff --git a/app/assets/images/emoji/unicode/1f6a1.png b/app/assets/images/emoji/unicode/1f6a1.png new file mode 100644 index 000000000..38f6dfe23 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a1.png differ diff --git a/app/assets/images/emoji/unicode/1f6a2.png b/app/assets/images/emoji/unicode/1f6a2.png new file mode 100644 index 000000000..5d2d8b602 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a2.png differ diff --git a/app/assets/images/emoji/unicode/1f6a3.png b/app/assets/images/emoji/unicode/1f6a3.png new file mode 100644 index 000000000..fe8ae3ecd Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a3.png differ diff --git a/app/assets/images/emoji/unicode/1f6a4.png b/app/assets/images/emoji/unicode/1f6a4.png new file mode 100644 index 000000000..da6689b3b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a4.png differ diff --git a/app/assets/images/emoji/unicode/1f6a5.png b/app/assets/images/emoji/unicode/1f6a5.png new file mode 100644 index 000000000..42eaf7091 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a5.png differ diff --git a/app/assets/images/emoji/unicode/1f6a6.png b/app/assets/images/emoji/unicode/1f6a6.png new file mode 100644 index 000000000..7a5ba35f0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a6.png differ diff --git a/app/assets/images/emoji/unicode/1f6a7.png b/app/assets/images/emoji/unicode/1f6a7.png new file mode 100644 index 000000000..523e9f10b Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a7.png differ diff --git a/app/assets/images/emoji/unicode/1f6a8.png b/app/assets/images/emoji/unicode/1f6a8.png new file mode 100644 index 000000000..6cf4a775e Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a8.png differ diff --git a/app/assets/images/emoji/unicode/1f6a9.png b/app/assets/images/emoji/unicode/1f6a9.png new file mode 100644 index 000000000..f9a3f32d7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6a9.png differ diff --git a/app/assets/images/emoji/unicode/1f6aa.png b/app/assets/images/emoji/unicode/1f6aa.png new file mode 100644 index 000000000..83c819ae4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6aa.png differ diff --git a/app/assets/images/emoji/unicode/1f6ab.png b/app/assets/images/emoji/unicode/1f6ab.png new file mode 100644 index 000000000..a8444d18d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6ab.png differ diff --git a/app/assets/images/emoji/unicode/1f6ac.png b/app/assets/images/emoji/unicode/1f6ac.png new file mode 100644 index 000000000..4aad6cbd7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6ac.png differ diff --git a/app/assets/images/emoji/unicode/1f6ad.png b/app/assets/images/emoji/unicode/1f6ad.png new file mode 100644 index 000000000..eb11d7911 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6ad.png differ diff --git a/app/assets/images/emoji/unicode/1f6ae.png b/app/assets/images/emoji/unicode/1f6ae.png new file mode 100644 index 000000000..c2e350c2d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6ae.png differ diff --git a/app/assets/images/emoji/unicode/1f6af.png b/app/assets/images/emoji/unicode/1f6af.png new file mode 100644 index 000000000..38c7ae7af Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6af.png differ diff --git a/app/assets/images/emoji/unicode/1f6b0.png b/app/assets/images/emoji/unicode/1f6b0.png new file mode 100644 index 000000000..e9fd56079 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b0.png differ diff --git a/app/assets/images/emoji/unicode/1f6b1.png b/app/assets/images/emoji/unicode/1f6b1.png new file mode 100644 index 000000000..1b29d35b9 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b1.png differ diff --git a/app/assets/images/emoji/unicode/1f6b2.png b/app/assets/images/emoji/unicode/1f6b2.png new file mode 100644 index 000000000..657386027 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b2.png differ diff --git a/app/assets/images/emoji/unicode/1f6b3.png b/app/assets/images/emoji/unicode/1f6b3.png new file mode 100644 index 000000000..4b2621664 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b3.png differ diff --git a/app/assets/images/emoji/unicode/1f6b4.png b/app/assets/images/emoji/unicode/1f6b4.png new file mode 100644 index 000000000..4e3e0549c Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b4.png differ diff --git a/app/assets/images/emoji/unicode/1f6b5.png b/app/assets/images/emoji/unicode/1f6b5.png new file mode 100644 index 000000000..b69889756 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b5.png differ diff --git a/app/assets/images/emoji/unicode/1f6b6.png b/app/assets/images/emoji/unicode/1f6b6.png new file mode 100644 index 000000000..7a2bfacfc Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b6.png differ diff --git a/app/assets/images/emoji/unicode/1f6b7.png b/app/assets/images/emoji/unicode/1f6b7.png new file mode 100644 index 000000000..c35f530b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b7.png differ diff --git a/app/assets/images/emoji/unicode/1f6b8.png b/app/assets/images/emoji/unicode/1f6b8.png new file mode 100644 index 000000000..b0302ae62 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b8.png differ diff --git a/app/assets/images/emoji/unicode/1f6b9.png b/app/assets/images/emoji/unicode/1f6b9.png new file mode 100644 index 000000000..abccfc9f2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6b9.png differ diff --git a/app/assets/images/emoji/unicode/1f6ba.png b/app/assets/images/emoji/unicode/1f6ba.png new file mode 100644 index 000000000..518b76a6d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6ba.png differ diff --git a/app/assets/images/emoji/unicode/1f6bb.png b/app/assets/images/emoji/unicode/1f6bb.png new file mode 100644 index 000000000..312ca3dc2 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6bb.png differ diff --git a/app/assets/images/emoji/unicode/1f6bc.png b/app/assets/images/emoji/unicode/1f6bc.png new file mode 100644 index 000000000..2e58725cf Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6bc.png differ diff --git a/app/assets/images/emoji/unicode/1f6bd.png b/app/assets/images/emoji/unicode/1f6bd.png new file mode 100644 index 000000000..e5cc4119a Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6bd.png differ diff --git a/app/assets/images/emoji/unicode/1f6be.png b/app/assets/images/emoji/unicode/1f6be.png new file mode 100644 index 000000000..dfe84d2a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6be.png differ diff --git a/app/assets/images/emoji/unicode/1f6bf.png b/app/assets/images/emoji/unicode/1f6bf.png new file mode 100644 index 000000000..94f82aac0 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6bf.png differ diff --git a/app/assets/images/emoji/unicode/1f6c0.png b/app/assets/images/emoji/unicode/1f6c0.png new file mode 100644 index 000000000..8f75d1d24 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c0.png differ diff --git a/app/assets/images/emoji/unicode/1f6c1.png b/app/assets/images/emoji/unicode/1f6c1.png new file mode 100644 index 000000000..1c3f844ab Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c1.png differ diff --git a/app/assets/images/emoji/unicode/1f6c2.png b/app/assets/images/emoji/unicode/1f6c2.png new file mode 100644 index 000000000..675b76d37 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c2.png differ diff --git a/app/assets/images/emoji/unicode/1f6c3.png b/app/assets/images/emoji/unicode/1f6c3.png new file mode 100644 index 000000000..92691e311 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c3.png differ diff --git a/app/assets/images/emoji/unicode/1f6c4.png b/app/assets/images/emoji/unicode/1f6c4.png new file mode 100644 index 000000000..59ae044a4 Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c4.png differ diff --git a/app/assets/images/emoji/unicode/1f6c5.png b/app/assets/images/emoji/unicode/1f6c5.png new file mode 100644 index 000000000..1c08b464d Binary files /dev/null and b/app/assets/images/emoji/unicode/1f6c5.png differ diff --git a/app/assets/images/emoji/unicode/203c.png b/app/assets/images/emoji/unicode/203c.png new file mode 100644 index 000000000..7270f0afe Binary files /dev/null and b/app/assets/images/emoji/unicode/203c.png differ diff --git a/app/assets/images/emoji/unicode/2049.png b/app/assets/images/emoji/unicode/2049.png new file mode 100644 index 000000000..64304b9f5 Binary files /dev/null and b/app/assets/images/emoji/unicode/2049.png differ diff --git a/app/assets/images/emoji/unicode/2122.png b/app/assets/images/emoji/unicode/2122.png new file mode 100644 index 000000000..9ba71b75b Binary files /dev/null and b/app/assets/images/emoji/unicode/2122.png differ diff --git a/app/assets/images/emoji/unicode/2139.png b/app/assets/images/emoji/unicode/2139.png new file mode 100644 index 000000000..9cb8b09b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/2139.png differ diff --git a/app/assets/images/emoji/unicode/2194.png b/app/assets/images/emoji/unicode/2194.png new file mode 100644 index 000000000..b9fd11c51 Binary files /dev/null and b/app/assets/images/emoji/unicode/2194.png differ diff --git a/app/assets/images/emoji/unicode/2195.png b/app/assets/images/emoji/unicode/2195.png new file mode 100644 index 000000000..b718c2145 Binary files /dev/null and b/app/assets/images/emoji/unicode/2195.png differ diff --git a/app/assets/images/emoji/unicode/2196.png b/app/assets/images/emoji/unicode/2196.png new file mode 100644 index 000000000..12aebd9a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/2196.png differ diff --git a/app/assets/images/emoji/unicode/2197.png b/app/assets/images/emoji/unicode/2197.png new file mode 100644 index 000000000..0daf4e940 Binary files /dev/null and b/app/assets/images/emoji/unicode/2197.png differ diff --git a/app/assets/images/emoji/unicode/2198.png b/app/assets/images/emoji/unicode/2198.png new file mode 100644 index 000000000..2a15cc7cc Binary files /dev/null and b/app/assets/images/emoji/unicode/2198.png differ diff --git a/app/assets/images/emoji/unicode/2199.png b/app/assets/images/emoji/unicode/2199.png new file mode 100644 index 000000000..a4438cb6e Binary files /dev/null and b/app/assets/images/emoji/unicode/2199.png differ diff --git a/app/assets/images/emoji/unicode/21a9.png b/app/assets/images/emoji/unicode/21a9.png new file mode 100644 index 000000000..bc45dfefd Binary files /dev/null and b/app/assets/images/emoji/unicode/21a9.png differ diff --git a/app/assets/images/emoji/unicode/21aa.png b/app/assets/images/emoji/unicode/21aa.png new file mode 100644 index 000000000..8b4ea6e17 Binary files /dev/null and b/app/assets/images/emoji/unicode/21aa.png differ diff --git a/app/assets/images/emoji/unicode/231a.png b/app/assets/images/emoji/unicode/231a.png new file mode 100644 index 000000000..d503bb87c Binary files /dev/null and b/app/assets/images/emoji/unicode/231a.png differ diff --git a/app/assets/images/emoji/unicode/231b.png b/app/assets/images/emoji/unicode/231b.png new file mode 100644 index 000000000..405aab41b Binary files /dev/null and b/app/assets/images/emoji/unicode/231b.png differ diff --git a/app/assets/images/emoji/unicode/23e9.png b/app/assets/images/emoji/unicode/23e9.png new file mode 100644 index 000000000..b94a11726 Binary files /dev/null and b/app/assets/images/emoji/unicode/23e9.png differ diff --git a/app/assets/images/emoji/unicode/23ea.png b/app/assets/images/emoji/unicode/23ea.png new file mode 100644 index 000000000..13ba866ad Binary files /dev/null and b/app/assets/images/emoji/unicode/23ea.png differ diff --git a/app/assets/images/emoji/unicode/23eb.png b/app/assets/images/emoji/unicode/23eb.png new file mode 100644 index 000000000..d42979d4b Binary files /dev/null and b/app/assets/images/emoji/unicode/23eb.png differ diff --git a/app/assets/images/emoji/unicode/23ec.png b/app/assets/images/emoji/unicode/23ec.png new file mode 100644 index 000000000..2ecbebcda Binary files /dev/null and b/app/assets/images/emoji/unicode/23ec.png differ diff --git a/app/assets/images/emoji/unicode/23f0.png b/app/assets/images/emoji/unicode/23f0.png new file mode 100644 index 000000000..86ca8c8ed Binary files /dev/null and b/app/assets/images/emoji/unicode/23f0.png differ diff --git a/app/assets/images/emoji/unicode/23f3.png b/app/assets/images/emoji/unicode/23f3.png new file mode 100644 index 000000000..52c9eb704 Binary files /dev/null and b/app/assets/images/emoji/unicode/23f3.png differ diff --git a/app/assets/images/emoji/unicode/24c2.png b/app/assets/images/emoji/unicode/24c2.png new file mode 100644 index 000000000..7424665e2 Binary files /dev/null and b/app/assets/images/emoji/unicode/24c2.png differ diff --git a/app/assets/images/emoji/unicode/25aa.png b/app/assets/images/emoji/unicode/25aa.png new file mode 100644 index 000000000..a247751ec Binary files /dev/null and b/app/assets/images/emoji/unicode/25aa.png differ diff --git a/app/assets/images/emoji/unicode/25ab.png b/app/assets/images/emoji/unicode/25ab.png new file mode 100644 index 000000000..24ba879f4 Binary files /dev/null and b/app/assets/images/emoji/unicode/25ab.png differ diff --git a/app/assets/images/emoji/unicode/25b6.png b/app/assets/images/emoji/unicode/25b6.png new file mode 100644 index 000000000..fbfe711b6 Binary files /dev/null and b/app/assets/images/emoji/unicode/25b6.png differ diff --git a/app/assets/images/emoji/unicode/25c0.png b/app/assets/images/emoji/unicode/25c0.png new file mode 100644 index 000000000..2be422ba3 Binary files /dev/null and b/app/assets/images/emoji/unicode/25c0.png differ diff --git a/app/assets/images/emoji/unicode/25fb.png b/app/assets/images/emoji/unicode/25fb.png new file mode 100644 index 000000000..199808bcf Binary files /dev/null and b/app/assets/images/emoji/unicode/25fb.png differ diff --git a/app/assets/images/emoji/unicode/25fc.png b/app/assets/images/emoji/unicode/25fc.png new file mode 100644 index 000000000..204cce12c Binary files /dev/null and b/app/assets/images/emoji/unicode/25fc.png differ diff --git a/app/assets/images/emoji/unicode/25fd.png b/app/assets/images/emoji/unicode/25fd.png new file mode 100644 index 000000000..a115cdc49 Binary files /dev/null and b/app/assets/images/emoji/unicode/25fd.png differ diff --git a/app/assets/images/emoji/unicode/25fe.png b/app/assets/images/emoji/unicode/25fe.png new file mode 100644 index 000000000..25bfe9c45 Binary files /dev/null and b/app/assets/images/emoji/unicode/25fe.png differ diff --git a/app/assets/images/emoji/unicode/2600.png b/app/assets/images/emoji/unicode/2600.png new file mode 100644 index 000000000..d23c095e0 Binary files /dev/null and b/app/assets/images/emoji/unicode/2600.png differ diff --git a/app/assets/images/emoji/unicode/2601.png b/app/assets/images/emoji/unicode/2601.png new file mode 100644 index 000000000..b31c08c0b Binary files /dev/null and b/app/assets/images/emoji/unicode/2601.png differ diff --git a/app/assets/images/emoji/unicode/260e.png b/app/assets/images/emoji/unicode/260e.png new file mode 100644 index 000000000..87d2559b5 Binary files /dev/null and b/app/assets/images/emoji/unicode/260e.png differ diff --git a/app/assets/images/emoji/unicode/2611.png b/app/assets/images/emoji/unicode/2611.png new file mode 100644 index 000000000..f07a466c7 Binary files /dev/null and b/app/assets/images/emoji/unicode/2611.png differ diff --git a/app/assets/images/emoji/unicode/2614.png b/app/assets/images/emoji/unicode/2614.png new file mode 100644 index 000000000..1db722fa6 Binary files /dev/null and b/app/assets/images/emoji/unicode/2614.png differ diff --git a/app/assets/images/emoji/unicode/2615.png b/app/assets/images/emoji/unicode/2615.png new file mode 100644 index 000000000..57e1adcb0 Binary files /dev/null and b/app/assets/images/emoji/unicode/2615.png differ diff --git a/app/assets/images/emoji/unicode/261d.png b/app/assets/images/emoji/unicode/261d.png new file mode 100644 index 000000000..01896e214 Binary files /dev/null and b/app/assets/images/emoji/unicode/261d.png differ diff --git a/app/assets/images/emoji/unicode/263a.png b/app/assets/images/emoji/unicode/263a.png new file mode 100644 index 000000000..bbab82d3b Binary files /dev/null and b/app/assets/images/emoji/unicode/263a.png differ diff --git a/app/assets/images/emoji/unicode/2648.png b/app/assets/images/emoji/unicode/2648.png new file mode 100644 index 000000000..d676fd392 Binary files /dev/null and b/app/assets/images/emoji/unicode/2648.png differ diff --git a/app/assets/images/emoji/unicode/2649.png b/app/assets/images/emoji/unicode/2649.png new file mode 100644 index 000000000..6af582f69 Binary files /dev/null and b/app/assets/images/emoji/unicode/2649.png differ diff --git a/app/assets/images/emoji/unicode/264a.png b/app/assets/images/emoji/unicode/264a.png new file mode 100644 index 000000000..d926f6e88 Binary files /dev/null and b/app/assets/images/emoji/unicode/264a.png differ diff --git a/app/assets/images/emoji/unicode/264b.png b/app/assets/images/emoji/unicode/264b.png new file mode 100644 index 000000000..ea43a4a2a Binary files /dev/null and b/app/assets/images/emoji/unicode/264b.png differ diff --git a/app/assets/images/emoji/unicode/264c.png b/app/assets/images/emoji/unicode/264c.png new file mode 100644 index 000000000..e025933b2 Binary files /dev/null and b/app/assets/images/emoji/unicode/264c.png differ diff --git a/app/assets/images/emoji/unicode/264d.png b/app/assets/images/emoji/unicode/264d.png new file mode 100644 index 000000000..72e1763f5 Binary files /dev/null and b/app/assets/images/emoji/unicode/264d.png differ diff --git a/app/assets/images/emoji/unicode/264e.png b/app/assets/images/emoji/unicode/264e.png new file mode 100644 index 000000000..c9062dd2e Binary files /dev/null and b/app/assets/images/emoji/unicode/264e.png differ diff --git a/app/assets/images/emoji/unicode/264f.png b/app/assets/images/emoji/unicode/264f.png new file mode 100644 index 000000000..67fcea165 Binary files /dev/null and b/app/assets/images/emoji/unicode/264f.png differ diff --git a/app/assets/images/emoji/unicode/2650.png b/app/assets/images/emoji/unicode/2650.png new file mode 100644 index 000000000..8b5435baa Binary files /dev/null and b/app/assets/images/emoji/unicode/2650.png differ diff --git a/app/assets/images/emoji/unicode/2651.png b/app/assets/images/emoji/unicode/2651.png new file mode 100644 index 000000000..f2044e789 Binary files /dev/null and b/app/assets/images/emoji/unicode/2651.png differ diff --git a/app/assets/images/emoji/unicode/2652.png b/app/assets/images/emoji/unicode/2652.png new file mode 100644 index 000000000..cbff66edc Binary files /dev/null and b/app/assets/images/emoji/unicode/2652.png differ diff --git a/app/assets/images/emoji/unicode/2653.png b/app/assets/images/emoji/unicode/2653.png new file mode 100644 index 000000000..5a2da0a05 Binary files /dev/null and b/app/assets/images/emoji/unicode/2653.png differ diff --git a/app/assets/images/emoji/unicode/2660.png b/app/assets/images/emoji/unicode/2660.png new file mode 100644 index 000000000..133a1aba8 Binary files /dev/null and b/app/assets/images/emoji/unicode/2660.png differ diff --git a/app/assets/images/emoji/unicode/2663.png b/app/assets/images/emoji/unicode/2663.png new file mode 100644 index 000000000..bfab53656 Binary files /dev/null and b/app/assets/images/emoji/unicode/2663.png differ diff --git a/app/assets/images/emoji/unicode/2665.png b/app/assets/images/emoji/unicode/2665.png new file mode 100644 index 000000000..e89471538 Binary files /dev/null and b/app/assets/images/emoji/unicode/2665.png differ diff --git a/app/assets/images/emoji/unicode/2666.png b/app/assets/images/emoji/unicode/2666.png new file mode 100644 index 000000000..fe0827758 Binary files /dev/null and b/app/assets/images/emoji/unicode/2666.png differ diff --git a/app/assets/images/emoji/unicode/2668.png b/app/assets/images/emoji/unicode/2668.png new file mode 100644 index 000000000..a0bc9d75f Binary files /dev/null and b/app/assets/images/emoji/unicode/2668.png differ diff --git a/app/assets/images/emoji/unicode/267b.png b/app/assets/images/emoji/unicode/267b.png new file mode 100644 index 000000000..99104c0e9 Binary files /dev/null and b/app/assets/images/emoji/unicode/267b.png differ diff --git a/app/assets/images/emoji/unicode/267f.png b/app/assets/images/emoji/unicode/267f.png new file mode 100644 index 000000000..eddcdd797 Binary files /dev/null and b/app/assets/images/emoji/unicode/267f.png differ diff --git a/app/assets/images/emoji/unicode/2693.png b/app/assets/images/emoji/unicode/2693.png new file mode 100644 index 000000000..0c5192e64 Binary files /dev/null and b/app/assets/images/emoji/unicode/2693.png differ diff --git a/app/assets/images/emoji/unicode/26a0.png b/app/assets/images/emoji/unicode/26a0.png new file mode 100644 index 000000000..466658d99 Binary files /dev/null and b/app/assets/images/emoji/unicode/26a0.png differ diff --git a/app/assets/images/emoji/unicode/26a1.png b/app/assets/images/emoji/unicode/26a1.png new file mode 100644 index 000000000..260c531b9 Binary files /dev/null and b/app/assets/images/emoji/unicode/26a1.png differ diff --git a/app/assets/images/emoji/unicode/26aa.png b/app/assets/images/emoji/unicode/26aa.png new file mode 100644 index 000000000..da782ae29 Binary files /dev/null and b/app/assets/images/emoji/unicode/26aa.png differ diff --git a/app/assets/images/emoji/unicode/26ab.png b/app/assets/images/emoji/unicode/26ab.png new file mode 100644 index 000000000..e46f9df61 Binary files /dev/null and b/app/assets/images/emoji/unicode/26ab.png differ diff --git a/app/assets/images/emoji/unicode/26bd.png b/app/assets/images/emoji/unicode/26bd.png new file mode 100644 index 000000000..1e118b5b1 Binary files /dev/null and b/app/assets/images/emoji/unicode/26bd.png differ diff --git a/app/assets/images/emoji/unicode/26be.png b/app/assets/images/emoji/unicode/26be.png new file mode 100644 index 000000000..da004e2ea Binary files /dev/null and b/app/assets/images/emoji/unicode/26be.png differ diff --git a/app/assets/images/emoji/unicode/26c4.png b/app/assets/images/emoji/unicode/26c4.png new file mode 100644 index 000000000..a97902e53 Binary files /dev/null and b/app/assets/images/emoji/unicode/26c4.png differ diff --git a/app/assets/images/emoji/unicode/26c5.png b/app/assets/images/emoji/unicode/26c5.png new file mode 100644 index 000000000..020dd5ff6 Binary files /dev/null and b/app/assets/images/emoji/unicode/26c5.png differ diff --git a/app/assets/images/emoji/unicode/26ce.png b/app/assets/images/emoji/unicode/26ce.png new file mode 100644 index 000000000..4eef715bc Binary files /dev/null and b/app/assets/images/emoji/unicode/26ce.png differ diff --git a/app/assets/images/emoji/unicode/26d4.png b/app/assets/images/emoji/unicode/26d4.png new file mode 100644 index 000000000..cf2086a8e Binary files /dev/null and b/app/assets/images/emoji/unicode/26d4.png differ diff --git a/app/assets/images/emoji/unicode/26ea.png b/app/assets/images/emoji/unicode/26ea.png new file mode 100644 index 000000000..4c07c6b9e Binary files /dev/null and b/app/assets/images/emoji/unicode/26ea.png differ diff --git a/app/assets/images/emoji/unicode/26f2.png b/app/assets/images/emoji/unicode/26f2.png new file mode 100644 index 000000000..da126e648 Binary files /dev/null and b/app/assets/images/emoji/unicode/26f2.png differ diff --git a/app/assets/images/emoji/unicode/26f3.png b/app/assets/images/emoji/unicode/26f3.png new file mode 100644 index 000000000..cba2116a7 Binary files /dev/null and b/app/assets/images/emoji/unicode/26f3.png differ diff --git a/app/assets/images/emoji/unicode/26f5.png b/app/assets/images/emoji/unicode/26f5.png new file mode 100644 index 000000000..ff656dc62 Binary files /dev/null and b/app/assets/images/emoji/unicode/26f5.png differ diff --git a/app/assets/images/emoji/unicode/26fa.png b/app/assets/images/emoji/unicode/26fa.png new file mode 100644 index 000000000..5c0d20e48 Binary files /dev/null and b/app/assets/images/emoji/unicode/26fa.png differ diff --git a/app/assets/images/emoji/unicode/26fd.png b/app/assets/images/emoji/unicode/26fd.png new file mode 100644 index 000000000..54c29aeb1 Binary files /dev/null and b/app/assets/images/emoji/unicode/26fd.png differ diff --git a/app/assets/images/emoji/unicode/2702.png b/app/assets/images/emoji/unicode/2702.png new file mode 100644 index 000000000..020e05224 Binary files /dev/null and b/app/assets/images/emoji/unicode/2702.png differ diff --git a/app/assets/images/emoji/unicode/2705.png b/app/assets/images/emoji/unicode/2705.png new file mode 100644 index 000000000..61dc0583c Binary files /dev/null and b/app/assets/images/emoji/unicode/2705.png differ diff --git a/app/assets/images/emoji/unicode/2708.png b/app/assets/images/emoji/unicode/2708.png new file mode 100644 index 000000000..8407cb675 Binary files /dev/null and b/app/assets/images/emoji/unicode/2708.png differ diff --git a/app/assets/images/emoji/unicode/2709.png b/app/assets/images/emoji/unicode/2709.png new file mode 100644 index 000000000..3631861bb Binary files /dev/null and b/app/assets/images/emoji/unicode/2709.png differ diff --git a/app/assets/images/emoji/unicode/270a.png b/app/assets/images/emoji/unicode/270a.png new file mode 100644 index 000000000..ecc8874c2 Binary files /dev/null and b/app/assets/images/emoji/unicode/270a.png differ diff --git a/app/assets/images/emoji/unicode/270b.png b/app/assets/images/emoji/unicode/270b.png new file mode 100644 index 000000000..5e45c25a5 Binary files /dev/null and b/app/assets/images/emoji/unicode/270b.png differ diff --git a/app/assets/images/emoji/unicode/270c.png b/app/assets/images/emoji/unicode/270c.png new file mode 100644 index 000000000..f61267c28 Binary files /dev/null and b/app/assets/images/emoji/unicode/270c.png differ diff --git a/app/assets/images/emoji/unicode/270f.png b/app/assets/images/emoji/unicode/270f.png new file mode 100644 index 000000000..e624373b4 Binary files /dev/null and b/app/assets/images/emoji/unicode/270f.png differ diff --git a/app/assets/images/emoji/unicode/2712.png b/app/assets/images/emoji/unicode/2712.png new file mode 100644 index 000000000..29f6994c1 Binary files /dev/null and b/app/assets/images/emoji/unicode/2712.png differ diff --git a/app/assets/images/emoji/unicode/2714.png b/app/assets/images/emoji/unicode/2714.png new file mode 100644 index 000000000..336d2626d Binary files /dev/null and b/app/assets/images/emoji/unicode/2714.png differ diff --git a/app/assets/images/emoji/unicode/2716.png b/app/assets/images/emoji/unicode/2716.png new file mode 100644 index 000000000..13d666078 Binary files /dev/null and b/app/assets/images/emoji/unicode/2716.png differ diff --git a/app/assets/images/emoji/unicode/2728.png b/app/assets/images/emoji/unicode/2728.png new file mode 100644 index 000000000..92138828d Binary files /dev/null and b/app/assets/images/emoji/unicode/2728.png differ diff --git a/app/assets/images/emoji/unicode/2733.png b/app/assets/images/emoji/unicode/2733.png new file mode 100644 index 000000000..946a20333 Binary files /dev/null and b/app/assets/images/emoji/unicode/2733.png differ diff --git a/app/assets/images/emoji/unicode/2734.png b/app/assets/images/emoji/unicode/2734.png new file mode 100644 index 000000000..73dc6a0c9 Binary files /dev/null and b/app/assets/images/emoji/unicode/2734.png differ diff --git a/app/assets/images/emoji/unicode/2744.png b/app/assets/images/emoji/unicode/2744.png new file mode 100644 index 000000000..54b68ff4f Binary files /dev/null and b/app/assets/images/emoji/unicode/2744.png differ diff --git a/app/assets/images/emoji/unicode/2747.png b/app/assets/images/emoji/unicode/2747.png new file mode 100644 index 000000000..23a68ceb2 Binary files /dev/null and b/app/assets/images/emoji/unicode/2747.png differ diff --git a/app/assets/images/emoji/unicode/274c.png b/app/assets/images/emoji/unicode/274c.png new file mode 100644 index 000000000..b84f63557 Binary files /dev/null and b/app/assets/images/emoji/unicode/274c.png differ diff --git a/app/assets/images/emoji/unicode/274e.png b/app/assets/images/emoji/unicode/274e.png new file mode 100644 index 000000000..b47a0cece Binary files /dev/null and b/app/assets/images/emoji/unicode/274e.png differ diff --git a/app/assets/images/emoji/unicode/2753.png b/app/assets/images/emoji/unicode/2753.png new file mode 100644 index 000000000..63fd7f837 Binary files /dev/null and b/app/assets/images/emoji/unicode/2753.png differ diff --git a/app/assets/images/emoji/unicode/2754.png b/app/assets/images/emoji/unicode/2754.png new file mode 100644 index 000000000..57db41ead Binary files /dev/null and b/app/assets/images/emoji/unicode/2754.png differ diff --git a/app/assets/images/emoji/unicode/2755.png b/app/assets/images/emoji/unicode/2755.png new file mode 100644 index 000000000..a50d265e9 Binary files /dev/null and b/app/assets/images/emoji/unicode/2755.png differ diff --git a/app/assets/images/emoji/unicode/2757.png b/app/assets/images/emoji/unicode/2757.png new file mode 100644 index 000000000..4c560f5e3 Binary files /dev/null and b/app/assets/images/emoji/unicode/2757.png differ diff --git a/app/assets/images/emoji/unicode/2764.png b/app/assets/images/emoji/unicode/2764.png new file mode 100644 index 000000000..7d7790ce4 Binary files /dev/null and b/app/assets/images/emoji/unicode/2764.png differ diff --git a/app/assets/images/emoji/unicode/2795.png b/app/assets/images/emoji/unicode/2795.png new file mode 100644 index 000000000..61595387b Binary files /dev/null and b/app/assets/images/emoji/unicode/2795.png differ diff --git a/app/assets/images/emoji/unicode/2796.png b/app/assets/images/emoji/unicode/2796.png new file mode 100644 index 000000000..b8d3d82f2 Binary files /dev/null and b/app/assets/images/emoji/unicode/2796.png differ diff --git a/app/assets/images/emoji/unicode/2797.png b/app/assets/images/emoji/unicode/2797.png new file mode 100644 index 000000000..ac757a238 Binary files /dev/null and b/app/assets/images/emoji/unicode/2797.png differ diff --git a/app/assets/images/emoji/unicode/27a1.png b/app/assets/images/emoji/unicode/27a1.png new file mode 100644 index 000000000..e5cca853d Binary files /dev/null and b/app/assets/images/emoji/unicode/27a1.png differ diff --git a/app/assets/images/emoji/unicode/27b0.png b/app/assets/images/emoji/unicode/27b0.png new file mode 100644 index 000000000..8f051aca4 Binary files /dev/null and b/app/assets/images/emoji/unicode/27b0.png differ diff --git a/app/assets/images/emoji/unicode/27bf.png b/app/assets/images/emoji/unicode/27bf.png new file mode 100644 index 000000000..ef34df3a4 Binary files /dev/null and b/app/assets/images/emoji/unicode/27bf.png differ diff --git a/app/assets/images/emoji/unicode/2934.png b/app/assets/images/emoji/unicode/2934.png new file mode 100644 index 000000000..c8f670a1e Binary files /dev/null and b/app/assets/images/emoji/unicode/2934.png differ diff --git a/app/assets/images/emoji/unicode/2935.png b/app/assets/images/emoji/unicode/2935.png new file mode 100644 index 000000000..56dd3b9d3 Binary files /dev/null and b/app/assets/images/emoji/unicode/2935.png differ diff --git a/app/assets/images/emoji/unicode/2b05.png b/app/assets/images/emoji/unicode/2b05.png new file mode 100644 index 000000000..9d7d1b568 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b05.png differ diff --git a/app/assets/images/emoji/unicode/2b06.png b/app/assets/images/emoji/unicode/2b06.png new file mode 100644 index 000000000..565ce2952 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b06.png differ diff --git a/app/assets/images/emoji/unicode/2b07.png b/app/assets/images/emoji/unicode/2b07.png new file mode 100644 index 000000000..3956eb399 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b07.png differ diff --git a/app/assets/images/emoji/unicode/2b1b.png b/app/assets/images/emoji/unicode/2b1b.png new file mode 100644 index 000000000..71da10de8 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b1b.png differ diff --git a/app/assets/images/emoji/unicode/2b1c.png b/app/assets/images/emoji/unicode/2b1c.png new file mode 100644 index 000000000..60cb19a13 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b1c.png differ diff --git a/app/assets/images/emoji/unicode/2b50.png b/app/assets/images/emoji/unicode/2b50.png new file mode 100644 index 000000000..1bfddc862 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b50.png differ diff --git a/app/assets/images/emoji/unicode/2b55.png b/app/assets/images/emoji/unicode/2b55.png new file mode 100644 index 000000000..0ededebe3 Binary files /dev/null and b/app/assets/images/emoji/unicode/2b55.png differ diff --git a/app/assets/images/emoji/unicode/3030.png b/app/assets/images/emoji/unicode/3030.png new file mode 100644 index 000000000..77f626cc5 Binary files /dev/null and b/app/assets/images/emoji/unicode/3030.png differ diff --git a/app/assets/images/emoji/unicode/303d.png b/app/assets/images/emoji/unicode/303d.png new file mode 100644 index 000000000..45dc9b851 Binary files /dev/null and b/app/assets/images/emoji/unicode/303d.png differ diff --git a/app/assets/images/emoji/unicode/3297.png b/app/assets/images/emoji/unicode/3297.png new file mode 100644 index 000000000..dcbb1d229 Binary files /dev/null and b/app/assets/images/emoji/unicode/3297.png differ diff --git a/app/assets/images/emoji/unicode/3299.png b/app/assets/images/emoji/unicode/3299.png new file mode 100644 index 000000000..82e383a60 Binary files /dev/null and b/app/assets/images/emoji/unicode/3299.png differ diff --git a/app/assets/images/emoji/unlock.png b/app/assets/images/emoji/unlock.png new file mode 100644 index 000000000..22b429cd0 Binary files /dev/null and b/app/assets/images/emoji/unlock.png differ diff --git a/app/assets/images/emoji/up.png b/app/assets/images/emoji/up.png new file mode 100644 index 000000000..829219a86 Binary files /dev/null and b/app/assets/images/emoji/up.png differ diff --git a/app/assets/images/emoji/us.png b/app/assets/images/emoji/us.png new file mode 100644 index 000000000..38137669a Binary files /dev/null and b/app/assets/images/emoji/us.png differ diff --git a/app/assets/images/emoji/v.png b/app/assets/images/emoji/v.png new file mode 100644 index 000000000..f61267c28 Binary files /dev/null and b/app/assets/images/emoji/v.png differ diff --git a/app/assets/images/emoji/vertical_traffic_light.png b/app/assets/images/emoji/vertical_traffic_light.png new file mode 100644 index 000000000..7a5ba35f0 Binary files /dev/null and b/app/assets/images/emoji/vertical_traffic_light.png differ diff --git a/app/assets/images/emoji/vhs.png b/app/assets/images/emoji/vhs.png new file mode 100644 index 000000000..881081c17 Binary files /dev/null and b/app/assets/images/emoji/vhs.png differ diff --git a/app/assets/images/emoji/vibration_mode.png b/app/assets/images/emoji/vibration_mode.png new file mode 100644 index 000000000..a716e96c6 Binary files /dev/null and b/app/assets/images/emoji/vibration_mode.png differ diff --git a/app/assets/images/emoji/video_camera.png b/app/assets/images/emoji/video_camera.png new file mode 100644 index 000000000..274cecdd6 Binary files /dev/null and b/app/assets/images/emoji/video_camera.png differ diff --git a/app/assets/images/emoji/video_game.png b/app/assets/images/emoji/video_game.png new file mode 100644 index 000000000..59d45baea Binary files /dev/null and b/app/assets/images/emoji/video_game.png differ diff --git a/app/assets/images/emoji/violin.png b/app/assets/images/emoji/violin.png new file mode 100644 index 000000000..0dba5ba2b Binary files /dev/null and b/app/assets/images/emoji/violin.png differ diff --git a/app/assets/images/emoji/virgo.png b/app/assets/images/emoji/virgo.png new file mode 100644 index 000000000..72e1763f5 Binary files /dev/null and b/app/assets/images/emoji/virgo.png differ diff --git a/app/assets/images/emoji/volcano.png b/app/assets/images/emoji/volcano.png new file mode 100644 index 000000000..9b434539b Binary files /dev/null and b/app/assets/images/emoji/volcano.png differ diff --git a/app/assets/images/emoji/vs.png b/app/assets/images/emoji/vs.png new file mode 100644 index 000000000..863638850 Binary files /dev/null and b/app/assets/images/emoji/vs.png differ diff --git a/app/assets/images/emoji/walking.png b/app/assets/images/emoji/walking.png new file mode 100644 index 000000000..7a2bfacfc Binary files /dev/null and b/app/assets/images/emoji/walking.png differ diff --git a/app/assets/images/emoji/waning_crescent_moon.png b/app/assets/images/emoji/waning_crescent_moon.png new file mode 100644 index 000000000..30387780f Binary files /dev/null and b/app/assets/images/emoji/waning_crescent_moon.png differ diff --git a/app/assets/images/emoji/waning_gibbous_moon.png b/app/assets/images/emoji/waning_gibbous_moon.png new file mode 100644 index 000000000..8e324ec5f Binary files /dev/null and b/app/assets/images/emoji/waning_gibbous_moon.png differ diff --git a/app/assets/images/emoji/warning.png b/app/assets/images/emoji/warning.png new file mode 100644 index 000000000..466658d99 Binary files /dev/null and b/app/assets/images/emoji/warning.png differ diff --git a/app/assets/images/emoji/watch.png b/app/assets/images/emoji/watch.png new file mode 100644 index 000000000..d503bb87c Binary files /dev/null and b/app/assets/images/emoji/watch.png differ diff --git a/app/assets/images/emoji/water_buffalo.png b/app/assets/images/emoji/water_buffalo.png new file mode 100644 index 000000000..3bcde3edd Binary files /dev/null and b/app/assets/images/emoji/water_buffalo.png differ diff --git a/app/assets/images/emoji/watermelon.png b/app/assets/images/emoji/watermelon.png new file mode 100644 index 000000000..fc212be78 Binary files /dev/null and b/app/assets/images/emoji/watermelon.png differ diff --git a/app/assets/images/emoji/wave.png b/app/assets/images/emoji/wave.png new file mode 100644 index 000000000..e78402eb0 Binary files /dev/null and b/app/assets/images/emoji/wave.png differ diff --git a/app/assets/images/emoji/wavy_dash.png b/app/assets/images/emoji/wavy_dash.png new file mode 100644 index 000000000..77f626cc5 Binary files /dev/null and b/app/assets/images/emoji/wavy_dash.png differ diff --git a/app/assets/images/emoji/waxing_crescent_moon.png b/app/assets/images/emoji/waxing_crescent_moon.png new file mode 100644 index 000000000..c8f13dd31 Binary files /dev/null and b/app/assets/images/emoji/waxing_crescent_moon.png differ diff --git a/app/assets/images/emoji/waxing_gibbous_moon.png b/app/assets/images/emoji/waxing_gibbous_moon.png new file mode 100644 index 000000000..dd8c48458 Binary files /dev/null and b/app/assets/images/emoji/waxing_gibbous_moon.png differ diff --git a/app/assets/images/emoji/wc.png b/app/assets/images/emoji/wc.png new file mode 100644 index 000000000..dfe84d2a7 Binary files /dev/null and b/app/assets/images/emoji/wc.png differ diff --git a/app/assets/images/emoji/weary.png b/app/assets/images/emoji/weary.png new file mode 100644 index 000000000..0c5475411 Binary files /dev/null and b/app/assets/images/emoji/weary.png differ diff --git a/app/assets/images/emoji/wedding.png b/app/assets/images/emoji/wedding.png new file mode 100644 index 000000000..ead19d52c Binary files /dev/null and b/app/assets/images/emoji/wedding.png differ diff --git a/app/assets/images/emoji/whale.png b/app/assets/images/emoji/whale.png new file mode 100644 index 000000000..5bb113e42 Binary files /dev/null and b/app/assets/images/emoji/whale.png differ diff --git a/app/assets/images/emoji/whale2.png b/app/assets/images/emoji/whale2.png new file mode 100644 index 000000000..4af657b2f Binary files /dev/null and b/app/assets/images/emoji/whale2.png differ diff --git a/app/assets/images/emoji/wheelchair.png b/app/assets/images/emoji/wheelchair.png new file mode 100644 index 000000000..eddcdd797 Binary files /dev/null and b/app/assets/images/emoji/wheelchair.png differ diff --git a/app/assets/images/emoji/white_check_mark.png b/app/assets/images/emoji/white_check_mark.png new file mode 100644 index 000000000..61dc0583c Binary files /dev/null and b/app/assets/images/emoji/white_check_mark.png differ diff --git a/app/assets/images/emoji/white_circle.png b/app/assets/images/emoji/white_circle.png new file mode 100644 index 000000000..da782ae29 Binary files /dev/null and b/app/assets/images/emoji/white_circle.png differ diff --git a/app/assets/images/emoji/white_flower.png b/app/assets/images/emoji/white_flower.png new file mode 100644 index 000000000..c0929d0dd Binary files /dev/null and b/app/assets/images/emoji/white_flower.png differ diff --git a/app/assets/images/emoji/white_large_square.png b/app/assets/images/emoji/white_large_square.png new file mode 100644 index 000000000..60cb19a13 Binary files /dev/null and b/app/assets/images/emoji/white_large_square.png differ diff --git a/app/assets/images/emoji/white_medium_small_square.png b/app/assets/images/emoji/white_medium_small_square.png new file mode 100644 index 000000000..a115cdc49 Binary files /dev/null and b/app/assets/images/emoji/white_medium_small_square.png differ diff --git a/app/assets/images/emoji/white_medium_square.png b/app/assets/images/emoji/white_medium_square.png new file mode 100644 index 000000000..199808bcf Binary files /dev/null and b/app/assets/images/emoji/white_medium_square.png differ diff --git a/app/assets/images/emoji/white_small_square.png b/app/assets/images/emoji/white_small_square.png new file mode 100644 index 000000000..24ba879f4 Binary files /dev/null and b/app/assets/images/emoji/white_small_square.png differ diff --git a/app/assets/images/emoji/white_square_button.png b/app/assets/images/emoji/white_square_button.png new file mode 100644 index 000000000..63c7a3ef4 Binary files /dev/null and b/app/assets/images/emoji/white_square_button.png differ diff --git a/app/assets/images/emoji/wind_chime.png b/app/assets/images/emoji/wind_chime.png new file mode 100644 index 000000000..efacf5dd4 Binary files /dev/null and b/app/assets/images/emoji/wind_chime.png differ diff --git a/app/assets/images/emoji/wine_glass.png b/app/assets/images/emoji/wine_glass.png new file mode 100644 index 000000000..82b0f0005 Binary files /dev/null and b/app/assets/images/emoji/wine_glass.png differ diff --git a/app/assets/images/emoji/wink.png b/app/assets/images/emoji/wink.png new file mode 100644 index 000000000..756766dd3 Binary files /dev/null and b/app/assets/images/emoji/wink.png differ diff --git a/app/assets/images/emoji/wolf.png b/app/assets/images/emoji/wolf.png new file mode 100644 index 000000000..c60c96895 Binary files /dev/null and b/app/assets/images/emoji/wolf.png differ diff --git a/app/assets/images/emoji/woman.png b/app/assets/images/emoji/woman.png new file mode 100644 index 000000000..6bf0d2b12 Binary files /dev/null and b/app/assets/images/emoji/woman.png differ diff --git a/app/assets/images/emoji/womans_clothes.png b/app/assets/images/emoji/womans_clothes.png new file mode 100644 index 000000000..aa297c7b6 Binary files /dev/null and b/app/assets/images/emoji/womans_clothes.png differ diff --git a/app/assets/images/emoji/womans_hat.png b/app/assets/images/emoji/womans_hat.png new file mode 100644 index 000000000..4cb2e6a69 Binary files /dev/null and b/app/assets/images/emoji/womans_hat.png differ diff --git a/app/assets/images/emoji/womens.png b/app/assets/images/emoji/womens.png new file mode 100644 index 000000000..518b76a6d Binary files /dev/null and b/app/assets/images/emoji/womens.png differ diff --git a/app/assets/images/emoji/worried.png b/app/assets/images/emoji/worried.png new file mode 100644 index 000000000..afd9283fc Binary files /dev/null and b/app/assets/images/emoji/worried.png differ diff --git a/app/assets/images/emoji/wrench.png b/app/assets/images/emoji/wrench.png new file mode 100644 index 000000000..a87072ad1 Binary files /dev/null and b/app/assets/images/emoji/wrench.png differ diff --git a/app/assets/images/emoji/x.png b/app/assets/images/emoji/x.png new file mode 100644 index 000000000..b84f63557 Binary files /dev/null and b/app/assets/images/emoji/x.png differ diff --git a/app/assets/images/emoji/yellow_heart.png b/app/assets/images/emoji/yellow_heart.png new file mode 100644 index 000000000..fa41ce78a Binary files /dev/null and b/app/assets/images/emoji/yellow_heart.png differ diff --git a/app/assets/images/emoji/yen.png b/app/assets/images/emoji/yen.png new file mode 100644 index 000000000..139bc936e Binary files /dev/null and b/app/assets/images/emoji/yen.png differ diff --git a/app/assets/images/emoji/yum.png b/app/assets/images/emoji/yum.png new file mode 100644 index 000000000..fc39637ec Binary files /dev/null and b/app/assets/images/emoji/yum.png differ diff --git a/app/assets/images/emoji/zap.png b/app/assets/images/emoji/zap.png new file mode 100644 index 000000000..260c531b9 Binary files /dev/null and b/app/assets/images/emoji/zap.png differ diff --git a/app/assets/images/emoji/zero.png b/app/assets/images/emoji/zero.png new file mode 100644 index 000000000..15e7446c8 Binary files /dev/null and b/app/assets/images/emoji/zero.png differ diff --git a/app/assets/images/emoji/zzz.png b/app/assets/images/emoji/zzz.png new file mode 100644 index 000000000..30be04655 Binary files /dev/null and b/app/assets/images/emoji/zzz.png differ diff --git a/app/assets/images/gplus.png b/app/assets/images/facebook.png similarity index 88% rename from app/assets/images/gplus.png rename to app/assets/images/facebook.png index 80f6155e0..429c94254 100644 Binary files a/app/assets/images/gplus.png and b/app/assets/images/facebook.png differ diff --git a/app/assets/images/folder-submodule.png b/app/assets/images/folder-submodule.png new file mode 100644 index 000000000..651ee7423 Binary files /dev/null and b/app/assets/images/folder-submodule.png differ diff --git a/app/assets/images/git.png b/app/assets/images/github.png similarity index 100% rename from app/assets/images/git.png rename to app/assets/images/github.png diff --git a/app/assets/images/google.png b/app/assets/images/google.png new file mode 100644 index 000000000..2ce2a7161 Binary files /dev/null and b/app/assets/images/google.png differ diff --git a/app/assets/stylesheets/design/custom.scss b/app/assets/stylesheets/design/custom.scss index 894c7097e..075500d6f 100644 --- a/app/assets/stylesheets/design/custom.scss +++ b/app/assets/stylesheets/design/custom.scss @@ -2019,3 +2019,10 @@ article .activity .top { .cm-s-default.md_and_cm p img { max-width: 800px; } + +.tablesorter.project { + .th1 { + width: auto; + } + th { text-align: center; } +} \ No newline at end of file diff --git a/app/assets/stylesheets/design/main.scss b/app/assets/stylesheets/design/main.scss index 0135b0731..29beb1cbf 100644 --- a/app/assets/stylesheets/design/main.scss +++ b/app/assets/stylesheets/design/main.scss @@ -1514,32 +1514,30 @@ div.fork p { /* Project main page */ -table.tablesorter.project .th1 { - width: 130px; - /*padding-left: 17px;*/ -} +.tablesorter.project { -table.tablesorter.project .th2 { - width: 110px; - /*padding-left: 17px;*/ -} - -table.tablesorter.project .th3 { - width: 450px; -} - -table.tablesorter.project .th4 { - /*padding-left: 17px;*/ -} - -table.tablesorter.project div.name { - float: left; - margin-top: 0px; -} - -table.tablesorter.project div.pic { - float: left; - padding-right: 5px; + .th1 { + width: 130px; + /*padding-left: 17px;*/ + } + .th2 { + width: 110px; + /*padding-left: 17px;*/ + } + .th3 { + width: 450px; + } + .th4 { + /*padding-left: 17px;*/ + } + .name { + float: left; + margin-top: 0px; + } + .pic { + float: left; + padding-right: 5px; + } } a.files-see { diff --git a/app/assets/stylesheets/login.scss b/app/assets/stylesheets/login.scss index 6ac3c5092..9dea52902 100644 --- a/app/assets/stylesheets/login.scss +++ b/app/assets/stylesheets/login.scss @@ -1,3 +1,16 @@ @import 'devise/login'; -nav a { text-decoration: none;} \ No newline at end of file +nav a { text-decoration: none;} + +article { + height: auto; + width: 270px; + padding-bottom: 10px; + + a { + text-decoration: none; + } + .facebook { + margin-right: -4px; + } +} \ No newline at end of file diff --git a/app/assets/stylesheets/reg_session.scss b/app/assets/stylesheets/reg_session.scss index 025ea5b34..696780dac 100644 --- a/app/assets/stylesheets/reg_session.scss +++ b/app/assets/stylesheets/reg_session.scss @@ -21,3 +21,28 @@ div.error.forgot { div.error.reset { margin-top: -141px; margin-left: 645px; } + +article { + height: auto; + padding-bottom: 10px; + .hr { + margin-top: 10px; + border-bottom: 1px solid #264862; + border-top: 1px solid #264862; + height: 1px; + } + a { + text-decoration: none; + } + .facebook { + margin-right: -4px; + } + .other { + .left { + margin-top: 6px; + } + .right { + margin-top: 13px; + } + } +} \ No newline at end of file diff --git a/app/controllers/api/v1/issues_controller.rb b/app/controllers/api/v1/issues_controller.rb new file mode 100644 index 000000000..6f0986a87 --- /dev/null +++ b/app/controllers/api/v1/issues_controller.rb @@ -0,0 +1,108 @@ +# -*- encoding : utf-8 -*- +class Api::V1::IssuesController < Api::V1::BaseController + respond_to :json + + before_filter :authenticate_user! + skip_before_filter :authenticate_user!, :only => [:show] if APP_CONFIG['anonymous_access'] + + load_and_authorize_resource :group, :only => :group_index + load_resource :project + load_and_authorize_resource :issue, :through => :project, :find_by => :serial_id, :only => [:show, :update, :destroy, :create, :index] + + def index + @issues = @project.issues + render_issues_list + end + + def all_index + project_ids = get_all_project_ids Project.accessible_by(current_ability, :membered).uniq.pluck(:id) + @issues = Issue.where('issues.project_id IN (?)', project_ids) + render_issues_list + end + + def user_index + project_ids = get_all_project_ids current_user.projects.select('distinct projects.id').pluck(:id) + @issues = Issue.where('issues.project_id IN (?)', project_ids) + render_issues_list + end + + def group_index + project_ids = @group.projects.select('distinct projects.id').pluck(:id) + @issues = Issue.where(:project_id => project_ids) + render_issues_list + end + + def show + respond_with @issue + end + + def create + @issue.user = current_user + create_subject @issue + end + + def update + update_subject @issue + end + + def destroy + destroy_subject @issue + end + + private + + def render_issues_list + @issues = @issues.includes(:user, :assignee, :labels).without_pull_requests + if params[:status] == 'closed' + @issues = @issues.closed + else + @issues = @issues.opened + end + + if action_name == 'index' && params[:assignee].present? + case params[:assignee] + when 'none' + @issues = @issues.where(:assigned_id => nil) + when '*' + @issues = @issues.where('assigned_id IS NOT NULL') + else + @issues = @issues.where('assignees_issues.uname = ?', params[:assignee]) + end + end + + if %w[all_index user_index group_index].include?(action_name) + case params[:filter] + when 'created' + @issues = @issues.where(:user_id => current_user) + when 'all' + else + @issues = @issues.where(:assignee_id => current_user) + end + else + @issues.where('users.uname = ?', params[:creator]) if params[:creator].present? + end + + if params[:labels].present? + labels = params[:labels].split(',').map {|e| e.strip}.select {|e| e.present?} + @issues = @issues.where('labels.name IN (?)', labels) + end + + sort = params[:sort] == 'updated' ? 'issues.updated_at' : 'issues.created_at' + direction = params[:direction] == 'asc' ? 'ASC' : 'DESC' + @issues = @issues.order("#{sort} #{direction}") + + @issues = @issues.where('created_at >= to_timestamp(?)', params[:since]) if params[:since] =~ /\A\d+\z/ + @issues.paginate(paginate_params) + respond_with @issues + end + + def get_all_project_ids default_project_ids + project_ids = [] + if ['created', 'all'].include? params[:filter] + # add own issues + project_ids = Project.accessible_by(current_ability, :show).joins(:issues). + where(:issues => {:user_id => current_user.id}).uniq.pluck('projects.id') + end + project_ids |= default_project_ids + end +end diff --git a/app/controllers/projects/projects_controller.rb b/app/controllers/projects/projects_controller.rb index 4c76cbbb4..23ff01ec9 100644 --- a/app/controllers/projects/projects_controller.rb +++ b/app/controllers/projects/projects_controller.rb @@ -72,7 +72,7 @@ class Projects::ProjectsController < Projects::BaseController redirect_to forked, :notice => t("flash.project.forked") else flash[:warning] = t("flash.project.fork_error") - flash[:error] = forked.errors.full_messages + flash[:error] = forked.errors.full_messages.join("\n") redirect_to @project end end diff --git a/app/controllers/users/omniauth_callbacks_controller.rb b/app/controllers/users/omniauth_callbacks_controller.rb index a23a8c7e1..6b94783aa 100644 --- a/app/controllers/users/omniauth_callbacks_controller.rb +++ b/app/controllers/users/omniauth_callbacks_controller.rb @@ -1,30 +1,64 @@ # -*- encoding : utf-8 -*- class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController - def open_id - # raise env['omniauth.auth'].inspect - generic + + def facebook + oauthorize 'Facebook' + end + + def google_oauth2 + oauthorize 'google_oauth2' + end + + def github + oauthorize 'GitHub' end def passthru render :file => "#{Rails.root}/public/404.html", :status => 404, :layout => false end + + private - protected - - def generic - authentication = Authentication.find_or_initialize_by_provider_and_uid(env['omniauth.auth']['provider'], env['omniauth.auth']['uid']) + def oauthorize(kind) + provider = kind.downcase + @user = find_for_ouath(env["omniauth.auth"], current_user) + if @user && @user.persisted? + flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => action_name.classify + sign_in_and_redirect @user, :event => :authentication + else + session["devise.#{provider}_data"] = env["omniauth.auth"] + redirect_to new_user_registration_url + end + end + + def find_for_ouath(auth, resource=nil) + provider, uid = auth['provider'], auth['uid'] + authentication = Authentication.find_or_initialize_by_provider_and_uid(provider, uid) if authentication.new_record? if user_signed_in? # New authentication method for current_user authentication.user = current_user - authentication.save else # Register new user from session - session["devise.omniauth_data"] = env["omniauth.auth"].except('extra') - flash[:notice] = I18n.t "devise.omniauth_callbacks.register" - redirect_to new_user_registration_url + case provider + when 'facebook' + name = auth['extra']['raw_info']['name'] + when 'google_oauth2', 'github' + name = auth['info']['nickname'] || auth['info']['name'] + else + raise 'Provider #{provider} not handled' + end + user = User.find_or_initialize_by_email(auth['info']['email']) + if user.new_record? + user.name = name + user.uname = name.gsub(/\s/, '').underscore + user.password = Devise.friendly_token[0,20] + user.confirmed_at = Time.zone.now + user.save + end + authentication.user = user end - else - flash[:notice] = I18n.t "devise.omniauth_callbacks.success", :kind => action_name.classify - sign_in_and_redirect authentication.user, :event => :authentication + authentication.save end + return authentication.user end -end + +end \ No newline at end of file diff --git a/app/controllers/users/register_requests_controller.rb b/app/controllers/users/register_requests_controller.rb index a21249cdb..e541f7476 100644 --- a/app/controllers/users/register_requests_controller.rb +++ b/app/controllers/users/register_requests_controller.rb @@ -4,7 +4,11 @@ class Users::RegisterRequestsController < ApplicationController layout 'invite' def new - render :invite + if APP_CONFIG['preregistration'] + render :invite + else + redirect_to new_user_registration_path + end end def create diff --git a/app/helpers/git_helper.rb b/app/helpers/git_helper.rb index a1782ecbd..62e0ff19d 100644 --- a/app/helpers/git_helper.rb +++ b/app/helpers/git_helper.rb @@ -1,6 +1,23 @@ # -*- encoding : utf-8 -*- module GitHelper + def submodule_url(node, treeish) + # node.url(treeish) looks like: + # - http://0.0.0.0:3000/abf/git@abf.rosalinux.ru:abf/rhel-scripts.git + # - git://github.com/avokhmin/mdv-scripts.git + url = node.url(treeish).gsub(/.git$/, '') + if url =~ /^git:/ + url.gsub!(/^git/, 'http') + elsif str = /git@.*:.*/.match(url) + str = str[0].gsub(/^git@/, '') + domen = str.gsub(/:.*/, '') + owner = str.gsub(/^#{domen}:/, '').gsub(/\/.*/, '') + project = str.gsub(/.*\//, '') + url = "http://#{domen}/#{owner}/#{project}" + end + url + end + def render_path # TODO: Looks ugly, rewrite with clear mind. if @path.present? diff --git a/app/helpers/pull_request_helper.rb b/app/helpers/pull_request_helper.rb index fe25b4b87..e7fac9845 100644 --- a/app/helpers/pull_request_helper.rb +++ b/app/helpers/pull_request_helper.rb @@ -10,7 +10,7 @@ module PullRequestHelper def pull_status_label pull statuses = {'ready' => 'success', 'closed' => 'important', 'merged' => 'important', 'blocked' => 'warning'} - content_tag :span, t("projects.pull_requests.statuses.#{pull.status}"), :class => "label-bootstrap label-#{statuses[pull.status]}" + content_tag :span, t("projects.pull_requests.statuses.#{pull.status}"), :class => "state label-bootstrap label-#{statuses[pull.status]}" end def pull_status pull diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index b79be2446..71f4d8ea9 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -42,7 +42,7 @@ class UserMailer < ActionMailer::Base end def issue_assign_notification(issue, user) - @user, @issue = user, issue + @issue = issue mail( :to => email_with_name(user, user.email), :subject => subject_for_issue(@issue) diff --git a/app/models/ability.rb b/app/models/ability.rb index 749023f2c..52c23caac 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -146,7 +146,8 @@ class Ability # Shared cannot rights for all users (registered, admin) cannot :destroy, Platform, :platform_type => 'personal' - cannot [:create, :destroy, :edit, :update, :add_project, :remove_project], Repository, :platform => {:platform_type => 'personal'} + cannot [:create, :destroy], Repository, :platform => {:platform_type => 'personal'}, :name => 'main' + cannot [:remove_members, :remove_member, :add_member], Repository, :platform => {:platform_type => 'personal'} cannot :clear, Platform, :platform_type => 'main' cannot :destroy, Issue diff --git a/app/models/activity_feed_observer.rb b/app/models/activity_feed_observer.rb index 4f8672e73..352b52f19 100644 --- a/app/models/activity_feed_observer.rb +++ b/app/models/activity_feed_observer.rb @@ -41,6 +41,7 @@ class ActivityFeedObserver < ActiveRecord::Observer :project_id => record.project.id, :issue_title => record.title, :project_name => record.project.name, :project_owner => record.project.owner.uname} ) end + Comment.create_link_on_issues_from_item(record) when 'Comment' return if record.automatic @@ -145,7 +146,8 @@ class ActivityFeedObserver < ActiveRecord::Observer :project_id => record.project.id, :project_name => record.project.name, :project_owner => record.project.owner.uname} ) end - + # dont remove outdated issues link + Comment.create_link_on_issues_from_item(record) when 'BuildList' if record.mass_build.blank? && ( # Do not show mass build activity in activity feeds record.status_changed? && BUILD_LIST_STATUSES.include?(record.status) || diff --git a/app/models/authentication.rb b/app/models/authentication.rb index 0f29e3da9..e87f63c44 100644 --- a/app/models/authentication.rb +++ b/app/models/authentication.rb @@ -2,6 +2,6 @@ class Authentication < ActiveRecord::Base belongs_to :user - validates :provider, :uid, :presence => true + validates :provider, :uid, :user_id, :presence => true validates :uid, :uniqueness => {:scope => :provider, :case_sensitive => false} end diff --git a/app/models/collaborator.rb b/app/models/collaborator.rb index 8b1f1b412..ee9d73421 100644 --- a/app/models/collaborator.rb +++ b/app/models/collaborator.rb @@ -110,6 +110,7 @@ class Collaborator def destroy relation.try(:destroy) + @actor.check_assigned_issues @project end def attributes diff --git a/app/models/comment.rb b/app/models/comment.rb index 636d9e170..88913e613 100644 --- a/app/models/comment.rb +++ b/app/models/comment.rb @@ -4,7 +4,7 @@ class Comment < ActiveRecord::Base # User/Project#Num # User#Num # #Num - ISSUES_REGEX = /(?:[a-zA-Z0-9\-_]*\/)?(?:[a-zA-Z0-9\-_]*)?[#!][0-9]+/ + ISSUES_REGEX = /(?:[a-zA-Z0-9\-_]*\/)?(?:[a-zA-Z0-9\-_]*)?#[0-9]+/ belongs_to :commentable, :polymorphic => true, :touch => true belongs_to :user @@ -137,49 +137,48 @@ class Comment < ActiveRecord::Base def self.create_link_on_issues_from_item item, commits = nil linker = item.user - elements = if item.is_a? Comment - [[item, item.body]] - elsif item.is_a? GitHook - commits - end current_ability = Ability.new(linker) + case + when item.is_a?(GitHook) + elements = commits + opts = {} + when item.is_a?(Issue) + elements = [[item, item.title], [item, item.body]] + opts = {:created_from_issue_id => item.id} + when item.commentable_type == 'Issue' + elements = [[item, item.body]] + opts = {:created_from_issue_id => item.commentable_id} + when item.commentable_type == 'Grit::Commit' + elements = [[item, item.body]] + opts = {:created_from_commit_hash => item.commentable_id} + else + raise "Unsupported item type #{item.class.name}!" + end + elements.each do |element| element[1].scan(ISSUES_REGEX).each do |hash| - delimiter = if hash.include? '!' - '!' - elsif hash.include? '#' - '#' - else - raise 'Unknown delimiter for the hash tag!' - end - issue = Issue.find_by_hash_tag hash, current_ability, item.project, delimiter + issue = Issue.find_by_hash_tag hash, current_ability, item.project next unless issue # dont create link to the same issue - next if item.respond_to?(:commentable) && issue == item.try(:commentable) - find_dup = {:automatic => true, :commentable_type => issue.class.name, :commentable_id => issue.id} - if item.is_a? GitHook - find_dup.merge! :created_from_commit_hash => element[0].hex - elsif item.commentable_type == 'Issue' - find_dup.merge! :created_from_issue_id => item.commentable_id - elsif item.commentable_type == 'Grit::Commit' - find_dup.merge! :created_from_commit_hash => item.commentable_id + next if opts[:created_from_issue_id] == issue.id + # dont create duplicate link to issue + next if Comment.find_existing_automatic_comment issue, opts + if item.is_a?(GitHook) + opts = {:created_from_commit_hash => element[0].hex} + # dont create link to outdated commit + next if !item.project.repo.commit(element[0]) end - next if Comment.exists? find_dup # dont create duplicate link to issue - comment = linker.comments.new :body => 'automatic comment' comment.commentable, comment.project, comment.automatic = issue, issue.project, true comment.data = {:from_project_id => item.project.id} - if item.is_a? GitHook - next unless item.project.repo.commit element[0] - comment.created_from_commit_hash = element[0].hex + if opts[:created_from_commit_hash] + comment.created_from_commit_hash = opts[:created_from_commit_hash] + elsif opts[:created_from_issue_id] + comment.data.merge!(:comment_id => item.id) if item.is_a? Comment + comment.created_from_issue_id = opts[:created_from_issue_id] else - comment.data.merge! :comment_id => item.id - if item.commentable_type == 'Issue' - comment.created_from_issue_id = item.commentable_id - elsif item.commentable_type == 'Grit::Commit' - comment.created_from_commit_hash = item.commentable_id - end + raise 'Unsupported opts for automatic comment!' end comment.save end @@ -204,4 +203,10 @@ class Comment < ActiveRecord::Base end end end + + def self.find_existing_automatic_comment issue, opts + find_dup = opts.merge(:automatic => true, :commentable_type => issue.class.name, + :commentable_id => issue.id) + Comment.exists? find_dup + end end diff --git a/app/models/group.rb b/app/models/group.rb index e10edf9ad..6eb0ce1c4 100644 --- a/app/models/group.rb +++ b/app/models/group.rb @@ -51,6 +51,10 @@ class Group < Avatar false end + def fullname + return description.present? ? "#{uname} (#{description})" : uname + end + protected def add_owner_to_members diff --git a/app/models/issue.rb b/app/models/issue.rb index 4e1ec3e1b..c9236a489 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -67,8 +67,8 @@ class Issue < ActiveRecord::Base recipients end - def self.find_by_hash_tag hash_tag, current_ability, project, delimiter = '#' - hash_tag =~ /([a-zA-Z0-9\-_]*\/)?([a-zA-Z0-9\-_]*)?#{delimiter}([0-9]+)/ + def self.find_by_hash_tag hash_tag, current_ability, project + hash_tag =~ /([a-zA-Z0-9\-_]*\/)?([a-zA-Z0-9\-_]*)?#([0-9]+)/ owner_uname = Regexp.last_match[1].presence || Regexp.last_match[2].presence || project.owner.uname project_name = Regexp.last_match[1] ? Regexp.last_match[2] : project.name serial_id = Regexp.last_match[3] diff --git a/app/models/key_pair.rb b/app/models/key_pair.rb index 54f306116..ca8a3fe8c 100644 --- a/app/models/key_pair.rb +++ b/app/models/key_pair.rb @@ -21,7 +21,9 @@ class KeyPair < ActiveRecord::Base protected def check_keys - dir = Dir.mktmpdir('keys-', "#{APP_CONFIG['root_path']}/tmp") + tmp = "#{APP_CONFIG['root_path']}/tmp" + system "sudo chown `whoami` #{tmp} && chmod 1777 #{tmp}" + dir = Dir.mktmpdir('keys-', tmp) begin %w(pubring secring).each do |kind| filename = "#{dir}/#{kind}" diff --git a/app/models/project.rb b/app/models/project.rb index 791b87088..36784272b 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -32,6 +32,14 @@ class Project < ActiveRecord::Base validates :visibility, :presence => true, :inclusion => {:in => VISIBILITIES} validate { errors.add(:base, :can_have_less_or_equal, :count => MAX_OWN_PROJECTS) if owner.projects.size >= MAX_OWN_PROJECTS } validate :check_default_branch + # throws validation error message from ProjectToRepository model into Project model + validate do |project| + project.project_to_repositories.each do |p_to_r| + next if p_to_r.valid? + p_to_r.errors.full_messages.each{ |msg| errors[:base] << msg } + end + errors.delete :project_to_repositories + end attr_accessible :name, :description, :visibility, :srpm, :is_package, :default_branch, :has_issues, :has_wiki, :maintainer_id, :publish_i686_into_x86_64 attr_readonly :name, :owner_id, :owner_type @@ -256,11 +264,11 @@ class Project < ActiveRecord::Base end def attach_to_personal_repository - owner_rep = self.owner.personal_repository + owner_repos = self.owner.personal_platform.repositories if is_package - repositories << owner_rep unless repositories.exists?(:id => owner_rep) + repositories << self.owner.personal_repository unless repositories.exists?(:id => owner_repos.pluck(:id)) else - repositories.delete owner_rep + repositories.delete owner_repos end end diff --git a/app/models/project_to_repository.rb b/app/models/project_to_repository.rb index 16035ce3e..a1f9c5327 100644 --- a/app/models/project_to_repository.rb +++ b/app/models/project_to_repository.rb @@ -7,12 +7,12 @@ class ProjectToRepository < ActiveRecord::Base after_destroy lambda { project.destroy_project_from_repository(repository) }, :unless => lambda {Thread.current[:skip]} - validate :one_project_in_platform_repositories + validate :one_project_in_platform_repositories, :on => :create protected def one_project_in_platform_repositories - errors.add(:project, 'should be one in platform') if Project.joins(:repositories => :platform). - where('platforms.id = ?', repository.platform_id).by_name(project.name).count > 0 + errors.add(:base, I18n.t('activerecord.errors.project_to_repository.project')) if Project.joins(:repositories => :platform). + where('platforms.id = ?', repository.platform_id).by_name(project.name).exists? end end diff --git a/app/models/relation.rb b/app/models/relation.rb index 2ce5d0fa4..58c54b277 100644 --- a/app/models/relation.rb +++ b/app/models/relation.rb @@ -34,7 +34,11 @@ class Relation < ActiveRecord::Base def self.remove_member(member, target) return false if target.respond_to?(:owner) && target.owner == member - Relation.by_actor(member).by_target(target).each{|r| r.destroy} + res = Relation.by_actor(member).by_target(target).each{|r| r.destroy} + if member.is_a?(User) && ['Project', 'Group'].include?(target.class.name) + member.check_assigned_issues target + end + res end protected diff --git a/app/models/user.rb b/app/models/user.rb index 953665770..b7d9a498b 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -7,6 +7,7 @@ class User < Avatar devise :database_authenticatable, :registerable, :omniauthable, :token_authenticatable,# :encryptable, :timeoutable :recoverable, :rememberable, :validatable, :lockable, :confirmable#, :reconfirmable, :trackable + devise :omniauthable, :omniauth_providers => [:facebook, :google_oauth2, :github] has_one :notifier, :class_name => 'SettingsNotifier', :dependent => :destroy #:notifier @@ -27,6 +28,7 @@ class User < Avatar has_many :own_projects, :as => :owner, :class_name => 'Project', :dependent => :destroy has_many :own_groups, :foreign_key => :owner_id, :class_name => 'Group', :dependent => :destroy has_many :own_platforms, :as => :owner, :class_name => 'Platform', :dependent => :destroy + has_many :assigned_issues, :foreign_key => :assignee_id, :class_name => 'Issue', :dependent => :nullify has_many :key_pairs has_many :ssh_keys, :dependent => :destroy @@ -98,20 +100,6 @@ class User < Avatar { :value => login.downcase, :orig_value => login }]).first end - def new_with_session(params, session) - super.tap do |user| - if data = session["devise.omniauth_data"] - if info = data['info'] and info.present? - user.email = info['email'].presence if user.email.blank? - user.uname ||= info['nickname'].presence || info['username'].presence - user.name ||= info['name'].presence || [info['first_name'], info['last_name']].join(' ').strip - end - user.password = Devise.friendly_token[0,20] # stub password - user.authentications.build :uid => data['uid'], :provider => data['provider'] - end - end - end - def auth_by_token_or_login_pass(user, pass) u = User.find_for_database_authentication(:login => user) u if u && !u.access_locked? && (u.authentication_token == user || u.valid_password?(pass)) @@ -154,6 +142,19 @@ class User < Avatar raise "unknown user #{self.uname} roles #{roles}" end + def check_assigned_issues target + if target.is_a? Project + assigned_issues.where(:project_id => target.id).update_all(:assignee_id => nil) + else + ability = Ability.new self + project_ids = Project.accessible_by(ability, :membered).uniq.pluck(:id) + + issues = assigned_issues + issues = issues.where('project_id not in (?)', project_ids) if project_ids.present? + issues.update_all(:assignee_id => nil) + end + end + protected def target_roles target diff --git a/app/presenters/comment_presenter.rb b/app/presenters/comment_presenter.rb index ddab23e53..032c380fb 100644 --- a/app/presenters/comment_presenter.rb +++ b/app/presenters/comment_presenter.rb @@ -3,7 +3,8 @@ class CommentPresenter < ApplicationPresenter include PullRequestHelper attr_accessor :comment, :options - attr_reader :header, :image, :date, :caption, :content, :buttons, :is_reference_to_issue + attr_reader :header, :image, :date, :caption, :content, :buttons, :is_reference_to_issue, + :reference_project def initialize(comment, opts = {}) @is_reference_to_issue = !!(comment.automatic && comment.created_from_issue_id) # is it reference issue from another issue @@ -14,7 +15,8 @@ class CommentPresenter < ApplicationPresenter else issue = Issue.where(:id => comment.created_from_issue_id).first @referenced_issue = issue.pull_request || issue - if issue && Comment.exists?(comment.data[:comment_id]) + @reference_project = issue.project + if issue && (comment.data[:comment_id].nil? || Comment.exists?(comment.data[:comment_id])) title = if issue == opts[:commentable] "#{issue.serial_id}" elsif issue.project.owner == opts[:commentable].project.owner @@ -81,7 +83,7 @@ class CommentPresenter < ApplicationPresenter end def date - @date ||= I18n.l(@comment.updated_at, :format => :long) + @date ||= I18n.l(@comment.created_at, :format => :long) end def comment_id? diff --git a/app/presenters/git_presenters/commit_as_message_presenter.rb b/app/presenters/git_presenters/commit_as_message_presenter.rb index 2d611d04e..a982e46c8 100644 --- a/app/presenters/git_presenters/commit_as_message_presenter.rb +++ b/app/presenters/git_presenters/commit_as_message_presenter.rb @@ -3,26 +3,27 @@ class GitPresenters::CommitAsMessagePresenter < ApplicationPresenter include CommitHelper attr_accessor :commit - attr_reader :header, :image, :date, :caption, :content, :expandable, :is_reference_to_issue, :committer + attr_reader :header, :image, :date, :caption, :content, :expandable, + :is_reference_to_issue, :committer def initialize(commit, opts = {}) comment = opts[:comment] @is_reference_to_issue = !!comment # is it reference issue from commit @project = if comment - Project.where(:id => opts[:comment].data[:from_project_id]).first - else - opts[:project] - end - if @project - commit = commit || @project.repo.commit(comment.created_from_commit_hash.to_s(16)) + Project.where(:id => comment.data[:from_project_id]).first + else + opts[:project] + end + commit = commit || @project.repo.commit(comment.created_from_commit_hash.to_s(16)) if @project + if @project && commit @committer = User.where(:email => commit.committer.email).first || commit.committer @commit_hash = commit.id @committed_date, @authored_date = commit.committed_date, commit.authored_date @commit_message = commit.message else @committer = t('layout.commits.unknown_committer') - @commit_hash = comment.created_from_commit_hash + @commit_hash = comment.created_from_commit_hash.to_s(16) @committed_date = @authored_date = comment.created_at @commit_message = t('layout.commits.deleted') end @@ -76,6 +77,10 @@ class GitPresenters::CommitAsMessagePresenter < ApplicationPresenter false end + def reference_project + @project if @is_reference_to_issue + end + protected def committer_link diff --git a/app/views/api/v1/issues/_issue.json.jbuilder b/app/views/api/v1/issues/_issue.json.jbuilder new file mode 100644 index 000000000..7db24740b --- /dev/null +++ b/app/views/api/v1/issues/_issue.json.jbuilder @@ -0,0 +1,11 @@ +json.number issue.serial_id +json.(issue, :title, :status) +json.labels issue.labels do |json_labels, label| + json.partial! 'label', :label => label, :json => json_labels +end +json.assignee do |json_assignee| + json.partial! 'api/v1/shared/member', :member => issue.assignee, :tag => json_assignee +end if issue.assignee + +json.url api_v1_project_issue_path(issue.project.id, issue.serial_id, :format => :json) + diff --git a/app/views/api/v1/issues/_label.json.jbuilder b/app/views/api/v1/issues/_label.json.jbuilder new file mode 100644 index 000000000..fdee26e0d --- /dev/null +++ b/app/views/api/v1/issues/_label.json.jbuilder @@ -0,0 +1 @@ +json.(label, :name, :color) diff --git a/app/views/api/v1/issues/index.json.jbuilder b/app/views/api/v1/issues/index.json.jbuilder new file mode 100644 index 000000000..85e2ffb00 --- /dev/null +++ b/app/views/api/v1/issues/index.json.jbuilder @@ -0,0 +1,11 @@ +json.issues @issues do |json, issue| + json.partial! 'issue', :issue => issue, :json => json + json.issue issue.body + json.partial! 'api/v1/shared/owner', :owner => issue.user + json.closed_at issue.closed_at.to_i + json.closed_by do |json_user| + json.partial! 'api/v1/shared/member', :member => issue.closer, :tag => json_user + end if issue.closer + json.created_at issue.created_at.to_i + json.updated_at issue.updated_at.to_i +end diff --git a/app/views/api/v1/issues/show.json.jbuilder b/app/views/api/v1/issues/show.json.jbuilder new file mode 100644 index 000000000..4cff5fbb7 --- /dev/null +++ b/app/views/api/v1/issues/show.json.jbuilder @@ -0,0 +1,11 @@ +json.issue do |json| + json.partial! 'issue', :issue => @issue, :json => json + json.issue @issue.body + json.partial! 'api/v1/shared/owner', :owner => @issue.user + json.closed_at @issue.closed_at.to_i + json.closed_by do |json_user| + json.partial! 'api/v1/shared/member', :member => @issue.closer, :tag => json_user + end if @issue.closer + json.created_at @issue.created_at.to_i + json.updated_at @issue.updated_at.to_i +end diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index 5fb9371d6..413c28e96 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -17,7 +17,10 @@ .both .left=t('activerecord.attributes.user.email') .right - = f.text_field :email, :id => 'email', :readonly => 'readonly', :class => "registartion-input #{email_error ? 'registartion-input-error' : ''}" + - if APP_CONFIG['preregistration'] + = f.text_field :email, :id => 'email', :readonly => 'readonly', :class => "registartion-input #{email_error ? 'registartion-input-error' : ''}" + - else + = f.text_field :email, :id => 'email', :class => 'registartion-input' .both .left=t('activerecord.attributes.user.password') .right @@ -30,6 +33,7 @@ .in =f.submit t("layout.devise.shared_links.sign_up"), :class => 'button', :id => 'btnLogin' .both + = render 'devise/shared/providers' =showDeviseHintError(:login, uname_error) =showDeviseHintError(:name, name_error) diff --git a/app/views/devise/sessions/new.html.haml b/app/views/devise/sessions/new.html.haml index 55c16f02d..1598f8dcf 100644 --- a/app/views/devise/sessions/new.html.haml +++ b/app/views/devise/sessions/new.html.haml @@ -27,8 +27,7 @@ .text=t('devise.sessions.remember_me') .in=f.submit t('layout.devise.shared_links.sign_in'), :class => 'button', :id => 'btnLogin' %div{:style => "clear: both;"} - .hr - .both + = render 'devise/shared/providers' .forgot .password %p= link_to t("layout.devise.shared_links.forgot_password"), new_password_path(resource_name) diff --git a/app/views/devise/shared/_providers.haml b/app/views/devise/shared/_providers.haml new file mode 100644 index 000000000..d173f01d0 --- /dev/null +++ b/app/views/devise/shared/_providers.haml @@ -0,0 +1,11 @@ +- if devise_mapping.omniauthable? + .hr + .other + .left + %p= t('layout.sessions.sign_up_with') + .right + - resource_class.omniauth_providers.each do |provider| + = link_to omniauth_authorize_path(resource_name, provider) do + - provider = provider.to_s.gsub(/_oauth2/,'') + = image_tag("#{provider}.png", :alt => provider, :class => provider) + .both \ No newline at end of file diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index 9f62ca9a2..b6cd5903b 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -38,6 +38,7 @@ .a= link_to t('layout.logout'), destroy_user_session_path, :method => :delete - else .user + .profile= link_to t("layout.devise.shared_links.sign_up"), new_register_request_path .profile= link_to t("layout.devise.shared_links.sign_in"), new_user_session_path .right .both diff --git a/app/views/platforms/key_pairs/_new.html.haml b/app/views/platforms/key_pairs/_new.html.haml index b740fe218..ff0cff09a 100644 --- a/app/views/platforms/key_pairs/_new.html.haml +++ b/app/views/platforms/key_pairs/_new.html.haml @@ -1,5 +1,3 @@ -= render 'platforms/base/sidebar' - %h3= t("layout.key_pairs.header") = form_for :key_pair, :url => platform_key_pairs_path(@platform), :method => :post, :html => { :class => :form } do |f| diff --git a/app/views/platforms/key_pairs/index.html.haml b/app/views/platforms/key_pairs/index.html.haml index b04743a34..1d1959d5e 100644 --- a/app/views/platforms/key_pairs/index.html.haml +++ b/app/views/platforms/key_pairs/index.html.haml @@ -1,2 +1,6 @@ +- set_meta_tags :title => [title_object(@platform), t('layout.key_pairs.header')] += render 'platforms/base/submenu' += render 'platforms/base/sidebar' + = render 'new' if can? :edit, @platform = render 'list' diff --git a/app/views/platforms/repositories/_form.html.haml b/app/views/platforms/repositories/_form.html.haml index e8e3a1b91..f054218b7 100644 --- a/app/views/platforms/repositories/_form.html.haml +++ b/app/views/platforms/repositories/_form.html.haml @@ -15,7 +15,7 @@ .rightside = link_to t('layout.repositories.regenerate_metadata').split.first, regenerate_metadata_platform_repository_path(@platform, @repository), :method => :put, :confirm => t('layout.confirm'), :class => :button -.hr{:style => 'padding-bottom:20px;'} + .hr{:style => 'padding-bottom:20px;'} .both .button_block diff --git a/app/views/platforms/repositories/edit.html.haml b/app/views/platforms/repositories/edit.html.haml index 5a9f1b232..e9fff3fe4 100644 --- a/app/views/platforms/repositories/edit.html.haml +++ b/app/views/platforms/repositories/edit.html.haml @@ -8,9 +8,10 @@ = render "form", :f => f %br -= render "shared/members_table", - :remove_members_path => remove_members_platform_repository_path(@platform, @repository), - :remove_member_path => remove_member_platform_repository_path(@platform, @repository), - :add_member_path => add_member_platform_repository_path(@platform, @repository), - :members => @members, - :editable_object => @repository +- if @platform.main? + = render "shared/members_table", + :remove_members_path => remove_members_platform_repository_path(@platform, @repository), + :remove_member_path => remove_member_platform_repository_path(@platform, @repository), + :add_member_path => add_member_platform_repository_path(@platform, @repository), + :members => @members, + :editable_object => @repository diff --git a/app/views/projects/git/base/_fork.html.haml b/app/views/projects/git/base/_fork.html.haml index be9cf54d4..98d55a301 100644 --- a/app/views/projects/git/base/_fork.html.haml +++ b/app/views/projects/git/base/_fork.html.haml @@ -14,5 +14,5 @@ - Group.can_own_project(current_user).each do |group| =render 'choose_fork', :owner => group %hr.bootstrap -- if can? :create, @project.build_lists.new +- if @project.is_package && can?(:create, @project.build_lists.new) .r{:style => "display: block"}= link_to t('layout.projects.new_build_list'), new_project_build_list_path(@project), :class => 'button' diff --git a/app/views/projects/git/trees/_show.html.haml b/app/views/projects/git/trees/_show.html.haml index 35bae8bea..4e7571e91 100644 --- a/app/views/projects/git/trees/_show.html.haml +++ b/app/views/projects/git/trees/_show.html.haml @@ -20,18 +20,31 @@ %td==   %td==   %td==   - - @project.tree_info(@tree, @treeish, @path).each_pair do |entry, commit| + - @project.tree_info(@tree, @treeish, @path).each do |node, node_path, commit| %tr %td - - entry_path = File.join([@path.present? ? @path : nil, entry.name].compact) - - if entry.is_a? Grit::Blob - .pic= image_tag 'code.png' - .name= link_to(entry.name, blob_path(@project, @treeish, entry_path), :class => 'files-see') + - if node.is_a? Grit::Submodule + .pic= image_tag 'folder-submodule.png' + .name + - url = submodule_url node, @treeish + = link_to(node.name, url, :class => 'files-see') + = '@' + = link_to(node.id[0..6], "#{url}/tree/#{node.id}", :class => 'files-see') - else - .pic= image_tag 'folder.png' - .name= link_to(entry.name, tree_path(@project, @treeish, entry_path), :class => 'files-see') - %td - %span{:style => "display: none;"}= date = commit.committed_date || commit.authored_date - = l(date, :format => :short) - %td= commit.short_message - %td= (commit.committer || commit.author).name \ No newline at end of file + - options = [@project, @treeish, node_path] + - if node.is_a?(Grit::Tree) + - pic = 'folder.png' + - path = tree_path *options + .pic= image_tag pic || 'code.png' + .name= link_to(node.name, path || blob_path(*options), :class => 'files-see') + + - if commit + %td + %span{:style => "display: none;"}= date = commit.committed_date || commit.authored_date + = l(date, :format => :short) + %td= commit.short_message + %td= (commit.committer || commit.author).name + - else + %td + %td + %td diff --git a/app/views/shared/_feed_message.html.haml b/app/views/shared/_feed_message.html.haml index 2caadaf11..f3c26aa68 100644 --- a/app/views/shared/_feed_message.html.haml +++ b/app/views/shared/_feed_message.html.haml @@ -1,27 +1,28 @@ -.activity{:id => presenter.comment_id? ? presenter.comment_anchor : ''} - .top - - if presenter.buttons? - %span.buttons= raw presenter.buttons.join(' | ').html_safe - .image - %img{:alt => "avatar", :src => presenter.image} - .text - -#.imaged move up a line. - %span.name= presenter.header - .both - %span.date= presenter.date - .both - - if presenter.caption? - %span.subject= presenter.caption - - if presenter.expandable? and presenter.content? - %span.data-expander.collapsed{:id => "expand#{item_no}"}   +-if !presenter.is_reference_to_issue || can?(:show, presenter.reference_project) + .activity{:id => presenter.comment_id? ? presenter.comment_anchor : ''} + .top + - if presenter.buttons? + %span.buttons= raw presenter.buttons.join(' | ').html_safe + .image + %img{:alt => "avatar", :src => presenter.image} + .text + -#.imaged move up a line. + %span.name= presenter.header .both - .both - - if presenter.content? - %div - =presenter.issue_referenced_state if presenter.issue_referenced_state? - .fulltext{:class => "#{presenter.expandable? ? "hidden" : ''} #{presenter.caption? ? "" : "alone"}", - :id => presenter.expandable? ? "content-expand#{item_no}" : ''} - .md_and_cm{:class => presenter.is_reference_to_issue ? '' : 'cm-s-default'} - =presenter.is_reference_to_issue ? presenter.content : markdown(presenter.content) + %span.date= presenter.date .both + - if presenter.caption? + %span.subject= presenter.caption + - if presenter.expandable? and presenter.content? + %span.data-expander.collapsed{:id => "expand#{item_no}"}   + .both + .both + - if presenter.content? + %div + =presenter.issue_referenced_state if presenter.issue_referenced_state? + .fulltext{:class => "#{presenter.expandable? ? "hidden" : ''} #{presenter.caption? ? "" : "alone"}", + :id => presenter.expandable? ? "content-expand#{item_no}" : ''} + .md_and_cm{:class => presenter.is_reference_to_issue ? '' : 'cm-s-default'} + =presenter.is_reference_to_issue ? presenter.content : markdown(presenter.content) + .both diff --git a/app/views/user_mailer/issue_assign_notification.en.haml b/app/views/user_mailer/issue_assign_notification.en.haml index 3aa4a049a..91522375b 100644 --- a/app/views/user_mailer/issue_assign_notification.en.haml +++ b/app/views/user_mailer/issue_assign_notification.en.haml @@ -1,7 +1,3 @@ -%p== Hello, #{@user.user_appeal}. - - %p You have been assigned to issue #{ link_to @issue.title, project_issue_url(@issue.project, @issue) } - -= render 'footer' += render 'footer' \ No newline at end of file diff --git a/app/views/user_mailer/issue_assign_notification.ru.haml b/app/views/user_mailer/issue_assign_notification.ru.haml index 5b5dcd7d5..616f120de 100644 --- a/app/views/user_mailer/issue_assign_notification.ru.haml +++ b/app/views/user_mailer/issue_assign_notification.ru.haml @@ -1,7 +1,3 @@ -%p== Здравствуйте, #{@user.user_appeal}. - - %p Вам была назначена задача #{ link_to @issue.title, project_issue_url(@issue.project, @issue) } - -= render 'footer' += render 'footer' \ No newline at end of file diff --git a/config/application.yml.sample b/config/application.yml.sample index 07a3e369a..abf353069 100644 --- a/config/application.yml.sample +++ b/config/application.yml.sample @@ -2,6 +2,7 @@ common: &common project_name: ABF repo_project_name: ABF anonymous_access: true + preregistration: false file_store_url: 'http://file-store.rosalinux.ru' distr_types: ['mdv', 'rhel', 'nau5'] abf_worker: @@ -11,6 +12,15 @@ common: &common airbrake_api_key: 'airbrake_api_key' devise_pepper: 'devise_pepper' secret_token: 'secret_token' + github: + id: 'APP_ID' + secret: 'APP_SECRET' + google: + id: 'APP_ID' + secret: 'APP_SECRET' + facebook: + id: 'APP_ID' + secret: 'APP_SECRET' wiki_formats: markdown: "Markdown" diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 6f9f45858..f7cadfd61 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -188,8 +188,13 @@ Devise.setup do |config| # Add a new OmniAuth provider. Check the wiki for more information on setting # up on your models and hooks. # config.omniauth :github, 'APP_ID', 'APP_SECRET', :scope => 'user,public_repo' - require 'openid/store/filesystem' - config.omniauth :openid, :name => 'open_id' #, :store => OpenID::Store::Filesystem.new('./tmp') + + # require 'openid/store/filesystem' + # config.omniauth :openid, :name => 'open_id' #, :store => OpenID::Store::Filesystem.new('./tmp') + + config.omniauth :facebook, APP_CONFIG['keys']['facebook']['id'], APP_CONFIG['keys']['facebook']['secret'] + config.omniauth :google_oauth2, APP_CONFIG['keys']['google']['id'], APP_CONFIG['keys']['google']['secret'], {:access_type => 'offline', :approval_prompt => ''} + config.omniauth :github, APP_CONFIG['keys']['github']['id'], APP_CONFIG['keys']['github']['secret'], {:scope => 'user:email'} # ==> Warden configuration # If you want to use other strategies, that are not supported by Devise, or diff --git a/config/initializers/omniauth.rb b/config/initializers/omniauth.rb new file mode 100644 index 000000000..d5f26a3d8 --- /dev/null +++ b/config/initializers/omniauth.rb @@ -0,0 +1 @@ +OmniAuth.config.logger = Rails.logger \ No newline at end of file diff --git a/config/initializers/setup.rb b/config/initializers/setup.rb index 39f5bf3f3..bb9d9b5c0 100644 --- a/config/initializers/setup.rb +++ b/config/initializers/setup.rb @@ -10,6 +10,3 @@ Rosa::Application.config.middleware.insert_after ::Rails::Rack::Logger, ::Grack: Rosa::Application.config.middleware.insert_before ::Grack::Handler, ::Grack::Auth Rosa::Application.config.action_mailer.default_url_options = { :host => APP_CONFIG['action_mailer_host'] } if APP_CONFIG['action_mailer_host'] - -# Workaround for https://github.com/github/gemoji/pull/18 -Rosa::Application.config.assets.paths << Emoji.images_path \ No newline at end of file diff --git a/config/locales/en.yml b/config/locales/en.yml index be090706d..d3dc8a077 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -87,6 +87,7 @@ en: sessions: sign_in_header: Sign in + sign_up_with: or sign in with private_users: list: List diff --git a/config/locales/models/advisory.en.yml b/config/locales/models/advisory.en.yml index fe3e1a16f..db8ccbef4 100644 --- a/config/locales/models/advisory.en.yml +++ b/config/locales/models/advisory.en.yml @@ -1,7 +1,7 @@ en: layout: advisories: - atom_header: Advisories + atom_title: Advisories list_header: Advisories form_header: New advisory project_name: Project diff --git a/config/locales/models/comment.en.yml b/config/locales/models/comment.en.yml index 5def48633..ed1f6f504 100644 --- a/config/locales/models/comment.en.yml +++ b/config/locales/models/comment.en.yml @@ -29,10 +29,10 @@ en: reference_format: Reference Format reference_format_example: | for members: @abf - for issues: - #123 abf#123 abf/rosa-build#123 - for pull requests: - !123 abf!123 abf/rosa-build!123 + for issues and pull requests: + #123 + abf#123 + abf/rosa-build#123 for commits: 123456 issues: Issues diff --git a/config/locales/models/comment.ru.yml b/config/locales/models/comment.ru.yml index e4c5b0c4c..0b8c199a4 100644 --- a/config/locales/models/comment.ru.yml +++ b/config/locales/models/comment.ru.yml @@ -29,10 +29,10 @@ ru: reference_format: Формат ссылок reference_format_example: | для участников: @abf - для задач: - #123 abf#123 abf/rosa-build#123 - для пул реквестов: - !123 abf!123 abf/rosa-build!123 + для задач и пул реквестов: + #123 + abf#123 + abf/rosa-build#123 для коммитов: 123456 issues: Задачи pull_requests: Пул реквесты diff --git a/config/locales/models/project_to_repository.en.yml b/config/locales/models/project_to_repository.en.yml new file mode 100644 index 000000000..553d2e8f3 --- /dev/null +++ b/config/locales/models/project_to_repository.en.yml @@ -0,0 +1,5 @@ +en: + activerecord: + errors: + project_to_repository: + project: Project already exists in platform \ No newline at end of file diff --git a/config/locales/models/project_to_repository.ru.yml b/config/locales/models/project_to_repository.ru.yml new file mode 100644 index 000000000..503a54f54 --- /dev/null +++ b/config/locales/models/project_to_repository.ru.yml @@ -0,0 +1,5 @@ +ru: + activerecord: + errors: + project_to_repository: + project: Проект уже присутствует в платформе diff --git a/config/locales/models/repository.en.yml b/config/locales/models/repository.en.yml index 11dcae4db..3330fd0e9 100644 --- a/config/locales/models/repository.en.yml +++ b/config/locales/models/repository.en.yml @@ -36,7 +36,7 @@ en: update_error: Unable to update repository destroyed: Repository deleted project_added: Project added to repository - project_not_added: Project adding error. A project with such name already exists in this repository. Remove the old project first + project_not_added: Project adding error. A project with such name already exists in one repository of platform. Remove the old project first project_removed: Project deleted project_not_removed: Unable to delete project from repository clear: Platform successfully cleared! diff --git a/config/locales/models/repository.ru.yml b/config/locales/models/repository.ru.yml index f5e5a58fa..257926dbc 100644 --- a/config/locales/models/repository.ru.yml +++ b/config/locales/models/repository.ru.yml @@ -36,7 +36,7 @@ ru: update_error: Не удалось обновить репозиторий destroyed: Репозиторий успешно удален project_added: Проект добавлен к репозиторию - project_not_added: Не удалось добавить проект. В этом репозитории уже есть проект с таким именем. Сначала нужно удалить старый проект + project_not_added: Не удалось добавить проект. В одном из репозиториев платформы уже есть проект с таким именем. Сначала нужно удалить старый проект project_removed: Проект удален из репозитория project_not_removed: Не удалось удалить проект из репозитория clear: Платформа успешно очищена! diff --git a/config/locales/ru.yml b/config/locales/ru.yml index 1afe052cd..13a866e24 100644 --- a/config/locales/ru.yml +++ b/config/locales/ru.yml @@ -87,6 +87,7 @@ ru: sessions: sign_in_header: Вход в систему + sign_up_with: или войти с помощью private_users: list: Список diff --git a/config/routes.rb b/config/routes.rb index d1fa562ed..aa52742d1 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -58,6 +58,7 @@ Rosa::Application.routes.draw do put :update_member } resources :build_lists, :only => :index + resources :issues, :only => [:index, :create, :show, :update] end resources :users, :only => [:show] get 'user' => 'users#show_current_user' @@ -65,6 +66,7 @@ Rosa::Application.routes.draw do member { get :notifiers put :notifiers + get '/issues' => 'issues#user_index' } end resources :groups, :only => [:index, :show, :update, :create, :destroy] do @@ -73,6 +75,7 @@ Rosa::Application.routes.draw do put :add_member delete :remove_member put :update_member + get '/issues' => 'issues#group_index' } end resources :products, :only => [:show, :update, :create, :destroy] do @@ -82,6 +85,7 @@ Rosa::Application.routes.draw do put :cancel, :on => :member end #resources :ssh_keys, :only => [:index, :create, :destroy] + get 'issues' => 'issues#all_index' end end diff --git a/db/migrate/20130417162427_add_user_index_to_issue.rb b/db/migrate/20130417162427_add_user_index_to_issue.rb new file mode 100644 index 000000000..b11c42283 --- /dev/null +++ b/db/migrate/20130417162427_add_user_index_to_issue.rb @@ -0,0 +1,5 @@ +class AddUserIndexToIssue < ActiveRecord::Migration + def change + add_index :issues, :user_id + end +end diff --git a/db/schema.rb b/db/schema.rb index 2c76efa40..7e58a8967 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20130403202853) do +ActiveRecord::Schema.define(:version => 20130417162427) do create_table "activity_feeds", :force => true do |t| t.integer "user_id", :null => false @@ -204,6 +204,14 @@ ActiveRecord::Schema.define(:version => 20130403202853) do t.datetime "avatar_updated_at" end + create_table "hooks", :force => true do |t| + t.text "data" + t.integer "project_id" + t.string "name" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end + create_table "issues", :force => true do |t| t.integer "serial_id" t.integer "project_id" @@ -219,6 +227,7 @@ ActiveRecord::Schema.define(:version => 20130403202853) do end add_index "issues", ["project_id", "serial_id"], :name => "index_issues_on_project_id_and_serial_id", :unique => true + add_index "issues", ["user_id"], :name => "index_issues_on_user_id" create_table "key_pairs", :force => true do |t| t.text "public", :null => false diff --git a/lib/ext/preregistration.rb b/lib/ext/preregistration.rb index 5b07c5d88..77b5ee919 100644 --- a/lib/ext/preregistration.rb +++ b/lib/ext/preregistration.rb @@ -51,10 +51,10 @@ module Preregistration end end - end #RegistrationsController - end #Devise -end #Preregistration + end # RegistrationsController + end # Devise +end # Preregistration Rails.application.config.to_prepare do - ::Devise::RegistrationsController.send :include, Preregistration::Devise::RegistrationsController + ::Devise::RegistrationsController.send :include, Preregistration::Devise::RegistrationsController if APP_CONFIG['preregistration'] end diff --git a/lib/modules/models/git.rb b/lib/modules/models/git.rb index 9bcd5daa7..43cc16965 100644 --- a/lib/modules/models/git.rb +++ b/lib/modules/models/git.rb @@ -70,24 +70,18 @@ module Modules end def tree_info(tree, treeish = nil, path = nil) - treeish ||= tree.id - # initialize result as hash of => nil - res = (tree.trees.sort + tree.blobs.sort).inject({}){|h, e| h.merge!({e => nil})} - # fills result vith commits that describes this file - res = res.inject(res) do |h, (entry, commit)| - if commit.nil? and entry.respond_to?(:name) # only if commit == nil - # ... find last commit corresponds to this file ... - c = repo.log(treeish, File.join([path, entry.name].compact), :max_count => 1).first - # ... and add it to result. - h[entry] = c - # find another files, that linked to this commit and set them their commit - # c.diffs.map{|diff| diff.b_path.split(File::SEPARATOR, 2).first}.each do |name| - # h.each_pair do |k, v| - # h[k] = c if k.name == name and v.nil? - # end - # end - end - h + grouped = tree.contents.sort_by{|c| c.name.downcase}.group_by(&:class) + [ + grouped[Grit::Tree], + grouped[Grit::Blob], + grouped[Grit::Submodule] + ].compact.flatten.map do |node| + node_path = File.join([path.present? ? path : nil, node.name].compact) + [ + node, + node_path, + repo.log(treeish, node_path, :max_count => 1).first + ] end end diff --git a/lib/modules/models/markdown.rb b/lib/modules/models/markdown.rb index 9efb3eded..6edc9f182 100644 --- a/lib/modules/models/markdown.rb +++ b/lib/modules/models/markdown.rb @@ -9,14 +9,10 @@ module Modules # # Supported reference formats are: # * @foo for team members - # * for issues: + # * for issues & pull requests: # * #123 # * abf#123 # * abf/rosa-build#123 - # * for pull requests: - # * !123 - # * abf!123 - # * abf/rosa-build!123 # * 123456 for commits # # It also parses Emoji codes to insert images. See @@ -104,15 +100,14 @@ module Modules REFERENCE_PATTERN = %r{ (?[\W\/])? # Prefix ( # Reference - @(?[a-zA-Z][a-zA-Z0-9_\-\.]*) # User uname + @(?[a-zA-Z][a-zA-Z0-9_\-\.]*) # User/Group uname |(?(?:[a-zA-Z0-9\-_]*\/)?(?:[a-zA-Z0-9\-_]*)?\#[0-9]+) # Issue ID - |(?(?:[a-zA-Z0-9\-_]*\/)?(?:[a-zA-Z0-9\-_]*)?\![0-9]+) # PR ID |(?[\h]{6,40}) # Commit ID ) (?\W)? # Suffix }x.freeze - TYPES = [:user, :issue, :pull_request, :commit].freeze + TYPES = [:user, :issue, :commit].freeze def parse_references(text) # parse reference links @@ -166,32 +161,31 @@ module Modules end def reference_user(identifier) - if member = @project.all_members.select {|u| u.uname == identifier} #.joins(:user).where(users: {uname: identifier}).first - link_to("@#{identifier}", user_path(identifier), html_options.merge(class: "gfm gfm-team_member #{html_options[:class]}")) if member + member = User.where(uname: identifier).first || Group.where(uname: identifier).first + if member + link_to("@#{identifier}", "/#{identifier}", html_options.merge(title: member.fullname, class: "gfm gfm-member #{html_options[:class]}")) end end def reference_issue(identifier) if issue = Issue.find_by_hash_tag(identifier, current_ability, @project) - url = project_issue_path(issue.project.owner, issue.project.name, issue.serial_id) - title = "#{Issue.model_name.human}: #{issue.title}" + if issue.pull_request + title = "#{PullRequest.model_name.human}: #{issue.title}" + url = project_pull_request_path(issue.project, issue.pull_request) + else + title = "#{Issue.model_name.human}: #{issue.title}" + url = project_issue_path(issue.project.owner, issue.project.name, issue.serial_id) + end link_to(identifier, url, html_options.merge(title: title, class: "gfm gfm-issue #{html_options[:class]}")) end end - def reference_pull_request(identifier) - issue = Issue.find_by_hash_tag(identifier, current_ability, @project, '!') - if pull_request = issue.pull_request - title = "#{PullRequest.model_name.human}: #{pull_request.title}" - link_to(identifier, project_pull_request_path(pull_request.to_project, pull_request), html_options.merge(title: title, class: "gfm gfm-pull_request #{html_options[:class]}")) - end - end - def reference_commit(identifier) if commit = @project.repo.commit(identifier) - link_to shortest_hash_id(@commit.id), commit_path(options[:project], @commit.id) - title = GitPresenters::CommitAsMessagePresenter.present(commit, :project => @project).caption - link_to(identifier, commit_path(@project, commit), html_options.merge(title: title, class: "gfm gfm-commit #{html_options[:class]}")) + link_to shortest_hash_id(commit.id), commit_path(@project, commit.id) + title = GitPresenters::CommitAsMessagePresenter.present(commit, :project => @project) do |presenter| + link_to(identifier, commit_path(@project, commit), html_options.merge(title: presenter.caption, class: "gfm gfm-commit #{html_options[:class]}")) + end end end end diff --git a/lib/redcarpet/render/gitlab_html.rb b/lib/redcarpet/render/gitlab_html.rb index a3e3e6724..ec836dd0f 100644 --- a/lib/redcarpet/render/gitlab_html.rb +++ b/lib/redcarpet/render/gitlab_html.rb @@ -22,7 +22,7 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML code_class = "class=\"#{language.downcase}\"" if language.present? <<-HTML -
#{code}
+
#{code}
HTML end diff --git a/spec/controllers/api/v1/issues_controller_spec.rb b/spec/controllers/api/v1/issues_controller_spec.rb new file mode 100644 index 000000000..95082856a --- /dev/null +++ b/spec/controllers/api/v1/issues_controller_spec.rb @@ -0,0 +1,181 @@ +# -*- encoding : utf-8 -*- +require 'spec_helper' + +describe Api::V1::IssuesController do + before(:all) do + stub_symlink_methods + stub_redis + any_instance_of(Project, :versions => ['v1.0', 'v2.0']) + + @issue = FactoryGirl.create(:issue) + @project = @issue.project + + @membered_issue = FactoryGirl.create(:issue) + @membered_project = @membered_issue.project + @membered_project.relations.create(:role => 'reader', :actor => @issue.user) + + @open_issue = FactoryGirl.create(:issue) + @open_project = @open_issue.project + + @own_hidden_project = FactoryGirl.create(:project, :owner => @issue.user) + @own_hidden_project.update_column :visibility, 'hidden' + @own_hidden_issue = FactoryGirl.create(:issue, :project => @own_hidden_project, :assignee => @issue.user) + + @hidden_issue = FactoryGirl.create(:issue) + @hidden_project = @hidden_issue.project + @hidden_project.update_column :visibility, 'hidden' + + @create_params = {:issue => {:title => 'title', :body => 'body'}, :project_id => @project.id, :format => :json} + @update_params = {:issue => {:title => 'new title'}, :project_id => @project.id, :id => @issue.serial_id, :format => :json} + end + + context 'read and accessible abilities' do + context 'for user' do + before(:each) do + http_login(@issue.user) + end + + it 'can show issue in own project' do + get :show, :project_id => @project.id, :id => @issue.serial_id, :format => :json + response.should be_success + end + + it 'can show issue in open project' do + get :show, :project_id => @open_project.id, :id => @open_issue.serial_id, :format => :json + response.should be_success + end + + it 'can show issue in own hidden project' do + get :show, :project_id => @own_hidden_project.id, :id => @own_hidden_issue.serial_id, :format => :json + response.should be_success + end + + it 'cant show issue in hidden project' do + get :show, :project_id => @hidden_project.id, :id => @hidden_issue.serial_id, :format => :json + response.status.should == 403 + end + + it 'should return three issues' do + get :all_index, :filter => 'all', :format => :json + assigns[:issues].should include(@issue) + assigns[:issues].should include(@own_hidden_issue) + assigns[:issues].should include(@membered_issue) + end + + it 'should return only assigned issue' do + http_login(@issue.user) + get :user_index, :format => :json + assigns[:issues].should include(@own_hidden_issue) + assigns[:issues].count.should == 1 + end + end + + context 'for anonymous user' do + it 'can show issue in open project', :anonymous_access => true do + get :show, :project_id => @project.id, :id => @issue.serial_id, :format => :json + response.should be_success + end + + it 'cant show issue in hidden project', :anonymous_access => true do + get :show, :project_id => @hidden_project.id, :id => @hidden_issue.serial_id, :format => :json + response.status.should == 403 + end + + it 'should not return any issues' do + get :all_index, :filter => 'all', :format => :json + response.status.should == 401 + end + end + end + + context 'create accessibility' do + context 'for user' do + before(:each) do + http_login(@issue.user) + @count = Issue.count + end + + it 'can create issue in own project' do + post :create, @create_params + Issue.count.should == @count+1 + end + + it 'can create issue in own hidden project' do + post :create, @create_params.merge(:project_id => @own_hidden_project.id) + Issue.count.should == @count+1 + end + + it 'can create issue in open project' do + post :create, @create_params.merge(:project_id => @open_project.id) + Issue.count.should == @count+1 + end + + it 'cant create issue in hidden project' do + post :create, @create_params.merge(:project_id => @hidden_project.id) + Issue.count.should == @count + end + end + + context 'for anonymous user' do + before(:each) do + @count = Issue.count + end + it 'cant create issue in project', :anonymous_access => true do + post :create, @create_params + Issue.count.should == @count + end + + it 'cant create issue in hidden project', :anonymous_access => true do + post :create, @create_params.merge(:project_id => @hidden_project.id) + Issue.count.should == @count + end + end + end + + context 'update accessibility' do + context 'for user' do + before(:each) do + http_login(@issue.user) + end + + it 'can update issue in own project' do + put :update, @update_params + @issue.reload.title.should == 'new title' + end + + it 'can update issue in own hidden project' do + put :update, @update_params.merge(:project_id => @own_hidden_project.id, :id => @own_hidden_issue.serial_id) + @own_hidden_issue.reload.title.should == 'new title' + end + + it 'cant update issue in open project' do + put :update, @update_params.merge(:project_id => @open_project.id, :id => @open_issue.serial_id) + @open_issue.reload.title.should_not == 'new title' + end + + it 'cant update issue in hidden project' do + put :update, @update_params.merge(:project_id => @hidden_project.id, :id => @hidden_issue.serial_id) + @hidden_issue.reload.title.should_not == 'title' + end + end + + context 'for anonymous user' do + before(:each) do + @count = Issue.count + end + it 'cant update issue in project', :anonymous_access => true do + put :update, @update_params + response.status.should == 401 + end + + it 'cant update issue in hidden project', :anonymous_access => true do + put :update, @update_params.merge(:project_id => @hidden_project.id, :id => @hidden_issue.serial_id) + response.status.should == 401 + end + end + end + after(:all) do + User.destroy_all + Platform.destroy_all + end +end diff --git a/spec/controllers/api/v1/repositories_controller_spec.rb b/spec/controllers/api/v1/repositories_controller_spec.rb index f1a11ed4c..0b6f2391e 100644 --- a/spec/controllers/api/v1/repositories_controller_spec.rb +++ b/spec/controllers/api/v1/repositories_controller_spec.rb @@ -99,12 +99,24 @@ shared_examples_for 'api repository user with writer rights' do it 'ensures that repository of main platform has been destroyed' do lambda { delete :destroy, :id => @repository.id, :format => :json }.should change{ Repository.count }.by(-1) end - it 'should not be able to perform destroy action for repository of personal platform' do - delete :destroy, :id => @personal_repository.id, :format => :json - response.should_not be_success + + context 'repository with name "main" of personal platform' do + # hook for "ActiveRecord::ActiveRecordError: name is marked as readonly" + before { Repository.where(:id => @personal_repository.id).update_all("name = 'main'") } + it 'should not be able to perform destroy action' do + delete :destroy, :id => @personal_repository.id, :format => :json + response.should_not be_success + end + it 'ensures that repository has not been destroyed' do + lambda { delete :destroy, :id => @personal_repository.id, :format => :json }.should_not change{ Repository.count } + end end - it 'ensures that repository of personal platform has not been destroyed' do - lambda { delete :destroy, :id => @personal_repository.id, :format => :json }.should_not change{ Repository.count } + it 'should be able to perform destroy action for repository with name not "main" of personal platform' do + delete :destroy, :id => @personal_repository.id, :format => :json + response.should be_success + end + it 'ensures that repository with name not "main" of personal platform has been destroyed' do + lambda { delete :destroy, :id => @personal_repository.id, :format => :json }.should change{ Repository.count }.by(-1) end end @@ -296,9 +308,11 @@ describe Api::V1::RepositoriesController do before(:each) do @user = FactoryGirl.create(:user) http_login(@user) - platform = @repository.platform - platform.owner = @user; platform.save - @repository.platform.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + [@repository, @personal_repository].each do |repository| + platform = repository.platform + platform.owner = @user; platform.save + repository.platform.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + end end it_should_behave_like 'api repository user with reader rights' diff --git a/spec/controllers/platforms/repositories_controller_spec.rb b/spec/controllers/platforms/repositories_controller_spec.rb index c4481c9ea..80cca3236 100644 --- a/spec/controllers/platforms/repositories_controller_spec.rb +++ b/spec/controllers/platforms/repositories_controller_spec.rb @@ -1,14 +1,6 @@ # -*- encoding : utf-8 -*- require 'spec_helper' -shared_examples_for 'not destroy personal repository' do - it 'should not be able to destroy personal repository' do - lambda { delete :destroy, :id => @personal_repository.id, :platform_id => - @personal_repository.platform.id}.should change{ Repository.count }.by(0) - response.should redirect_to(redirect_path) - end -end - shared_examples_for 'user with change projects in repository rights' do it 'should be able to see add_project page' do @@ -90,12 +82,16 @@ shared_examples_for 'registered user or guest' do end it 'should not be able to destroy repository in main platform' do - delete :destroy, :id => @repository.id + delete :destroy, :id => @repository.id, :platform_id => @platform.id response.should redirect_to(redirect_path) lambda { delete :destroy, :id => @repository.id }.should_not change{ Repository.count }.by(-1) end - it_should_behave_like 'not destroy personal repository' + it 'should not be able to destroy personal repository' do + lambda { delete :destroy, :id => @personal_repository.id, :platform_id => @personal_repository.platform.id}. + should change{ Repository.count }.by(0) + response.should redirect_to(redirect_path) + end end shared_examples_for 'registered user' do @@ -131,7 +127,7 @@ shared_examples_for 'platform admin user' do end it 'should be able to destroy repository in main platform' do - lambda { delete :destroy, :id => @repository.id }.should change{ Repository.count }.by(-1) + lambda { delete :destroy, :id => @repository.id, :platform_id => @platform.id }.should change{ Repository.count }.by(-1) response.should redirect_to(platform_repositories_path(@repository.platform)) end @@ -163,10 +159,21 @@ shared_examples_for 'platform admin user' do @repository.members.should_not include(@another_user, another_user2) end - it_should_behave_like 'user with change projects in repository rights' - it_should_behave_like 'not destroy personal repository' do - let(:redirect_path) { forbidden_path } + it 'should not be able to destroy personal repository with name "main"' do + # hook for "ActiveRecord::ActiveRecordError: name is marked as readonly" + Repository.where(:id => @personal_repository.id).update_all("name = 'main'") + lambda { delete :destroy, :id => @personal_repository.id, :platform_id => @personal_repository.platform.id}. + should change{ Repository.count }.by(0) + response.should redirect_to(forbidden_path) end + + it 'should be able to destroy personal repository with name not "main"' do + lambda { delete :destroy, :id => @personal_repository.id, :platform_id => @personal_repository.platform.id}. + should change{ Repository.count }.by(-1) + response.should redirect_to(platform_repositories_path(@personal_repository.platform)) + end + + it_should_behave_like 'user with change projects in repository rights' end describe Platforms::RepositoriesController do @@ -234,6 +241,8 @@ describe Platforms::RepositoriesController do context 'for platform owner user' do before(:each) do @user = @repository.platform.owner + platform = @personal_repository.platform + platform.owner = @user; platform.save set_session_for(@user) end @@ -242,7 +251,9 @@ describe Platforms::RepositoriesController do context 'for platform member user' do before(:each) do - @platform.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + [@repository, @personal_repository].each do |repo| + repo.platform.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + end end it_should_behave_like 'platform admin user' @@ -250,7 +261,9 @@ describe Platforms::RepositoriesController do context 'for repository member user' do before(:each) do - @repository.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + [@repository, @personal_repository].each do |repo| + repo.relations.create!(:actor_type => 'User', :actor_id => @user.id, :role => 'admin') + end end it_should_behave_like 'registered user' diff --git a/spec/mailers/user_mailer_spec.rb b/spec/mailers/user_mailer_spec.rb index 95b8fd7f8..72c8674ec 100644 --- a/spec/mailers/user_mailer_spec.rb +++ b/spec/mailers/user_mailer_spec.rb @@ -64,10 +64,6 @@ describe UserMailer do @email.from.should == [APP_CONFIG['do-not-reply-email']] end - it 'should assign user name' do - @email.body.encoded.should match(@user.name) - end - it 'should assign issue title' do @email.body.encoded.should match(@issue.title) end diff --git a/spec/models/cancan_spec.rb b/spec/models/cancan_spec.rb index 1148f84fb..1a5053937 100644 --- a/spec/models/cancan_spec.rb +++ b/spec/models/cancan_spec.rb @@ -3,12 +3,12 @@ require 'spec_helper' require "cancan/matchers" def admin_create - @admin = FactoryGirl.create(:admin) + @admin = FactoryGirl.create(:admin) @ability = Ability.new(@admin) end def user_create - @user = FactoryGirl.create(:user) + @user = FactoryGirl.create(:user) @ability = Ability.new(@user) end @@ -17,47 +17,51 @@ def guest_create end describe CanCan do - - let(:personal_platform) { FactoryGirl.create(:platform, :platform_type => 'personal') } - let(:personal_repository) { FactoryGirl.create(:personal_repository) } - let(:open_platform) { FactoryGirl.create(:platform, :visibility => 'open') } - let(:hidden_platform) { FactoryGirl.create(:platform, :visibility => 'hidden') } - let(:register_request) { FactoryGirl.create(:register_request) } + let(:open_platform) { FactoryGirl.create(:platform, :visibility => 'open') } before(:each) do stub_symlink_methods end - context 'Site admin' do - before(:each) do - admin_create - end + context 'Site admin' do + let(:personal_platform) { FactoryGirl.create(:platform, :platform_type => 'personal') } + let(:personal_repository_main) { FactoryGirl.create(:personal_repository, :name => 'main') } + let(:personal_repository) { FactoryGirl.create(:personal_repository) } + before(:each) do + admin_create + end - it 'should manage all' do - #(@ability.can? :manage, :all).should be_true - @ability.should be_able_to(:manage, :all) - end + it 'should manage all' do + #(@ability.can? :manage, :all).should be_true + @ability.should be_able_to(:manage, :all) + end - it 'should not be able to destroy personal platforms' do - @ability.should_not be_able_to(:destroy, personal_platform) - end + it 'should not be able to destroy personal platforms' do + @ability.should_not be_able_to(:destroy, personal_platform) + end - it 'should not be able to destroy personal repositories' do - @ability.should_not be_able_to(:destroy, personal_repository) - end - end + it 'should not be able to destroy personal repositories with name "main"' do + @ability.should_not be_able_to(:destroy, personal_repository_main) + end + it 'should be able to destroy personal repositories with name not "main"' do + @ability.should be_able_to(:destroy, personal_repository) + end + end - context 'Site guest' do - before(:each) do - guest_create - end + context 'Site guest' do + let(:hidden_platform) { FactoryGirl.create(:platform, :visibility => 'hidden') } + let(:register_request) { FactoryGirl.create(:register_request) } + + before(:each) do + guest_create + end it 'should not be able to read open platform' do - @ability.should_not be_able_to(:read, open_platform) + @ability.should_not be_able_to(:read, open_platform) end it 'should not be able to read hidden platform' do - @ability.should_not be_able_to(:read, hidden_platform) + @ability.should_not be_able_to(:read, hidden_platform) end [:publish, :cancel, :reject_publish, :create_container].each do |action| @@ -78,10 +82,10 @@ describe CanCan do @ability.should_not be_able_to(:destroy, register_request) end - pending 'should be able to register new user' do # while self registration is closed - @ability.should be_able_to(:create, User) - end - end + pending 'should be able to register new user' do # while self registration is closed + @ability.should be_able_to(:create, User) + end + end context 'Site user' do before(:each) do diff --git a/spec/models/comment_spec.rb b/spec/models/comment_spec.rb index ef67f810f..2226a8c13 100644 --- a/spec/models/comment_spec.rb +++ b/spec/models/comment_spec.rb @@ -160,6 +160,7 @@ describe Comment do :commentable_id => @second_issue.id, :created_from_issue_id => @issue.id).count.should == 1 end + it 'should create two automatic comment' do body = "test ##{@second_issue.serial_id}" + " && [#{@another_project.name_with_owner}##{@issue_in_another_project.serial_id}]" @@ -167,6 +168,31 @@ describe Comment do Comment.where(:automatic => true, :created_from_issue_id => @issue.id).count.should == 2 end + + it 'should create automatic comment by issue title' do + issue = FactoryGirl.create(:issue, :project => @project, :user => @user, + :title => "link to ##{@issue.serial_id}") + Comment.where(:automatic => true, + :created_from_issue_id => issue.id).count.should == 1 + end + + it 'should create automatic comment from issue body' do + issue = FactoryGirl.create(:issue, :project => @project, :user => @user, + :body => "link to ##{@issue.serial_id}") + Comment.where(:automatic => true, + :created_from_issue_id => issue.id).count.should == 1 + end + + it 'should create only one automatic comment from issue title and body' do + issue = FactoryGirl.create(:issue, :project => @project, :user => @user, + :title => "link to ##{@issue.serial_id} in title", + :body => "link to ##{@issue.serial_id} in body") + Comment.where(:automatic => true, + :created_from_issue_id => issue.id).count.should == 1 + end + + + end end end diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 79c605b94..1777fcc92 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -41,8 +41,8 @@ describe Issue do @project = FactoryGirl.create(:project, :owner => @user) @group = FactoryGirl.create(:group) - reader = FactoryGirl.create :user - @group.actors.create(:actor_type => 'User', :actor_id => reader.id, :role => 'reader') + @reader = FactoryGirl.create :user + @group.actors.create(:actor_type => 'User', :actor_id => @reader.id, :role => 'reader') end it 'should send an e-mail to all members of the admin group' do @@ -65,6 +65,32 @@ describe Issue do create_issue(@stranger) ActionMailer::Base.deliveries.count.should == 1 # 1 project owner end + + it 'should reset issue assignee after remove him from group' do + @project.relations.create!(:actor_type => 'Group', :actor_id => @group.id, :role => 'reader') + create_issue(@group.owner) + @issue.update_column :assignee_id, @reader.id + @group.remove_member @reader + @issue.reload.assignee_id.should == nil + end + + it 'should not reset issue assignee' do + @project.relations.create!(:actor_type => 'Group', :actor_id => @group.id, :role => 'reader') + @project.relations.create!(:actor_type => 'User', :actor_id => @reader.id, :role => 'reader') + create_issue(@group.owner) + @issue.update_column :assignee_id, @reader.id + @group.remove_member @reader + @issue.reload.assignee_id.should == @reader.id + end + + it 'should reset issue assignee after remove him from project' do + @project.relations.create!(:actor_type => 'User', :actor_id => @reader.id, :role => 'reader') + create_issue(@reader) + @issue.update_column :assignee_id, @reader.id + @project.remove_member @reader # via api + @issue.reload.assignee_id.should == nil + end + end context 'Group project' do