From a3496263b9285677ed771741ed64a0faab1f9c24 Mon Sep 17 00:00:00 2001
From: itdominator <1itdominator@gmail.com>
Date: Fri, 3 Mar 2023 21:19:39 -0600
Subject: [PATCH] Added emoji support, refactored, internalized pyautogui
---
README.md | 6 +-
src/__builtins__.py | 57 +-
src/core/columns/controls_column.py | 4 +-
src/core/columns/keys_column.py | 8 +-
src/core/columns/left_column.py | 4 +-
src/core/columns/right_column.py | 13 +-
src/core/widgets/defined_keys.py | 22 +-
src/core/widgets/emoji_popover.py | 101 +
src/core/widgets/key.py | 20 +-
src/core/window.py | 24 +-
src/utils/pyautogui/__init__.py | 2163 ++
src/utils/pyautogui/__main__.py | 2 +
src/utils/pyautogui/_pyautogui_java.py | 0
src/utils/pyautogui/_pyautogui_osx.py | 434 +
src/utils/pyautogui/_pyautogui_win.py | 568 +
src/utils/pyautogui/_pyautogui_x11.py | 301 +
src/utils/pyautogui_control.py | 25 +-
user_config/bin/mouse-keyboard | 23 +
.../usr/applications/mouse-keyboard.desktop | 11 +
.../usr/share/mouse keyboard/emoji.txt | 1593 --
.../usr/share/mouse-keyboard/emoji.json | 23215 ++++++++++++++++
.../icons/mouse-keyboard.png} | Bin
.../stylesheet.css | 0
23 files changed, 26934 insertions(+), 1660 deletions(-)
create mode 100644 src/core/widgets/emoji_popover.py
create mode 100644 src/utils/pyautogui/__init__.py
create mode 100644 src/utils/pyautogui/__main__.py
create mode 100644 src/utils/pyautogui/_pyautogui_java.py
create mode 100644 src/utils/pyautogui/_pyautogui_osx.py
create mode 100644 src/utils/pyautogui/_pyautogui_win.py
create mode 100644 src/utils/pyautogui/_pyautogui_x11.py
create mode 100755 user_config/bin/mouse-keyboard
create mode 100755 user_config/usr/applications/mouse-keyboard.desktop
delete mode 100644 user_config/usr/share/mouse keyboard/emoji.txt
create mode 100644 user_config/usr/share/mouse-keyboard/emoji.json
rename user_config/usr/share/{mouse keyboard/icon.png => mouse-keyboard/icons/mouse-keyboard.png} (100%)
rename user_config/usr/share/{mouse keyboard => mouse-keyboard}/stylesheet.css (100%)
diff --git a/README.md b/README.md
index 8010991..c7c91c4 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,10 @@
-# Mouse_Keyboard
+# Mouse-Keyboard
An onscreen keyboard for the mouse.
+### Requirements
+* PyGObject
+* python-xlib
+
# TODO
Get save and execute of custom commands working.
diff --git a/src/__builtins__.py b/src/__builtins__.py
index f85a8ea..728a2a6 100644
--- a/src/__builtins__.py
+++ b/src/__builtins__.py
@@ -1,5 +1,7 @@
# Python imports
-import builtins, threading
+import os
+import builtins
+import threading
# Lib imports
@@ -24,6 +26,9 @@ def daemon_threaded_wrapper(fn):
+class MissingConfigError(Exception):
+ pass
+
class Pyautogui_Controller(ControlMixin):
def __init__(self):
@@ -38,39 +43,69 @@ keys_json = {
"keys": {
"row1": {
"pKeys": ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
- "sKeys": ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0'],
- "eKeys": ['๐คฉ', '\U0001F600', '', '', '', '', '', '', '', '']
+ "sKeys": ['1', '2', '3', '4', '5', '6', '7', '8', '9', '0']
},
"row2": {
"pKeys": ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'],
- "sKeys": ['\\', '^', '#', '$', '%', '&', '-', '_', '"', '*'],
- "eKeys": ['', '', '', '', '', '', '', '', '', '']
+ "sKeys": ['\\', '^', '#', '$', '%', '&', '-', '_', '"', '*']
},
"row3": {
"pKeys": ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', "'"],
- "sKeys": ['/', '|', ':', '=', '+', '', '', '', ';', '!'],
- "eKeys": ['', '', '', '', '', '', '', '', '', '']
+ "sKeys": ['/', '|', ':', '=', '+', '', '', '', ';', '!']
},
"row4": {
"pKeys": ['z', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.', '?'],
- "sKeys": ['', '', '<', '>', '[', ']', '(', ')', '{', '}'],
- "eKeys": ['', '', '', '', '', '', '', '', '', '']
+ "sKeys": ['', '', '<', '>', '[', ']', '(', ')', '{', '}']
},
}
}
-
# NOTE: Just reminding myself we can add to builtins two different ways...
# __builtins__.update({"event_system": Builtins()})
-builtins.app_name = "Mouse Keyboard"
+builtins.app_name = "Mouse-Keyboard"
builtins.threaded = threaded_wrapper
builtins.daemon_threaded = daemon_threaded_wrapper
builtins.keys_set = keys_json
builtins.trace_debug = False
builtins.debug = False
builtins.app_settings = None
+builtins.get_clipboard = ['xclip','-selection', 'clipboard', '-o']
+builtins.set_clipboard = ['xclip','-selection','clipboard']
builtins.endpoint_registry = EndpointRegistry()
builtins.event_system = EventSystem()
builtins.typwriter = Pyautogui_Controller()
+
+
+
+_USER_HOME = os.path.expanduser('~')
+_USR_PATH = f"/usr/share/{app_name.lower()}"
+_CONFIG_PATH = f"{_USER_HOME}/.config/{app_name.lower()}"
+_ICON_FILE = f"{_CONFIG_PATH}/icons/{app_name.lower()}.png"
+_CSS_FILE = f"{_CONFIG_PATH}/stylesheet.css"
+_EMOJI_FILE = f"{_CONFIG_PATH}/emoji.json"
+
+
+if not os.path.exists(_ICON_FILE):
+ _ICON_FILE = f"{_USR_PATH}/icons/{app_name.lower()}.png"
+ if not os.path.exists(_ICON_FILE):
+ print(_ICON_FILE)
+ raise MissingConfigError("Unable to find the application icon.")
+
+if not os.path.exists(_CSS_FILE):
+ _CSS_FILE = f"{_USR_PATH}/stylesheet.css"
+ if not os.path.exists(_CSS_FILE):
+ raise MissingConfigError("Unable to find the stylesheet.")
+
+if not os.path.exists(_EMOJI_FILE):
+ _EMOJI_FILE = f"{_USR_PATH}/emoji.json"
+ if not os.path.exists(_EMOJI_FILE):
+ raise MissingConfigError("Unable to find the stylesheet.")
+
+
+
+builtins.CONFIG_PATH = _CONFIG_PATH
+builtins.ICON_FILE = _ICON_FILE
+builtins.CSS_FILE = _CSS_FILE
+builtins.EMOJI_FILE = _EMOJI_FILE
diff --git a/src/core/columns/controls_column.py b/src/core/columns/controls_column.py
index 3fc1acd..0c24fac 100644
--- a/src/core/columns/controls_column.py
+++ b/src/core/columns/controls_column.py
@@ -6,7 +6,7 @@ gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
# Application imports
-from ..widgets.defined_keys import Tab_Key
+from ..widgets.defined_keys import Symbols_Key
from ..widgets.defined_keys import Del_Key
from ..widgets.defined_keys import Ctrl_Key
from ..widgets.defined_keys import Shift_Key
@@ -26,7 +26,7 @@ class Button_Box(Gtk.ButtonBox):
def __init__(self):
super(Button_Box, self).__init__()
- for key in [Tab_Key(), Del_Key(), Ctrl_Key(), Shift_Key(), Alt_Key(), PrtSc_Key()]:
+ for key in [Symbols_Key(), Del_Key(), Ctrl_Key(), Shift_Key(), Alt_Key(), PrtSc_Key()]:
self.add(key)
diff --git a/src/core/columns/keys_column.py b/src/core/columns/keys_column.py
index fdecf68..fd67536 100644
--- a/src/core/columns/keys_column.py
+++ b/src/core/columns/keys_column.py
@@ -38,17 +38,15 @@ class Keys_Column(Gtk.Box):
for child in children:
pKeys = keys[child]["pKeys"]
sKeys = keys[child]["sKeys"]
- eKeys = keys[child]["eKeys"]
row_box = self.add_row()
- if len(pKeys) == len(sKeys) and len(pKeys) == len(eKeys):
+ if len(pKeys) == len(sKeys):
for i in range(10):
pkey = pKeys[i]
sKey = sKeys[i]
- eKey = eKeys[i]
- row_box.add(Key(pkey, sKey, eKey))
+ row_box.add(Key(pkey, sKey))
else:
- raise KeyboardRowMatchError("A row in keys_json has missmatched pKeys, sKeys, or eKeys lengths.")
+ raise KeyboardRowMatchError("A row in keys_json has missmatched pKeys to sKeys lengths.")
self.add(Bottom_Key_Row())
diff --git a/src/core/columns/left_column.py b/src/core/columns/left_column.py
index b658846..6de02c9 100644
--- a/src/core/columns/left_column.py
+++ b/src/core/columns/left_column.py
@@ -7,7 +7,7 @@ from gi.repository import Gtk
# Application imports
from ..widgets.defined_keys import Esc_Key
-from ..widgets.defined_keys import Symbols_Key
+from ..widgets.defined_keys import Tab_Key
from ..widgets.defined_keys import CAPS_Key
@@ -21,7 +21,7 @@ class Left_Column(Gtk.Box):
self.setup_styling()
- for key in [Symbols_Key(), Esc_Key(), CAPS_Key()]:
+ for key in [Tab_Key(), Esc_Key(), CAPS_Key()]:
self.add(key)
self.show_all()
diff --git a/src/core/columns/right_column.py b/src/core/columns/right_column.py
index 895fbae..516e2cc 100644
--- a/src/core/columns/right_column.py
+++ b/src/core/columns/right_column.py
@@ -6,12 +6,14 @@ gi.require_version('Gtk', '3.0')
from gi.repository import Gtk
# Application imports
-from ..widgets.defined_keys import Emoji_Keys
+from ..widgets.emoji_popover import Emoji_Popover
+from ..widgets.defined_keys import Emoji_Key
from ..widgets.defined_keys import Backspace_Key
from ..widgets.defined_keys import Enter_Key
+
class Right_Column(Gtk.Box):
"""docstring for Right_Column."""
@@ -20,7 +22,14 @@ class Right_Column(Gtk.Box):
self.setup_styling()
- for key in [Emoji_Keys(), Backspace_Key(), Enter_Key()]:
+ emoji_popover = Emoji_Popover()
+ emoji_key = Emoji_Key(emoji_popover)
+
+ emoji_popover.set_parent_key(emoji_key)
+ emoji_popover.set_relative_to(emoji_key)
+ emoji_popover.set_constrain_to(0) # LEFT = 0, RIGHT = 1, TOP = 2, BOTTOM = 3
+
+ for key in [emoji_key, Backspace_Key(), Enter_Key()]:
self.add(key)
self.show_all()
diff --git a/src/core/widgets/defined_keys.py b/src/core/widgets/defined_keys.py
index 54fbbaf..4689c5e 100644
--- a/src/core/widgets/defined_keys.py
+++ b/src/core/widgets/defined_keys.py
@@ -63,21 +63,25 @@ class Backspace_Key(Key):
def _clicked(self, widget = None):
typwriter.press_special_keys(self.get_label())
-class Emoji_Keys(Key):
- def __init__(self):
- super(Emoji_Keys, self).__init__("Emoji", "Emoji", iscontrol=True)
+class Emoji_Key(Key):
+ def __init__(self, emoji_popover):
+ super(Emoji_Key, self).__init__("Emoji", "Emoji", iscontrol=True)
+
+ self._ctx = self.get_style_context()
+ self._emoji_popover = emoji_popover
def setup_signals(self):
self.connect("released", self._clicked)
def _clicked(self, widget = None):
- ctx = widget.get_style_context()
- ctx.remove_class("toggled_bttn") if ctx.has_class("toggled_bttn") else ctx.add_class("toggled_bttn")
+ self._ctx.add_class("toggled_bttn")
+ self._emoji_popover.popup()
+
+ def unset_selected(self, widget = None):
+ self._ctx.remove_class("toggled_bttn")
+
+
- key_columns = self.get_parent().get_parent().get_children()[1]
- for row in key_columns.get_children():
- for key in row:
- key.emit("toggle-emoji-keys", ())
class Enter_Key(Key):
def __init__(self):
diff --git a/src/core/widgets/emoji_popover.py b/src/core/widgets/emoji_popover.py
new file mode 100644
index 0000000..89caa57
--- /dev/null
+++ b/src/core/widgets/emoji_popover.py
@@ -0,0 +1,101 @@
+# Python imports
+from collections import defaultdict
+import json
+
+# Lib imports
+import gi
+gi.require_version('Gtk', '3.0')
+from gi.repository import Gtk
+
+# Application imports
+from .key import Key
+
+
+
+
+class Emoji_Notebook(Gtk.Notebook):
+ """docstring for Emoji_Notebook."""
+
+ def __init__(self):
+ super(Emoji_Notebook, self).__init__()
+
+ self.load_ui( self.get_data(EMOJI_FILE) )
+
+ self.setup_styling()
+ self.show_all()
+
+
+ def setup_styling(self):
+ self.set_current_page(0)
+ self.set_scrollable(True)
+
+ def get_data(self, file):
+ emoji_grouping = defaultdict(list)
+
+ with open(file, 'r') as f:
+ emoji_data = json.load(f)
+ for emoji in emoji_data:
+ category = emoji['category']
+ del emoji['category']
+ del emoji['unicode_version']
+ del emoji['ios_version']
+ emoji_grouping[category].append(emoji)
+
+ return emoji_grouping
+
+ def load_ui(self, emoji_grouping):
+ width = 1
+ height = 1
+ for group in emoji_grouping:
+ tab_widget = Gtk.Label(label=group)
+ scroll, grid = self.create_scroll_and_grid()
+
+ top = 0
+ left = 0
+ for emoji in emoji_grouping[group]:
+ key = Key(emoji["emoji"], emoji["emoji"])
+ key._is_emoji = True
+ grid.attach(key, left, top, width, height)
+
+ left += 1
+ if left > 8:
+ left = 0
+ top += 1
+
+ self.append_page(scroll, tab_widget)
+ self.set_tab_reorderable(scroll, False)
+ self.set_tab_detachable(scroll, False)
+
+ def create_scroll_and_grid(self):
+ scroll = Gtk.ScrolledWindow()
+ grid = Gtk.Grid()
+ scroll.add(grid)
+
+ return scroll, grid
+
+
+
+class Emoji_Popover(Gtk.Popover):
+ """docstring for Emoji_Popover."""
+
+ def __init__(self):
+ super(Emoji_Popover, self).__init__()
+
+ emoji_notebook = Emoji_Notebook()
+ self.add(emoji_notebook)
+ self.set_default_widget(emoji_notebook)
+ self.setup_styling()
+
+ self._emoji_key = None
+
+
+ def setup_styling(self):
+ self.set_vexpand(True)
+ self.set_size_request(480, 280)
+
+ def setup_signals(self):
+ self.connect("closed", self._emoji_key.unset_selected)
+
+ def set_parent_key(self, emoji_key):
+ self._emoji_key = emoji_key
+ self.setup_signals()
diff --git a/src/core/widgets/key.py b/src/core/widgets/key.py
index 5c4af1f..046edf5 100644
--- a/src/core/widgets/key.py
+++ b/src/core/widgets/key.py
@@ -9,13 +9,12 @@ from gi.repository import Gtk
class Key(Gtk.Button or Gtk.ToggleButton):
- def __init__(self, primary = "NULL", secondary = "NULL", emoji = "NULL", iscontrol=False):
+ def __init__(self, primary = "NULL", secondary = "NULL", iscontrol=False):
super(Key, self).__init__()
self.iscontrol = iscontrol
self._primary_symbol = primary
self._secondary_symbol = secondary
- self._emoji_symbol = emoji
self._is_upper = False
self._is_symbol = False
self._is_emoji = False
@@ -30,13 +29,17 @@ class Key(Gtk.Button or Gtk.ToggleButton):
def setup_signals(self):
self.connect("released", self._do_type)
- # self.connect("toggle-caps", self.toggle_caps)
- # self.connect("toggle-symbol-keys", self.toggle_symbol_keys)
self.connect("toggle-emoji-keys", self.toggle_emoji_keys)
def _do_type(self, widget = None):
key = self.get_label().strip()
- typwriter.type(key)
+ if not self._is_emoji:
+ typwriter.type(key)
+ else:
+ typwriter.set_clipboard_data(key, "utf-16")
+ typwriter.isCtrlOn = True
+ typwriter.type('v')
+ typwriter.isCtrlOn = False
def _do_press_special_key(self, widget = None):
key = self.get_label()
@@ -51,18 +54,13 @@ class Key(Gtk.Button or Gtk.ToggleButton):
self._is_symbol = not self._is_symbol
if self._is_symbol:
self.set_label(self._secondary_symbol)
- elif self._is_emoji:
- self.set_label(self._emoji_symbol)
else:
self.set_label(self._primary_symbol.upper()) if self._is_upper else self.set_label(self._primary_symbol.lower())
# NOTE: Might use name attrib on widgets and de-duplicate this and the above logic.
def toggle_emoji_keys(self, widget = None, eve = None):
if not self.iscontrol:
- self._is_emoji = not self._is_emoji
- if self._is_emoji:
- self.set_label(self._emoji_symbol)
- elif self._is_symbol:
+ if self._is_symbol:
self.set_label(self._secondary_symbol)
else:
self.set_label(self._primary_symbol.upper()) if self._is_upper else self.set_label(self._primary_symbol.lower())
diff --git a/src/core/window.py b/src/core/window.py
index 90a6a80..b3d6111 100644
--- a/src/core/window.py
+++ b/src/core/window.py
@@ -16,9 +16,6 @@ from .container import Container
-class MissingConfigError(Exception):
- pass
-
class Window(SignalsMixin, Gtk.ApplicationWindow):
"""docstring for Window."""
@@ -26,22 +23,6 @@ class Window(SignalsMixin, Gtk.ApplicationWindow):
def __init__(self, args, unknownargs):
super(Window, self).__init__()
- self._USER_HOME = os.path.expanduser('~')
- self._USR_PATH = f"/usr/share/{app_name.lower()}"
- self._CONFIG_PATH = f"{self._USER_HOME}/.config/{app_name.lower()}"
- self._ICON_FILE = f"{self._CONFIG_PATH}/icon.png"
- self._CSS_FILE = f"{self._CONFIG_PATH}/stylesheet.css"
-
- if not os.path.exists(self._ICON_FILE):
- self._ICON_FILE = f"{self._USR_PATH}/icon.png"
- if not os.path.exists(self._ICON_FILE):
- raise MissingConfigError("Unable to find the application icon.")
-
- if not os.path.exists(self._ICON_FILE):
- self._CSS_FILE = f"{self._USR_PATH}/stylesheet.css"
- if not os.path.exists(self._ICON_FILE):
- raise MissingConfigError("Unable to find the stylesheet.")
-
self.setup_win_settings()
self.setup_styling()
self.setup_signals()
@@ -50,12 +31,11 @@ class Window(SignalsMixin, Gtk.ApplicationWindow):
self.show_all()
-
def setup_signals(self):
self.connect("delete-event", Gtk.main_quit)
def setup_win_settings(self):
- self.set_icon_from_file(self._ICON_FILE)
+ self.set_icon_from_file(ICON_FILE)
self.set_title(app_name)
self.set_default_size(800, 200)
self.set_keep_above(True)
@@ -77,7 +57,7 @@ class Window(SignalsMixin, Gtk.ApplicationWindow):
self.connect("draw", self._area_draw)
css_provider = Gtk.CssProvider()
- css_provider.load_from_path(self._CSS_FILE)
+ css_provider.load_from_path(CSS_FILE)
screen = Gdk.Screen.get_default()
style_context = Gtk.StyleContext()
style_context.add_provider_for_screen(screen, css_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER)
diff --git a/src/utils/pyautogui/__init__.py b/src/utils/pyautogui/__init__.py
new file mode 100644
index 0000000..ec7d097
--- /dev/null
+++ b/src/utils/pyautogui/__init__.py
@@ -0,0 +1,2163 @@
+# PyAutoGUI lets Python control the mouse and keyboard, and other GUI automation tasks. For Windows, macOS, and Linux,
+# on Python 3 and 2.
+# https://github.com/asweigart/pyautogui
+# Al Sweigart al@inventwithpython.com (Send me feedback & suggestions!)
+
+
+# TODO - the following features are half-implemented right now:
+# snapshot logging
+# non-qwerty keyboard mapping
+# primary secondary mouse button awareness
+
+
+from __future__ import absolute_import, division, print_function
+
+
+__version__ = "0.9.53"
+
+import sys
+import time
+import datetime
+import os
+import platform
+import re
+import functools
+from contextlib import contextmanager
+
+
+class PyAutoGUIException(Exception):
+ """
+ PyAutoGUI code will raise this exception class for any invalid actions. If PyAutoGUI raises some other exception,
+ you should assume that this is caused by a bug in PyAutoGUI itself. (Including a failure to catch potential
+ exceptions raised by PyAutoGUI.)
+ """
+
+ pass
+
+
+class FailSafeException(PyAutoGUIException):
+ """
+ This exception is raised by PyAutoGUI functions when the user puts the mouse cursor into one of the "failsafe
+ points" (by default, one of the four corners of the primary monitor). This exception shouldn't be caught; it's
+ meant to provide a way to terminate a misbehaving script.
+ """
+
+ pass
+
+
+class ImageNotFoundException(PyAutoGUIException):
+ """
+ This exception is the PyAutoGUI version of PyScreeze's `ImageNotFoundException`, which is raised when a locate*()
+ function call is unable to find an image.
+
+ Ideally, `pyscreeze.ImageNotFoundException` should never be raised by PyAutoGUI.
+ """
+
+
+if sys.version_info[0] == 2 or sys.version_info[0:2] in ((3, 1), (3, 2)):
+ # Python 2 and 3.1 and 3.2 uses collections.Sequence
+ import collections
+
+ collectionsSequence = collections.Sequence
+else:
+ # Python 3.3+ uses collections.abc.Sequence
+ import collections.abc
+
+ collectionsSequence = collections.abc.Sequence # type: ignore
+
+
+try:
+ from pytweening import (
+ easeInQuad,
+ easeOutQuad,
+ easeInOutQuad,
+ easeInCubic,
+ easeOutCubic,
+ easeInOutCubic,
+ easeInQuart,
+ easeOutQuart,
+ easeInOutQuart,
+ easeInQuint,
+ easeOutQuint,
+ easeInOutQuint,
+ easeInSine,
+ easeOutSine,
+ easeInOutSine,
+ easeInExpo,
+ easeOutExpo,
+ easeInOutExpo,
+ easeInCirc,
+ easeOutCirc,
+ easeInOutCirc,
+ easeInElastic,
+ easeOutElastic,
+ easeInOutElastic,
+ easeInBack,
+ easeOutBack,
+ easeInOutBack,
+ easeInBounce,
+ easeOutBounce,
+ easeInOutBounce,
+ )
+
+ # getLine is not needed.
+ # getPointOnLine has been redefined in this file, to avoid dependency on pytweening.
+ # linear has also been redefined in this file.
+except ImportError:
+
+ def _couldNotImportPyTweening(*unused_args, **unused_kwargs):
+ """
+ This function raises ``PyAutoGUIException``. It's used for the PyTweening function names if the PyTweening
+ module failed to be imported.
+ """
+ raise PyAutoGUIException(
+ "PyAutoGUI was unable to import pytweening. Please install this module to enable the function you tried to call."
+ )
+
+ easeInQuad = _couldNotImportPyTweening
+ easeOutQuad = _couldNotImportPyTweening
+ easeInOutQuad = _couldNotImportPyTweening
+ easeInCubic = _couldNotImportPyTweening
+ easeOutCubic = _couldNotImportPyTweening
+ easeInOutCubic = _couldNotImportPyTweening
+ easeInQuart = _couldNotImportPyTweening
+ easeOutQuart = _couldNotImportPyTweening
+ easeInOutQuart = _couldNotImportPyTweening
+ easeInQuint = _couldNotImportPyTweening
+ easeOutQuint = _couldNotImportPyTweening
+ easeInOutQuint = _couldNotImportPyTweening
+ easeInSine = _couldNotImportPyTweening
+ easeOutSine = _couldNotImportPyTweening
+ easeInOutSine = _couldNotImportPyTweening
+ easeInExpo = _couldNotImportPyTweening
+ easeOutExpo = _couldNotImportPyTweening
+ easeInOutExpo = _couldNotImportPyTweening
+ easeInCirc = _couldNotImportPyTweening
+ easeOutCirc = _couldNotImportPyTweening
+ easeInOutCirc = _couldNotImportPyTweening
+ easeInElastic = _couldNotImportPyTweening
+ easeOutElastic = _couldNotImportPyTweening
+ easeInOutElastic = _couldNotImportPyTweening
+ easeInBack = _couldNotImportPyTweening
+ easeOutBack = _couldNotImportPyTweening
+ easeInOutBack = _couldNotImportPyTweening
+ easeInBounce = _couldNotImportPyTweening
+ easeOutBounce = _couldNotImportPyTweening
+ easeInOutBounce = _couldNotImportPyTweening
+
+
+try:
+ from pymsgbox import alert, confirm, prompt, password
+except ImportError:
+ # If pymsgbox module is not found, those methods will not be available.
+ def _couldNotImportPyMsgBox(*unused_args, **unused_kwargs):
+ """
+ This function raises ``PyAutoGUIException``. It's used for the PyMsgBox function names if the PyMsgbox module
+ failed to be imported.
+ """
+ raise PyAutoGUIException(
+ "PyAutoGUI was unable to import pymsgbox. Please install this module to enable the function you tried to call."
+ )
+
+ alert = confirm = prompt = password = _couldNotImportPyMsgBox
+
+
+def raisePyAutoGUIImageNotFoundException(wrappedFunction):
+ """
+ A decorator that wraps PyScreeze locate*() functions so that the PyAutoGUI user sees them raise PyAutoGUI's
+ ImageNotFoundException rather than PyScreeze's ImageNotFoundException. This is because PyScreeze should be
+ invisible to PyAutoGUI users.
+ """
+
+ @functools.wraps(wrappedFunction)
+ def wrapper(*args, **kwargs):
+ try:
+ return wrappedFunction(*args, **kwargs)
+ except pyscreeze.ImageNotFoundException:
+ raise ImageNotFoundException # Raise PyAutoGUI's ImageNotFoundException.
+
+ return wrapper
+
+
+try:
+ import pyscreeze
+ from pyscreeze import center, grab, pixel, pixelMatchesColor, screenshot
+
+ # Change the locate*() functions so that they raise PyAutoGUI's ImageNotFoundException instead.
+ @raisePyAutoGUIImageNotFoundException
+ def locate(*args, **kwargs):
+ return pyscreeze.locate(*args, **kwargs)
+
+ locate.__doc__ = pyscreeze.locate.__doc__
+
+ @raisePyAutoGUIImageNotFoundException
+ def locateAll(*args, **kwargs):
+ return pyscreeze.locateAll(*args, **kwargs)
+
+ locateAll.__doc__ = pyscreeze.locateAll.__doc__
+
+ @raisePyAutoGUIImageNotFoundException
+ def locateAllOnScreen(*args, **kwargs):
+ return pyscreeze.locateAllOnScreen(*args, **kwargs)
+
+ locateAllOnScreen.__doc__ = pyscreeze.locateAllOnScreen.__doc__
+
+ @raisePyAutoGUIImageNotFoundException
+ def locateCenterOnScreen(*args, **kwargs):
+ return pyscreeze.locateCenterOnScreen(*args, **kwargs)
+
+ locateCenterOnScreen.__doc__ = pyscreeze.locateCenterOnScreen.__doc__
+
+ @raisePyAutoGUIImageNotFoundException
+ def locateOnScreen(*args, **kwargs):
+ return pyscreeze.locateOnScreen(*args, **kwargs)
+
+ locateOnScreen.__doc__ = pyscreeze.locateOnScreen.__doc__
+
+ @raisePyAutoGUIImageNotFoundException
+ def locateOnWindow(*args, **kwargs):
+ return pyscreeze.locateOnWindow(*args, **kwargs)
+
+ locateOnWindow.__doc__ = pyscreeze.locateOnWindow.__doc__
+
+
+except ImportError:
+ # If pyscreeze module is not found, screenshot-related features will simply not work.
+ def _couldNotImportPyScreeze(*unused_args, **unsed_kwargs):
+ """
+ This function raises ``PyAutoGUIException``. It's used for the PyScreeze function names if the PyScreeze module
+ failed to be imported.
+ """
+ raise PyAutoGUIException(
+ "PyAutoGUI was unable to import pyscreeze. (This is likely because you're running a version of Python that Pillow (which pyscreeze depends on) doesn't support currently.) Please install this module to enable the function you tried to call."
+ )
+
+ center = _couldNotImportPyScreeze
+ grab = _couldNotImportPyScreeze
+ locate = _couldNotImportPyScreeze
+ locateAll = _couldNotImportPyScreeze
+ locateAllOnScreen = _couldNotImportPyScreeze
+ locateCenterOnScreen = _couldNotImportPyScreeze
+ locateOnScreen = _couldNotImportPyScreeze
+ locateOnWindow = _couldNotImportPyScreeze
+ pixel = _couldNotImportPyScreeze
+ pixelMatchesColor = _couldNotImportPyScreeze
+ screenshot = _couldNotImportPyScreeze
+
+
+try:
+ import mouseinfo
+
+ def mouseInfo():
+ """
+ Launches the MouseInfo app. This application provides mouse coordinate information which can be useful when
+ planning GUI automation tasks. This function blocks until the application is closed.
+ """
+ mouseinfo.MouseInfoWindow()
+
+
+except ImportError:
+
+ def mouseInfo():
+ """
+ This function raises PyAutoGUIException. It's used for the MouseInfo function names if the MouseInfo module
+ failed to be imported.
+ """
+ raise PyAutoGUIException(
+ "PyAutoGUI was unable to import mouseinfo. Please install this module to enable the function you tried to call."
+ )
+
+
+def useImageNotFoundException(value=None):
+ """
+ When called with no arguments, PyAutoGUI will raise ImageNotFoundException when the PyScreeze locate*() functions
+ can't find the image it was told to locate. The default behavior is to return None. Call this function with no
+ arguments (or with True as the argument) to have exceptions raised, which is a better practice.
+
+ You can also disable raising exceptions by passing False for the argument.
+ """
+ if value is None:
+ value = True
+ # TODO - this will cause a NameError if PyScreeze couldn't be imported:
+ try:
+ pyscreeze.USE_IMAGE_NOT_FOUND_EXCEPTION = value
+ except NameError:
+ raise PyAutoGUIException("useImageNotFoundException() ws called but pyscreeze isn't installed.")
+
+
+if sys.platform == "win32": # PyGetWindow currently only supports Windows.
+ try:
+ from pygetwindow import (
+ Window,
+ getActiveWindow,
+ getActiveWindowTitle,
+ getWindowsAt,
+ getWindowsWithTitle,
+ getAllWindows,
+ getAllTitles,
+ )
+ except ImportError:
+ # If pygetwindow module is not found, those methods will not be available.
+ def _couldNotImportPyGetWindow(*unused_args, **unused_kwargs):
+ """
+ This function raises PyAutoGUIException. It's used for the PyGetWindow function names if the PyGetWindow
+ module failed to be imported.
+ """
+ raise PyAutoGUIException(
+ "PyAutoGUI was unable to import pygetwindow. Please install this module to enable the function you tried to call."
+ )
+
+ Window = _couldNotImportPyGetWindow
+ getActiveWindow = _couldNotImportPyGetWindow
+ getActiveWindowTitle = _couldNotImportPyGetWindow
+ getWindowsAt = _couldNotImportPyGetWindow
+ getWindowsWithTitle = _couldNotImportPyGetWindow
+ getAllWindows = _couldNotImportPyGetWindow
+ getAllTitles = _couldNotImportPyGetWindow
+
+KEY_NAMES = [
+ "\t",
+ "\n",
+ "\r",
+ " ",
+ "!",
+ '"',
+ "#",
+ "$",
+ "%",
+ "&",
+ "'",
+ "(",
+ ")",
+ "*",
+ "+",
+ ",",
+ "-",
+ ".",
+ "/",
+ "0",
+ "1",
+ "2",
+ "3",
+ "4",
+ "5",
+ "6",
+ "7",
+ "8",
+ "9",
+ ":",
+ ";",
+ "<",
+ "=",
+ ">",
+ "?",
+ "@",
+ "[",
+ "\\",
+ "]",
+ "^",
+ "_",
+ "`",
+ "a",
+ "b",
+ "c",
+ "d",
+ "e",
+ "f",
+ "g",
+ "h",
+ "i",
+ "j",
+ "k",
+ "l",
+ "m",
+ "n",
+ "o",
+ "p",
+ "q",
+ "r",
+ "s",
+ "t",
+ "u",
+ "v",
+ "w",
+ "x",
+ "y",
+ "z",
+ "{",
+ "|",
+ "}",
+ "~",
+ "accept",
+ "add",
+ "alt",
+ "altleft",
+ "altright",
+ "apps",
+ "backspace",
+ "browserback",
+ "browserfavorites",
+ "browserforward",
+ "browserhome",
+ "browserrefresh",
+ "browsersearch",
+ "browserstop",
+ "capslock",
+ "clear",
+ "convert",
+ "ctrl",
+ "ctrlleft",
+ "ctrlright",
+ "decimal",
+ "del",
+ "delete",
+ "divide",
+ "down",
+ "end",
+ "enter",
+ "esc",
+ "escape",
+ "execute",
+ "f1",
+ "f10",
+ "f11",
+ "f12",
+ "f13",
+ "f14",
+ "f15",
+ "f16",
+ "f17",
+ "f18",
+ "f19",
+ "f2",
+ "f20",
+ "f21",
+ "f22",
+ "f23",
+ "f24",
+ "f3",
+ "f4",
+ "f5",
+ "f6",
+ "f7",
+ "f8",
+ "f9",
+ "final",
+ "fn",
+ "hanguel",
+ "hangul",
+ "hanja",
+ "help",
+ "home",
+ "insert",
+ "junja",
+ "kana",
+ "kanji",
+ "launchapp1",
+ "launchapp2",
+ "launchmail",
+ "launchmediaselect",
+ "left",
+ "modechange",
+ "multiply",
+ "nexttrack",
+ "nonconvert",
+ "num0",
+ "num1",
+ "num2",
+ "num3",
+ "num4",
+ "num5",
+ "num6",
+ "num7",
+ "num8",
+ "num9",
+ "numlock",
+ "pagedown",
+ "pageup",
+ "pause",
+ "pgdn",
+ "pgup",
+ "playpause",
+ "prevtrack",
+ "print",
+ "printscreen",
+ "prntscrn",
+ "prtsc",
+ "prtscr",
+ "return",
+ "right",
+ "scrolllock",
+ "select",
+ "separator",
+ "shift",
+ "shiftleft",
+ "shiftright",
+ "sleep",
+ "space",
+ "stop",
+ "subtract",
+ "tab",
+ "up",
+ "volumedown",
+ "volumemute",
+ "volumeup",
+ "win",
+ "winleft",
+ "winright",
+ "yen",
+ "command",
+ "option",
+ "optionleft",
+ "optionright",
+]
+KEYBOARD_KEYS = KEY_NAMES # keeping old KEYBOARD_KEYS for backwards compatibility
+
+# Constants for the mouse button names:
+LEFT = "left"
+MIDDLE = "middle"
+RIGHT = "right"
+PRIMARY = "primary"
+SECONDARY = "secondary"
+
+# Different keyboard mappings:
+# TODO - finish this feature.
+# NOTE: Eventually, I'd like to come up with a better system than this. For now, this seems like it works.
+QWERTY = r"""`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?"""
+QWERTZ = r"""=1234567890/0qwertzuiop89-asdfghjkl,\yxcvbnm,.7+!@#$%^&*()?)QWERTZUIOP*(_ASDFGHJKL<|YXCVBNM<>&"""
+
+
+def isShiftCharacter(character):
+ """
+ Returns True if the ``character`` is a keyboard key that would require the shift key to be held down, such as
+ uppercase letters or the symbols on the keyboard's number row.
+ """
+ # NOTE TODO - This will be different for non-qwerty keyboards.
+ return character.isupper() or character in set('~!@#$%^&*()_+{}|:"<>?')
+
+
+# The platformModule is where we reference the platform-specific functions.
+if sys.platform.startswith("java"):
+ # from . import _pyautogui_java as platformModule
+ raise NotImplementedError("Jython is not yet supported by PyAutoGUI.")
+elif sys.platform == "darwin":
+ from . import _pyautogui_osx as platformModule
+elif sys.platform == "win32":
+ from . import _pyautogui_win as platformModule
+elif platform.system() == "Linux":
+ from . import _pyautogui_x11 as platformModule
+else:
+ raise NotImplementedError("Your platform (%s) is not supported by PyAutoGUI." % (platform.system()))
+
+# TODO: Having module-wide user-writable global variables is bad. It makes
+# restructuring the code very difficult. For instance, what if we decide to
+# move the mouse-related functions to a separate file (a submodule)? How that
+# file will access this module vars? It will probably lead to a circular
+# import.
+
+# In seconds. Any duration less than this is rounded to 0.0 to instantly move
+# the mouse.
+MINIMUM_DURATION = 0.1
+# If sleep_amount is less than MINIMUM_DURATION, time.sleep() will be a no-op and the mouse cursor moves there instantly.
+# TODO: This value should vary with the platform. http://stackoverflow.com/q/1133857
+MINIMUM_SLEEP = 0.05
+
+# The number of seconds to pause after EVERY public function call. Useful for debugging:
+PAUSE = 0.1 # Tenth-second pause by default.
+
+# Interface need some catch up time on darwin (macOS) systems. Possible values probably differ based on your system performance.
+# This value affects mouse moveTo, dragTo and key event duration.
+# TODO: Find a dynamic way to let the system catch up instead of blocking with a magic number.
+DARWIN_CATCH_UP_TIME = 0.01
+
+# If the mouse is over a coordinate in FAILSAFE_POINTS and FAILSAFE is True, the FailSafeException is raised.
+# The rest of the points are added to the FAILSAFE_POINTS list at the bottom of this file, after size() has been defined.
+# The points are for the corners of the screen, but note that these points don't automatically change if the screen resolution changes.
+FAILSAFE = True
+FAILSAFE_POINTS = [(0, 0)]
+
+LOG_SCREENSHOTS = False # If True, save screenshots for clicks and key presses.
+
+# If not None, PyAutoGUI deletes old screenshots when this limit has been reached:
+LOG_SCREENSHOTS_LIMIT = 10
+G_LOG_SCREENSHOTS_FILENAMES = [] # TODO - make this a deque
+
+Point = collections.namedtuple("Point", "x y")
+Size = collections.namedtuple("Size", "width height")
+
+
+def _genericPyAutoGUIChecks(wrappedFunction):
+ """
+ A decorator that calls failSafeCheck() before the decorated function and
+ _handlePause() after it.
+ """
+
+ @functools.wraps(wrappedFunction)
+ def wrapper(*args, **kwargs):
+ failSafeCheck()
+ returnVal = wrappedFunction(*args, **kwargs)
+ _handlePause(kwargs.get("_pause", True))
+ return returnVal
+
+ return wrapper
+
+
+# General Functions
+# =================
+
+
+def getPointOnLine(x1, y1, x2, y2, n):
+ """
+ Returns an (x, y) tuple of the point that has progressed a proportion ``n`` along the line defined by the two
+ ``x1``, ``y1`` and ``x2``, ``y2`` coordinates.
+
+ This function was copied from pytweening module, so that it can be called even if PyTweening is not installed.
+ """
+ x = ((x2 - x1) * n) + x1
+ y = ((y2 - y1) * n) + y1
+ return (x, y)
+
+
+def linear(n):
+ """
+ Returns ``n``, where ``n`` is the float argument between ``0.0`` and ``1.0``. This function is for the default
+ linear tween for mouse moving functions.
+
+ This function was copied from PyTweening module, so that it can be called even if PyTweening is not installed.
+ """
+
+ # We use this function instead of pytweening.linear for the default tween function just in case pytweening couldn't be imported.
+ if not 0.0 <= n <= 1.0:
+ raise PyAutoGUIException("Argument must be between 0.0 and 1.0.")
+ return n
+
+
+def _handlePause(_pause):
+ """
+ A helper function for performing a pause at the end of a PyAutoGUI function based on some settings.
+
+ If ``_pause`` is ``True``, then sleep for ``PAUSE`` seconds (the global pause setting).
+ """
+ if _pause:
+ assert isinstance(PAUSE, int) or isinstance(PAUSE, float)
+ time.sleep(PAUSE)
+
+
+def _normalizeXYArgs(firstArg, secondArg):
+ """
+ Returns a ``Point`` object based on ``firstArg`` and ``secondArg``, which are the first two arguments passed to
+ several PyAutoGUI functions. If ``firstArg`` and ``secondArg`` are both ``None``, returns the current mouse cursor
+ position.
+
+ ``firstArg`` and ``secondArg`` can be integers, a sequence of integers, or a string representing an image filename
+ to find on the screen (and return the center coordinates of).
+ """
+ if firstArg is None and secondArg is None:
+ return position()
+
+ elif firstArg is None and secondArg is not None:
+ return Point(int(position()[0]), int(secondArg))
+
+ elif secondArg is None and firstArg is not None:
+ return Point(int(firstArg), int(position()[1]))
+
+ elif isinstance(firstArg, str):
+ # If x is a string, we assume it's an image filename to locate on the screen:
+ try:
+ location = locateOnScreen(firstArg)
+ # The following code only runs if pyscreeze.USE_IMAGE_NOT_FOUND_EXCEPTION is not set to True, meaning that
+ # locateOnScreen() returns None if the image can't be found.
+ if location is not None:
+ return center(location)
+ else:
+ return None
+ except pyscreeze.ImageNotFoundException:
+ raise ImageNotFoundException
+
+ return center(locateOnScreen(firstArg))
+
+ elif isinstance(firstArg, collectionsSequence):
+ if len(firstArg) == 2:
+ # firstArg is a two-integer tuple: (x, y)
+ if secondArg is None:
+ return Point(int(firstArg[0]), int(firstArg[1]))
+ else:
+ raise PyAutoGUIException(
+ "When passing a sequence for firstArg, secondArg must not be passed (received {0}).".format(
+ repr(secondArg)
+ )
+ )
+ elif len(firstArg) == 4:
+ # firstArg is a four-integer tuple, (left, top, width, height), we should return the center point
+ if secondArg is None:
+ return center(firstArg)
+ else:
+ raise PyAutoGUIException(
+ "When passing a sequence for firstArg, secondArg must not be passed and default to None (received {0}).".format(
+ repr(secondArg)
+ )
+ )
+ else:
+ raise PyAutoGUIException(
+ "The supplied sequence must have exactly 2 or exactly 4 elements ({0} were received).".format(
+ len(firstArg)
+ )
+ )
+ else:
+ return Point(int(firstArg), int(secondArg)) # firstArg and secondArg are just x and y number values
+
+
+def _logScreenshot(logScreenshot, funcName, funcArgs, folder="."):
+ """
+ A helper function that creates a screenshot to act as a logging mechanism. When a PyAutoGUI function is called,
+ this function is also called to capture the state of the screen when that function was called.
+
+ If ``logScreenshot`` is ``False`` (or None and the ``LOG_SCREENSHOTS`` constant is ``False``), no screenshot is taken.
+
+ The ``funcName`` argument is a string of the calling function's name. It's used in the screenshot's filename.
+
+ The ``funcArgs`` argument is a string describing the arguments passed to the calling function. It's limited to
+ twelve characters to keep it short.
+
+ The ``folder`` argument is the folder to place the screenshot file in, and defaults to the current working directory.
+ """
+ if logScreenshot == False:
+ return # Don't take a screenshot.
+ if logScreenshot is None and LOG_SCREENSHOTS == False:
+ return # Don't take a screenshot.
+
+ # Ensure that the "specifics" string isn't too long for the filename:
+ if len(funcArgs) > 12:
+ funcArgs = funcArgs[:12] + "..."
+
+ now = datetime.datetime.now()
+ filename = "%s-%s-%s_%s-%s-%s-%s_%s_%s.png" % (
+ now.year,
+ str(now.month).rjust(2, "0"),
+ str(now.day).rjust(2, "0"),
+ now.hour,
+ now.minute,
+ now.second,
+ str(now.microsecond)[:3],
+ funcName,
+ funcArgs,
+ )
+ filepath = os.path.join(folder, filename)
+
+ # Delete the oldest screenshot if we've reached the maximum:
+ if (LOG_SCREENSHOTS_LIMIT is not None) and (len(G_LOG_SCREENSHOTS_FILENAMES) >= LOG_SCREENSHOTS_LIMIT):
+ os.unlink(os.path.join(folder, G_LOG_SCREENSHOTS_FILENAMES[0]))
+ del G_LOG_SCREENSHOTS_FILENAMES[0]
+
+ screenshot(filepath)
+ G_LOG_SCREENSHOTS_FILENAMES.append(filename)
+
+
+def position(x=None, y=None):
+ """
+ Returns the current xy coordinates of the mouse cursor as a two-integer tuple.
+
+ Args:
+ x (int, None, optional) - If not None, this argument overrides the x in
+ the return value.
+ y (int, None, optional) - If not None, this argument overrides the y in
+ the return value.
+
+ Returns:
+ (x, y) tuple of the current xy coordinates of the mouse cursor.
+
+ NOTE: The position() function doesn't check for failsafe.
+ """
+ posx, posy = platformModule._position()
+ posx = int(posx)
+ posy = int(posy)
+ if x is not None: # If set, the x parameter overrides the return value.
+ posx = int(x)
+ if y is not None: # If set, the y parameter overrides the return value.
+ posy = int(y)
+ return Point(posx, posy)
+
+
+def size():
+ """Returns the width and height of the screen as a two-integer tuple.
+
+ Returns:
+ (width, height) tuple of the screen size, in pixels.
+ """
+ return Size(*platformModule._size())
+
+
+def onScreen(x, y=None):
+ """Returns whether the given xy coordinates are on the primary screen or not.
+
+ Note that this function doesn't work for secondary screens.
+
+ Args:
+ Either the arguments are two separate values, first arg for x and second
+ for y, or there is a single argument of a sequence with two values, the
+ first x and the second y.
+ Example: onScreen(x, y) or onScreen([x, y])
+
+ Returns:
+ bool: True if the xy coordinates are on the screen at its current
+ resolution, otherwise False.
+ """
+ x, y = _normalizeXYArgs(x, y)
+ x = int(x)
+ y = int(y)
+
+ width, height = platformModule._size()
+ return 0 <= x < width and 0 <= y < height
+
+
+# Mouse Functions
+# ===============
+
+"""
+NOTE: Although "mouse1" and "mouse2" buttons usually refer to the left and
+right mouse buttons respectively, in PyAutoGUI 1, 2, and 3 refer to the left,
+middle, and right buttons, respectively. This is because Xlib interprets
+button 2 as the middle button and button 3 as the right button, so we hold
+that for Windows and macOS as well (since those operating systems don't use
+button numbers but rather just "left" or "right").
+"""
+
+
+def _normalizeButton(button):
+ """
+ The left, middle, and right mouse buttons are button numbers 1, 2, and 3 respectively. This is the numbering that
+ Xlib on Linux uses (while Windows and macOS don't care about numbers; they just use "left" and "right").
+
+ This function takes one of ``LEFT``, ``MIDDLE``, ``RIGHT``, ``PRIMARY``, ``SECONDARY``, ``1``, ``2``, ``3``, ``4``,
+ ``5``, ``6``, or ``7`` for the button argument and returns either ``LEFT``, ``MIDDLE``, ``RIGHT``, ``4``, ``5``,
+ ``6``, or ``7``. The ``PRIMARY``, ``SECONDARY``, ``1``, ``2``, and ``3`` values are never returned.
+
+ The ``'left'`` and ``'right'`` mouse buttons will always refer to the physical left and right
+ buttons on the mouse. The same applies for buttons 1 and 3.
+
+ However, if ``button`` is ``'primary'`` or ``'secondary'``, then we must check if
+ the mouse buttons have been "swapped" (for left-handed users) by the operating system's mouse
+ settings.
+
+ If the buttons are swapped, the primary button is the right mouse button and the secondary button is the left mouse
+ button. If not swapped, the primary and secondary buttons are the left and right buttons, respectively.
+
+ NOTE: Swap detection has not been implemented yet.
+ """
+ # TODO - The swap detection hasn't been done yet. For Windows, see https://stackoverflow.com/questions/45627956/check-if-mouse-buttons-are-swapped-or-not-in-c
+ # TODO - We should check the OS settings to see if it's a left-hand setup, where button 1 would be "right".
+
+ # Check that `button` has a valid value:
+ button = button.lower()
+ if platform.system() == "Linux":
+ # Check for valid button arg on Linux:
+ if button not in (LEFT, MIDDLE, RIGHT, PRIMARY, SECONDARY, 1, 2, 3, 4, 5, 6, 7):
+ raise PyAutoGUIException(
+ "button argument must be one of ('left', 'middle', 'right', 'primary', 'secondary', 1, 2, 3, 4, 5, 6, 7)"
+ )
+ else:
+ # Check for valid button arg on Windows and macOS:
+ if button not in (LEFT, MIDDLE, RIGHT, PRIMARY, SECONDARY, 1, 2, 3):
+ raise PyAutoGUIException(
+ "button argument must be one of ('left', 'middle', 'right', 'primary', 'secondary', 1, 2, 3)"
+ )
+
+ # TODO - Check if the primary/secondary mouse buttons have been swapped:
+ if button in (PRIMARY, SECONDARY):
+ swapped = False # TODO - Add the operating system-specific code to detect mouse swap later.
+ if swapped:
+ if button == PRIMARY:
+ return RIGHT
+ elif button == SECONDARY:
+ return LEFT
+ else:
+ if button == PRIMARY:
+ return LEFT
+ elif button == SECONDARY:
+ return RIGHT
+
+ # Return a mouse button integer value, not a string like 'left':
+ return {LEFT: LEFT, MIDDLE: MIDDLE, RIGHT: RIGHT, 1: LEFT, 2: MIDDLE, 3: RIGHT, 4: 4, 5: 5, 6: 6, 7: 7}[button]
+
+
+@_genericPyAutoGUIChecks
+def mouseDown(x=None, y=None, button=PRIMARY, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs pressing a mouse button down (but not up).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ mouse down happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ mouse down happens. None by default.
+ button (str, int, optional): The mouse button pressed down. TODO
+
+ Returns:
+ None
+
+ Raises:
+ PyAutoGUIException: If button is not one of 'left', 'middle', 'right', 1, 2, or 3
+ """
+ button = _normalizeButton(button)
+ x, y = _normalizeXYArgs(x, y)
+
+ _mouseMoveDrag("move", x, y, 0, 0, duration=0, tween=None)
+
+ _logScreenshot(logScreenshot, "mouseDown", "%s,%s" % (x, y), folder=".")
+ platformModule._mouseDown(x, y, button)
+
+
+@_genericPyAutoGUIChecks
+def mouseUp(x=None, y=None, button=PRIMARY, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs releasing a mouse button up (but not down beforehand).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ mouse up happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ mouse up happens. None by default.
+ button (str, int, optional): The mouse button released. TODO
+
+ Returns:
+ None
+
+ Raises:
+ PyAutoGUIException: If button is not one of 'left', 'middle', 'right', 1, 2, or 3
+ """
+ button = _normalizeButton(button)
+ x, y = _normalizeXYArgs(x, y)
+
+ _mouseMoveDrag("move", x, y, 0, 0, duration=0, tween=None)
+
+ _logScreenshot(logScreenshot, "mouseUp", "%s,%s" % (x, y), folder=".")
+ platformModule._mouseUp(x, y, button)
+
+
+@_genericPyAutoGUIChecks
+def click(
+ x=None, y=None, clicks=1, interval=0.0, button=PRIMARY, duration=0.0, tween=linear, logScreenshot=None, _pause=True
+):
+ """
+ Performs pressing a mouse button down and then immediately releasing it. Returns ``None``.
+
+ When no arguments are passed, the primary mouse button is clicked at the mouse cursor's current location.
+
+ If integers for ``x`` and ``y`` are passed, the click will happen at that XY coordinate. If ``x`` is a string, the
+ string is an image filename that PyAutoGUI will attempt to locate on the screen and click the center of. If ``x``
+ is a sequence of two coordinates, those coordinates will be used for the XY coordinate to click on.
+
+ The ``clicks`` argument is an int of how many clicks to make, and defaults to ``1``.
+
+ The ``interval`` argument is an int or float of how many seconds to wait in between each click, if ``clicks`` is
+ greater than ``1``. It defaults to ``0.0`` for no pause in between clicks.
+
+ The ``button`` argument is one of the constants ``LEFT``, ``MIDDLE``, ``RIGHT``, ``PRIMARY``, or ``SECONDARY``.
+ It defaults to ``PRIMARY`` (which is the left mouse button, unless the operating system has been set for
+ left-handed users.)
+
+ If ``x`` and ``y`` are specified, and the click is not happening at the mouse cursor's current location, then
+ the ``duration`` argument is an int or float of how many seconds it should take to move the mouse to the XY
+ coordinates. It defaults to ``0`` for an instant move.
+
+ If ``x`` and ``y`` are specified and ``duration`` is not ``0``, the ``tween`` argument is a tweening function
+ that specifies the movement pattern of the mouse cursor as it moves to the XY coordinates. The default is a
+ simple linear tween. See the PyTweening module documentation for more details.
+
+ The ``pause`` parameter is deprecated. Call the ``pyautogui.sleep()`` function to implement a pause.
+
+ Raises:
+ PyAutoGUIException: If button is not one of 'left', 'middle', 'right', 1, 2, 3
+ """
+ # TODO: I'm leaving buttons 4, 5, 6, and 7 undocumented for now. I need to understand how they work.
+ button = _normalizeButton(button)
+ x, y = _normalizeXYArgs(x, y)
+
+ # Move the mouse cursor to the x, y coordinate:
+ _mouseMoveDrag("move", x, y, 0, 0, duration, tween)
+
+ _logScreenshot(logScreenshot, "click", "%s,%s,%s,%s" % (button, clicks, x, y), folder=".")
+
+ if sys.platform == 'darwin':
+ for i in range(clicks):
+ failSafeCheck()
+ if button in (LEFT, MIDDLE, RIGHT):
+ platformModule._multiClick(x, y, button, 1, interval)
+ else:
+ for i in range(clicks):
+ failSafeCheck()
+ if button in (LEFT, MIDDLE, RIGHT):
+ platformModule._click(x, y, button)
+
+ time.sleep(interval)
+
+
+@_genericPyAutoGUIChecks
+def leftClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs a left mouse button click.
+
+ This is a wrapper function for click('left', x, y).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+ interval (float, optional): The number of seconds in between each click,
+ if the number of clicks is greater than 1. 0.0 by default, for no
+ pause in between clicks.
+
+ Returns:
+ None
+ """
+
+ # TODO - Do we need the decorator for this function? Should click() handle this? (Also applies to other alias functions.)
+ click(x, y, 1, interval, LEFT, duration, tween, logScreenshot, _pause=_pause)
+
+
+@_genericPyAutoGUIChecks
+def rightClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs a right mouse button click.
+
+ This is a wrapper function for click('right', x, y).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+ interval (float, optional): The number of seconds in between each click,
+ if the number of clicks is greater than 1. 0.0 by default, for no
+ pause in between clicks.
+
+ Returns:
+ None
+ """
+ click(x, y, 1, interval, RIGHT, duration, tween, logScreenshot, _pause=_pause)
+
+
+@_genericPyAutoGUIChecks
+def middleClick(x=None, y=None, interval=0.0, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs a middle mouse button click.
+
+ This is a wrapper function for click('middle', x, y).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+
+ Returns:
+ None
+ """
+ click(x, y, 1, interval, MIDDLE, duration, tween, logScreenshot, _pause=_pause)
+
+
+@_genericPyAutoGUIChecks
+def doubleClick(x=None, y=None, interval=0.0, button=LEFT, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs a double click.
+
+ This is a wrapper function for click('left', x, y, 2, interval).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+ interval (float, optional): The number of seconds in between each click,
+ if the number of clicks is greater than 1. 0.0 by default, for no
+ pause in between clicks.
+ button (str, int, optional): The mouse button released. TODO
+
+ Returns:
+ None
+
+ Raises:
+ PyAutoGUIException: If button is not one of 'left', 'middle', 'right', 1, 2, 3, 4,
+ 5, 6, or 7
+ """
+
+ # Multiple clicks work different in OSX
+ if sys.platform == "darwin":
+ x, y = _normalizeXYArgs(x, y)
+ _mouseMoveDrag("move", x, y, 0, 0, duration=0, tween=None)
+ x, y = platformModule._position()
+ platformModule._multiClick(x, y, button, 2)
+ _logScreenshot(logScreenshot, 'click', '%s,2,%s,%s' % (button, x, y), folder='.')
+ else:
+ # Click for Windows or Linux:
+ click(x, y, 2, interval, button, duration, tween, logScreenshot, _pause=False)
+
+
+@_genericPyAutoGUIChecks
+def tripleClick(x=None, y=None, interval=0.0, button=LEFT, duration=0.0, tween=linear, logScreenshot=None, _pause=True):
+ """Performs a triple click.
+
+ This is a wrapper function for click('left', x, y, 3, interval).
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+ interval (float, optional): The number of seconds in between each click,
+ if the number of clicks is greater than 1. 0.0 by default, for no
+ pause in between clicks.
+ button (str, int, optional): The mouse button released. TODO
+
+ Returns:
+ None
+
+ Raises:
+ PyAutoGUIException: If button is not one of 'left', 'middle', 'right', 1, 2, 3, 4,
+ 5, 6, or 7
+ """
+ # Multiple clicks work different in OSX
+ if sys.platform == "darwin":
+ x, y = _normalizeXYArgs(x, y)
+ _mouseMoveDrag("move", x, y, 0, 0, duration=0, tween=None)
+ x, y = platformModule._position()
+ _logScreenshot(logScreenshot, "click", "%s,3,%s,%s" % (x, y), folder=".")
+ platformModule._multiClick(x, y, button, 3)
+ else:
+ # Click for Windows or Linux:
+ click(x, y, 3, interval, button, duration, tween, logScreenshot, _pause=False)
+
+
+@_genericPyAutoGUIChecks
+def scroll(clicks, x=None, y=None, logScreenshot=None, _pause=True):
+ """Performs a scroll of the mouse scroll wheel.
+
+ Whether this is a vertical or horizontal scroll depends on the underlying
+ operating system.
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ clicks (int, float): The amount of scrolling to perform.
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+
+ Returns:
+ None
+ """
+ if type(x) in (tuple, list):
+ x, y = x[0], x[1]
+ x, y = position(x, y)
+
+ _logScreenshot(logScreenshot, "scroll", "%s,%s,%s" % (clicks, x, y), folder=".")
+ platformModule._scroll(clicks, x, y)
+
+
+@_genericPyAutoGUIChecks
+def hscroll(clicks, x=None, y=None, logScreenshot=None, _pause=True):
+ """Performs an explicitly horizontal scroll of the mouse scroll wheel,
+ if this is supported by the operating system. (Currently just Linux.)
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ clicks (int, float): The amount of scrolling to perform.
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+
+ Returns:
+ None
+ """
+ if type(x) in (tuple, list):
+ x, y = x[0], x[1]
+ x, y = position(x, y)
+
+ _logScreenshot(logScreenshot, "hscroll", "%s,%s,%s" % (clicks, x, y), folder=".")
+ platformModule._hscroll(clicks, x, y)
+
+
+@_genericPyAutoGUIChecks
+def vscroll(clicks, x=None, y=None, logScreenshot=None, _pause=True):
+ """Performs an explicitly vertical scroll of the mouse scroll wheel,
+ if this is supported by the operating system. (Currently just Linux.)
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ clicks (int, float): The amount of scrolling to perform.
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+
+ Returns:
+ None
+ """
+ if type(x) in (tuple, list):
+ x, y = x[0], x[1]
+ x, y = position(x, y)
+
+ _logScreenshot(logScreenshot, "vscroll", "%s,%s,%s" % (clicks, x, y), folder=".")
+ platformModule._vscroll(clicks, x, y)
+
+
+@_genericPyAutoGUIChecks
+def moveTo(x=None, y=None, duration=0.0, tween=linear, logScreenshot=False, _pause=True):
+ """Moves the mouse cursor to a point on the screen.
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): The x position on the screen where the
+ click happens. None by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): The y position on the screen where the
+ click happens. None by default.
+ duration (float, optional): The amount of time it takes to move the mouse
+ cursor to the xy coordinates. If 0, then the mouse cursor is moved
+ instantaneously. 0.0 by default.
+ tween (func, optional): The tweening function used if the duration is not
+ 0. A linear tween is used by default.
+
+ Returns:
+ None
+ """
+ x, y = _normalizeXYArgs(x, y)
+
+ _logScreenshot(logScreenshot, "moveTo", "%s,%s" % (x, y), folder=".")
+ _mouseMoveDrag("move", x, y, 0, 0, duration, tween)
+
+
+@_genericPyAutoGUIChecks
+def moveRel(xOffset=None, yOffset=None, duration=0.0, tween=linear, logScreenshot=False, _pause=True):
+ """Moves the mouse cursor to a point on the screen, relative to its current
+ position.
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): How far left (for negative values) or
+ right (for positive values) to move the cursor. 0 by default. If tuple, this is used for x and y.
+ y (int, float, None, optional): How far up (for negative values) or
+ down (for positive values) to move the cursor. 0 by default.
+ duration (float, optional): The amount of time it takes to move the mouse
+ cursor to the new xy coordinates. If 0, then the mouse cursor is moved
+ instantaneously. 0.0 by default.
+ tween (func, optional): The tweening function used if the duration is not
+ 0. A linear tween is used by default.
+
+ Returns:
+ None
+ """
+ xOffset, yOffset = _normalizeXYArgs(xOffset, yOffset)
+
+ _logScreenshot(logScreenshot, "moveRel", "%s,%s" % (xOffset, yOffset), folder=".")
+ _mouseMoveDrag("move", None, None, xOffset, yOffset, duration, tween)
+
+
+move = moveRel # For PyAutoGUI 1.0, move() replaces moveRel().
+
+
+@_genericPyAutoGUIChecks
+def dragTo(
+ x=None, y=None, duration=0.0, tween=linear, button=PRIMARY, logScreenshot=None, _pause=True, mouseDownUp=True
+):
+ """Performs a mouse drag (mouse movement while a button is held down) to a
+ point on the screen.
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): How far left (for negative values) or
+ right (for positive values) to move the cursor. 0 by default. If tuple, this is used for x and y.
+ If x is a str, it's considered a filename of an image to find on
+ the screen with locateOnScreen() and click the center of.
+ y (int, float, None, optional): How far up (for negative values) or
+ down (for positive values) to move the cursor. 0 by default.
+ duration (float, optional): The amount of time it takes to move the mouse
+ cursor to the new xy coordinates. If 0, then the mouse cursor is moved
+ instantaneously. 0.0 by default.
+ tween (func, optional): The tweening function used if the duration is not
+ 0. A linear tween is used by default.
+ button (str, int, optional): The mouse button released. TODO
+ mouseDownUp (True, False): When true, the mouseUp/Down actions are not performed.
+ Which allows dragging over multiple (small) actions. 'True' by default.
+
+ Returns:
+ None
+ """
+ x, y = _normalizeXYArgs(x, y)
+
+ _logScreenshot(logScreenshot, "dragTo", "%s,%s" % (x, y), folder=".")
+ if mouseDownUp:
+ mouseDown(button=button, logScreenshot=False, _pause=False)
+ _mouseMoveDrag("drag", x, y, 0, 0, duration, tween, button)
+ if mouseDownUp:
+ mouseUp(button=button, logScreenshot=False, _pause=False)
+
+
+@_genericPyAutoGUIChecks
+def dragRel(
+ xOffset=0, yOffset=0, duration=0.0, tween=linear, button=PRIMARY, logScreenshot=None, _pause=True, mouseDownUp=True
+):
+ """Performs a mouse drag (mouse movement while a button is held down) to a
+ point on the screen, relative to its current position.
+
+ The x and y parameters detail where the mouse event happens. If None, the
+ current mouse position is used. If a float value, it is rounded down. If
+ outside the boundaries of the screen, the event happens at edge of the
+ screen.
+
+ Args:
+ x (int, float, None, tuple, optional): How far left (for negative values) or
+ right (for positive values) to move the cursor. 0 by default. If tuple, this is used for xOffset and yOffset.
+ y (int, float, None, optional): How far up (for negative values) or
+ down (for positive values) to move the cursor. 0 by default.
+ duration (float, optional): The amount of time it takes to move the mouse
+ cursor to the new xy coordinates. If 0, then the mouse cursor is moved
+ instantaneously. 0.0 by default.
+ tween (func, optional): The tweening function used if the duration is not
+ 0. A linear tween is used by default.
+ button (str, int, optional): The mouse button released. TODO
+ mouseDownUp (True, False): When true, the mouseUp/Down actions are not performed.
+ Which allows dragging over multiple (small) actions. 'True' by default.
+
+ Returns:
+ None
+ """
+ if xOffset is None:
+ xOffset = 0
+ if yOffset is None:
+ yOffset = 0
+
+ if type(xOffset) in (tuple, list):
+ xOffset, yOffset = xOffset[0], xOffset[1]
+
+ if xOffset == 0 and yOffset == 0:
+ return # no-op case
+
+ mousex, mousey = platformModule._position()
+ _logScreenshot(logScreenshot, "dragRel", "%s,%s" % (xOffset, yOffset), folder=".")
+ if mouseDownUp:
+ mouseDown(button=button, logScreenshot=False, _pause=False)
+ _mouseMoveDrag("drag", mousex, mousey, xOffset, yOffset, duration, tween, button)
+ if mouseDownUp:
+ mouseUp(button=button, logScreenshot=False, _pause=False)
+
+
+drag = dragRel # For PyAutoGUI 1.0, we want drag() to replace dragRel().
+
+
+def _mouseMoveDrag(moveOrDrag, x, y, xOffset, yOffset, duration, tween=linear, button=None):
+ """Handles the actual move or drag event, since different platforms
+ implement them differently.
+
+ On Windows & Linux, a drag is a normal mouse move while a mouse button is
+ held down. On OS X, a distinct "drag" event must be used instead.
+
+ The code for moving and dragging the mouse is similar, so this function
+ handles both. Users should call the moveTo() or dragTo() functions instead
+ of calling _mouseMoveDrag().
+
+ Args:
+ moveOrDrag (str): Either 'move' or 'drag', for the type of action this is.
+ x (int, float, None, optional): How far left (for negative values) or
+ right (for positive values) to move the cursor. 0 by default.
+ y (int, float, None, optional): How far up (for negative values) or
+ down (for positive values) to move the cursor. 0 by default.
+ xOffset (int, float, None, optional): How far left (for negative values) or
+ right (for positive values) to move the cursor. 0 by default.
+ yOffset (int, float, None, optional): How far up (for negative values) or
+ down (for positive values) to move the cursor. 0 by default.
+ duration (float, optional): The amount of time it takes to move the mouse
+ cursor to the new xy coordinates. If 0, then the mouse cursor is moved
+ instantaneously. 0.0 by default.
+ tween (func, optional): The tweening function used if the duration is not
+ 0. A linear tween is used by default.
+ button (str, int, optional): The mouse button released. TODO
+
+ Returns:
+ None
+ """
+
+ # The move and drag code is similar, but OS X requires a special drag event instead of just a move event when dragging.
+ # See https://stackoverflow.com/a/2696107/1893164
+ assert moveOrDrag in ("move", "drag"), "moveOrDrag must be in ('move', 'drag'), not %s" % (moveOrDrag)
+
+ if sys.platform != "darwin":
+ moveOrDrag = "move" # Only OS X needs the drag event specifically.
+
+ xOffset = int(xOffset) if xOffset is not None else 0
+ yOffset = int(yOffset) if yOffset is not None else 0
+
+ if x is None and y is None and xOffset == 0 and yOffset == 0:
+ return # Special case for no mouse movement at all.
+
+ startx, starty = position()
+
+ x = int(x) if x is not None else startx
+ y = int(y) if y is not None else starty
+
+ # x, y, xOffset, yOffset are now int.
+ x += xOffset
+ y += yOffset
+
+ width, height = size()
+
+ # Make sure x and y are within the screen bounds.
+ # x = max(0, min(x, width - 1))
+ # y = max(0, min(y, height - 1))
+
+ # If the duration is small enough, just move the cursor there instantly.
+ steps = [(x, y)]
+
+ if duration > MINIMUM_DURATION:
+ # Non-instant moving/dragging involves tweening:
+ num_steps = max(width, height)
+ sleep_amount = duration / num_steps
+ if sleep_amount < MINIMUM_SLEEP:
+ num_steps = int(duration / MINIMUM_SLEEP)
+ sleep_amount = duration / num_steps
+
+ steps = [getPointOnLine(startx, starty, x, y, tween(n / num_steps)) for n in range(num_steps)]
+ # Making sure the last position is the actual destination.
+ steps.append((x, y))
+
+ for tweenX, tweenY in steps:
+ if len(steps) > 1:
+ # A single step does not require tweening.
+ time.sleep(sleep_amount)
+
+ tweenX = int(round(tweenX))
+ tweenY = int(round(tweenY))
+
+ # Do a fail-safe check to see if the user moved the mouse to a fail-safe position, but not if the mouse cursor
+ # moved there as a result of this function. (Just because tweenX and tweenY aren't in a fail-safe position
+ # doesn't mean the user couldn't have moved the mouse cursor to a fail-safe position.)
+ if (tweenX, tweenY) not in FAILSAFE_POINTS:
+ failSafeCheck()
+
+ if moveOrDrag == "move":
+ platformModule._moveTo(tweenX, tweenY)
+ elif moveOrDrag == "drag":
+ platformModule._dragTo(tweenX, tweenY, button)
+ else:
+ raise NotImplementedError("Unknown value of moveOrDrag: {0}".format(moveOrDrag))
+
+ if (tweenX, tweenY) not in FAILSAFE_POINTS:
+ failSafeCheck()
+
+
+# Keyboard Functions
+# ==================
+
+
+def isValidKey(key):
+ """Returns a Boolean value if the given key is a valid value to pass to
+ PyAutoGUI's keyboard-related functions for the current platform.
+
+ This function is here because passing an invalid value to the PyAutoGUI
+ keyboard functions currently is a no-op that does not raise an exception.
+
+ Some keys are only valid on some platforms. For example, while 'esc' is
+ valid for the Escape key on all platforms, 'browserback' is only used on
+ Windows operating systems.
+
+ Args:
+ key (str): The key value.
+
+ Returns:
+ bool: True if key is a valid value, False if not.
+ """
+ return platformModule.keyboardMapping.get(key, None) != None
+
+
+@_genericPyAutoGUIChecks
+def keyDown(key, logScreenshot=None, _pause=True):
+ """Performs a keyboard key press without the release. This will put that
+ key in a held down state.
+
+ NOTE: For some reason, this does not seem to cause key repeats like would
+ happen if a keyboard key was held down on a text field.
+
+ Args:
+ key (str): The key to be pressed down. The valid names are listed in
+ KEYBOARD_KEYS.
+
+ Returns:
+ None
+ """
+ if len(key) > 1:
+ key = key.lower()
+
+ _logScreenshot(logScreenshot, "keyDown", key, folder=".")
+ platformModule._keyDown(key)
+
+
+@_genericPyAutoGUIChecks
+def keyUp(key, logScreenshot=None, _pause=True):
+ """Performs a keyboard key release (without the press down beforehand).
+
+ Args:
+ key (str): The key to be released up. The valid names are listed in
+ KEYBOARD_KEYS.
+
+ Returns:
+ None
+ """
+ if len(key) > 1:
+ key = key.lower()
+
+ _logScreenshot(logScreenshot, "keyUp", key, folder=".")
+ platformModule._keyUp(key)
+
+
+@_genericPyAutoGUIChecks
+def press(keys, presses=1, interval=0.0, logScreenshot=None, _pause=True):
+ """Performs a keyboard key press down, followed by a release.
+
+ Args:
+ key (str, list): The key to be pressed. The valid names are listed in
+ KEYBOARD_KEYS. Can also be a list of such strings.
+ presses (integer, optional): The number of press repetitions.
+ 1 by default, for just one press.
+ interval (float, optional): How many seconds between each press.
+ 0.0 by default, for no pause between presses.
+ pause (float, optional): How many seconds in the end of function process.
+ None by default, for no pause in the end of function process.
+ Returns:
+ None
+ """
+ if type(keys) == str:
+ if len(keys) > 1:
+ keys = keys.lower()
+ keys = [keys] # If keys is 'enter', convert it to ['enter'].
+ else:
+ lowerKeys = []
+ for s in keys:
+ if len(s) > 1:
+ lowerKeys.append(s.lower())
+ else:
+ lowerKeys.append(s)
+ keys = lowerKeys
+ interval = float(interval)
+ _logScreenshot(logScreenshot, "press", ",".join(keys), folder=".")
+ for i in range(presses):
+ for k in keys:
+ failSafeCheck()
+ platformModule._keyDown(k)
+ platformModule._keyUp(k)
+ time.sleep(interval)
+
+
+@contextmanager
+@_genericPyAutoGUIChecks
+def hold(keys, logScreenshot=None, _pause=True):
+ """Context manager that performs a keyboard key press down upon entry,
+ followed by a release upon exit.
+
+ Args:
+ key (str, list): The key to be pressed. The valid names are listed in
+ KEYBOARD_KEYS. Can also be a list of such strings.
+ pause (float, optional): How many seconds in the end of function process.
+ None by default, for no pause in the end of function process.
+ Returns:
+ None
+ """
+ if type(keys) == str:
+ if len(keys) > 1:
+ keys = keys.lower()
+ keys = [keys] # If keys is 'enter', convert it to ['enter'].
+ else:
+ lowerKeys = []
+ for s in keys:
+ if len(s) > 1:
+ lowerKeys.append(s.lower())
+ else:
+ lowerKeys.append(s)
+ keys = lowerKeys
+ _logScreenshot(logScreenshot, "press", ",".join(keys), folder=".")
+ for k in keys:
+ failSafeCheck()
+ platformModule._keyDown(k)
+ try:
+ yield
+ finally:
+ for k in keys:
+ failSafeCheck()
+ platformModule._keyUp(k)
+
+
+@_genericPyAutoGUIChecks
+def typewrite(message, interval=0.0, logScreenshot=None, _pause=True):
+ """Performs a keyboard key press down, followed by a release, for each of
+ the characters in message.
+
+ The message argument can also be list of strings, in which case any valid
+ keyboard name can be used.
+
+ Since this performs a sequence of keyboard presses and does not hold down
+ keys, it cannot be used to perform keyboard shortcuts. Use the hotkey()
+ function for that.
+
+ Args:
+ message (str, list): If a string, then the characters to be pressed. If a
+ list, then the key names of the keys to press in order. The valid names
+ are listed in KEYBOARD_KEYS.
+ interval (float, optional): The number of seconds in between each press.
+ 0.0 by default, for no pause in between presses.
+
+ Returns:
+ None
+ """
+ interval = float(interval) # TODO - this should be taken out.
+
+ _logScreenshot(logScreenshot, "write", message, folder=".")
+ for c in message:
+ if len(c) > 1:
+ c = c.lower()
+ press(c, _pause=False)
+ time.sleep(interval)
+ failSafeCheck()
+
+
+write = typewrite # In PyAutoGUI 1.0, write() replaces typewrite().
+
+
+@_genericPyAutoGUIChecks
+def hotkey(*args, **kwargs):
+ """Performs key down presses on the arguments passed in order, then performs
+ key releases in reverse order.
+
+ The effect is that calling hotkey('ctrl', 'shift', 'c') would perform a
+ "Ctrl-Shift-C" hotkey/keyboard shortcut press.
+
+ Args:
+ key(s) (str): The series of keys to press, in order. This can also be a
+ list of key strings to press.
+ interval (float, optional): The number of seconds in between each press.
+ 0.0 by default, for no pause in between presses.
+
+ Returns:
+ None
+ """
+ interval = float(kwargs.get("interval", 0.0)) # TODO - this should be taken out.
+
+ _logScreenshot(kwargs.get("logScreenshot"), "hotkey", ",".join(args), folder=".")
+ for c in args:
+ if len(c) > 1:
+ c = c.lower()
+ platformModule._keyDown(c)
+ time.sleep(interval)
+ for c in reversed(args):
+ if len(c) > 1:
+ c = c.lower()
+ platformModule._keyUp(c)
+ time.sleep(interval)
+
+
+def failSafeCheck():
+ if FAILSAFE and tuple(position()) in FAILSAFE_POINTS:
+ raise FailSafeException(
+ "PyAutoGUI fail-safe triggered from mouse moving to a corner of the screen. To disable this fail-safe, set pyautogui.FAILSAFE to False. DISABLING FAIL-SAFE IS NOT RECOMMENDED."
+ )
+
+
+def displayMousePosition(xOffset=0, yOffset=0):
+ """This function is meant to be run from the command line. It will
+ automatically display the location and RGB of the mouse cursor."""
+ try:
+ runningIDLE = sys.stdin.__module__.startswith("idlelib")
+ except:
+ runningIDLE = False
+
+ print("Press Ctrl-C to quit.")
+ if xOffset != 0 or yOffset != 0:
+ print("xOffset: %s yOffset: %s" % (xOffset, yOffset))
+ try:
+ while True:
+ # Get and print the mouse coordinates.
+ x, y = position()
+ positionStr = "X: " + str(x - xOffset).rjust(4) + " Y: " + str(y - yOffset).rjust(4)
+ if not onScreen(x - xOffset, y - yOffset) or sys.platform == "darwin":
+ # Pixel color can only be found for the primary monitor, and also not on mac due to the screenshot having the mouse cursor in the way.
+ pixelColor = ("NaN", "NaN", "NaN")
+ else:
+ pixelColor = pyscreeze.screenshot().getpixel(
+ (x, y)
+ ) # NOTE: On Windows & Linux, getpixel() returns a 3-integer tuple, but on macOS it returns a 4-integer tuple.
+ positionStr += " RGB: (" + str(pixelColor[0]).rjust(3)
+ positionStr += ", " + str(pixelColor[1]).rjust(3)
+ positionStr += ", " + str(pixelColor[2]).rjust(3) + ")"
+ sys.stdout.write(positionStr)
+ if not runningIDLE:
+ # If this is a terminal, than we can erase the text by printing \b backspaces.
+ sys.stdout.write("\b" * len(positionStr))
+ else:
+ # If this isn't a terminal (i.e. IDLE) then we can only append more text. Print a newline instead and pause a second (so we don't send too much output).
+ sys.stdout.write("\n")
+ time.sleep(1)
+ sys.stdout.flush()
+ except KeyboardInterrupt:
+ sys.stdout.write("\n")
+ sys.stdout.flush()
+
+
+def _snapshot(tag, folder=None, region=None, radius=None):
+ # TODO feature not finished
+ if region is not None and radius is not None:
+ raise Exception("Either region or radius arguments (or neither) can be passed to snapshot, but not both")
+
+ if radius is not None:
+ x, y = platformModule._position()
+
+ if folder is None:
+ folder = os.getcwd()
+
+ now = datetime.datetime.now()
+ filename = "%s-%s-%s_%s-%s-%s-%s_%s.png" % (
+ now.year,
+ str(now.month).rjust(2, "0"),
+ str(now.day).rjust(2, "0"),
+ now.hour,
+ now.minute,
+ now.second,
+ str(now.microsecond)[:3],
+ tag,
+ )
+ filepath = os.path.join(folder, filename)
+ screenshot(filepath)
+
+
+def sleep(seconds):
+ time.sleep(seconds)
+
+
+def countdown(seconds):
+ for i in range(seconds, 0, -1):
+ print(str(i), end=" ", flush=True)
+ time.sleep(1)
+ print()
+
+
+def _getNumberToken(commandStr):
+ """Gets the number token at the start of commandStr.
+
+ Given '5hello' returns '5'
+ Given ' 5hello' returns ' 5'
+ Given '-42hello' returns '-42'
+ Given '+42hello' returns '+42'
+ Given '3.14hello' returns '3.14'
+
+ Raises an exception if it can't tokenize a number.
+ """
+ pattern = re.compile(r"^(\s*(\+|\-)?\d+(\.\d+)?)")
+ mo = pattern.search(commandStr)
+ if mo is None:
+ raise PyAutoGUIException("Invalid command at index 0: a number was expected")
+
+ return mo.group(1)
+
+
+def _getQuotedStringToken(commandStr):
+ """Gets the quoted string token at the start of commandStr.
+ The quoted string must use single quotes.
+
+ Given "'hello'world" returns "'hello'"
+ Given " 'hello'world" returns " 'hello'"
+
+ Raises an exception if it can't tokenize a quoted string.
+ """
+ pattern = re.compile(r"^((\s*)('(.*?)'))")
+ mo = pattern.search(commandStr)
+ if mo is None:
+ raise PyAutoGUIException("Invalid command at index 0: a quoted string was expected")
+
+ return mo.group(1)
+
+
+def _getParensCommandStrToken(commandStr):
+ """Gets the command string token at the start of commandStr. It will also
+ be enclosed with parentheses.
+
+ Given "(ccc)world" returns "(ccc)"
+ Given " (ccc)world" returns " (ccc)"
+ Given "(ccf10(r))world" returns "(ccf10(r))"
+
+ Raises an exception if it can't tokenize a quoted string.
+ """
+
+ # Check to make sure at least one open parenthesis exists:
+ pattern = re.compile(r"^\s*\(")
+ mo = pattern.search(commandStr)
+ if mo is None:
+ raise PyAutoGUIException("Invalid command at index 0: No open parenthesis found.")
+
+ # Check to make sure the parentheses are balanced:
+ i = 0
+ openParensCount = 0
+ while i < len(commandStr):
+ if commandStr[i] == "(":
+ openParensCount += 1
+ elif commandStr[i] == ")":
+ openParensCount -= 1
+ if openParensCount == 0:
+ i += 1 # Remember to increment i past the ) before breaking.
+ break
+ elif openParensCount == -1:
+ raise PyAutoGUIException("Invalid command at index 0: No open parenthesis for this close parenthesis.")
+ i += 1
+ if openParensCount > 0:
+ raise PyAutoGUIException("Invalid command at index 0: Not enough close parentheses.")
+
+ return commandStr[0:i]
+
+
+def _getCommaToken(commandStr):
+ """Gets the comma token at the start of commandStr.
+
+ Given ',' returns ','
+ Given ' ,', returns ' ,'
+
+ Raises an exception if a comma isn't found.
+ """
+ pattern = re.compile(r"^((\s*),)")
+ mo = pattern.search(commandStr)
+ if mo is None:
+ raise PyAutoGUIException("Invalid command at index 0: a comma was expected")
+
+ return mo.group(1)
+
+
+def _tokenizeCommandStr(commandStr):
+ """Tokenizes commandStr into a list of commands and their arguments for
+ the run() function. Returns the list."""
+
+ commandPattern = re.compile(r"^(su|sd|ss|c|l|m|r|g|d|k|w|h|f|s|a|p)")
+
+ # Tokenize the command string.
+ commandList = []
+ i = 0 # Points to the current index in commandStr that is being tokenized.
+ while i < len(commandStr):
+ if commandStr[i] in (" ", "\t", "\n", "\r"):
+ # Skip over whitespace:
+ i += 1
+ continue
+
+ mo = commandPattern.match(commandStr[i:])
+ if mo is None:
+ raise PyAutoGUIException("Invalid command at index %s: %s is not a valid command" % (i, commandStr[i]))
+
+ individualCommand = mo.group(1)
+ commandList.append(individualCommand)
+ i += len(individualCommand)
+
+ # Handle the no argument commands (c, l, m, r, su, sd, ss):
+ if individualCommand in ("c", "l", "m", "r", "su", "sd", "ss"):
+ pass # This just exists so these commands are covered by one of these cases.
+
+ # Handle the arguments of the mouse (g)o and mouse (d)rag commands:
+ elif individualCommand in ("g", "d"):
+ try:
+ x = _getNumberToken(commandStr[i:])
+ i += len(x) # Increment past the x number.
+
+ comma = _getCommaToken(commandStr[i:])
+ i += len(comma) # Increment past the comma (and any whitespace).
+
+ y = _getNumberToken(commandStr[i:])
+ i += len(y) # Increment past the y number.
+
+ except PyAutoGUIException as excObj:
+ # Exception message starts with something like "Invalid command at index 0:"
+ # Change the index number and reraise it.
+ indexPart, colon, message = str(excObj).partition(":")
+
+ indexNum = indexPart[len("Invalid command at index ") :]
+ newIndexNum = int(indexNum) + i
+ raise PyAutoGUIException("Invalid command at index %s:%s" % (newIndexNum, message))
+
+ # Make sure either both x and y have +/- or neither of them do:
+ if x.lstrip()[0].isdecimal() and not y.lstrip()[0].isdecimal():
+ raise PyAutoGUIException("Invalid command at index %s: Y has a +/- but X does not." % (i - len(y)))
+ if not x.lstrip()[0].isdecimal() and y.lstrip()[0].isdecimal():
+ raise PyAutoGUIException(
+ "Invalid command at index %s: Y does not have a +/- but X does." % (i - len(y))
+ )
+
+ # Get rid of any whitespace at the front:
+ commandList.append(x.lstrip())
+ commandList.append(y.lstrip())
+
+ # Handle the arguments of the (s)leep and (p)ause commands:
+ elif individualCommand in ("s", "p"):
+ try:
+ num = _getNumberToken(commandStr[i:])
+ i += len(num) # Increment past the number.
+
+ # TODO - raise an exception if a + or - is in the number.
+
+ except PyAutoGUIException as excObj:
+ # Exception message starts with something like "Invalid command at index 0:"
+ # Change the index number and reraise it.
+ indexPart, colon, message = str(excObj).partition(":")
+
+ indexNum = indexPart[len("Invalid command at index ") :]
+ newIndexNum = int(indexNum) + i
+ raise PyAutoGUIException("Invalid command at index %s:%s" % (newIndexNum, message))
+
+ # Get rid of any whitespace at the front:
+ commandList.append(num.lstrip())
+
+ # Handle the arguments of the (k)ey press, (w)rite, (h)otkeys, and (a)lert commands:
+ elif individualCommand in ("k", "w", "h", "a"):
+ try:
+ quotedString = _getQuotedStringToken(commandStr[i:])
+ i += len(quotedString) # Increment past the quoted string.
+ except PyAutoGUIException as excObj:
+ # Exception message starts with something like "Invalid command at index 0:"
+ # Change the index number and reraise it.
+ indexPart, colon, message = str(excObj).partition(":")
+
+ indexNum = indexPart[len("Invalid command at index ") :]
+ newIndexNum = int(indexNum) + i
+ raise PyAutoGUIException("Invalid command at index %s:%s" % (newIndexNum, message))
+
+ # Get rid of any whitespace at the front and the quotes:
+ commandList.append(quotedString[1:-1].lstrip())
+
+ # Handle the arguments of the (f)or loop command:
+ elif individualCommand == "f":
+ try:
+ numberOfLoops = _getNumberToken(commandStr[i:])
+ i += len(numberOfLoops) # Increment past the number of loops.
+
+ subCommandStr = _getParensCommandStrToken(commandStr[i:])
+ i += len(subCommandStr) # Increment past the sub-command string.
+
+ except PyAutoGUIException as excObj:
+ # Exception message starts with something like "Invalid command at index 0:"
+ # Change the index number and reraise it.
+ indexPart, colon, message = str(excObj).partition(":")
+
+ indexNum = indexPart[len("Invalid command at index ") :]
+ newIndexNum = int(indexNum) + i
+ raise PyAutoGUIException("Invalid command at index %s:%s" % (newIndexNum, message))
+
+ # Get rid of any whitespace at the front:
+ commandList.append(numberOfLoops.lstrip())
+
+ # Get rid of any whitespace at the front and the quotes:
+ subCommandStr = subCommandStr.lstrip()[1:-1]
+ # Recursively call this function and append the list it returns:
+ commandList.append(_tokenizeCommandStr(subCommandStr))
+
+ return commandList
+
+
+def _runCommandList(commandList, _ssCount):
+ global PAUSE
+ i = 0
+ while i < len(commandList):
+ command = commandList[i]
+
+ if command == "c":
+ click(button=PRIMARY)
+ elif command == "l":
+ click(button=LEFT)
+ elif command == "m":
+ click(button=MIDDLE)
+ elif command == "r":
+ click(button=RIGHT)
+ elif command == "su":
+ scroll(1) # scroll up
+ elif command == "sd":
+ scroll(-1) # scroll down
+ elif command == "ss":
+ screenshot("screenshot%s.png" % (_ssCount[0]))
+ _ssCount[0] += 1
+ elif command == "s":
+ sleep(float(commandList[i + 1]))
+ i += 1
+ elif command == "p":
+ PAUSE = float(commandList[i + 1])
+ i += 1
+ elif command == "g":
+ if commandList[i + 1][0] in ("+", "-") and commandList[i + 2][0] in ("+", "-"):
+ move(int(commandList[i + 1]), int(commandList[i + 2]))
+ else:
+ moveTo(int(commandList[i + 1]), int(commandList[i + 2]))
+ i += 2
+ elif command == "d":
+ if commandList[i + 1][0] in ("+", "-") and commandList[i + 2][0] in ("+", "-"):
+ drag(int(commandList[i + 1]), int(commandList[i + 2]))
+ else:
+ dragTo(int(commandList[i + 1]), int(commandList[i + 2]))
+ i += 2
+ elif command == "k":
+ press(commandList[i + 1])
+ i += 1
+ elif command == "w":
+ write(commandList[i + 1])
+ i += 1
+ elif command == "h":
+ hotkey(*commandList[i + 1].replace(" ", "").split(","))
+ i += 1
+ elif command == "a":
+ alert(commandList[i + 1])
+ i += 1
+ elif command == "f":
+ for j in range(int(commandList[i + 1])):
+ _runCommandList(commandList[i + 2], _ssCount)
+ i += 2
+ i += 1
+
+
+def run(commandStr, _ssCount=None):
+ """Run a series of PyAutoGUI function calls according to a mini-language
+ made for this function. The `commandStr` is composed of character
+ commands that represent PyAutoGUI function calls.
+
+ For example, `run('ccg-20,+0c')` clicks the mouse twice, then makes
+ the mouse cursor go 20 pixels to the left, then click again.
+
+ Whitespace between commands and arguments is ignored. Command characters
+ must be lowercase. Quotes must be single quotes.
+
+ For example, the previous call could also be written as `run('c c g -20, +0 c')`.
+
+ The character commands and their equivalents are here:
+
+ `c` => `click(button=PRIMARY)`
+ `l` => `click(button=LEFT)`
+ `m` => `click(button=MIDDLE)`
+ `r` => `click(button=RIGHT)`
+ `su` => `scroll(1) # scroll up`
+ `sd` => `scroll(-1) # scroll down`
+ `ss` => `screenshot('screenshot1.png') # filename number increases on its own`
+
+ `gX,Y` => `moveTo(X, Y)`
+ `g+X,-Y` => `move(X, Y) # The + or - prefix is the difference between move() and moveTo()`
+ `dX,Y` => `dragTo(X, Y)`
+ `d+X,-Y` => `drag(X, Y) # The + or - prefix is the difference between drag() and dragTo()`
+
+ `k'key'` => `press('key')`
+ `w'text'` => `write('text')`
+ `h'key,key,key'` => `hotkey(*'key,key,key'.replace(' ', '').split(','))`
+ `a'hello'` => `alert('hello')`
+
+ `sN` => `sleep(N) # N can be an int or float`
+ `pN` => `PAUSE = N # N can be an int or float`
+
+ `fN(commands)` => for i in range(N): run(commands)
+
+ Note that any changes to `PAUSE` with the `p` command will be undone when
+ this function returns. The original `PAUSE` setting will be reset.
+
+ TODO - This function is under development.
+ """
+
+ # run("ccc") straight forward
+ # run("susu") if 's' then peek at the next character
+ global PAUSE
+
+ if _ssCount is None:
+ _ssCount = [
+ 0
+ ] # Setting this to a mutable list so that the callers can read the changed value. TODO improve this comment
+
+ commandList = _tokenizeCommandStr(commandStr)
+
+ # Carry out each command.
+ originalPAUSE = PAUSE
+ _runCommandList(commandList, _ssCount)
+ PAUSE = originalPAUSE
+
+
+def printInfo(dontPrint=False):
+ msg = '''
+ Platform: {}
+ Python Version: {}
+PyAutoGUI Version: {}
+ Executable: {}
+ Resolution: {}
+ Timestamp: {}'''.format(*getInfo())
+ if not dontPrint:
+ print(msg)
+ return msg
+
+
+def getInfo():
+ return (sys.platform, sys.version, __version__, sys.executable, size(), datetime.datetime.now())
+
+
+# Add the bottom left, top right, and bottom right corners to FAILSAFE_POINTS.
+_right, _bottom = size()
+FAILSAFE_POINTS.extend([(0, _bottom - 1), (_right - 1, 0), (_right - 1, _bottom - 1)])
diff --git a/src/utils/pyautogui/__main__.py b/src/utils/pyautogui/__main__.py
new file mode 100644
index 0000000..5720467
--- /dev/null
+++ b/src/utils/pyautogui/__main__.py
@@ -0,0 +1,2 @@
+from . import displayMousePosition
+displayMousePosition()
\ No newline at end of file
diff --git a/src/utils/pyautogui/_pyautogui_java.py b/src/utils/pyautogui/_pyautogui_java.py
new file mode 100644
index 0000000..e69de29
diff --git a/src/utils/pyautogui/_pyautogui_osx.py b/src/utils/pyautogui/_pyautogui_osx.py
new file mode 100644
index 0000000..6365a77
--- /dev/null
+++ b/src/utils/pyautogui/_pyautogui_osx.py
@@ -0,0 +1,434 @@
+import time
+import sys
+
+try:
+ import Quartz
+except:
+ assert False, "You must first install pyobjc-core and pyobjc: https://pyautogui.readthedocs.io/en/latest/install.html"
+import AppKit
+
+import pyautogui
+from pyautogui import LEFT, MIDDLE, RIGHT
+
+if sys.platform != 'darwin':
+ raise Exception('The pyautogui_osx module should only be loaded on an OS X system.')
+
+
+
+""" Taken from events.h
+/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Headers/Events.h
+
+The *KB dictionaries in pyautogui map a string that can be passed to keyDown(),
+keyUp(), or press() into the code used for the OS-specific keyboard function.
+
+They should always be lowercase, and the same keys should be used across all OSes."""
+keyboardMapping = dict([(key, None) for key in pyautogui.KEY_NAMES])
+keyboardMapping.update({
+ 'a': 0x00, # kVK_ANSI_A
+ 's': 0x01, # kVK_ANSI_S
+ 'd': 0x02, # kVK_ANSI_D
+ 'f': 0x03, # kVK_ANSI_F
+ 'h': 0x04, # kVK_ANSI_H
+ 'g': 0x05, # kVK_ANSI_G
+ 'z': 0x06, # kVK_ANSI_Z
+ 'x': 0x07, # kVK_ANSI_X
+ 'c': 0x08, # kVK_ANSI_C
+ 'v': 0x09, # kVK_ANSI_V
+ 'b': 0x0b, # kVK_ANSI_B
+ 'q': 0x0c, # kVK_ANSI_Q
+ 'w': 0x0d, # kVK_ANSI_W
+ 'e': 0x0e, # kVK_ANSI_E
+ 'r': 0x0f, # kVK_ANSI_R
+ 'y': 0x10, # kVK_ANSI_Y
+ 't': 0x11, # kVK_ANSI_T
+ '1': 0x12, # kVK_ANSI_1
+ '!': 0x12, # kVK_ANSI_1
+ '2': 0x13, # kVK_ANSI_2
+ '@': 0x13, # kVK_ANSI_2
+ '3': 0x14, # kVK_ANSI_3
+ '#': 0x14, # kVK_ANSI_3
+ '4': 0x15, # kVK_ANSI_4
+ '$': 0x15, # kVK_ANSI_4
+ '6': 0x16, # kVK_ANSI_6
+ '^': 0x16, # kVK_ANSI_6
+ '5': 0x17, # kVK_ANSI_5
+ '%': 0x17, # kVK_ANSI_5
+ '=': 0x18, # kVK_ANSI_Equal
+ '+': 0x18, # kVK_ANSI_Equal
+ '9': 0x19, # kVK_ANSI_9
+ '(': 0x19, # kVK_ANSI_9
+ '7': 0x1a, # kVK_ANSI_7
+ '&': 0x1a, # kVK_ANSI_7
+ '-': 0x1b, # kVK_ANSI_Minus
+ '_': 0x1b, # kVK_ANSI_Minus
+ '8': 0x1c, # kVK_ANSI_8
+ '*': 0x1c, # kVK_ANSI_8
+ '0': 0x1d, # kVK_ANSI_0
+ ')': 0x1d, # kVK_ANSI_0
+ ']': 0x1e, # kVK_ANSI_RightBracket
+ '}': 0x1e, # kVK_ANSI_RightBracket
+ 'o': 0x1f, # kVK_ANSI_O
+ 'u': 0x20, # kVK_ANSI_U
+ '[': 0x21, # kVK_ANSI_LeftBracket
+ '{': 0x21, # kVK_ANSI_LeftBracket
+ 'i': 0x22, # kVK_ANSI_I
+ 'p': 0x23, # kVK_ANSI_P
+ 'l': 0x25, # kVK_ANSI_L
+ 'j': 0x26, # kVK_ANSI_J
+ "'": 0x27, # kVK_ANSI_Quote
+ '"': 0x27, # kVK_ANSI_Quote
+ 'k': 0x28, # kVK_ANSI_K
+ ';': 0x29, # kVK_ANSI_Semicolon
+ ':': 0x29, # kVK_ANSI_Semicolon
+ '\\': 0x2a, # kVK_ANSI_Backslash
+ '|': 0x2a, # kVK_ANSI_Backslash
+ ',': 0x2b, # kVK_ANSI_Comma
+ '<': 0x2b, # kVK_ANSI_Comma
+ '/': 0x2c, # kVK_ANSI_Slash
+ '?': 0x2c, # kVK_ANSI_Slash
+ 'n': 0x2d, # kVK_ANSI_N
+ 'm': 0x2e, # kVK_ANSI_M
+ '.': 0x2f, # kVK_ANSI_Period
+ '>': 0x2f, # kVK_ANSI_Period
+ '`': 0x32, # kVK_ANSI_Grave
+ '~': 0x32, # kVK_ANSI_Grave
+ ' ': 0x31, # kVK_Space
+ 'space': 0x31,
+ '\r': 0x24, # kVK_Return
+ '\n': 0x24, # kVK_Return
+ 'enter': 0x24, # kVK_Return
+ 'return': 0x24, # kVK_Return
+ '\t': 0x30, # kVK_Tab
+ 'tab': 0x30, # kVK_Tab
+ 'backspace': 0x33, # kVK_Delete, which is "Backspace" on OS X.
+ '\b': 0x33, # kVK_Delete, which is "Backspace" on OS X.
+ 'esc': 0x35, # kVK_Escape
+ 'escape': 0x35, # kVK_Escape
+ 'command': 0x37, # kVK_Command
+ 'shift': 0x38, # kVK_Shift
+ 'shiftleft': 0x38, # kVK_Shift
+ 'capslock': 0x39, # kVK_CapsLock
+ 'option': 0x3a, # kVK_Option
+ 'optionleft': 0x3a, # kVK_Option
+ 'alt': 0x3a, # kVK_Option
+ 'altleft': 0x3a, # kVK_Option
+ 'ctrl': 0x3b, # kVK_Control
+ 'ctrlleft': 0x3b, # kVK_Control
+ 'shiftright': 0x3c, # kVK_RightShift
+ 'optionright': 0x3d, # kVK_RightOption
+ 'ctrlright': 0x3e, # kVK_RightControl
+ 'fn': 0x3f, # kVK_Function
+ 'f17': 0x40, # kVK_F17
+ 'volumeup': 0x48, # kVK_VolumeUp
+ 'volumedown': 0x49, # kVK_VolumeDown
+ 'volumemute': 0x4a, # kVK_Mute
+ 'f18': 0x4f, # kVK_F18
+ 'f19': 0x50, # kVK_F19
+ 'f20': 0x5a, # kVK_F20
+ 'f5': 0x60, # kVK_F5
+ 'f6': 0x61, # kVK_F6
+ 'f7': 0x62, # kVK_F7
+ 'f3': 0x63, # kVK_F3
+ 'f8': 0x64, # kVK_F8
+ 'f9': 0x65, # kVK_F9
+ 'f11': 0x67, # kVK_F11
+ 'f13': 0x69, # kVK_F13
+ 'f16': 0x6a, # kVK_F16
+ 'f14': 0x6b, # kVK_F14
+ 'f10': 0x6d, # kVK_F10
+ 'f12': 0x6f, # kVK_F12
+ 'f15': 0x71, # kVK_F15
+ 'help': 0x72, # kVK_Help
+ 'home': 0x73, # kVK_Home
+ 'pageup': 0x74, # kVK_PageUp
+ 'pgup': 0x74, # kVK_PageUp
+ 'del': 0x75, # kVK_ForwardDelete
+ 'delete': 0x75, # kVK_ForwardDelete
+ 'f4': 0x76, # kVK_F4
+ 'end': 0x77, # kVK_End
+ 'f2': 0x78, # kVK_F2
+ 'pagedown': 0x79, # kVK_PageDown
+ 'pgdn': 0x79, # kVK_PageDown
+ 'f1': 0x7a, # kVK_F1
+ 'left': 0x7b, # kVK_LeftArrow
+ 'right': 0x7c, # kVK_RightArrow
+ 'down': 0x7d, # kVK_DownArrow
+ 'up': 0x7e, # kVK_UpArrow
+ 'yen': 0x5d, # kVK_JIS_Yen
+ #'underscore' : 0x5e, # kVK_JIS_Underscore (only applies to Japanese keyboards)
+ #'comma': 0x5f, # kVK_JIS_KeypadComma (only applies to Japanese keyboards)
+ 'eisu': 0x66, # kVK_JIS_Eisu
+ 'kana': 0x68, # kVK_JIS_Kana
+})
+
+"""
+# TODO - additional key codes to add
+ kVK_ANSI_KeypadDecimal = 0x41,
+ kVK_ANSI_KeypadMultiply = 0x43,
+ kVK_ANSI_KeypadPlus = 0x45,
+ kVK_ANSI_KeypadClear = 0x47,
+ kVK_ANSI_KeypadDivide = 0x4B,
+ kVK_ANSI_KeypadEnter = 0x4C,
+ kVK_ANSI_KeypadMinus = 0x4E,
+ kVK_ANSI_KeypadEquals = 0x51,
+ kVK_ANSI_Keypad0 = 0x52,
+ kVK_ANSI_Keypad1 = 0x53,
+ kVK_ANSI_Keypad2 = 0x54,
+ kVK_ANSI_Keypad3 = 0x55,
+ kVK_ANSI_Keypad4 = 0x56,
+ kVK_ANSI_Keypad5 = 0x57,
+ kVK_ANSI_Keypad6 = 0x58,
+ kVK_ANSI_Keypad7 = 0x59,
+ kVK_ANSI_Keypad8 = 0x5B,
+ kVK_ANSI_Keypad9 = 0x5C,
+"""
+
+# add mappings for uppercase letters
+for c in 'abcdefghijklmnopqrstuvwxyz':
+ keyboardMapping[c.upper()] = keyboardMapping[c]
+
+# Taken from ev_keymap.h
+# http://www.opensource.apple.com/source/IOHIDFamily/IOHIDFamily-86.1/IOHIDSystem/IOKit/hidsystem/ev_keymap.h
+special_key_translate_table = {
+ 'KEYTYPE_SOUND_UP': 0,
+ 'KEYTYPE_SOUND_DOWN': 1,
+ 'KEYTYPE_BRIGHTNESS_UP': 2,
+ 'KEYTYPE_BRIGHTNESS_DOWN': 3,
+ 'KEYTYPE_CAPS_LOCK': 4,
+ 'KEYTYPE_HELP': 5,
+ 'POWER_KEY': 6,
+ 'KEYTYPE_MUTE': 7,
+ 'UP_ARROW_KEY': 8,
+ 'DOWN_ARROW_KEY': 9,
+ 'KEYTYPE_NUM_LOCK': 10,
+ 'KEYTYPE_CONTRAST_UP': 11,
+ 'KEYTYPE_CONTRAST_DOWN': 12,
+ 'KEYTYPE_LAUNCH_PANEL': 13,
+ 'KEYTYPE_EJECT': 14,
+ 'KEYTYPE_VIDMIRROR': 15,
+ 'KEYTYPE_PLAY': 16,
+ 'KEYTYPE_NEXT': 17,
+ 'KEYTYPE_PREVIOUS': 18,
+ 'KEYTYPE_FAST': 19,
+ 'KEYTYPE_REWIND': 20,
+ 'KEYTYPE_ILLUMINATION_UP': 21,
+ 'KEYTYPE_ILLUMINATION_DOWN': 22,
+ 'KEYTYPE_ILLUMINATION_TOGGLE': 23
+}
+
+def _keyDown(key):
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ if key in special_key_translate_table:
+ _specialKeyEvent(key, 'down')
+ else:
+ _normalKeyEvent(key, 'down')
+
+def _keyUp(key):
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ if key in special_key_translate_table:
+ _specialKeyEvent(key, 'up')
+ else:
+ _normalKeyEvent(key, 'up')
+
+
+def _normalKeyEvent(key, upDown):
+ assert upDown in ('up', 'down'), "upDown argument must be 'up' or 'down'"
+
+ try:
+ if pyautogui.isShiftCharacter(key):
+ key_code = keyboardMapping[key.lower()]
+
+ event = Quartz.CGEventCreateKeyboardEvent(None,
+ keyboardMapping['shift'], upDown == 'down')
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, event)
+ # Tiny sleep to let OS X catch up on us pressing shift
+ time.sleep(pyautogui.DARWIN_CATCH_UP_TIME)
+
+ else:
+ key_code = keyboardMapping[key]
+
+ event = Quartz.CGEventCreateKeyboardEvent(None, key_code, upDown == 'down')
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, event)
+ time.sleep(pyautogui.DARWIN_CATCH_UP_TIME)
+
+ # TODO - wait, is the shift key's keyup not done?
+ # TODO - get rid of this try-except.
+
+ except KeyError:
+ raise RuntimeError("Key %s not implemented." % (key))
+
+def _specialKeyEvent(key, upDown):
+ """ Helper method for special keys.
+
+ Source: http://stackoverflow.com/questions/11045814/emulate-media-key-press-on-mac
+ """
+ assert upDown in ('up', 'down'), "upDown argument must be 'up' or 'down'"
+
+ key_code = special_key_translate_table[key]
+
+ ev = AppKit.NSEvent.otherEventWithType_location_modifierFlags_timestamp_windowNumber_context_subtype_data1_data2_(
+ Quartz.NSSystemDefined, # type
+ (0,0), # location
+ 0xa00 if upDown == 'down' else 0xb00, # flags
+ 0, # timestamp
+ 0, # window
+ 0, # ctx
+ 8, # subtype
+ (key_code << 16) | ((0xa if upDown == 'down' else 0xb) << 8), # data1
+ -1 # data2
+ )
+
+ Quartz.CGEventPost(0, ev.CGEvent())
+
+
+
+
+
+
+
+
+
+def _position():
+ loc = AppKit.NSEvent.mouseLocation()
+ return int(loc.x), int(Quartz.CGDisplayPixelsHigh(0) - loc.y)
+
+
+def _size():
+ return Quartz.CGDisplayPixelsWide(Quartz.CGMainDisplayID()), Quartz.CGDisplayPixelsHigh(Quartz.CGMainDisplayID())
+
+
+
+def _scroll(clicks, x=None, y=None):
+ _vscroll(clicks, x, y)
+
+
+"""
+According to https://developer.apple.com/library/mac/documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html#//apple_ref/c/func/Quartz.CGEventCreateScrollWheelEvent
+"Scrolling movement is generally represented by small signed integer values, typically in a range from -10 to +10. Large values may have unexpected results, depending on the application that processes the event."
+The scrolling functions will create multiple events that scroll 10 each, and then scroll the remainder.
+"""
+
+def _vscroll(clicks, x=None, y=None):
+ _moveTo(x, y)
+ clicks = int(clicks)
+ for _ in range(abs(clicks) // 10):
+ scrollWheelEvent = Quartz.CGEventCreateScrollWheelEvent(
+ None, # no source
+ Quartz.kCGScrollEventUnitLine, # units
+ 1, # wheelCount (number of dimensions)
+ 10 if clicks >= 0 else -10) # vertical movement
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, scrollWheelEvent)
+
+ scrollWheelEvent = Quartz.CGEventCreateScrollWheelEvent(
+ None, # no source
+ Quartz.kCGScrollEventUnitLine, # units
+ 1, # wheelCount (number of dimensions)
+ clicks % 10 if clicks >= 0 else -1 * (-clicks % 10)) # vertical movement
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, scrollWheelEvent)
+
+
+def _hscroll(clicks, x=None, y=None):
+ _moveTo(x, y)
+ clicks = int(clicks)
+ for _ in range(abs(clicks) // 10):
+ scrollWheelEvent = Quartz.CGEventCreateScrollWheelEvent(
+ None, # no source
+ Quartz.kCGScrollEventUnitLine, # units
+ 2, # wheelCount (number of dimensions)
+ 0, # vertical movement
+ 10 if clicks >= 0 else -10) # horizontal movement
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, scrollWheelEvent)
+
+ scrollWheelEvent = Quartz.CGEventCreateScrollWheelEvent(
+ None, # no source
+ Quartz.kCGScrollEventUnitLine, # units
+ 2, # wheelCount (number of dimensions)
+ 0, # vertical movement
+ (clicks % 10) if clicks >= 0 else (-1 * clicks % 10)) # horizontal movement
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, scrollWheelEvent)
+
+
+def _mouseDown(x, y, button):
+ if button == LEFT:
+ _sendMouseEvent(Quartz.kCGEventLeftMouseDown, x, y, Quartz.kCGMouseButtonLeft)
+ elif button == MIDDLE:
+ _sendMouseEvent(Quartz.kCGEventOtherMouseDown, x, y, Quartz.kCGMouseButtonCenter)
+ elif button == RIGHT:
+ _sendMouseEvent(Quartz.kCGEventRightMouseDown, x, y, Quartz.kCGMouseButtonRight)
+ else:
+ assert False, "button argument not in ('left', 'middle', 'right')"
+
+
+def _mouseUp(x, y, button):
+ if button == LEFT:
+ _sendMouseEvent(Quartz.kCGEventLeftMouseUp, x, y, Quartz.kCGMouseButtonLeft)
+ elif button == MIDDLE:
+ _sendMouseEvent(Quartz.kCGEventOtherMouseUp, x, y, Quartz.kCGMouseButtonCenter)
+ elif button == RIGHT:
+ _sendMouseEvent(Quartz.kCGEventRightMouseUp, x, y, Quartz.kCGMouseButtonRight)
+ else:
+ assert False, "button argument not in ('left', 'middle', 'right')"
+
+
+def _click(x, y, button):
+ if button == LEFT:
+ _sendMouseEvent(Quartz.kCGEventLeftMouseDown, x, y, Quartz.kCGMouseButtonLeft)
+ _sendMouseEvent(Quartz.kCGEventLeftMouseUp, x, y, Quartz.kCGMouseButtonLeft)
+ elif button == MIDDLE:
+ _sendMouseEvent(Quartz.kCGEventOtherMouseDown, x, y, Quartz.kCGMouseButtonCenter)
+ _sendMouseEvent(Quartz.kCGEventOtherMouseUp, x, y, Quartz.kCGMouseButtonCenter)
+ elif button == RIGHT:
+ _sendMouseEvent(Quartz.kCGEventRightMouseDown, x, y, Quartz.kCGMouseButtonRight)
+ _sendMouseEvent(Quartz.kCGEventRightMouseUp, x, y, Quartz.kCGMouseButtonRight)
+ else:
+ assert False, "button argument not in ('left', 'middle', 'right')"
+
+def _multiClick(x, y, button, num, interval=0.0):
+ btn = None
+ down = None
+ up = None
+
+ if button == LEFT:
+ btn = Quartz.kCGMouseButtonLeft
+ down = Quartz.kCGEventLeftMouseDown
+ up = Quartz.kCGEventLeftMouseUp
+ elif button == MIDDLE:
+ btn = Quartz.kCGMouseButtonCenter
+ down = Quartz.kCGEventOtherMouseDown
+ up = Quartz.kCGEventOtherMouseUp
+ elif button == RIGHT:
+ btn = Quartz.kCGMouseButtonRight
+ down = Quartz.kCGEventRightMouseDown
+ up = Quartz.kCGEventRightMouseUp
+ else:
+ assert False, "button argument not in ('left', 'middle', 'right')"
+ return
+
+ for i in range(num):
+ _click(x, y, button)
+ time.sleep(interval)
+
+
+def _sendMouseEvent(ev, x, y, button):
+ mouseEvent = Quartz.CGEventCreateMouseEvent(None, ev, (x, y), button)
+ Quartz.CGEventPost(Quartz.kCGHIDEventTap, mouseEvent)
+
+
+def _dragTo(x, y, button):
+ if button == LEFT:
+ _sendMouseEvent(Quartz.kCGEventLeftMouseDragged , x, y, Quartz.kCGMouseButtonLeft)
+ elif button == MIDDLE:
+ _sendMouseEvent(Quartz.kCGEventOtherMouseDragged , x, y, Quartz.kCGMouseButtonCenter)
+ elif button == RIGHT:
+ _sendMouseEvent(Quartz.kCGEventRightMouseDragged , x, y, Quartz.kCGMouseButtonRight)
+ else:
+ assert False, "button argument not in ('left', 'middle', 'right')"
+ time.sleep(pyautogui.DARWIN_CATCH_UP_TIME) # needed to allow OS time to catch up.
+
+def _moveTo(x, y):
+ _sendMouseEvent(Quartz.kCGEventMouseMoved, x, y, 0)
+ time.sleep(pyautogui.DARWIN_CATCH_UP_TIME) # needed to allow OS time to catch up.
diff --git a/src/utils/pyautogui/_pyautogui_win.py b/src/utils/pyautogui/_pyautogui_win.py
new file mode 100644
index 0000000..188ba53
--- /dev/null
+++ b/src/utils/pyautogui/_pyautogui_win.py
@@ -0,0 +1,568 @@
+# Windows implementation of PyAutoGUI functions.
+# BSD license
+# Al Sweigart al@inventwithpython.com
+
+import ctypes
+import ctypes.wintypes
+import pyautogui
+from pyautogui import LEFT, MIDDLE, RIGHT
+
+import sys
+if sys.platform != 'win32':
+ raise Exception('The pyautogui_win module should only be loaded on a Windows system.')
+
+
+# Fixes the scaling issues where PyAutoGUI was reporting the wrong resolution:
+try:
+ ctypes.windll.user32.SetProcessDPIAware()
+except AttributeError:
+ pass # Windows XP doesn't support this, so just do nothing.
+
+
+"""
+A lot of this code is probably repeated from win32 extensions module, but I didn't want to have that dependency.
+
+Note: According to http://msdn.microsoft.com/en-us/library/windows/desktop/ms646260(v=vs.85).aspx
+the ctypes.windll.user32.mouse_event() function has been superseded by SendInput.
+
+SendInput() is documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646310(v=vs.85).aspx
+
+UPDATE: SendInput() doesn't seem to be working for me. I've switched back to mouse_event()."""
+
+
+# Event codes to be passed to the mouse_event() win32 function.
+# Documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646273(v=vs.85).aspx
+MOUSEEVENTF_MOVE = 0x0001
+MOUSEEVENTF_LEFTDOWN = 0x0002
+MOUSEEVENTF_LEFTUP = 0x0004
+MOUSEEVENTF_LEFTCLICK = MOUSEEVENTF_LEFTDOWN + MOUSEEVENTF_LEFTUP
+MOUSEEVENTF_RIGHTDOWN = 0x0008
+MOUSEEVENTF_RIGHTUP = 0x0010
+MOUSEEVENTF_RIGHTCLICK = MOUSEEVENTF_RIGHTDOWN + MOUSEEVENTF_RIGHTUP
+MOUSEEVENTF_MIDDLEDOWN = 0x0020
+MOUSEEVENTF_MIDDLEUP = 0x0040
+MOUSEEVENTF_MIDDLECLICK = MOUSEEVENTF_MIDDLEDOWN + MOUSEEVENTF_MIDDLEUP
+
+MOUSEEVENTF_ABSOLUTE = 0x8000
+MOUSEEVENTF_WHEEL = 0x0800
+MOUSEEVENTF_HWHEEL = 0x01000
+
+# Documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646304(v=vs.85).aspx
+KEYEVENTF_KEYDOWN = 0x0000 # Technically this constant doesn't exist in the MS documentation. It's the lack of KEYEVENTF_KEYUP that means pressing the key down.
+KEYEVENTF_KEYUP = 0x0002
+
+# Documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646270(v=vs.85).aspx
+INPUT_MOUSE = 0
+INPUT_KEYBOARD = 1
+
+
+# These ctypes structures are for Win32 INPUT, MOUSEINPUT, KEYBDINPUT, and HARDWAREINPUT structures,
+# used by SendInput and documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/ms646270(v=vs.85).aspx
+# Thanks to BSH for this StackOverflow answer: https://stackoverflow.com/questions/18566289/how-would-you-recreate-this-windows-api-structure-with-ctypes
+class MOUSEINPUT(ctypes.Structure):
+ _fields_ = [
+ ('dx', ctypes.wintypes.LONG),
+ ('dy', ctypes.wintypes.LONG),
+ ('mouseData', ctypes.wintypes.DWORD),
+ ('dwFlags', ctypes.wintypes.DWORD),
+ ('time', ctypes.wintypes.DWORD),
+ ('dwExtraInfo', ctypes.POINTER(ctypes.wintypes.ULONG)),
+ ]
+
+class KEYBDINPUT(ctypes.Structure):
+ _fields_ = [
+ ('wVk', ctypes.wintypes.WORD),
+ ('wScan', ctypes.wintypes.WORD),
+ ('dwFlags', ctypes.wintypes.DWORD),
+ ('time', ctypes.wintypes.DWORD),
+ ('dwExtraInfo', ctypes.POINTER(ctypes.wintypes.ULONG)),
+ ]
+
+class HARDWAREINPUT(ctypes.Structure):
+ _fields_ = [
+ ('uMsg', ctypes.wintypes.DWORD),
+ ('wParamL', ctypes.wintypes.WORD),
+ ('wParamH', ctypes.wintypes.DWORD)
+ ]
+
+class INPUT(ctypes.Structure):
+ class _I(ctypes.Union):
+ _fields_ = [
+ ('mi', MOUSEINPUT),
+ ('ki', KEYBDINPUT),
+ ('hi', HARDWAREINPUT),
+ ]
+
+ _anonymous_ = ('i', )
+ _fields_ = [
+ ('type', ctypes.wintypes.DWORD),
+ ('i', _I),
+ ]
+# End of the SendInput win32 data structures.
+
+
+
+""" Keyboard key mapping for pyautogui:
+Documented at http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
+
+The *KB dictionaries in pyautogui map a string that can be passed to keyDown(),
+keyUp(), or press() into the code used for the OS-specific keyboard function.
+
+They should always be lowercase, and the same keys should be used across all OSes."""
+keyboardMapping = dict([(key, None) for key in pyautogui.KEY_NAMES])
+keyboardMapping.update({
+ 'backspace': 0x08, # VK_BACK
+ '\b': 0x08, # VK_BACK
+ 'super': 0x5B, #VK_LWIN
+ 'tab': 0x09, # VK_TAB
+ '\t': 0x09, # VK_TAB
+ 'clear': 0x0c, # VK_CLEAR
+ 'enter': 0x0d, # VK_RETURN
+ '\n': 0x0d, # VK_RETURN
+ 'return': 0x0d, # VK_RETURN
+ 'shift': 0x10, # VK_SHIFT
+ 'ctrl': 0x11, # VK_CONTROL
+ 'alt': 0x12, # VK_MENU
+ 'pause': 0x13, # VK_PAUSE
+ 'capslock': 0x14, # VK_CAPITAL
+ 'kana': 0x15, # VK_KANA
+ 'hanguel': 0x15, # VK_HANGUEL
+ 'hangul': 0x15, # VK_HANGUL
+ 'junja': 0x17, # VK_JUNJA
+ 'final': 0x18, # VK_FINAL
+ 'hanja': 0x19, # VK_HANJA
+ 'kanji': 0x19, # VK_KANJI
+ 'esc': 0x1b, # VK_ESCAPE
+ 'escape': 0x1b, # VK_ESCAPE
+ 'convert': 0x1c, # VK_CONVERT
+ 'nonconvert': 0x1d, # VK_NONCONVERT
+ 'accept': 0x1e, # VK_ACCEPT
+ 'modechange': 0x1f, # VK_MODECHANGE
+ ' ': 0x20, # VK_SPACE
+ 'space': 0x20, # VK_SPACE
+ 'pgup': 0x21, # VK_PRIOR
+ 'pgdn': 0x22, # VK_NEXT
+ 'pageup': 0x21, # VK_PRIOR
+ 'pagedown': 0x22, # VK_NEXT
+ 'end': 0x23, # VK_END
+ 'home': 0x24, # VK_HOME
+ 'left': 0x25, # VK_LEFT
+ 'up': 0x26, # VK_UP
+ 'right': 0x27, # VK_RIGHT
+ 'down': 0x28, # VK_DOWN
+ 'select': 0x29, # VK_SELECT
+ 'print': 0x2a, # VK_PRINT
+ 'execute': 0x2b, # VK_EXECUTE
+ 'prtsc': 0x2c, # VK_SNAPSHOT
+ 'prtscr': 0x2c, # VK_SNAPSHOT
+ 'prntscrn': 0x2c, # VK_SNAPSHOT
+ 'printscreen': 0x2c, # VK_SNAPSHOT
+ 'insert': 0x2d, # VK_INSERT
+ 'del': 0x2e, # VK_DELETE
+ 'delete': 0x2e, # VK_DELETE
+ 'help': 0x2f, # VK_HELP
+ 'win': 0x5b, # VK_LWIN
+ 'winleft': 0x5b, # VK_LWIN
+ 'winright': 0x5c, # VK_RWIN
+ 'apps': 0x5d, # VK_APPS
+ 'sleep': 0x5f, # VK_SLEEP
+ 'num0': 0x60, # VK_NUMPAD0
+ 'num1': 0x61, # VK_NUMPAD1
+ 'num2': 0x62, # VK_NUMPAD2
+ 'num3': 0x63, # VK_NUMPAD3
+ 'num4': 0x64, # VK_NUMPAD4
+ 'num5': 0x65, # VK_NUMPAD5
+ 'num6': 0x66, # VK_NUMPAD6
+ 'num7': 0x67, # VK_NUMPAD7
+ 'num8': 0x68, # VK_NUMPAD8
+ 'num9': 0x69, # VK_NUMPAD9
+ 'multiply': 0x6a, # VK_MULTIPLY ??? Is this the numpad *?
+ 'add': 0x6b, # VK_ADD ??? Is this the numpad +?
+ 'separator': 0x6c, # VK_SEPARATOR ??? Is this the numpad enter?
+ 'subtract': 0x6d, # VK_SUBTRACT ??? Is this the numpad -?
+ 'decimal': 0x6e, # VK_DECIMAL
+ 'divide': 0x6f, # VK_DIVIDE
+ 'f1': 0x70, # VK_F1
+ 'f2': 0x71, # VK_F2
+ 'f3': 0x72, # VK_F3
+ 'f4': 0x73, # VK_F4
+ 'f5': 0x74, # VK_F5
+ 'f6': 0x75, # VK_F6
+ 'f7': 0x76, # VK_F7
+ 'f8': 0x77, # VK_F8
+ 'f9': 0x78, # VK_F9
+ 'f10': 0x79, # VK_F10
+ 'f11': 0x7a, # VK_F11
+ 'f12': 0x7b, # VK_F12
+ 'f13': 0x7c, # VK_F13
+ 'f14': 0x7d, # VK_F14
+ 'f15': 0x7e, # VK_F15
+ 'f16': 0x7f, # VK_F16
+ 'f17': 0x80, # VK_F17
+ 'f18': 0x81, # VK_F18
+ 'f19': 0x82, # VK_F19
+ 'f20': 0x83, # VK_F20
+ 'f21': 0x84, # VK_F21
+ 'f22': 0x85, # VK_F22
+ 'f23': 0x86, # VK_F23
+ 'f24': 0x87, # VK_F24
+ 'numlock': 0x90, # VK_NUMLOCK
+ 'scrolllock': 0x91, # VK_SCROLL
+ 'shiftleft': 0xa0, # VK_LSHIFT
+ 'shiftright': 0xa1, # VK_RSHIFT
+ 'ctrlleft': 0xa2, # VK_LCONTROL
+ 'ctrlright': 0xa3, # VK_RCONTROL
+ 'altleft': 0xa4, # VK_LMENU
+ 'altright': 0xa5, # VK_RMENU
+ 'browserback': 0xa6, # VK_BROWSER_BACK
+ 'browserforward': 0xa7, # VK_BROWSER_FORWARD
+ 'browserrefresh': 0xa8, # VK_BROWSER_REFRESH
+ 'browserstop': 0xa9, # VK_BROWSER_STOP
+ 'browsersearch': 0xaa, # VK_BROWSER_SEARCH
+ 'browserfavorites': 0xab, # VK_BROWSER_FAVORITES
+ 'browserhome': 0xac, # VK_BROWSER_HOME
+ 'volumemute': 0xad, # VK_VOLUME_MUTE
+ 'volumedown': 0xae, # VK_VOLUME_DOWN
+ 'volumeup': 0xaf, # VK_VOLUME_UP
+ 'nexttrack': 0xb0, # VK_MEDIA_NEXT_TRACK
+ 'prevtrack': 0xb1, # VK_MEDIA_PREV_TRACK
+ 'stop': 0xb2, # VK_MEDIA_STOP
+ 'playpause': 0xb3, # VK_MEDIA_PLAY_PAUSE
+ 'launchmail': 0xb4, # VK_LAUNCH_MAIL
+ 'launchmediaselect': 0xb5, # VK_LAUNCH_MEDIA_SELECT
+ 'launchapp1': 0xb6, # VK_LAUNCH_APP1
+ 'launchapp2': 0xb7, # VK_LAUNCH_APP2
+ })
+
+ # There are other virtual key constants that are not used here because the printable ascii keys are
+ # handled in the following `for` loop.
+ # The virtual key constants that aren't used are:
+ # VK_OEM_1, VK_OEM_PLUS, VK_OEM_COMMA, VK_OEM_MINUS, VK_OEM_PERIOD, VK_OEM_2, VK_OEM_3, VK_OEM_4,
+ # VK_OEM_5, VK_OEM_6, VK_OEM_7, VK_OEM_8, VK_PACKET, VK_ATTN, VK_CRSEL, VK_EXSEL, VK_EREOF,
+ # VK_PLAY, VK_ZOOM, VK_NONAME, VK_PA1, VK_OEM_CLEAR
+
+# Populate the basic printable ascii characters.
+# https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-vkkeyscana
+for c in range(32, 128):
+ keyboardMapping[chr(c)] = ctypes.windll.user32.VkKeyScanA(ctypes.wintypes.WCHAR(chr(c)))
+
+
+def _keyDown(key):
+ """Performs a keyboard key press without the release. This will put that
+ key in a held down state.
+
+ NOTE: For some reason, this does not seem to cause key repeats like would
+ happen if a keyboard key was held down on a text field.
+
+ Args:
+ key (str): The key to be pressed down. The valid names are listed in
+ pyautogui.KEY_NAMES.
+
+ Returns:
+ None
+ """
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ needsShift = pyautogui.isShiftCharacter(key)
+
+ """
+ # OLD CODE: The new code relies on having all keys be loaded in keyboardMapping from the start.
+ if key in keyboardMapping.keys():
+ vkCode = keyboardMapping[key]
+ elif len(key) == 1:
+ # note: I could use this case to update keyboardMapping to cache the VkKeyScan results, but I've decided not to just to make any possible bugs easier to reproduce.
+ vkCode = ctypes.windll.user32.VkKeyScanW(ctypes.wintypes.WCHAR(key))
+ if vkCode == -1:
+ raise ValueError('There is no VK code for key "%s"' % (key))
+ if vkCode > 0x100: # the vk code will be > 0x100 if it needs shift
+ vkCode -= 0x100
+ needsShift = True
+ """
+ mods, vkCode = divmod(keyboardMapping[key], 0x100)
+
+ for apply_mod, vk_mod in [(mods & 4, 0x12), (mods & 2, 0x11),
+ (mods & 1 or needsShift, 0x10)]: #HANKAKU not supported! mods & 8
+ if apply_mod:
+ ctypes.windll.user32.keybd_event(vk_mod, 0, KEYEVENTF_KEYDOWN, 0) #
+ ctypes.windll.user32.keybd_event(vkCode, 0, KEYEVENTF_KEYDOWN, 0)
+ for apply_mod, vk_mod in [(mods & 1 or needsShift, 0x10), (mods & 2, 0x11),
+ (mods & 4, 0x12)]: #HANKAKU not supported! mods & 8
+ if apply_mod:
+ ctypes.windll.user32.keybd_event(vk_mod, 0, KEYEVENTF_KEYUP, 0) #
+
+
+def _keyUp(key):
+ """Performs a keyboard key release (without the press down beforehand).
+
+ Args:
+ key (str): The key to be released up. The valid names are listed in
+ pyautogui.KEY_NAMES.
+
+ Returns:
+ None
+ """
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ needsShift = pyautogui.isShiftCharacter(key)
+ """
+ # OLD CODE: The new code relies on having all keys be loaded in keyboardMapping from the start.
+ if key in keyboardMapping.keys():
+ vkCode = keyboardMapping[key]
+ elif len(key) == 1:
+ # note: I could use this case to update keyboardMapping to cache the VkKeyScan results, but I've decided not to just to make any possible bugs easier to reproduce.
+ vkCode = ctypes.windll.user32.VkKeyScanW(ctypes.wintypes.WCHAR(key))
+ if vkCode == -1:
+ raise ValueError('There is no VK code for key "%s"' % (key))
+ if vkCode > 0x100: # the vk code will be > 0x100 if it needs shift
+ vkCode -= 0x100
+ needsShift = True
+ """
+ mods, vkCode = divmod(keyboardMapping[key], 0x100)
+
+ for apply_mod, vk_mod in [(mods & 4, 0x12), (mods & 2, 0x11),
+ (mods & 1 or needsShift, 0x10)]: #HANKAKU not supported! mods & 8
+ if apply_mod:
+ ctypes.windll.user32.keybd_event(vk_mod, 0, 0, 0) #
+ ctypes.windll.user32.keybd_event(vkCode, 0, KEYEVENTF_KEYUP, 0)
+ for apply_mod, vk_mod in [(mods & 1 or needsShift, 0x10), (mods & 2, 0x11),
+ (mods & 4, 0x12)]: #HANKAKU not supported! mods & 8
+ if apply_mod:
+ ctypes.windll.user32.keybd_event(vk_mod, 0, KEYEVENTF_KEYUP, 0) #
+
+
+def _position():
+ """Returns the current xy coordinates of the mouse cursor as a two-integer
+ tuple by calling the GetCursorPos() win32 function.
+
+ Returns:
+ (x, y) tuple of the current xy coordinates of the mouse cursor.
+ """
+
+ cursor = ctypes.wintypes.POINT()
+ ctypes.windll.user32.GetCursorPos(ctypes.byref(cursor))
+ return (cursor.x, cursor.y)
+
+
+def _size():
+ """Returns the width and height of the screen as a two-integer tuple.
+
+ Returns:
+ (width, height) tuple of the screen size, in pixels.
+ """
+ return (ctypes.windll.user32.GetSystemMetrics(0), ctypes.windll.user32.GetSystemMetrics(1))
+
+
+def _moveTo(x, y):
+ """Send the mouse move event to Windows by calling SetCursorPos() win32
+ function.
+
+ Args:
+ button (str): The mouse button, either 'left', 'middle', or 'right'
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+
+ Returns:
+ None
+ """
+ ctypes.windll.user32.SetCursorPos(x, y)
+ # This was a possible solution to issue #314 https://github.com/asweigart/pyautogui/issues/314
+ # but I'd like to hang on to SetCursorPos because mouse_event() has been superseded.
+ #_sendMouseEvent(MOUSEEVENTF_MOVE + MOUSEEVENTF_ABSOLUTE, x, y)
+
+
+def _mouseDown(x, y, button):
+ """Send the mouse down event to Windows by calling the mouse_event() win32
+ function.
+
+ Args:
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+ button (str): The mouse button, either 'left', 'middle', or 'right'
+
+ Returns:
+ None
+ """
+ if button not in (LEFT, MIDDLE, RIGHT):
+ raise ValueError('button arg to _click() must be one of "left", "middle", or "right", not %s' % button)
+
+ if button == LEFT:
+ EV = MOUSEEVENTF_LEFTDOWN
+ elif button == MIDDLE:
+ EV = MOUSEEVENTF_MIDDLEDOWN
+ elif button == RIGHT:
+ EV = MOUSEEVENTF_RIGHTDOWN
+
+ try:
+ _sendMouseEvent(EV, x, y)
+ except (PermissionError, OSError):
+ # TODO: We need to figure out how to prevent these errors, see https://github.com/asweigart/pyautogui/issues/60
+ pass
+
+
+def _mouseUp(x, y, button):
+ """Send the mouse up event to Windows by calling the mouse_event() win32
+ function.
+
+ Args:
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+ button (str): The mouse button, either 'left', 'middle', or 'right'
+
+ Returns:
+ None
+ """
+ if button not in (LEFT, MIDDLE, RIGHT):
+ raise ValueError('button arg to _click() must be one of "left", "middle", or "right", not %s' % button)
+
+ if button == LEFT:
+ EV = MOUSEEVENTF_LEFTUP
+ elif button == MIDDLE:
+ EV = MOUSEEVENTF_MIDDLEUP
+ elif button == RIGHT:
+ EV = MOUSEEVENTF_RIGHTUP
+
+ try:
+ _sendMouseEvent(EV, x, y)
+ except (PermissionError, OSError): # TODO: We need to figure out how to prevent these errors, see https://github.com/asweigart/pyautogui/issues/60
+ pass
+
+
+def _click(x, y, button):
+ """Send the mouse click event to Windows by calling the mouse_event() win32
+ function.
+
+ Args:
+ button (str): The mouse button, either 'left', 'middle', or 'right'
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+
+ Returns:
+ None
+ """
+ if button not in (LEFT, MIDDLE, RIGHT):
+ raise ValueError('button arg to _click() must be one of "left", "middle", or "right", not %s' % button)
+
+ if button == LEFT:
+ EV = MOUSEEVENTF_LEFTCLICK
+ elif button == MIDDLE:
+ EV = MOUSEEVENTF_MIDDLECLICK
+ elif button ==RIGHT:
+ EV = MOUSEEVENTF_RIGHTCLICK
+
+ try:
+ _sendMouseEvent(EV, x, y)
+ except (PermissionError, OSError):
+ # TODO: We need to figure out how to prevent these errors, see https://github.com/asweigart/pyautogui/issues/60
+ pass
+
+
+def _sendMouseEvent(ev, x, y, dwData=0):
+ """The helper function that actually makes the call to the mouse_event()
+ win32 function.
+
+ Args:
+ ev (int): The win32 code for the mouse event. Use one of the MOUSEEVENTF_*
+ constants for this argument.
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+ dwData (int): The argument for mouse_event()'s dwData parameter. So far
+ this is only used by mouse scrolling.
+
+ Returns:
+ None
+ """
+ assert x != None and y != None, 'x and y cannot be set to None'
+ # TODO: ARG! For some reason, SendInput isn't working for mouse events. I'm switching to using the older mouse_event win32 function.
+ #mouseStruct = MOUSEINPUT()
+ #mouseStruct.dx = x
+ #mouseStruct.dy = y
+ #mouseStruct.mouseData = ev
+ #mouseStruct.time = 0
+ #mouseStruct.dwExtraInfo = ctypes.pointer(ctypes.c_ulong(0)) # according to https://stackoverflow.com/questions/13564851/generate-keyboard-events I can just set this. I don't really care about this value.
+ #inputStruct = INPUT()
+ #inputStruct.mi = mouseStruct
+ #inputStruct.type = INPUT_MOUSE
+ #ctypes.windll.user32.SendInput(1, ctypes.pointer(inputStruct), ctypes.sizeof(inputStruct))
+
+ # TODO Note: We need to handle additional buttons, which I believe is documented here:
+ # https://docs.microsoft.com/en-us/windows/desktop/api/winuser/nf-winuser-mouse_event
+
+ width, height = _size()
+ convertedX = 65536 * x // width + 1
+ convertedY = 65536 * y // height + 1
+ ctypes.windll.user32.mouse_event(ev, ctypes.c_long(convertedX), ctypes.c_long(convertedY), dwData, 0)
+
+ # TODO: Too many false positives with this code: See: https://github.com/asweigart/pyautogui/issues/108
+ #if ctypes.windll.kernel32.GetLastError() != 0:
+ # raise ctypes.WinError()
+
+
+def _scroll(clicks, x=None, y=None):
+ """Send the mouse vertical scroll event to Windows by calling the
+ mouse_event() win32 function.
+
+ Args:
+ clicks (int): The amount of scrolling to do. A positive value is the mouse
+ wheel moving forward (scrolling up), a negative value is backwards (down).
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+
+ Returns:
+ None
+ """
+ startx, starty = _position()
+ width, height = _size()
+
+ if x is None:
+ x = startx
+ else:
+ if x < 0:
+ x = 0
+ elif x >= width:
+ x = width - 1
+ if y is None:
+ y = starty
+ else:
+ if y < 0:
+ y = 0
+ elif y >= height:
+ y = height - 1
+
+ try:
+ _sendMouseEvent(MOUSEEVENTF_WHEEL, x, y, dwData=clicks)
+ except (PermissionError, OSError): # TODO: We need to figure out how to prevent these errors, see https://github.com/asweigart/pyautogui/issues/60
+ pass
+
+
+def _hscroll(clicks, x, y):
+ """Send the mouse horizontal scroll event to Windows by calling the
+ mouse_event() win32 function.
+
+ Args:
+ clicks (int): The amount of scrolling to do. A positive value is the mouse
+ wheel moving right, a negative value is moving left.
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+
+ Returns:
+ None
+ """
+ return _scroll(clicks, x, y)
+
+
+def _vscroll(clicks, x, y):
+ """A wrapper for _scroll(), which does vertical scrolling.
+
+ Args:
+ clicks (int): The amount of scrolling to do. A positive value is the mouse
+ wheel moving forward (scrolling up), a negative value is backwards (down).
+ x (int): The x position of the mouse event.
+ y (int): The y position of the mouse event.
+
+ Returns:
+ None
+ """
+ return _scroll(clicks, x, y)
+
diff --git a/src/utils/pyautogui/_pyautogui_x11.py b/src/utils/pyautogui/_pyautogui_x11.py
new file mode 100644
index 0000000..7306e0f
--- /dev/null
+++ b/src/utils/pyautogui/_pyautogui_x11.py
@@ -0,0 +1,301 @@
+# NOTE - It is a known issue that the keyboard-related functions don't work on Ubuntu VMs in Virtualbox.
+
+# import pyautogui
+import sys
+import os
+from . import LEFT, MIDDLE, RIGHT, KEY_NAMES, isShiftCharacter
+# from pyautogui import LEFT, MIDDLE, RIGHT
+
+from Xlib.display import Display
+from Xlib import X
+from Xlib.ext.xtest import fake_input
+import Xlib.XK
+
+BUTTON_NAME_MAPPING = {LEFT: 1, MIDDLE: 2, RIGHT: 3, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7}
+
+
+if sys.platform in ('java', 'darwin', 'win32'):
+ raise Exception('The pyautogui_x11 module should only be loaded on a Unix system that supports X11.')
+
+#from pyautogui import *
+
+"""
+Much of this code is based on information gleaned from Paul Barton's PyKeyboard in PyUserInput from 2013, itself derived from Akkana Peck's pykey in 2008 ( http://www.shallowsky.com/software/crikey/pykey-0.1 ), itself derived from her "Crikey" lib.
+"""
+
+def _position():
+ """Returns the current xy coordinates of the mouse cursor as a two-integer
+ tuple.
+
+ Returns:
+ (x, y) tuple of the current xy coordinates of the mouse cursor.
+ """
+ coord = _display.screen().root.query_pointer()._data
+ return coord["root_x"], coord["root_y"]
+
+
+def _size():
+ return _display.screen().width_in_pixels, _display.screen().height_in_pixels
+
+
+
+def _vscroll(clicks, x=None, y=None):
+ clicks = int(clicks)
+ if clicks == 0:
+ return
+ elif clicks > 0:
+ button = 4 # scroll up
+ else:
+ button = 5 # scroll down
+
+ for i in range(abs(clicks)):
+ _click(x, y, button=button)
+
+
+def _hscroll(clicks, x=None, y=None):
+ clicks = int(clicks)
+ if clicks == 0:
+ return
+ elif clicks > 0:
+ button = 7 # scroll right
+ else:
+ button = 6 # scroll left
+
+ for i in range(abs(clicks)):
+ _click(x, y, button=button)
+
+
+def _scroll(clicks, x=None, y=None):
+ return _vscroll(clicks, x, y)
+
+
+def _click(x, y, button):
+ assert button in BUTTON_NAME_MAPPING.keys(), "button argument not in ('left', 'middle', 'right', 4, 5, 6, 7)"
+ button = BUTTON_NAME_MAPPING[button]
+
+ _mouseDown(x, y, button)
+ _mouseUp(x, y, button)
+
+
+def _moveTo(x, y):
+ fake_input(_display, X.MotionNotify, x=x, y=y)
+ _display.sync()
+
+
+def _mouseDown(x, y, button):
+ _moveTo(x, y)
+ assert button in BUTTON_NAME_MAPPING.keys(), "button argument not in ('left', 'middle', 'right', 4, 5, 6, 7)"
+ button = BUTTON_NAME_MAPPING[button]
+ fake_input(_display, X.ButtonPress, button)
+ _display.sync()
+
+
+def _mouseUp(x, y, button):
+ _moveTo(x, y)
+ assert button in BUTTON_NAME_MAPPING.keys(), "button argument not in ('left', 'middle', 'right', 4, 5, 6, 7)"
+ button = BUTTON_NAME_MAPPING[button]
+ fake_input(_display, X.ButtonRelease, button)
+ _display.sync()
+
+
+def _keyDown(key):
+ """Performs a keyboard key press without the release. This will put that
+ key in a held down state.
+
+ NOTE: For some reason, this does not seem to cause key repeats like would
+ happen if a keyboard key was held down on a text field.
+
+ Args:
+ key (str): The key to be pressed down. The valid names are listed in
+ KEY_NAMES.
+
+ Returns:
+ None
+ """
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ if type(key) == int:
+ fake_input(_display, X.KeyPress, key)
+ _display.sync()
+ return
+
+ needsShift = isShiftCharacter(key)
+ if needsShift:
+ fake_input(_display, X.KeyPress, keyboardMapping['shift'])
+
+ fake_input(_display, X.KeyPress, keyboardMapping[key])
+
+ if needsShift:
+ fake_input(_display, X.KeyRelease, keyboardMapping['shift'])
+ _display.sync()
+
+
+def _keyUp(key):
+ """Performs a keyboard key release (without the press down beforehand).
+
+ Args:
+ key (str): The key to be released up. The valid names are listed in
+ KEY_NAMES.
+
+ Returns:
+ None
+ """
+
+ """
+ Release a given character key. Also works with character keycodes as
+ integers, but not keysyms.
+ """
+ if key not in keyboardMapping or keyboardMapping[key] is None:
+ return
+
+ if type(key) == int:
+ keycode = key
+ else:
+ keycode = keyboardMapping[key]
+
+ fake_input(_display, X.KeyRelease, keycode)
+ _display.sync()
+
+
+# Taken from PyKeyboard's ctor function.
+_display = Display(os.environ['DISPLAY'])
+
+
+""" Information for keyboardMapping derived from PyKeyboard's special_key_assignment() function.
+
+The *KB dictionaries in pyautogui map a string that can be passed to keyDown(),
+keyUp(), or press() into the code used for the OS-specific keyboard function.
+
+They should always be lowercase, and the same keys should be used across all OSes."""
+keyboardMapping = dict([(key, None) for key in KEY_NAMES])
+keyboardMapping.update({
+ 'backspace': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('BackSpace')),
+ '\b': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('BackSpace')),
+ 'tab': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Tab')),
+ 'enter': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Return')),
+ 'return': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Return')),
+ 'shift': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Shift_L')),
+ 'ctrl': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Control_L')),
+ 'alt': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Alt_L')),
+ 'pause': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Pause')),
+ 'capslock': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Caps_Lock')),
+ 'esc': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Escape')),
+ 'escape': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Escape')),
+ 'pgup': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Page_Up')),
+ 'pgdn': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Page_Down')),
+ 'pageup': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Page_Up')),
+ 'pagedown': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Page_Down')),
+ 'end': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('End')),
+ 'home': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Home')),
+ 'left': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Left')),
+ 'up': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Up')),
+ 'right': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Right')),
+ 'down': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Down')),
+ 'select': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Select')),
+ 'print': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Print')),
+ 'execute': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Execute')),
+ 'prtsc': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Print')),
+ 'prtscr': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Print')),
+ 'prntscrn': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Print')),
+ 'printscreen': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Print')),
+ 'insert': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Insert')),
+ 'del': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Delete')),
+ 'delete': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Delete')),
+ 'help': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Help')),
+ 'win': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Super_L')),
+ 'winleft': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Super_L')),
+ 'winright': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Super_R')),
+ 'apps': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Menu')),
+ 'num0': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_0')),
+ 'num1': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_1')),
+ 'num2': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_2')),
+ 'num3': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_3')),
+ 'num4': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_4')),
+ 'num5': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_5')),
+ 'num6': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_6')),
+ 'num7': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_7')),
+ 'num8': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_8')),
+ 'num9': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_9')),
+ 'multiply': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Multiply')),
+ 'add': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Add')),
+ 'separator': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Separator')),
+ 'subtract': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Subtract')),
+ 'decimal': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Decimal')),
+ 'divide': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('KP_Divide')),
+ 'f1': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F1')),
+ 'f2': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F2')),
+ 'f3': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F3')),
+ 'f4': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F4')),
+ 'f5': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F5')),
+ 'f6': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F6')),
+ 'f7': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F7')),
+ 'f8': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F8')),
+ 'f9': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F9')),
+ 'f10': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F10')),
+ 'f11': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F11')),
+ 'f12': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F12')),
+ 'f13': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F13')),
+ 'f14': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F14')),
+ 'f15': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F15')),
+ 'f16': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F16')),
+ 'f17': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F17')),
+ 'f18': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F18')),
+ 'f19': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F19')),
+ 'f20': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F20')),
+ 'f21': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F21')),
+ 'f22': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F22')),
+ 'f23': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F23')),
+ 'f24': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('F24')),
+ 'numlock': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Num_Lock')),
+ 'scrolllock': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Scroll_Lock')),
+ 'shiftleft': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Shift_L')),
+ 'shiftright': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Shift_R')),
+ 'ctrlleft': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Control_L')),
+ 'ctrlright': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Control_R')),
+ 'altleft': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Alt_L')),
+ 'altright': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Alt_R')),
+ # These are added because unlike a-zA-Z0-9, the single characters do not have a
+ ' ': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('space')),
+ 'space': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('space')),
+ '\t': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Tab')),
+ '\n': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Return')), # for some reason this needs to be cr, not lf
+ '\r': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Return')),
+ '\e': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('Escape')),
+ '!': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('exclam')),
+ '#': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('numbersign')),
+ '%': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('percent')),
+ '$': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('dollar')),
+ '&': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('ampersand')),
+ '"': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('quotedbl')),
+ "'": _display.keysym_to_keycode(Xlib.XK.string_to_keysym('apostrophe')),
+ '(': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('parenleft')),
+ ')': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('parenright')),
+ '*': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('asterisk')),
+ '=': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('equal')),
+ '+': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('plus')),
+ ',': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('comma')),
+ '-': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('minus')),
+ '.': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('period')),
+ '/': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('slash')),
+ ':': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('colon')),
+ ';': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('semicolon')),
+ '<': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('less')),
+ '>': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('greater')),
+ '?': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('question')),
+ '@': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('at')),
+ '[': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('bracketleft')),
+ ']': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('bracketright')),
+ '\\': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('backslash')),
+ '^': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('asciicircum')),
+ '_': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('underscore')),
+ '`': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('grave')),
+ '{': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('braceleft')),
+ '|': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('bar')),
+ '}': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('braceright')),
+ '~': _display.keysym_to_keycode(Xlib.XK.string_to_keysym('asciitilde')),
+})
+
+# Trading memory for time" populate winKB so we don't have to call VkKeyScanA each time.
+for c in """abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890""":
+ keyboardMapping[c] = _display.keysym_to_keycode(Xlib.XK.string_to_keysym(c))
diff --git a/src/utils/pyautogui_control.py b/src/utils/pyautogui_control.py
index f217084..26538ad 100644
--- a/src/utils/pyautogui_control.py
+++ b/src/utils/pyautogui_control.py
@@ -1,7 +1,16 @@
# Python imports
-import pyautogui
+import subprocess
-# Gtk imports
+# Lib imports
+# NOTE: Source: https://github.com/asweigart/pyautogui
+# Gunna try importing an env pyautogui; but, If none exist we will use the internal one
+# modified to import itself properly for Linux systems.
+try:
+ import pyautogui
+ print("Found system/env pyautogui instance...")
+except Exception as e:
+ print("Defering to internal pyautogui instance...")
+ from . import pyautogui
# Application imports
@@ -14,6 +23,18 @@ pyautogui.PAUSE = 0
class ControlMixin:
+ def get_clipboard_data(self, encoding="utf-8") -> str:
+ proc = subprocess.Popen(get_clipboard, stdout=subprocess.PIPE)
+ retcode = proc.wait()
+ data = proc.stdout.read()
+ return data.decode(encoding).strip()
+
+ def set_clipboard_data(self, data: type, encoding="utf-8") -> None:
+ proc = subprocess.Popen(set_clipboard, stdin=subprocess.PIPE)
+ proc.stdin.write(data.encode(encoding))
+ proc.stdin.close()
+ retcode = proc.wait()
+
def type(self, key):
if self.isCtrlOn or self.isShiftOn or self.isAltOn:
self.set_hotkeys()
diff --git a/user_config/bin/mouse-keyboard b/user_config/bin/mouse-keyboard
new file mode 100755
index 0000000..ed6ca16
--- /dev/null
+++ b/user_config/bin/mouse-keyboard
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# . CONFIG.sh
+
+# set -o xtrace ## To debug scripts
+# set -o errexit ## To exit on error
+# set -o errunset ## To exit if a variable is referenced but not set
+
+
+function main() {
+ call_path=`pwd`
+ path=""
+
+ if [[ ! "${1::1}" == /* ]]; then
+ path="${call_path}/${1}"
+ else
+ path="${1}"
+ fi
+
+ cd "/opt/"
+ python /opt/mouse-keyboard.zip "$@"
+}
+main "$@";
diff --git a/user_config/usr/applications/mouse-keyboard.desktop b/user_config/usr/applications/mouse-keyboard.desktop
new file mode 100755
index 0000000..5836852
--- /dev/null
+++ b/user_config/usr/applications/mouse-keyboard.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Mouse-Board
+GenericName=Mouse Keyboard
+Comment=A Python and Gtk+ mouse based keyboard.
+Exec=/bin/mouse-keyboard %F
+Icon=/usr/share/mouse-keyboard/icons/mouse-keyboard.png
+Type=Application
+StartupNotify=true
+Categories=System;FileTools;Utility;Core
+MimeType=
+Terminal=false
diff --git a/user_config/usr/share/mouse keyboard/emoji.txt b/user_config/usr/share/mouse keyboard/emoji.txt
deleted file mode 100644
index 2925c82..0000000
--- a/user_config/usr/share/mouse keyboard/emoji.txt
+++ /dev/null
@@ -1,1593 +0,0 @@
-๐ grinning face; 1F600;
-๐ grinning face with big eyes; 1F603;
-๐ grinning face with smiling eyes; 1F604;
-๐ beaming face with smiling eyes; 1F601;
-๐ grinning squinting face; 1F606;
-๐
grinning face with sweat; 1F605;
-๐คฃ rolling on the floor laughing; 1F923;
-๐ face with tears of joy; 1F602;
-๐ slightly smiling face; 1F642;
-๐ upside-down face; 1F643;
-๐ winking face; 1F609;
-๐ smiling face with smiling eyes; 1F60A;
-๐ smiling face with halo; 1F607;
-๐ฅฐ smiling face with hearts; 1F970;
-๐ smiling face with heart-eyes; 1F60D;
-๐คฉ star-struck; 1F929;
-๐ face blowing a kiss; 1F618;
-๐ kissing face; 1F617;
-โบ๏ธ smiling face; 263A FE0F;
-๐ kissing face with closed eyes; 1F61A;
-๐ kissing face with smiling eyes; 1F619;
-๐ฅฒ smiling face with tear; 1F972;
-๐ face savoring food; 1F60B;
-๐ face with tongue; 1F61B;
-๐ winking face with tongue; 1F61C;
-๐คช zany face; 1F92A;
-๐ squinting face with tongue; 1F61D;
-๐ค money-mouth face; 1F911;
-๐ค hugging face; 1F917;
-๐คญ face with hand over mouth; 1F92D;
-๐คซ shushing face; 1F92B;
-๐ค thinking face; 1F914;
-๐ค zipper-mouth face; 1F910;
-๐คจ face with raised eyebrow; 1F928;
-๐ neutral face; 1F610;
-๐ expressionless face; 1F611;
-๐ถ face without mouth; 1F636;
-๐ smirking face; 1F60F;
-๐ unamused face; 1F612;
-๐ face with rolling eyes; 1F644;
-๐ฌ grimacing face; 1F62C;
-๐คฅ lying face; 1F925;
-๐ relieved face; 1F60C;
-๐ pensive face; 1F614;
-๐ช sleepy face; 1F62A;
-๐คค drooling face; 1F924;
-๐ด sleeping face; 1F634;
-๐ท face with medical mask; 1F637;
-๐ค face with thermometer; 1F912;
-๐ค face with head-bandage; 1F915;
-๐คข nauseated face; 1F922;
-๐คฎ face vomiting; 1F92E;
-๐คง sneezing face; 1F927;
-๐ฅต hot face; 1F975;
-๐ฅถ cold face; 1F976;
-๐ฅด woozy face; 1F974;
-๐ต dizzy face; 1F635;
-๐คฏ exploding head; 1F92F;
-๐ค cowboy hat face; 1F920;
-๐ฅณ partying face; 1F973;
-๐ฅธ disguised face; 1F978;
-๐ smiling face with sunglasses; 1F60E;
-๐ค nerd face; 1F913;
-๐ง face with monocle; 1F9D0;
-๐ confused face; 1F615;
-๐ worried face; 1F61F;
-๐ slightly frowning face; 1F641;
-โน๏ธ frowning face; 2639 FE0F;
-๐ฎ face with open mouth; 1F62E;
-๐ฏ hushed face; 1F62F;
-๐ฒ astonished face; 1F632;
-๐ณ flushed face; 1F633;
-๐ฅบ pleading face; 1F97A;
-๐ฆ frowning face with open mouth; 1F626;
-๐ง anguished face; 1F627;
-๐จ fearful face; 1F628;
-๐ฐ anxious face with sweat; 1F630;
-๐ฅ sad but relieved face; 1F625;
-๐ข crying face; 1F622;
-๐ญ loudly crying face; 1F62D;
-๐ฑ face screaming in fear; 1F631;
-๐ confounded face; 1F616;
-๐ฃ persevering face; 1F623;
-๐ disappointed face; 1F61E;
-๐ downcast face with sweat; 1F613;
-๐ฉ weary face; 1F629;
-๐ซ tired face; 1F62B;
-๐ฅฑ yawning face; 1F971;
-๐ค face with steam from nose; 1F624;
-๐ก pouting face; 1F621;
-๐ angry face; 1F620;
-๐คฌ face with symbols on mouth; 1F92C;
-๐ smiling face with horns; 1F608;
-๐ฟ angry face with horns; 1F47F;
-๐ skull; 1F480;
-โ ๏ธ skull and crossbones; 2620 FE0F;
-๐ฉ pile of poo; 1F4A9;
-๐คก clown face; 1F921;
-๐น ogre; 1F479;
-๐บ goblin; 1F47A;
-๐ป ghost; 1F47B;
-๐ฝ alien; 1F47D;
-๐พ alien monster; 1F47E;
-๐ค robot; 1F916;
-๐บ grinning cat; 1F63A;
-๐ธ grinning cat with smiling eyes; 1F638;
-๐น cat with tears of joy; 1F639;
-๐ป smiling cat with heart-eyes; 1F63B;
-๐ผ cat with wry smile; 1F63C;
-๐ฝ kissing cat; 1F63D;
-๐ weary cat; 1F640;
-๐ฟ crying cat; 1F63F;
-๐พ pouting cat; 1F63E;
-๐ see-no-evil monkey; 1F648;
-๐ hear-no-evil monkey; 1F649;
-๐ speak-no-evil monkey; 1F64A;
-๐ kiss mark; 1F48B;
-๐ love letter; 1F48C;
-๐ heart with arrow; 1F498;
-๐ heart with ribbon; 1F49D;
-๐ sparkling heart; 1F496;
-๐ growing heart; 1F497;
-๐ beating heart; 1F493;
-๐ revolving hearts; 1F49E;
-๐ two hearts; 1F495;
-๐ heart decoration; 1F49F;
-โฃ๏ธ heart exclamation; 2763 FE0F;
-๐ broken heart; 1F494;
-โค๏ธ red heart; 2764 FE0F;
-๐งก orange heart; 1F9E1;
-๐ yellow heart; 1F49B;
-๐ green heart; 1F49A;
-๐ blue heart; 1F499;
-๐ purple heart; 1F49C;
-๐ค brown heart; 1F90E;
-๐ค black heart; 1F5A4;
-๐ค white heart; 1F90D;
-๐ฏ hundred points; 1F4AF;
-๐ข anger symbol; 1F4A2;
-๐ฅ collision; 1F4A5;
-๐ซ dizzy; 1F4AB;
-๐ฆ sweat droplets; 1F4A6;
-๐จ dashing away; 1F4A8;
-๐ณ๏ธ hole; 1F573 FE0F;
-๐ฃ bomb; 1F4A3;
-๐ฌ speech balloon; 1F4AC;
-๐จ๏ธ left speech bubble; 1F5E8 FE0F;
-๐ฏ๏ธ right anger bubble; 1F5EF FE0F;
-๐ญ thought balloon; 1F4AD;
-๐ค zzz; 1F4A4;
-๐ waving hand; 1F44B;
-๐ค raised back of hand; 1F91A;
-๐๏ธ hand with fingers splayed; 1F590 FE0F;
-โ raised hand; 270B;
-๐ vulcan salute; 1F596;
-๐ OK hand; 1F44C;
-๐ค pinched fingers; 1F90C;
-๐ค pinching hand; 1F90F;
-โ๏ธ victory hand; 270C FE0F;
-๐ค crossed fingers; 1F91E;
-๐ค love-you gesture; 1F91F;
-๐ค sign of the horns; 1F918;
-๐ค call me hand; 1F919;
-๐ backhand index pointing left; 1F448;
-๐ backhand index pointing right; 1F449;
-๐ backhand index pointing up; 1F446;
-๐ middle finger; 1F595;
-๐ backhand index pointing down; 1F447;
-โ๏ธ index pointing up; 261D FE0F;
-๐ thumbs up; 1F44D;
-๐ thumbs down; 1F44E;
-โ raised fist; 270A;
-๐ oncoming fist; 1F44A;
-๐ค left-facing fist; 1F91B;
-๐ค right-facing fist; 1F91C;
-๐ clapping hands; 1F44F;
-๐ raising hands; 1F64C;
-๐ open hands; 1F450;
-๐คฒ palms up together; 1F932;
-๐ค handshake; 1F91D;
-๐ folded hands; 1F64F;
-โ๏ธ writing hand; 270D FE0F;
-๐
nail polish; 1F485;
-๐คณ selfie; 1F933;
-๐ช flexed biceps; 1F4AA;
-๐ฆพ mechanical arm; 1F9BE;
-๐ฆฟ mechanical leg; 1F9BF;
-๐ฆต leg; 1F9B5;
-๐ฆถ foot; 1F9B6;
-๐ ear; 1F442;
-๐ฆป ear with hearing aid; 1F9BB;
-๐ nose; 1F443;
-๐ง brain; 1F9E0;
-๐ซ anatomical heart; 1FAC0;
-๐ซ lungs; 1FAC1;
-๐ฆท tooth; 1F9B7;
-๐ฆด bone; 1F9B4;
-๐ eyes; 1F440;
-๐๏ธ eye; 1F441 FE0F;
-๐
tongue; 1F445;
-๐ mouth; 1F444;
-๐ถ baby; 1F476;
-๐ง child; 1F9D2;
-๐ฆ boy; 1F466;
-๐ง girl; 1F467;
-๐ง person; 1F9D1;
-๐ฑ person: blond hair; 1F471;
-๐จ man; 1F468;
-๐ง man: beard; 1F9D4;
-๐ฉ woman; 1F469;
-๐ง older person; 1F9D3;
-๐ด old man; 1F474;
-๐ต old woman; 1F475;
-๐ person frowning; 1F64D;
-๐ person pouting; 1F64E;
-๐
person gesturing NO; 1F645;
-๐ person gesturing OK; 1F646;
-๐ person tipping hand; 1F481;
-๐ person raising hand; 1F64B;
-๐ง deaf person; 1F9CF;
-๐ person bowing; 1F647;
-๐คฆ person facepalming; 1F926;
-๐คท person shrugging; 1F937;
-๐ฎ police officer; 1F46E;
-๐ต๏ธ detective; 1F575 FE0F;
-๐ guard; 1F482;
-๐ฅท ninja; 1F977;
-๐ท construction worker; 1F477;
-๐คด prince; 1F934;
-๐ธ princess; 1F478;
-๐ณ person wearing turban; 1F473;
-๐ฒ person with skullcap; 1F472;
-๐ง woman with headscarf; 1F9D5;
-๐คต person in tuxedo; 1F935;
-๐ฐ person with veil; 1F470;
-๐คฐ pregnant woman; 1F930;
-๐คฑ breast-feeding; 1F931;
-๐ผ baby angel; 1F47C;
-๐
Santa Claus; 1F385;
-๐คถ Mrs. Claus; 1F936;
-๐ฆธ superhero; 1F9B8;
-๐ฆน supervillain; 1F9B9;
-๐ง mage; 1F9D9;
-๐ง fairy; 1F9DA;
-๐ง vampire; 1F9DB;
-๐ง merperson; 1F9DC;
-๐ง elf; 1F9DD;
-๐ง genie; 1F9DE;
-๐ง zombie; 1F9DF;
-๐ person getting massage; 1F486;
-๐ person getting haircut; 1F487;
-๐ถ person walking; 1F6B6;
-๐ง person standing; 1F9CD;
-๐ง person kneeling; 1F9CE;
-๐ person running; 1F3C3;
-๐ woman dancing; 1F483;
-๐บ man dancing; 1F57A;
-๐ด๏ธ person in suit levitating; 1F574 FE0F;
-๐ฏ people with bunny ears; 1F46F;
-๐ง person in steamy room; 1F9D6;
-๐ง person climbing; 1F9D7;
-๐คบ person fencing; 1F93A;
-๐ horse racing; 1F3C7;
-โท๏ธ skier; 26F7 FE0F;
-๐ snowboarder; 1F3C2;
-๐๏ธ person golfing; 1F3CC FE0F;
-๐ person surfing; 1F3C4;
-๐ฃ person rowing boat; 1F6A3;
-๐ person swimming; 1F3CA;
-โน๏ธ person bouncing ball; 26F9 FE0F;
-๐๏ธ person lifting weights; 1F3CB FE0F;
-๐ด person biking; 1F6B4;
-๐ต person mountain biking; 1F6B5;
-๐คธ person cartwheeling; 1F938;
-๐คผ people wrestling; 1F93C;
-๐คฝ person playing water polo; 1F93D;
-๐คพ person playing handball; 1F93E;
-๐คน person juggling; 1F939;
-๐ง person in lotus position; 1F9D8;
-๐ person taking bath; 1F6C0;
-๐ person in bed; 1F6CC;
-๐ญ women holding hands; 1F46D;
-๐ซ woman and man holding hands; 1F46B;
-๐ฌ men holding hands; 1F46C;
-๐ kiss; 1F48F;
-๐ couple with heart; 1F491;
-๐ช family; 1F46A;
-๐ฃ๏ธ speaking head; 1F5E3 FE0F;
-๐ค bust in silhouette; 1F464;
-๐ฅ busts in silhouette; 1F465;
-๐ซ people hugging; 1FAC2;
-๐ฃ footprints; 1F463;
-๐ต monkey face; 1F435;
-๐ monkey; 1F412;
-๐ฆ gorilla; 1F98D;
-๐ฆง orangutan; 1F9A7;
-๐ถ dog face; 1F436;
-๐ dog; 1F415;
-๐ฆฎ guide dog; 1F9AE;
-๐ฉ poodle; 1F429;
-๐บ wolf; 1F43A;
-๐ฆ fox; 1F98A;
-๐ฆ raccoon; 1F99D;
-๐ฑ cat face; 1F431;
-๐ cat; 1F408;
-๐ฆ lion; 1F981;
-๐ฏ tiger face; 1F42F;
-๐
tiger; 1F405;
-๐ leopard; 1F406;
-๐ด horse face; 1F434;
-๐ horse; 1F40E;
-๐ฆ unicorn; 1F984;
-๐ฆ zebra; 1F993;
-๐ฆ deer; 1F98C;
-๐ฆฌ bison; 1F9AC;
-๐ฎ cow face; 1F42E;
-๐ ox; 1F402;
-๐ water buffalo; 1F403;
-๐ cow; 1F404;
-๐ท pig face; 1F437;
-๐ pig; 1F416;
-๐ boar; 1F417;
-๐ฝ pig nose; 1F43D;
-๐ ram; 1F40F;
-๐ ewe; 1F411;
-๐ goat; 1F410;
-๐ช camel; 1F42A;
-๐ซ two-hump camel; 1F42B;
-๐ฆ llama; 1F999;
-๐ฆ giraffe; 1F992;
-๐ elephant; 1F418;
-๐ฆฃ mammoth; 1F9A3;
-๐ฆ rhinoceros; 1F98F;
-๐ฆ hippopotamus; 1F99B;
-๐ญ mouse face; 1F42D;
-๐ mouse; 1F401;
-๐ rat; 1F400;
-๐น hamster; 1F439;
-๐ฐ rabbit face; 1F430;
-๐ rabbit; 1F407;
-๐ฟ๏ธ chipmunk; 1F43F FE0F;
-๐ฆซ beaver; 1F9AB;
-๐ฆ hedgehog; 1F994;
-๐ฆ bat; 1F987;
-๐ป bear; 1F43B;
-๐จ koala; 1F428;
-๐ผ panda; 1F43C;
-๐ฆฅ sloth; 1F9A5;
-๐ฆฆ otter; 1F9A6;
-๐ฆจ skunk; 1F9A8;
-๐ฆ kangaroo; 1F998;
-๐ฆก badger; 1F9A1;
-๐พ paw prints; 1F43E;
-๐ฆ turkey; 1F983;
-๐ chicken; 1F414;
-๐ rooster; 1F413;
-๐ฃ hatching chick; 1F423;
-๐ค baby chick; 1F424;
-๐ฅ front-facing baby chick; 1F425;
-๐ฆ bird; 1F426;
-๐ง penguin; 1F427;
-๐๏ธ dove; 1F54A FE0F;
-๐ฆ
eagle; 1F985;
-๐ฆ duck; 1F986;
-๐ฆข swan; 1F9A2;
-๐ฆ owl; 1F989;
-๐ฆค dodo; 1F9A4;
-๐ชถ feather; 1FAB6;
-๐ฆฉ flamingo; 1F9A9;
-๐ฆ peacock; 1F99A;
-๐ฆ parrot; 1F99C;
-๐ธ frog; 1F438;
-๐ crocodile; 1F40A;
-๐ข turtle; 1F422;
-๐ฆ lizard; 1F98E;
-๐ snake; 1F40D;
-๐ฒ dragon face; 1F432;
-๐ dragon; 1F409;
-๐ฆ sauropod; 1F995;
-๐ฆ T-Rex; 1F996;
-๐ณ spouting whale; 1F433;
-๐ whale; 1F40B;
-๐ฌ dolphin; 1F42C;
-๐ฆญ seal; 1F9AD;
-๐ fish; 1F41F;
-๐ tropical fish; 1F420;
-๐ก blowfish; 1F421;
-๐ฆ shark; 1F988;
-๐ octopus; 1F419;
-๐ spiral shell; 1F41A;
-๐ snail; 1F40C;
-๐ฆ butterfly; 1F98B;
-๐ bug; 1F41B;
-๐ ant; 1F41C;
-๐ honeybee; 1F41D;
-๐ชฒ beetle; 1FAB2;
-๐ lady beetle; 1F41E;
-๐ฆ cricket; 1F997;
-๐ชณ cockroach; 1FAB3;
-๐ท๏ธ spider; 1F577 FE0F;
-๐ธ๏ธ spider web; 1F578 FE0F;
-๐ฆ scorpion; 1F982;
-๐ฆ mosquito; 1F99F;
-๐ชฐ fly; 1FAB0;
-๐ชฑ worm; 1FAB1;
-๐ฆ microbe; 1F9A0;
-๐ bouquet; 1F490;
-๐ธ cherry blossom; 1F338;
-๐ฎ white flower; 1F4AE;
-๐ต๏ธ rosette; 1F3F5 FE0F;
-๐น rose; 1F339;
-๐ฅ wilted flower; 1F940;
-๐บ hibiscus; 1F33A;
-๐ป sunflower; 1F33B;
-๐ผ blossom; 1F33C;
-๐ท tulip; 1F337;
-๐ฑ seedling; 1F331;
-๐ชด potted plant; 1FAB4;
-๐ฒ evergreen tree; 1F332;
-๐ณ deciduous tree; 1F333;
-๐ด palm tree; 1F334;
-๐ต cactus; 1F335;
-๐พ sheaf of rice; 1F33E;
-๐ฟ herb; 1F33F;
-โ๏ธ shamrock; 2618 FE0F;
-๐ four leaf clover; 1F340;
-๐ maple leaf; 1F341;
-๐ fallen leaf; 1F342;
-๐ leaf fluttering in wind; 1F343;
-๐ grapes; 1F347;
-๐ melon; 1F348;
-๐ watermelon; 1F349;
-๐ tangerine; 1F34A;
-๐ lemon; 1F34B;
-๐ banana; 1F34C;
-๐ pineapple; 1F34D;
-๐ฅญ mango; 1F96D;
-๐ red apple; 1F34E;
-๐ green apple; 1F34F;
-๐ pear; 1F350;
-๐ peach; 1F351;
-๐ cherries; 1F352;
-๐ strawberry; 1F353;
-๐ซ blueberries; 1FAD0;
-๐ฅ kiwi fruit; 1F95D;
-๐
tomato; 1F345;
-๐ซ olive; 1FAD2;
-๐ฅฅ coconut; 1F965;
-๐ฅ avocado; 1F951;
-๐ eggplant; 1F346;
-๐ฅ potato; 1F954;
-๐ฅ carrot; 1F955;
-๐ฝ ear of corn; 1F33D;
-๐ถ๏ธ hot pepper; 1F336 FE0F;
-๐ซ bell pepper; 1FAD1;
-๐ฅ cucumber; 1F952;
-๐ฅฌ leafy green; 1F96C;
-๐ฅฆ broccoli; 1F966;
-๐ง garlic; 1F9C4;
-๐ง
onion; 1F9C5;
-๐ mushroom; 1F344;
-๐ฅ peanuts; 1F95C;
-๐ฐ chestnut; 1F330;
-๐ bread; 1F35E;
-๐ฅ croissant; 1F950;
-๐ฅ baguette bread; 1F956;
-๐ซ flatbread; 1FAD3;
-๐ฅจ pretzel; 1F968;
-๐ฅฏ bagel; 1F96F;
-๐ฅ pancakes; 1F95E;
-๐ง waffle; 1F9C7;
-๐ง cheese wedge; 1F9C0;
-๐ meat on bone; 1F356;
-๐ poultry leg; 1F357;
-๐ฅฉ cut of meat; 1F969;
-๐ฅ bacon; 1F953;
-๐ hamburger; 1F354;
-๐ french fries; 1F35F;
-๐ pizza; 1F355;
-๐ญ hot dog; 1F32D;
-๐ฅช sandwich; 1F96A;
-๐ฎ taco; 1F32E;
-๐ฏ burrito; 1F32F;
-๐ซ tamale; 1FAD4;
-๐ฅ stuffed flatbread; 1F959;
-๐ง falafel; 1F9C6;
-๐ฅ egg; 1F95A;
-๐ณ cooking; 1F373;
-๐ฅ shallow pan of food; 1F958;
-๐ฒ pot of food; 1F372;
-๐ซ fondue; 1FAD5;
-๐ฅฃ bowl with spoon; 1F963;
-๐ฅ green salad; 1F957;
-๐ฟ popcorn; 1F37F;
-๐ง butter; 1F9C8;
-๐ง salt; 1F9C2;
-๐ฅซ canned food; 1F96B;
-๐ฑ bento box; 1F371;
-๐ rice cracker; 1F358;
-๐ rice ball; 1F359;
-๐ cooked rice; 1F35A;
-๐ curry rice; 1F35B;
-๐ steaming bowl; 1F35C;
-๐ spaghetti; 1F35D;
-๐ roasted sweet potato; 1F360;
-๐ข oden; 1F362;
-๐ฃ sushi; 1F363;
-๐ค fried shrimp; 1F364;
-๐ฅ fish cake with swirl; 1F365;
-๐ฅฎ moon cake; 1F96E;
-๐ก dango; 1F361;
-๐ฅ dumpling; 1F95F;
-๐ฅ fortune cookie; 1F960;
-๐ฅก takeout box; 1F961;
-๐ฆ crab; 1F980;
-๐ฆ lobster; 1F99E;
-๐ฆ shrimp; 1F990;
-๐ฆ squid; 1F991;
-๐ฆช oyster; 1F9AA;
-๐ฆ soft ice cream; 1F366;
-๐ง shaved ice; 1F367;
-๐จ ice cream; 1F368;
-๐ฉ doughnut; 1F369;
-๐ช cookie; 1F36A;
-๐ birthday cake; 1F382;
-๐ฐ shortcake; 1F370;
-๐ง cupcake; 1F9C1;
-๐ฅง pie; 1F967;
-๐ซ chocolate bar; 1F36B;
-๐ฌ candy; 1F36C;
-๐ญ lollipop; 1F36D;
-๐ฎ custard; 1F36E;
-๐ฏ honey pot; 1F36F;
-๐ผ baby bottle; 1F37C;
-๐ฅ glass of milk; 1F95B;
-โ hot beverage; 2615;
-๐ซ teapot; 1FAD6;
-๐ต teacup without handle; 1F375;
-๐ถ sake; 1F376;
-๐พ bottle with popping cork; 1F37E;
-๐ท wine glass; 1F377;
-๐ธ cocktail glass; 1F378;
-๐น tropical drink; 1F379;
-๐บ beer mug; 1F37A;
-๐ป clinking beer mugs; 1F37B;
-๐ฅ clinking glasses; 1F942;
-๐ฅ tumbler glass; 1F943;
-๐ฅค cup with straw; 1F964;
-๐ง bubble tea; 1F9CB;
-๐ง beverage box; 1F9C3;
-๐ง mate; 1F9C9;
-๐ง ice; 1F9CA;
-๐ฅข chopsticks; 1F962;
-๐ฝ๏ธ fork and knife with plate; 1F37D FE0F;
-๐ด fork and knife; 1F374;
-๐ฅ spoon; 1F944;
-๐ช kitchen knife; 1F52A;
-๐บ amphora; 1F3FA;
-๐ globe showing Europe-Africa; 1F30D;
-๐ globe showing Americas; 1F30E;
-๐ globe showing Asia-Australia; 1F30F;
-๐ globe with meridians; 1F310;
-๐บ๏ธ world map; 1F5FA FE0F;
-๐พ map of Japan; 1F5FE;
-๐งญ compass; 1F9ED;
-๐๏ธ snow-capped mountain; 1F3D4 FE0F;
-โฐ๏ธ mountain; 26F0 FE0F;
-๐ volcano; 1F30B;
-๐ป mount fuji; 1F5FB;
-๐๏ธ camping; 1F3D5 FE0F;
-๐๏ธ beach with umbrella; 1F3D6 FE0F;
-๐๏ธ desert; 1F3DC FE0F;
-๐๏ธ desert island; 1F3DD FE0F;
-๐๏ธ national park; 1F3DE FE0F;
-๐๏ธ stadium; 1F3DF FE0F;
-๐๏ธ classical building; 1F3DB FE0F;
-๐๏ธ building construction; 1F3D7 FE0F;
-๐งฑ brick; 1F9F1;
-๐ชจ rock; 1FAA8;
-๐ชต wood; 1FAB5;
-๐ hut; 1F6D6;
-๐๏ธ houses; 1F3D8 FE0F;
-๐๏ธ derelict house; 1F3DA FE0F;
-๐ house; 1F3E0;
-๐ก house with garden; 1F3E1;
-๐ข office building; 1F3E2;
-๐ฃ Japanese post office; 1F3E3;
-๐ค post office; 1F3E4;
-๐ฅ hospital; 1F3E5;
-๐ฆ bank; 1F3E6;
-๐จ hotel; 1F3E8;
-๐ฉ love hotel; 1F3E9;
-๐ช convenience store; 1F3EA;
-๐ซ school; 1F3EB;
-๐ฌ department store; 1F3EC;
-๐ญ factory; 1F3ED;
-๐ฏ Japanese castle; 1F3EF;
-๐ฐ castle; 1F3F0;
-๐ wedding; 1F492;
-๐ผ Tokyo tower; 1F5FC;
-๐ฝ Statue of Liberty; 1F5FD;
-โช church; 26EA;
-๐ mosque; 1F54C;
-๐ hindu temple; 1F6D5;
-๐ synagogue; 1F54D;
-โฉ๏ธ shinto shrine; 26E9 FE0F;
-๐ kaaba; 1F54B;
-โฒ fountain; 26F2;
-โบ tent; 26FA;
-๐ foggy; 1F301;
-๐ night with stars; 1F303;
-๐๏ธ cityscape; 1F3D9 FE0F;
-๐ sunrise over mountains; 1F304;
-๐
sunrise; 1F305;
-๐ cityscape at dusk; 1F306;
-๐ sunset; 1F307;
-๐ bridge at night; 1F309;
-โจ๏ธ hot springs; 2668 FE0F;
-๐ carousel horse; 1F3A0;
-๐ก ferris wheel; 1F3A1;
-๐ข roller coaster; 1F3A2;
-๐ barber pole; 1F488;
-๐ช circus tent; 1F3AA;
-๐ locomotive; 1F682;
-๐ railway car; 1F683;
-๐ high-speed train; 1F684;
-๐
bullet train; 1F685;
-๐ train; 1F686;
-๐ metro; 1F687;
-๐ light rail; 1F688;
-๐ station; 1F689;
-๐ tram; 1F68A;
-๐ monorail; 1F69D;
-๐ mountain railway; 1F69E;
-๐ tram car; 1F68B;
-๐ bus; 1F68C;
-๐ oncoming bus; 1F68D;
-๐ trolleybus; 1F68E;
-๐ minibus; 1F690;
-๐ ambulance; 1F691;
-๐ fire engine; 1F692;
-๐ police car; 1F693;
-๐ oncoming police car; 1F694;
-๐ taxi; 1F695;
-๐ oncoming taxi; 1F696;
-๐ automobile; 1F697;
-๐ oncoming automobile; 1F698;
-๐ sport utility vehicle; 1F699;
-๐ป pickup truck; 1F6FB;
-๐ delivery truck; 1F69A;
-๐ articulated lorry; 1F69B;
-๐ tractor; 1F69C;
-๐๏ธ racing car; 1F3CE FE0F;
-๐๏ธ motorcycle; 1F3CD FE0F;
-๐ต motor scooter; 1F6F5;
-๐ฆฝ manual wheelchair; 1F9BD;
-๐ฆผ motorized wheelchair; 1F9BC;
-๐บ auto rickshaw; 1F6FA;
-๐ฒ bicycle; 1F6B2;
-๐ด kick scooter; 1F6F4;
-๐น skateboard; 1F6F9;
-๐ผ roller skate; 1F6FC;
-๐ bus stop; 1F68F;
-๐ฃ๏ธ motorway; 1F6E3 FE0F;
-๐ค๏ธ railway track; 1F6E4 FE0F;
-๐ข๏ธ oil drum; 1F6E2 FE0F;
-โฝ fuel pump; 26FD;
-๐จ police car light; 1F6A8;
-๐ฅ horizontal traffic light; 1F6A5;
-๐ฆ vertical traffic light; 1F6A6;
-๐ stop sign; 1F6D1;
-๐ง construction; 1F6A7;
-โ anchor; 2693;
-โต sailboat; 26F5;
-๐ถ canoe; 1F6F6;
-๐ค speedboat; 1F6A4;
-๐ณ๏ธ passenger ship; 1F6F3 FE0F;
-โด๏ธ ferry; 26F4 FE0F;
-๐ฅ๏ธ motor boat; 1F6E5 FE0F;
-๐ข ship; 1F6A2;
-โ๏ธ airplane; 2708 FE0F;
-๐ฉ๏ธ small airplane; 1F6E9 FE0F;
-๐ซ airplane departure; 1F6EB;
-๐ฌ airplane arrival; 1F6EC;
-๐ช parachute; 1FA82;
-๐บ seat; 1F4BA;
-๐ helicopter; 1F681;
-๐ suspension railway; 1F69F;
-๐ mountain cableway; 1F6A0;
-๐ก aerial tramway; 1F6A1;
-๐ฐ๏ธ satellite; 1F6F0 FE0F;
-๐ rocket; 1F680;
-๐ธ flying saucer; 1F6F8;
-๐๏ธ bellhop bell; 1F6CE FE0F;
-๐งณ luggage; 1F9F3;
-โ hourglass done; 231B;
-โณ hourglass not done; 23F3;
-โ watch; 231A;
-โฐ alarm clock; 23F0;
-โฑ๏ธ stopwatch; 23F1 FE0F;
-โฒ๏ธ timer clock; 23F2 FE0F;
-๐ฐ๏ธ mantelpiece clock; 1F570 FE0F;
-๐ twelve oโclock; 1F55B;
-๐ง twelve-thirty; 1F567;
-๐ one oโclock; 1F550;
-๐ one-thirty; 1F55C;
-๐ two oโclock; 1F551;
-๐ two-thirty; 1F55D;
-๐ three oโclock; 1F552;
-๐ three-thirty; 1F55E;
-๐ four oโclock; 1F553;
-๐ four-thirty; 1F55F;
-๐ five oโclock; 1F554;
-๐ five-thirty; 1F560;
-๐ six oโclock; 1F555;
-๐ก six-thirty; 1F561;
-๐ seven oโclock; 1F556;
-๐ข seven-thirty; 1F562;
-๐ eight oโclock; 1F557;
-๐ฃ eight-thirty; 1F563;
-๐ nine oโclock; 1F558;
-๐ค nine-thirty; 1F564;
-๐ ten oโclock; 1F559;
-๐ฅ ten-thirty; 1F565;
-๐ eleven oโclock; 1F55A;
-๐ฆ eleven-thirty; 1F566;
-๐ new moon; 1F311;
-๐ waxing crescent moon; 1F312;
-๐ first quarter moon; 1F313;
-๐ waxing gibbous moon; 1F314;
-๐ full moon; 1F315;
-๐ waning gibbous moon; 1F316;
-๐ last quarter moon; 1F317;
-๐ waning crescent moon; 1F318;
-๐ crescent moon; 1F319;
-๐ new moon face; 1F31A;
-๐ first quarter moon face; 1F31B;
-๐ last quarter moon face; 1F31C;
-๐ก๏ธ thermometer; 1F321 FE0F;
-โ๏ธ sun; 2600 FE0F;
-๐ full moon face; 1F31D;
-๐ sun with face; 1F31E;
-๐ช ringed planet; 1FA90;
-โญ star; 2B50;
-๐ glowing star; 1F31F;
-๐ shooting star; 1F320;
-๐ milky way; 1F30C;
-โ๏ธ cloud; 2601 FE0F;
-โ
sun behind cloud; 26C5;
-โ๏ธ cloud with lightning and rain; 26C8 FE0F;
-๐ค๏ธ sun behind small cloud; 1F324 FE0F;
-๐ฅ๏ธ sun behind large cloud; 1F325 FE0F;
-๐ฆ๏ธ sun behind rain cloud; 1F326 FE0F;
-๐ง๏ธ cloud with rain; 1F327 FE0F;
-๐จ๏ธ cloud with snow; 1F328 FE0F;
-๐ฉ๏ธ cloud with lightning; 1F329 FE0F;
-๐ช๏ธ tornado; 1F32A FE0F;
-๐ซ๏ธ fog; 1F32B FE0F;
-๐ฌ๏ธ wind face; 1F32C FE0F;
-๐ cyclone; 1F300;
-๐ rainbow; 1F308;
-๐ closed umbrella; 1F302;
-โ๏ธ umbrella; 2602 FE0F;
-โ umbrella with rain drops; 2614;
-โฑ๏ธ umbrella on ground; 26F1 FE0F;
-โก high voltage; 26A1;
-โ๏ธ snowflake; 2744 FE0F;
-โ๏ธ snowman; 2603 FE0F;
-โ snowman without snow; 26C4;
-โ๏ธ comet; 2604 FE0F;
-๐ฅ fire; 1F525;
-๐ง droplet; 1F4A7;
-๐ water wave; 1F30A;
-๐ jack-o-lantern; 1F383;
-๐ Christmas tree; 1F384;
-๐ fireworks; 1F386;
-๐ sparkler; 1F387;
-๐งจ firecracker; 1F9E8;
-โจ sparkles; 2728;
-๐ balloon; 1F388;
-๐ party popper; 1F389;
-๐ confetti ball; 1F38A;
-๐ tanabata tree; 1F38B;
-๐ pine decoration; 1F38D;
-๐ Japanese dolls; 1F38E;
-๐ carp streamer; 1F38F;
-๐ wind chime; 1F390;
-๐ moon viewing ceremony; 1F391;
-๐งง red envelope; 1F9E7;
-๐ ribbon; 1F380;
-๐ wrapped gift; 1F381;
-๐๏ธ reminder ribbon; 1F397 FE0F;
-๐๏ธ admission tickets; 1F39F FE0F;
-๐ซ ticket; 1F3AB;
-๐๏ธ military medal; 1F396 FE0F;
-๐ trophy; 1F3C6;
-๐
sports medal; 1F3C5;
-๐ฅ 1st place medal; 1F947;
-๐ฅ 2nd place medal; 1F948;
-๐ฅ 3rd place medal; 1F949;
-โฝ soccer ball; 26BD;
-โพ baseball; 26BE;
-๐ฅ softball; 1F94E;
-๐ basketball; 1F3C0;
-๐ volleyball; 1F3D0;
-๐ american football; 1F3C8;
-๐ rugby football; 1F3C9;
-๐พ tennis; 1F3BE;
-๐ฅ flying disc; 1F94F;
-๐ณ bowling; 1F3B3;
-๐ cricket game; 1F3CF;
-๐ field hockey; 1F3D1;
-๐ ice hockey; 1F3D2;
-๐ฅ lacrosse; 1F94D;
-๐ ping pong; 1F3D3;
-๐ธ badminton; 1F3F8;
-๐ฅ boxing glove; 1F94A;
-๐ฅ martial arts uniform; 1F94B;
-๐ฅ
goal net; 1F945;
-โณ flag in hole; 26F3;
-โธ๏ธ ice skate; 26F8 FE0F;
-๐ฃ fishing pole; 1F3A3;
-๐คฟ diving mask; 1F93F;
-๐ฝ running shirt; 1F3BD;
-๐ฟ skis; 1F3BF;
-๐ท sled; 1F6F7;
-๐ฅ curling stone; 1F94C;
-๐ฏ direct hit; 1F3AF;
-๐ช yo-yo; 1FA80;
-๐ช kite; 1FA81;
-๐ฑ pool 8 ball; 1F3B1;
-๐ฎ crystal ball; 1F52E;
-๐ช magic wand; 1FA84;
-๐งฟ nazar amulet; 1F9FF;
-๐ฎ video game; 1F3AE;
-๐น๏ธ joystick; 1F579 FE0F;
-๐ฐ slot machine; 1F3B0;
-๐ฒ game die; 1F3B2;
-๐งฉ puzzle piece; 1F9E9;
-๐งธ teddy bear; 1F9F8;
-๐ช
piรฑata; 1FA85;
-๐ช nesting dolls; 1FA86;
-โ ๏ธ spade suit; 2660 FE0F;
-โฅ๏ธ heart suit; 2665 FE0F;
-โฆ๏ธ diamond suit; 2666 FE0F;
-โฃ๏ธ club suit; 2663 FE0F;
-โ๏ธ chess pawn; 265F FE0F;
-๐ joker; 1F0CF;
-๐ mahjong red dragon; 1F004;
-๐ด flower playing cards; 1F3B4;
-๐ญ performing arts; 1F3AD;
-๐ผ๏ธ framed picture; 1F5BC FE0F;
-๐จ artist palette; 1F3A8;
-๐งต thread; 1F9F5;
-๐ชก sewing needle; 1FAA1;
-๐งถ yarn; 1F9F6;
-๐ชข knot; 1FAA2;
-๐ glasses; 1F453;
-๐ถ๏ธ sunglasses; 1F576 FE0F;
-๐ฅฝ goggles; 1F97D;
-๐ฅผ lab coat; 1F97C;
-๐ฆบ safety vest; 1F9BA;
-๐ necktie; 1F454;
-๐ t-shirt; 1F455;
-๐ jeans; 1F456;
-๐งฃ scarf; 1F9E3;
-๐งค gloves; 1F9E4;
-๐งฅ coat; 1F9E5;
-๐งฆ socks; 1F9E6;
-๐ dress; 1F457;
-๐ kimono; 1F458;
-๐ฅป sari; 1F97B;
-๐ฉฑ one-piece swimsuit; 1FA71;
-๐ฉฒ briefs; 1FA72;
-๐ฉณ shorts; 1FA73;
-๐ bikini; 1F459;
-๐ womanโs clothes; 1F45A;
-๐ purse; 1F45B;
-๐ handbag; 1F45C;
-๐ clutch bag; 1F45D;
-๐๏ธ shopping bags; 1F6CD FE0F;
-๐ backpack; 1F392;
-๐ฉด thong sandal; 1FA74;
-๐ manโs shoe; 1F45E;
-๐ running shoe; 1F45F;
-๐ฅพ hiking boot; 1F97E;
-๐ฅฟ flat shoe; 1F97F;
-๐ high-heeled shoe; 1F460;
-๐ก womanโs sandal; 1F461;
-๐ฉฐ ballet shoes; 1FA70;
-๐ข womanโs boot; 1F462;
-๐ crown; 1F451;
-๐ womanโs hat; 1F452;
-๐ฉ top hat; 1F3A9;
-๐ graduation cap; 1F393;
-๐งข billed cap; 1F9E2;
-๐ช military helmet; 1FA96;
-โ๏ธ rescue workerโs helmet; 26D1 FE0F;
-๐ฟ prayer beads; 1F4FF;
-๐ lipstick; 1F484;
-๐ ring; 1F48D;
-๐ gem stone; 1F48E;
-๐ muted speaker; 1F507;
-๐ speaker low volume; 1F508;
-๐ speaker medium volume; 1F509;
-๐ speaker high volume; 1F50A;
-๐ข loudspeaker; 1F4E2;
-๐ฃ megaphone; 1F4E3;
-๐ฏ postal horn; 1F4EF;
-๐ bell; 1F514;
-๐ bell with slash; 1F515;
-๐ผ musical score; 1F3BC;
-๐ต musical note; 1F3B5;
-๐ถ musical notes; 1F3B6;
-๐๏ธ studio microphone; 1F399 FE0F;
-๐๏ธ level slider; 1F39A FE0F;
-๐๏ธ control knobs; 1F39B FE0F;
-๐ค microphone; 1F3A4;
-๐ง headphone; 1F3A7;
-๐ป radio; 1F4FB;
-๐ท saxophone; 1F3B7;
-๐ช accordion; 1FA97;
-๐ธ guitar; 1F3B8;
-๐น musical keyboard; 1F3B9;
-๐บ trumpet; 1F3BA;
-๐ป violin; 1F3BB;
-๐ช banjo; 1FA95;
-๐ฅ drum; 1F941;
-๐ช long drum; 1FA98;
-๐ฑ mobile phone; 1F4F1;
-๐ฒ mobile phone with arrow; 1F4F2;
-โ๏ธ telephone; 260E FE0F;
-๐ telephone receiver; 1F4DE;
-๐ pager; 1F4DF;
-๐ fax machine; 1F4E0;
-๐ battery; 1F50B;
-๐ electric plug; 1F50C;
-๐ป laptop; 1F4BB;
-๐ฅ๏ธ desktop computer; 1F5A5 FE0F;
-๐จ๏ธ printer; 1F5A8 FE0F;
-โจ๏ธ keyboard; 2328 FE0F;
-๐ฑ๏ธ computer mouse; 1F5B1 FE0F;
-๐ฒ๏ธ trackball; 1F5B2 FE0F;
-๐ฝ computer disk; 1F4BD;
-๐พ floppy disk; 1F4BE;
-๐ฟ optical disk; 1F4BF;
-๐ dvd; 1F4C0;
-๐งฎ abacus; 1F9EE;
-๐ฅ movie camera; 1F3A5;
-๐๏ธ film frames; 1F39E FE0F;
-๐ฝ๏ธ film projector; 1F4FD FE0F;
-๐ฌ clapper board; 1F3AC;
-๐บ television; 1F4FA;
-๐ท camera; 1F4F7;
-๐ธ camera with flash; 1F4F8;
-๐น video camera; 1F4F9;
-๐ผ videocassette; 1F4FC;
-๐ magnifying glass tilted left; 1F50D;
-๐ magnifying glass tilted right; 1F50E;
-๐ฏ๏ธ candle; 1F56F FE0F;
-๐ก light bulb; 1F4A1;
-๐ฆ flashlight; 1F526;
-๐ฎ red paper lantern; 1F3EE;
-๐ช diya lamp; 1FA94;
-๐ notebook with decorative cover; 1F4D4;
-๐ closed book; 1F4D5;
-๐ open book; 1F4D6;
-๐ green book; 1F4D7;
-๐ blue book; 1F4D8;
-๐ orange book; 1F4D9;
-๐ books; 1F4DA;
-๐ notebook; 1F4D3;
-๐ ledger; 1F4D2;
-๐ page with curl; 1F4C3;
-๐ scroll; 1F4DC;
-๐ page facing up; 1F4C4;
-๐ฐ newspaper; 1F4F0;
-๐๏ธ rolled-up newspaper; 1F5DE FE0F;
-๐ bookmark tabs; 1F4D1;
-๐ bookmark; 1F516;
-๐ท๏ธ label; 1F3F7 FE0F;
-๐ฐ money bag; 1F4B0;
-๐ช coin; 1FA99;
-๐ด yen banknote; 1F4B4;
-๐ต dollar banknote; 1F4B5;
-๐ถ euro banknote; 1F4B6;
-๐ท pound banknote; 1F4B7;
-๐ธ money with wings; 1F4B8;
-๐ณ credit card; 1F4B3;
-๐งพ receipt; 1F9FE;
-๐น chart increasing with yen; 1F4B9;
-โ๏ธ envelope; 2709 FE0F;
-๐ง e-mail; 1F4E7;
-๐จ incoming envelope; 1F4E8;
-๐ฉ envelope with arrow; 1F4E9;
-๐ค outbox tray; 1F4E4;
-๐ฅ inbox tray; 1F4E5;
-๐ฆ package; 1F4E6;
-๐ซ closed mailbox with raised flag; 1F4EB;
-๐ช closed mailbox with lowered flag; 1F4EA;
-๐ฌ open mailbox with raised flag; 1F4EC;
-๐ญ open mailbox with lowered flag; 1F4ED;
-๐ฎ postbox; 1F4EE;
-๐ณ๏ธ ballot box with ballot; 1F5F3 FE0F;
-โ๏ธ pencil; 270F FE0F;
-โ๏ธ black nib; 2712 FE0F;
-๐๏ธ fountain pen; 1F58B FE0F;
-๐๏ธ pen; 1F58A FE0F;
-๐๏ธ paintbrush; 1F58C FE0F;
-๐๏ธ crayon; 1F58D FE0F;
-๐ memo; 1F4DD;
-๐ผ briefcase; 1F4BC;
-๐ file folder; 1F4C1;
-๐ open file folder; 1F4C2;
-๐๏ธ card index dividers; 1F5C2 FE0F;
-๐
calendar; 1F4C5;
-๐ tear-off calendar; 1F4C6;
-๐๏ธ spiral notepad; 1F5D2 FE0F;
-๐๏ธ spiral calendar; 1F5D3 FE0F;
-๐ card index; 1F4C7;
-๐ chart increasing; 1F4C8;
-๐ chart decreasing; 1F4C9;
-๐ bar chart; 1F4CA;
-๐ clipboard; 1F4CB;
-๐ pushpin; 1F4CC;
-๐ round pushpin; 1F4CD;
-๐ paperclip; 1F4CE;
-๐๏ธ linked paperclips; 1F587 FE0F;
-๐ straight ruler; 1F4CF;
-๐ triangular ruler; 1F4D0;
-โ๏ธ scissors; 2702 FE0F;
-๐๏ธ card file box; 1F5C3 FE0F;
-๐๏ธ file cabinet; 1F5C4 FE0F;
-๐๏ธ wastebasket; 1F5D1 FE0F;
-๐ locked; 1F512;
-๐ unlocked; 1F513;
-๐ locked with pen; 1F50F;
-๐ locked with key; 1F510;
-๐ key; 1F511;
-๐๏ธ old key; 1F5DD FE0F;
-๐จ hammer; 1F528;
-๐ช axe; 1FA93;
-โ๏ธ pick; 26CF FE0F;
-โ๏ธ hammer and pick; 2692 FE0F;
-๐ ๏ธ hammer and wrench; 1F6E0 FE0F;
-๐ก๏ธ dagger; 1F5E1 FE0F;
-โ๏ธ crossed swords; 2694 FE0F;
-๐ซ pistol; 1F52B;
-๐ช boomerang; 1FA83;
-๐น bow and arrow; 1F3F9;
-๐ก๏ธ shield; 1F6E1 FE0F;
-๐ช carpentry saw; 1FA9A;
-๐ง wrench; 1F527;
-๐ช screwdriver; 1FA9B;
-๐ฉ nut and bolt; 1F529;
-โ๏ธ gear; 2699 FE0F;
-๐๏ธ clamp; 1F5DC FE0F;
-โ๏ธ balance scale; 2696 FE0F;
-๐ฆฏ white cane; 1F9AF;
-๐ link; 1F517;
-โ๏ธ chains; 26D3 FE0F;
-๐ช hook; 1FA9D;
-๐งฐ toolbox; 1F9F0;
-๐งฒ magnet; 1F9F2;
-๐ช ladder; 1FA9C;
-โ๏ธ alembic; 2697 FE0F;
-๐งช test tube; 1F9EA;
-๐งซ petri dish; 1F9EB;
-๐งฌ dna; 1F9EC;
-๐ฌ microscope; 1F52C;
-๐ญ telescope; 1F52D;
-๐ก satellite antenna; 1F4E1;
-๐ syringe; 1F489;
-๐ฉธ drop of blood; 1FA78;
-๐ pill; 1F48A;
-๐ฉน adhesive bandage; 1FA79;
-๐ฉบ stethoscope; 1FA7A;
-๐ช door; 1F6AA;
-๐ elevator; 1F6D7;
-๐ช mirror; 1FA9E;
-๐ช window; 1FA9F;
-๐๏ธ bed; 1F6CF FE0F;
-๐๏ธ couch and lamp; 1F6CB FE0F;
-๐ช chair; 1FA91;
-๐ฝ toilet; 1F6BD;
-๐ช plunger; 1FAA0;
-๐ฟ shower; 1F6BF;
-๐ bathtub; 1F6C1;
-๐ชค mouse trap; 1FAA4;
-๐ช razor; 1FA92;
-๐งด lotion bottle; 1F9F4;
-๐งท safety pin; 1F9F7;
-๐งน broom; 1F9F9;
-๐งบ basket; 1F9FA;
-๐งป roll of paper; 1F9FB;
-๐ชฃ bucket; 1FAA3;
-๐งผ soap; 1F9FC;
-๐ชฅ toothbrush; 1FAA5;
-๐งฝ sponge; 1F9FD;
-๐งฏ fire extinguisher; 1F9EF;
-๐ shopping cart; 1F6D2;
-๐ฌ cigarette; 1F6AC;
-โฐ๏ธ coffin; 26B0 FE0F;
-๐ชฆ headstone; 1FAA6;
-โฑ๏ธ funeral urn; 26B1 FE0F;
-๐ฟ moai; 1F5FF;
-๐ชง placard; 1FAA7;
-๐ง ATM sign; 1F3E7;
-๐ฎ litter in bin sign; 1F6AE;
-๐ฐ potable water; 1F6B0;
-โฟ wheelchair symbol; 267F;
-๐น menโs room; 1F6B9;
-๐บ womenโs room; 1F6BA;
-๐ป restroom; 1F6BB;
-๐ผ baby symbol; 1F6BC;
-๐พ water closet; 1F6BE;
-๐ passport control; 1F6C2;
-๐ customs; 1F6C3;
-๐ baggage claim; 1F6C4;
-๐
left luggage; 1F6C5;
-โ ๏ธ warning; 26A0 FE0F;
-๐ธ children crossing; 1F6B8;
-โ no entry; 26D4;
-๐ซ prohibited; 1F6AB;
-๐ณ no bicycles; 1F6B3;
-๐ญ no smoking; 1F6AD;
-๐ฏ no littering; 1F6AF;
-๐ฑ non-potable water; 1F6B1;
-๐ท no pedestrians; 1F6B7;
-๐ต no mobile phones; 1F4F5;
-๐ no one under eighteen; 1F51E;
-โข๏ธ radioactive; 2622 FE0F;
-โฃ๏ธ biohazard; 2623 FE0F;
-โฌ๏ธ up arrow; 2B06 FE0F;
-โ๏ธ up-right arrow; 2197 FE0F;
-โก๏ธ right arrow; 27A1 FE0F;
-โ๏ธ down-right arrow; 2198 FE0F;
-โฌ๏ธ down arrow; 2B07 FE0F;
-โ๏ธ down-left arrow; 2199 FE0F;
-โฌ
๏ธ left arrow; 2B05 FE0F;
-โ๏ธ up-left arrow; 2196 FE0F;
-โ๏ธ up-down arrow; 2195 FE0F;
-โ๏ธ left-right arrow; 2194 FE0F;
-โฉ๏ธ right arrow curving left; 21A9 FE0F;
-โช๏ธ left arrow curving right; 21AA FE0F;
-โคด๏ธ right arrow curving up; 2934 FE0F;
-โคต๏ธ right arrow curving down; 2935 FE0F;
-๐ clockwise vertical arrows; 1F503;
-๐ counterclockwise arrows button; 1F504;
-๐ BACK arrow; 1F519;
-๐ END arrow; 1F51A;
-๐ ON! arrow; 1F51B;
-๐ SOON arrow; 1F51C;
-๐ TOP arrow; 1F51D;
-๐ place of worship; 1F6D0;
-โ๏ธ atom symbol; 269B FE0F;
-๐๏ธ om; 1F549 FE0F;
-โก๏ธ star of David; 2721 FE0F;
-โธ๏ธ wheel of dharma; 2638 FE0F;
-โฏ๏ธ yin yang; 262F FE0F;
-โ๏ธ latin cross; 271D FE0F;
-โฆ๏ธ orthodox cross; 2626 FE0F;
-โช๏ธ star and crescent; 262A FE0F;
-โฎ๏ธ peace symbol; 262E FE0F;
-๐ menorah; 1F54E;
-๐ฏ dotted six-pointed star; 1F52F;
-โ Aries; 2648;
-โ Taurus; 2649;
-โ Gemini; 264A;
-โ Cancer; 264B;
-โ Leo; 264C;
-โ Virgo; 264D;
-โ Libra; 264E;
-โ Scorpio; 264F;
-โ Sagittarius; 2650;
-โ Capricorn; 2651;
-โ Aquarius; 2652;
-โ Pisces; 2653;
-โ Ophiuchus; 26CE;
-๐ shuffle tracks button; 1F500;
-๐ repeat button; 1F501;
-๐ repeat single button; 1F502;
-โถ๏ธ play button; 25B6 FE0F;
-โฉ fast-forward button; 23E9;
-โญ๏ธ next track button; 23ED FE0F;
-โฏ๏ธ play or pause button; 23EF FE0F;
-โ๏ธ reverse button; 25C0 FE0F;
-โช fast reverse button; 23EA;
-โฎ๏ธ last track button; 23EE FE0F;
-๐ผ upwards button; 1F53C;
-โซ fast up button; 23EB;
-๐ฝ downwards button; 1F53D;
-โฌ fast down button; 23EC;
-โธ๏ธ pause button; 23F8 FE0F;
-โน๏ธ stop button; 23F9 FE0F;
-โบ๏ธ record button; 23FA FE0F;
-โ๏ธ eject button; 23CF FE0F;
-๐ฆ cinema; 1F3A6;
-๐
dim button; 1F505;
-๐ bright button; 1F506;
-๐ถ antenna bars; 1F4F6;
-๐ณ vibration mode; 1F4F3;
-๐ด mobile phone off; 1F4F4;
-โ๏ธ female sign; 2640 FE0F;
-โ๏ธ male sign; 2642 FE0F;
-โง๏ธ transgender symbol; 26A7 FE0F;
-โ๏ธ multiply; 2716 FE0F;
-โ plus; 2795;
-โ minus; 2796;
-โ divide; 2797;
-โพ๏ธ infinity; 267E FE0F;
-โผ๏ธ double exclamation mark; 203C FE0F;
-โ๏ธ exclamation question mark; 2049 FE0F;
-โ question mark; 2753;
-โ white question mark; 2754;
-โ white exclamation mark; 2755;
-โ exclamation mark; 2757;
-ใฐ๏ธ wavy dash; 3030 FE0F;
-๐ฑ currency exchange; 1F4B1;
-๐ฒ heavy dollar sign; 1F4B2;
-โ๏ธ medical symbol; 2695 FE0F;
-โป๏ธ recycling symbol; 267B FE0F;
-โ๏ธ fleur-de-lis; 269C FE0F;
-๐ฑ trident emblem; 1F531;
-๐ name badge; 1F4DB;
-๐ฐ Japanese symbol for beginner; 1F530;
-โญ hollow red circle; 2B55;
-โ
check mark button; 2705;
-โ๏ธ check box with check; 2611 FE0F;
-โ๏ธ check mark; 2714 FE0F;
-โ cross mark; 274C;
-โ cross mark button; 274E;
-โฐ curly loop; 27B0;
-โฟ double curly loop; 27BF;
-ใฝ๏ธ part alternation mark; 303D FE0F;
-โณ๏ธ eight-spoked asterisk; 2733 FE0F;
-โด๏ธ eight-pointed star; 2734 FE0F;
-โ๏ธ sparkle; 2747 FE0F;
-ยฉ๏ธ copyright; 00A9 FE0F;
-ยฎ๏ธ registered; 00AE FE0F;
-โข๏ธ trade mark; 2122 FE0F;
-#๏ธโฃ keycap: #; 0023 FE0F 20E3;
-*๏ธโฃ keycap: *; 002A FE0F 20E3;
-0๏ธโฃ keycap: 0; 0030 FE0F 20E3;
-1๏ธโฃ keycap: 1; 0031 FE0F 20E3;
-2๏ธโฃ keycap: 2; 0032 FE0F 20E3;
-3๏ธโฃ keycap: 3; 0033 FE0F 20E3;
-4๏ธโฃ keycap: 4; 0034 FE0F 20E3;
-5๏ธโฃ keycap: 5; 0035 FE0F 20E3;
-6๏ธโฃ keycap: 6; 0036 FE0F 20E3;
-7๏ธโฃ keycap: 7; 0037 FE0F 20E3;
-8๏ธโฃ keycap: 8; 0038 FE0F 20E3;
-9๏ธโฃ keycap: 9; 0039 FE0F 20E3;
-๐ keycap: 10; 1F51F;
-๐ input latin uppercase; 1F520;
-๐ก input latin lowercase; 1F521;
-๐ข input numbers; 1F522;
-๐ฃ input symbols; 1F523;
-๐ค input latin letters; 1F524;
-๐
ฐ๏ธ A button (blood type); 1F170 FE0F;
-๐ AB button (blood type); 1F18E;
-๐
ฑ๏ธ B button (blood type); 1F171 FE0F;
-๐ CL button; 1F191;
-๐ COOL button; 1F192;
-๐ FREE button; 1F193;
-โน๏ธ information; 2139 FE0F;
-๐ ID button; 1F194;
-โ๏ธ circled M; 24C2 FE0F;
-๐ NEW button; 1F195;
-๐ NG button; 1F196;
-๐
พ๏ธ O button (blood type); 1F17E FE0F;
-๐ OK button; 1F197;
-๐
ฟ๏ธ P button; 1F17F FE0F;
-๐ SOS button; 1F198;
-๐ UP! button; 1F199;
-๐ VS button; 1F19A;
-๐ Japanese โhereโ button; 1F201;
-๐๏ธ Japanese โservice chargeโ button; 1F202 FE0F;
-๐ท๏ธ Japanese โmonthly amountโ button; 1F237 FE0F;
-๐ถ Japanese โnot free of chargeโ button; 1F236;
-๐ฏ Japanese โreservedโ button; 1F22F;
-๐ Japanese โbargainโ button; 1F250;
-๐น Japanese โdiscountโ button; 1F239;
-๐ Japanese โfree of chargeโ button; 1F21A;
-๐ฒ Japanese โprohibitedโ button; 1F232;
-๐ Japanese โacceptableโ button; 1F251;
-๐ธ Japanese โapplicationโ button; 1F238;
-๐ด Japanese โpassing gradeโ button; 1F234;
-๐ณ Japanese โvacancyโ button; 1F233;
-ใ๏ธ Japanese โcongratulationsโ button; 3297 FE0F;
-ใ๏ธ Japanese โsecretโ button; 3299 FE0F;
-๐บ Japanese โopen for businessโ button; 1F23A;
-๐ต Japanese โno vacancyโ button; 1F235;
-๐ด red circle; 1F534;
-๐ orange circle; 1F7E0;
-๐ก yellow circle; 1F7E1;
-๐ข green circle; 1F7E2;
-๐ต blue circle; 1F535;
-๐ฃ purple circle; 1F7E3;
-๐ค brown circle; 1F7E4;
-โซ black circle; 26AB;
-โช white circle; 26AA;
-๐ฅ red square; 1F7E5;
-๐ง orange square; 1F7E7;
-๐จ yellow square; 1F7E8;
-๐ฉ green square; 1F7E9;
-๐ฆ blue square; 1F7E6;
-๐ช purple square; 1F7EA;
-๐ซ brown square; 1F7EB;
-โฌ black large square; 2B1B;
-โฌ white large square; 2B1C;
-โผ๏ธ black medium square; 25FC FE0F;
-โป๏ธ white medium square; 25FB FE0F;
-โพ black medium-small square; 25FE;
-โฝ white medium-small square; 25FD;
-โช๏ธ black small square; 25AA FE0F;
-โซ๏ธ white small square; 25AB FE0F;
-๐ถ large orange diamond; 1F536;
-๐ท large blue diamond; 1F537;
-๐ธ small orange diamond; 1F538;
-๐น small blue diamond; 1F539;
-๐บ red triangle pointed up; 1F53A;
-๐ป red triangle pointed down; 1F53B;
-๐ diamond with a dot; 1F4A0;
-๐ radio button; 1F518;
-๐ณ white square button; 1F533;
-๐ฒ black square button; 1F532;
-๐ chequered flag; 1F3C1;
-๐ฉ triangular flag; 1F6A9;
-๐ crossed flags; 1F38C;
-๐ด black flag; 1F3F4;
-๐ณ๏ธ white flag; 1F3F3 FE0F;
-๐ฆ๐จ flag: Ascension Island; 1F1E6 1F1E8;
-๐ฆ๐ฉ flag: Andorra; 1F1E6 1F1E9;
-๐ฆ๐ช flag: United Arab Emirates; 1F1E6 1F1EA;
-๐ฆ๐ซ flag: Afghanistan; 1F1E6 1F1EB;
-๐ฆ๐ฌ flag: Antigua & Barbuda; 1F1E6 1F1EC;
-๐ฆ๐ฎ flag: Anguilla; 1F1E6 1F1EE;
-๐ฆ๐ฑ flag: Albania; 1F1E6 1F1F1;
-๐ฆ๐ฒ flag: Armenia; 1F1E6 1F1F2;
-๐ฆ๐ด flag: Angola; 1F1E6 1F1F4;
-๐ฆ๐ถ flag: Antarctica; 1F1E6 1F1F6;
-๐ฆ๐ท flag: Argentina; 1F1E6 1F1F7;
-๐ฆ๐ธ flag: American Samoa; 1F1E6 1F1F8;
-๐ฆ๐น flag: Austria; 1F1E6 1F1F9;
-๐ฆ๐บ flag: Australia; 1F1E6 1F1FA;
-๐ฆ๐ผ flag: Aruba; 1F1E6 1F1FC;
-๐ฆ๐ฝ flag: ร
land Islands; 1F1E6 1F1FD;
-๐ฆ๐ฟ flag: Azerbaijan; 1F1E6 1F1FF;
-๐ง๐ฆ flag: Bosnia & Herzegovina; 1F1E7 1F1E6;
-๐ง๐ง flag: Barbados; 1F1E7 1F1E7;
-๐ง๐ฉ flag: Bangladesh; 1F1E7 1F1E9;
-๐ง๐ช flag: Belgium; 1F1E7 1F1EA;
-๐ง๐ซ flag: Burkina Faso; 1F1E7 1F1EB;
-๐ง๐ฌ flag: Bulgaria; 1F1E7 1F1EC;
-๐ง๐ญ flag: Bahrain; 1F1E7 1F1ED;
-๐ง๐ฎ flag: Burundi; 1F1E7 1F1EE;
-๐ง๐ฏ flag: Benin; 1F1E7 1F1EF;
-๐ง๐ฑ flag: St. Barthรฉlemy; 1F1E7 1F1F1;
-๐ง๐ฒ flag: Bermuda; 1F1E7 1F1F2;
-๐ง๐ณ flag: Brunei; 1F1E7 1F1F3;
-๐ง๐ด flag: Bolivia; 1F1E7 1F1F4;
-๐ง๐ถ flag: Caribbean Netherlands; 1F1E7 1F1F6;
-๐ง๐ท flag: Brazil; 1F1E7 1F1F7;
-๐ง๐ธ flag: Bahamas; 1F1E7 1F1F8;
-๐ง๐น flag: Bhutan; 1F1E7 1F1F9;
-๐ง๐ป flag: Bouvet Island; 1F1E7 1F1FB;
-๐ง๐ผ flag: Botswana; 1F1E7 1F1FC;
-๐ง๐พ flag: Belarus; 1F1E7 1F1FE;
-๐ง๐ฟ flag: Belize; 1F1E7 1F1FF;
-๐จ๐ฆ flag: Canada; 1F1E8 1F1E6;
-๐จ๐จ flag: Cocos (Keeling) Islands; 1F1E8 1F1E8;
-๐จ๐ฉ flag: Congo - Kinshasa; 1F1E8 1F1E9;
-๐จ๐ซ flag: Central African Republic; 1F1E8 1F1EB;
-๐จ๐ฌ flag: Congo - Brazzaville; 1F1E8 1F1EC;
-๐จ๐ญ flag: Switzerland; 1F1E8 1F1ED;
-๐จ๐ฎ flag: Cรดte dโIvoire; 1F1E8 1F1EE;
-๐จ๐ฐ flag: Cook Islands; 1F1E8 1F1F0;
-๐จ๐ฑ flag: Chile; 1F1E8 1F1F1;
-๐จ๐ฒ flag: Cameroon; 1F1E8 1F1F2;
-๐จ๐ณ flag: China; 1F1E8 1F1F3;
-๐จ๐ด flag: Colombia; 1F1E8 1F1F4;
-๐จ๐ต flag: Clipperton Island; 1F1E8 1F1F5;
-๐จ๐ท flag: Costa Rica; 1F1E8 1F1F7;
-๐จ๐บ flag: Cuba; 1F1E8 1F1FA;
-๐จ๐ป flag: Cape Verde; 1F1E8 1F1FB;
-๐จ๐ผ flag: Curaรงao; 1F1E8 1F1FC;
-๐จ๐ฝ flag: Christmas Island; 1F1E8 1F1FD;
-๐จ๐พ flag: Cyprus; 1F1E8 1F1FE;
-๐จ๐ฟ flag: Czechia; 1F1E8 1F1FF;
-๐ฉ๐ช flag: Germany; 1F1E9 1F1EA;
-๐ฉ๐ฌ flag: Diego Garcia; 1F1E9 1F1EC;
-๐ฉ๐ฏ flag: Djibouti; 1F1E9 1F1EF;
-๐ฉ๐ฐ flag: Denmark; 1F1E9 1F1F0;
-๐ฉ๐ฒ flag: Dominica; 1F1E9 1F1F2;
-๐ฉ๐ด flag: Dominican Republic; 1F1E9 1F1F4;
-๐ฉ๐ฟ flag: Algeria; 1F1E9 1F1FF;
-๐ช๐ฆ flag: Ceuta & Melilla; 1F1EA 1F1E6;
-๐ช๐จ flag: Ecuador; 1F1EA 1F1E8;
-๐ช๐ช flag: Estonia; 1F1EA 1F1EA;
-๐ช๐ฌ flag: Egypt; 1F1EA 1F1EC;
-๐ช๐ญ flag: Western Sahara; 1F1EA 1F1ED;
-๐ช๐ท flag: Eritrea; 1F1EA 1F1F7;
-๐ช๐ธ flag: Spain; 1F1EA 1F1F8;
-๐ช๐น flag: Ethiopia; 1F1EA 1F1F9;
-๐ช๐บ flag: European Union; 1F1EA 1F1FA;
-๐ซ๐ฎ flag: Finland; 1F1EB 1F1EE;
-๐ซ๐ฏ flag: Fiji; 1F1EB 1F1EF;
-๐ซ๐ฐ flag: Falkland Islands; 1F1EB 1F1F0;
-๐ซ๐ฒ flag: Micronesia; 1F1EB 1F1F2;
-๐ซ๐ด flag: Faroe Islands; 1F1EB 1F1F4;
-๐ซ๐ท flag: France; 1F1EB 1F1F7;
-๐ฌ๐ฆ flag: Gabon; 1F1EC 1F1E6;
-๐ฌ๐ง flag: United Kingdom; 1F1EC 1F1E7;
-๐ฌ๐ฉ flag: Grenada; 1F1EC 1F1E9;
-๐ฌ๐ช flag: Georgia; 1F1EC 1F1EA;
-๐ฌ๐ซ flag: French Guiana; 1F1EC 1F1EB;
-๐ฌ๐ฌ flag: Guernsey; 1F1EC 1F1EC;
-๐ฌ๐ญ flag: Ghana; 1F1EC 1F1ED;
-๐ฌ๐ฎ flag: Gibraltar; 1F1EC 1F1EE;
-๐ฌ๐ฑ flag: Greenland; 1F1EC 1F1F1;
-๐ฌ๐ฒ flag: Gambia; 1F1EC 1F1F2;
-๐ฌ๐ณ flag: Guinea; 1F1EC 1F1F3;
-๐ฌ๐ต flag: Guadeloupe; 1F1EC 1F1F5;
-๐ฌ๐ถ flag: Equatorial Guinea; 1F1EC 1F1F6;
-๐ฌ๐ท flag: Greece; 1F1EC 1F1F7;
-๐ฌ๐ธ flag: South Georgia & South Sandwich Islands; 1F1EC 1F1F8;
-๐ฌ๐น flag: Guatemala; 1F1EC 1F1F9;
-๐ฌ๐บ flag: Guam; 1F1EC 1F1FA;
-๐ฌ๐ผ flag: Guinea-Bissau; 1F1EC 1F1FC;
-๐ฌ๐พ flag: Guyana; 1F1EC 1F1FE;
-๐ญ๐ฐ flag: Hong Kong SAR China; 1F1ED 1F1F0;
-๐ญ๐ฒ flag: Heard & McDonald Islands; 1F1ED 1F1F2;
-๐ญ๐ณ flag: Honduras; 1F1ED 1F1F3;
-๐ญ๐ท flag: Croatia; 1F1ED 1F1F7;
-๐ญ๐น flag: Haiti; 1F1ED 1F1F9;
-๐ญ๐บ flag: Hungary; 1F1ED 1F1FA;
-๐ฎ๐จ flag: Canary Islands; 1F1EE 1F1E8;
-๐ฎ๐ฉ flag: Indonesia; 1F1EE 1F1E9;
-๐ฎ๐ช flag: Ireland; 1F1EE 1F1EA;
-๐ฎ๐ฑ flag: Israel; 1F1EE 1F1F1;
-๐ฎ๐ฒ flag: Isle of Man; 1F1EE 1F1F2;
-๐ฎ๐ณ flag: India; 1F1EE 1F1F3;
-๐ฎ๐ด flag: British Indian Ocean Territory; 1F1EE 1F1F4;
-๐ฎ๐ถ flag: Iraq; 1F1EE 1F1F6;
-๐ฎ๐ท flag: Iran; 1F1EE 1F1F7;
-๐ฎ๐ธ flag: Iceland; 1F1EE 1F1F8;
-๐ฎ๐น flag: Italy; 1F1EE 1F1F9;
-๐ฏ๐ช flag: Jersey; 1F1EF 1F1EA;
-๐ฏ๐ฒ flag: Jamaica; 1F1EF 1F1F2;
-๐ฏ๐ด flag: Jordan; 1F1EF 1F1F4;
-๐ฏ๐ต flag: Japan; 1F1EF 1F1F5;
-๐ฐ๐ช flag: Kenya; 1F1F0 1F1EA;
-๐ฐ๐ฌ flag: Kyrgyzstan; 1F1F0 1F1EC;
-๐ฐ๐ญ flag: Cambodia; 1F1F0 1F1ED;
-๐ฐ๐ฎ flag: Kiribati; 1F1F0 1F1EE;
-๐ฐ๐ฒ flag: Comoros; 1F1F0 1F1F2;
-๐ฐ๐ณ flag: St. Kitts & Nevis; 1F1F0 1F1F3;
-๐ฐ๐ต flag: North Korea; 1F1F0 1F1F5;
-๐ฐ๐ท flag: South Korea; 1F1F0 1F1F7;
-๐ฐ๐ผ flag: Kuwait; 1F1F0 1F1FC;
-๐ฐ๐พ flag: Cayman Islands; 1F1F0 1F1FE;
-๐ฐ๐ฟ flag: Kazakhstan; 1F1F0 1F1FF;
-๐ฑ๐ฆ flag: Laos; 1F1F1 1F1E6;
-๐ฑ๐ง flag: Lebanon; 1F1F1 1F1E7;
-๐ฑ๐จ flag: St. Lucia; 1F1F1 1F1E8;
-๐ฑ๐ฎ flag: Liechtenstein; 1F1F1 1F1EE;
-๐ฑ๐ฐ flag: Sri Lanka; 1F1F1 1F1F0;
-๐ฑ๐ท flag: Liberia; 1F1F1 1F1F7;
-๐ฑ๐ธ flag: Lesotho; 1F1F1 1F1F8;
-๐ฑ๐น flag: Lithuania; 1F1F1 1F1F9;
-๐ฑ๐บ flag: Luxembourg; 1F1F1 1F1FA;
-๐ฑ๐ป flag: Latvia; 1F1F1 1F1FB;
-๐ฑ๐พ flag: Libya; 1F1F1 1F1FE;
-๐ฒ๐ฆ flag: Morocco; 1F1F2 1F1E6;
-๐ฒ๐จ flag: Monaco; 1F1F2 1F1E8;
-๐ฒ๐ฉ flag: Moldova; 1F1F2 1F1E9;
-๐ฒ๐ช flag: Montenegro; 1F1F2 1F1EA;
-๐ฒ๐ซ flag: St. Martin; 1F1F2 1F1EB;
-๐ฒ๐ฌ flag: Madagascar; 1F1F2 1F1EC;
-๐ฒ๐ญ flag: Marshall Islands; 1F1F2 1F1ED;
-๐ฒ๐ฐ flag: North Macedonia; 1F1F2 1F1F0;
-๐ฒ๐ฑ flag: Mali; 1F1F2 1F1F1;
-๐ฒ๐ฒ flag: Myanmar (Burma); 1F1F2 1F1F2;
-๐ฒ๐ณ flag: Mongolia; 1F1F2 1F1F3;
-๐ฒ๐ด flag: Macao SAR China; 1F1F2 1F1F4;
-๐ฒ๐ต flag: Northern Mariana Islands; 1F1F2 1F1F5;
-๐ฒ๐ถ flag: Martinique; 1F1F2 1F1F6;
-๐ฒ๐ท flag: Mauritania; 1F1F2 1F1F7;
-๐ฒ๐ธ flag: Montserrat; 1F1F2 1F1F8;
-๐ฒ๐น flag: Malta; 1F1F2 1F1F9;
-๐ฒ๐บ flag: Mauritius; 1F1F2 1F1FA;
-๐ฒ๐ป flag: Maldives; 1F1F2 1F1FB;
-๐ฒ๐ผ flag: Malawi; 1F1F2 1F1FC;
-๐ฒ๐ฝ flag: Mexico; 1F1F2 1F1FD;
-๐ฒ๐พ flag: Malaysia; 1F1F2 1F1FE;
-๐ฒ๐ฟ flag: Mozambique; 1F1F2 1F1FF;
-๐ณ๐ฆ flag: Namibia; 1F1F3 1F1E6;
-๐ณ๐จ flag: New Caledonia; 1F1F3 1F1E8;
-๐ณ๐ช flag: Niger; 1F1F3 1F1EA;
-๐ณ๐ซ flag: Norfolk Island; 1F1F3 1F1EB;
-๐ณ๐ฌ flag: Nigeria; 1F1F3 1F1EC;
-๐ณ๐ฎ flag: Nicaragua; 1F1F3 1F1EE;
-๐ณ๐ฑ flag: Netherlands; 1F1F3 1F1F1;
-๐ณ๐ด flag: Norway; 1F1F3 1F1F4;
-๐ณ๐ต flag: Nepal; 1F1F3 1F1F5;
-๐ณ๐ท flag: Nauru; 1F1F3 1F1F7;
-๐ณ๐บ flag: Niue; 1F1F3 1F1FA;
-๐ณ๐ฟ flag: New Zealand; 1F1F3 1F1FF;
-๐ด๐ฒ flag: Oman; 1F1F4 1F1F2;
-๐ต๐ฆ flag: Panama; 1F1F5 1F1E6;
-๐ต๐ช flag: Peru; 1F1F5 1F1EA;
-๐ต๐ซ flag: French Polynesia; 1F1F5 1F1EB;
-๐ต๐ฌ flag: Papua New Guinea; 1F1F5 1F1EC;
-๐ต๐ญ flag: Philippines; 1F1F5 1F1ED;
-๐ต๐ฐ flag: Pakistan; 1F1F5 1F1F0;
-๐ต๐ฑ flag: Poland; 1F1F5 1F1F1;
-๐ต๐ฒ flag: St. Pierre & Miquelon; 1F1F5 1F1F2;
-๐ต๐ณ flag: Pitcairn Islands; 1F1F5 1F1F3;
-๐ต๐ท flag: Puerto Rico; 1F1F5 1F1F7;
-๐ต๐ธ flag: Palestinian Territories; 1F1F5 1F1F8;
-๐ต๐น flag: Portugal; 1F1F5 1F1F9;
-๐ต๐ผ flag: Palau; 1F1F5 1F1FC;
-๐ต๐พ flag: Paraguay; 1F1F5 1F1FE;
-๐ถ๐ฆ flag: Qatar; 1F1F6 1F1E6;
-๐ท๐ช flag: Rรฉunion; 1F1F7 1F1EA;
-๐ท๐ด flag: Romania; 1F1F7 1F1F4;
-๐ท๐ธ flag: Serbia; 1F1F7 1F1F8;
-๐ท๐บ flag: Russia; 1F1F7 1F1FA;
-๐ท๐ผ flag: Rwanda; 1F1F7 1F1FC;
-๐ธ๐ฆ flag: Saudi Arabia; 1F1F8 1F1E6;
-๐ธ๐ง flag: Solomon Islands; 1F1F8 1F1E7;
-๐ธ๐จ flag: Seychelles; 1F1F8 1F1E8;
-๐ธ๐ฉ flag: Sudan; 1F1F8 1F1E9;
-๐ธ๐ช flag: Sweden; 1F1F8 1F1EA;
-๐ธ๐ฌ flag: Singapore; 1F1F8 1F1EC;
-๐ธ๐ญ flag: St. Helena; 1F1F8 1F1ED;
-๐ธ๐ฎ flag: Slovenia; 1F1F8 1F1EE;
-๐ธ๐ฏ flag: Svalbard & Jan Mayen; 1F1F8 1F1EF;
-๐ธ๐ฐ flag: Slovakia; 1F1F8 1F1F0;
-๐ธ๐ฑ flag: Sierra Leone; 1F1F8 1F1F1;
-๐ธ๐ฒ flag: San Marino; 1F1F8 1F1F2;
-๐ธ๐ณ flag: Senegal; 1F1F8 1F1F3;
-๐ธ๐ด flag: Somalia; 1F1F8 1F1F4;
-๐ธ๐ท flag: Suriname; 1F1F8 1F1F7;
-๐ธ๐ธ flag: South Sudan; 1F1F8 1F1F8;
-๐ธ๐น flag: Sรฃo Tomรฉ & Prรญncipe; 1F1F8 1F1F9;
-๐ธ๐ป flag: El Salvador; 1F1F8 1F1FB;
-๐ธ๐ฝ flag: Sint Maarten; 1F1F8 1F1FD;
-๐ธ๐พ flag: Syria; 1F1F8 1F1FE;
-๐ธ๐ฟ flag: Eswatini; 1F1F8 1F1FF;
-๐น๐ฆ flag: Tristan da Cunha; 1F1F9 1F1E6;
-๐น๐จ flag: Turks & Caicos Islands; 1F1F9 1F1E8;
-๐น๐ฉ flag: Chad; 1F1F9 1F1E9;
-๐น๐ซ flag: French Southern Territories; 1F1F9 1F1EB;
-๐น๐ฌ flag: Togo; 1F1F9 1F1EC;
-๐น๐ญ flag: Thailand; 1F1F9 1F1ED;
-๐น๐ฏ flag: Tajikistan; 1F1F9 1F1EF;
-๐น๐ฐ flag: Tokelau; 1F1F9 1F1F0;
-๐น๐ฑ flag: Timor-Leste; 1F1F9 1F1F1;
-๐น๐ฒ flag: Turkmenistan; 1F1F9 1F1F2;
-๐น๐ณ flag: Tunisia; 1F1F9 1F1F3;
-๐น๐ด flag: Tonga; 1F1F9 1F1F4;
-๐น๐ท flag: Turkey; 1F1F9 1F1F7;
-๐น๐น flag: Trinidad & Tobago; 1F1F9 1F1F9;
-๐น๐ป flag: Tuvalu; 1F1F9 1F1FB;
-๐น๐ผ flag: Taiwan; 1F1F9 1F1FC;
-๐น๐ฟ flag: Tanzania; 1F1F9 1F1FF;
-๐บ๐ฆ flag: Ukraine; 1F1FA 1F1E6;
-๐บ๐ฌ flag: Uganda; 1F1FA 1F1EC;
-๐บ๐ฒ flag: U.S. Outlying Islands; 1F1FA 1F1F2;
-๐บ๐ณ flag: United Nations; 1F1FA 1F1F3;
-๐บ๐ธ flag: United States; 1F1FA 1F1F8;
-๐บ๐พ flag: Uruguay; 1F1FA 1F1FE;
-๐บ๐ฟ flag: Uzbekistan; 1F1FA 1F1FF;
-๐ป๐ฆ flag: Vatican City; 1F1FB 1F1E6;
-๐ป๐จ flag: St. Vincent & Grenadines; 1F1FB 1F1E8;
-๐ป๐ช flag: Venezuela; 1F1FB 1F1EA;
-๐ป๐ฌ flag: British Virgin Islands; 1F1FB 1F1EC;
-๐ป๐ฎ flag: U.S. Virgin Islands; 1F1FB 1F1EE;
-๐ป๐ณ flag: Vietnam; 1F1FB 1F1F3;
-๐ป๐บ flag: Vanuatu; 1F1FB 1F1FA;
-๐ผ๐ซ flag: Wallis & Futuna; 1F1FC 1F1EB;
-๐ผ๐ธ flag: Samoa; 1F1FC 1F1F8;
-๐ฝ๐ฐ flag: Kosovo; 1F1FD 1F1F0;
-๐พ๐ช flag: Yemen; 1F1FE 1F1EA;
-๐พ๐น flag: Mayotte; 1F1FE 1F1F9;
-๐ฟ๐ฆ flag: South Africa; 1F1FF 1F1E6;
-๐ฟ๐ฒ flag: Zambia; 1F1FF 1F1F2;
-๐ฟ๐ผ flag: Zimbabwe; 1F1FF 1F1FC;
-๐ด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ flag: England; 1F3F4725E7F;
-๐ด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ flag: Scotland; 1F3F472334F;
-๐ด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ flag: Wales; 1F3F4727C3F;
diff --git a/user_config/usr/share/mouse-keyboard/emoji.json b/user_config/usr/share/mouse-keyboard/emoji.json
new file mode 100644
index 0000000..5cd0d26
--- /dev/null
+++ b/user_config/usr/share/mouse-keyboard/emoji.json
@@ -0,0 +1,23215 @@
+[
+ {
+ "emoji": "๐"
+ , "description": "grinning face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "grinning"
+ ]
+ , "tags": [
+ "smile"
+ , "happy"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "grinning face with big eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smiley"
+ ]
+ , "tags": [
+ "happy"
+ , "joy"
+ , "haha"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "grinning face with smiling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smile"
+ ]
+ , "tags": [
+ "happy"
+ , "joy"
+ , "laugh"
+ , "pleased"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "beaming face with smiling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "grin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "grinning squinting face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "laughing"
+ , "satisfied"
+ ]
+ , "tags": [
+ "happy"
+ , "haha"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "grinning face with sweat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sweat_smile"
+ ]
+ , "tags": [
+ "hot"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คฃ"
+ , "description": "rolling on the floor laughing"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "rofl"
+ ]
+ , "tags": [
+ "lol"
+ , "laughing"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "face with tears of joy"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "joy"
+ ]
+ , "tags": [
+ "tears"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "slightly smiling face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "slightly_smiling_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "upside-down face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "upside_down_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ "
+ , "description": "melting face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "melting_face"
+ ]
+ , "tags": [
+ "sarcasm"
+ , "dread"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "winking face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "wink"
+ ]
+ , "tags": [
+ "flirt"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smiling face with smiling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "blush"
+ ]
+ , "tags": [
+ "proud"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smiling face with halo"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "innocent"
+ ]
+ , "tags": [
+ "angel"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅฐ"
+ , "description": "smiling face with hearts"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smiling_face_with_three_hearts"
+ ]
+ , "tags": [
+ "love"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smiling face with heart-eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heart_eyes"
+ ]
+ , "tags": [
+ "love"
+ , "crush"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คฉ"
+ , "description": "star-struck"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "star_struck"
+ ]
+ , "tags": [
+ "eyes"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "face blowing a kiss"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kissing_heart"
+ ]
+ , "tags": [
+ "flirt"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kissing face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kissing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โบ๏ธ"
+ , "description": "smiling face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "relaxed"
+ ]
+ , "tags": [
+ "blush"
+ , "pleased"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kissing face with closed eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kissing_closed_eyes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kissing face with smiling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kissing_smiling_eyes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅฒ"
+ , "description": "smiling face with tear"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smiling_face_with_tear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "face savoring food"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "yum"
+ ]
+ , "tags": [
+ "tongue"
+ , "lick"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "face with tongue"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "stuck_out_tongue"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "winking face with tongue"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "stuck_out_tongue_winking_eye"
+ ]
+ , "tags": [
+ "prank"
+ , "silly"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คช"
+ , "description": "zany face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "zany_face"
+ ]
+ , "tags": [
+ "goofy"
+ , "wacky"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "squinting face with tongue"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "stuck_out_tongue_closed_eyes"
+ ]
+ , "tags": [
+ "prank"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "money-mouth face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "money_mouth_face"
+ ]
+ , "tags": [
+ "rich"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "smiling face with open hands"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hugs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐คญ"
+ , "description": "face with hand over mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hand_over_mouth"
+ ]
+ , "tags": [
+ "quiet"
+ , "whoops"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ซข"
+ , "description": "face with open eyes and hand over mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_open_eyes_and_hand_over_mouth"
+ ]
+ , "tags": [
+ "gasp"
+ , "shock"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ซฃ"
+ , "description": "face with peeking eye"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_peeking_eye"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐คซ"
+ , "description": "shushing face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "shushing_face"
+ ]
+ , "tags": [
+ "silence"
+ , "quiet"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "thinking face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "thinking"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซก"
+ , "description": "saluting face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "saluting_face"
+ ]
+ , "tags": [
+ "respect"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "zipper-mouth face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "zipper_mouth_face"
+ ]
+ , "tags": [
+ "silence"
+ , "hush"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐คจ"
+ , "description": "face with raised eyebrow"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "raised_eyebrow"
+ ]
+ , "tags": [
+ "suspicious"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "neutral face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "neutral_face"
+ ]
+ , "tags": [
+ "meh"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "expressionless face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "expressionless"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "face without mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "no_mouth"
+ ]
+ , "tags": [
+ "mute"
+ , "silence"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซฅ"
+ , "description": "dotted line face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "dotted_line_face"
+ ]
+ , "tags": [
+ "invisible"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ถโ๐ซ๏ธ"
+ , "description": "face in clouds"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_in_clouds"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smirking face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smirk"
+ ]
+ , "tags": [
+ "smug"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "unamused face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "unamused"
+ ]
+ , "tags": [
+ "meh"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "face with rolling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "roll_eyes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "grimacing face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "grimacing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎโ๐จ"
+ , "description": "face exhaling"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_exhaling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐คฅ"
+ , "description": "lying face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "lying_face"
+ ]
+ , "tags": [
+ "liar"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "relieved face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "relieved"
+ ]
+ , "tags": [
+ "whew"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pensive face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "pensive"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "sleepy face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sleepy"
+ ]
+ , "tags": [
+ "tired"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คค"
+ , "description": "drooling face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "drooling_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "sleeping face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sleeping"
+ ]
+ , "tags": [
+ "zzz"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "face with medical mask"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "mask"
+ ]
+ , "tags": [
+ "sick"
+ , "ill"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "face with thermometer"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_thermometer"
+ ]
+ , "tags": [
+ "sick"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "face with head-bandage"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_head_bandage"
+ ]
+ , "tags": [
+ "hurt"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐คข"
+ , "description": "nauseated face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "nauseated_face"
+ ]
+ , "tags": [
+ "sick"
+ , "barf"
+ , "disgusted"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐คฎ"
+ , "description": "face vomiting"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "vomiting_face"
+ ]
+ , "tags": [
+ "barf"
+ , "sick"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐คง"
+ , "description": "sneezing face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sneezing_face"
+ ]
+ , "tags": [
+ "achoo"
+ , "sick"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅต"
+ , "description": "hot face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hot_face"
+ ]
+ , "tags": [
+ "heat"
+ , "sweating"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅถ"
+ , "description": "cold face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cold_face"
+ ]
+ , "tags": [
+ "freezing"
+ , "ice"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅด"
+ , "description": "woozy face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "woozy_face"
+ ]
+ , "tags": [
+ "groggy"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "face with crossed-out eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "dizzy_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ตโ๐ซ"
+ , "description": "face with spiral eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_spiral_eyes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐คฏ"
+ , "description": "exploding head"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "exploding_head"
+ ]
+ , "tags": [
+ "mind"
+ , "blown"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ค "
+ , "description": "cowboy hat face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cowboy_hat_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅณ"
+ , "description": "partying face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "partying_face"
+ ]
+ , "tags": [
+ "celebration"
+ , "birthday"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅธ"
+ , "description": "disguised face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "disguised_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smiling face with sunglasses"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sunglasses"
+ ]
+ , "tags": [
+ "cool"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "nerd face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "nerd_face"
+ ]
+ , "tags": [
+ "geek"
+ , "glasses"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "face with monocle"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "monocle_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "confused face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "confused"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซค"
+ , "description": "face with diagonal mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_with_diagonal_mouth"
+ ]
+ , "tags": [
+ "confused"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "worried face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "worried"
+ ]
+ , "tags": [
+ "nervous"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "slightly frowning face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "slightly_frowning_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โน๏ธ"
+ , "description": "frowning face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "frowning_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "face with open mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "open_mouth"
+ ]
+ , "tags": [
+ "surprise"
+ , "impressed"
+ , "wow"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "hushed face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hushed"
+ ]
+ , "tags": [
+ "silence"
+ , "speechless"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "astonished face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "astonished"
+ ]
+ , "tags": [
+ "amazed"
+ , "gasp"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "flushed face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "flushed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅบ"
+ , "description": "pleading face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "pleading_face"
+ ]
+ , "tags": [
+ "puppy"
+ , "eyes"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅน"
+ , "description": "face holding back tears"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "face_holding_back_tears"
+ ]
+ , "tags": [
+ "tears"
+ , "gratitude"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "frowning face with open mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "frowning"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "anguished face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "anguished"
+ ]
+ , "tags": [
+ "stunned"
+ ]
+ , "unicode_version": "6.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "fearful face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "fearful"
+ ]
+ , "tags": [
+ "scared"
+ , "shocked"
+ , "oops"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "anxious face with sweat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cold_sweat"
+ ]
+ , "tags": [
+ "nervous"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "sad but relieved face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "disappointed_relieved"
+ ]
+ , "tags": [
+ "phew"
+ , "sweat"
+ , "nervous"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "crying face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cry"
+ ]
+ , "tags": [
+ "sad"
+ , "tear"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "loudly crying face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sob"
+ ]
+ , "tags": [
+ "sad"
+ , "cry"
+ , "bawling"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "face screaming in fear"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "scream"
+ ]
+ , "tags": [
+ "horror"
+ , "shocked"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "confounded face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "confounded"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "persevering face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "persevere"
+ ]
+ , "tags": [
+ "struggling"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "disappointed face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "disappointed"
+ ]
+ , "tags": [
+ "sad"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "downcast face with sweat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sweat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "weary face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "weary"
+ ]
+ , "tags": [
+ "tired"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "tired face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "tired_face"
+ ]
+ , "tags": [
+ "upset"
+ , "whine"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅฑ"
+ , "description": "yawning face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "yawning_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "face with steam from nose"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "triumph"
+ ]
+ , "tags": [
+ "smug"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "pouting face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "rage"
+ , "pout"
+ ]
+ , "tags": [
+ "angry"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "angry face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "angry"
+ ]
+ , "tags": [
+ "mad"
+ , "annoyed"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คฌ"
+ , "description": "face with symbols on mouth"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cursing_face"
+ ]
+ , "tags": [
+ "foul"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "smiling face with horns"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smiling_imp"
+ ]
+ , "tags": [
+ "devil"
+ , "evil"
+ , "horns"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "angry face with horns"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "imp"
+ ]
+ , "tags": [
+ "angry"
+ , "devil"
+ , "evil"
+ , "horns"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "skull"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "skull"
+ ]
+ , "tags": [
+ "dead"
+ , "danger"
+ , "poison"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ ๏ธ"
+ , "description": "skull and crossbones"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "skull_and_crossbones"
+ ]
+ , "tags": [
+ "danger"
+ , "pirate"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "pile of poo"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hankey"
+ , "poop"
+ , "shit"
+ ]
+ , "tags": [
+ "crap"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คก"
+ , "description": "clown face"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "clown_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "ogre"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "japanese_ogre"
+ ]
+ , "tags": [
+ "monster"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "goblin"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "japanese_goblin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "ghost"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "ghost"
+ ]
+ , "tags": [
+ "halloween"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "alien"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "alien"
+ ]
+ , "tags": [
+ "ufo"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "alien monster"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "space_invader"
+ ]
+ , "tags": [
+ "game"
+ , "retro"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "robot"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "robot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "grinning cat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smiley_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "grinning cat with smiling eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smile_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "cat with tears of joy"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "joy_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "smiling cat with heart-eyes"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heart_eyes_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "cat with wry smile"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "smirk_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "kissing cat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kissing_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "weary cat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "scream_cat"
+ ]
+ , "tags": [
+ "horror"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "crying cat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "crying_cat_face"
+ ]
+ , "tags": [
+ "sad"
+ , "tear"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "pouting cat"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "pouting_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "see-no-evil monkey"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "see_no_evil"
+ ]
+ , "tags": [
+ "monkey"
+ , "blind"
+ , "ignore"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "hear-no-evil monkey"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hear_no_evil"
+ ]
+ , "tags": [
+ "monkey"
+ , "deaf"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "speak-no-evil monkey"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "speak_no_evil"
+ ]
+ , "tags": [
+ "monkey"
+ , "mute"
+ , "hush"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kiss mark"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "kiss"
+ ]
+ , "tags": [
+ "lipstick"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "love letter"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "love_letter"
+ ]
+ , "tags": [
+ "email"
+ , "envelope"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "heart with arrow"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "cupid"
+ ]
+ , "tags": [
+ "love"
+ , "heart"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "heart with ribbon"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "gift_heart"
+ ]
+ , "tags": [
+ "chocolates"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sparkling heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sparkling_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "growing heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heartpulse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "beating heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heartbeat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "revolving hearts"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "revolving_hearts"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "two hearts"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "two_hearts"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "heart decoration"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heart_decoration"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฃ๏ธ"
+ , "description": "heart exclamation"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heavy_heart_exclamation"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "broken heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "broken_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โค๏ธโ๐ฅ"
+ , "description": "heart on fire"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heart_on_fire"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โค๏ธโ๐ฉน"
+ , "description": "mending heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "mending_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โค๏ธ"
+ , "description": "red heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "heart"
+ ]
+ , "tags": [
+ "love"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งก"
+ , "description": "orange heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "orange_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "yellow heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "yellow_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "green heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "green_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "blue heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "blue_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "purple heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "purple_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "brown heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "brown_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "black heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "black_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "white heart"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "white_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "hundred points"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "100"
+ ]
+ , "tags": [
+ "score"
+ , "perfect"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "anger symbol"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "anger"
+ ]
+ , "tags": [
+ "angry"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "collision"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "boom"
+ , "collision"
+ ]
+ , "tags": [
+ "explode"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "dizzy"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "dizzy"
+ ]
+ , "tags": [
+ "star"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "sweat droplets"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "sweat_drops"
+ ]
+ , "tags": [
+ "water"
+ , "workout"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "dashing away"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "dash"
+ ]
+ , "tags": [
+ "wind"
+ , "blow"
+ , "fast"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ๏ธ"
+ , "description": "hole"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "hole"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "bomb"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "bomb"
+ ]
+ , "tags": [
+ "boom"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "speech balloon"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "speech_balloon"
+ ]
+ , "tags": [
+ "comment"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธโ๐จ๏ธ"
+ , "description": "eye in speech bubble"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "eye_speech_bubble"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐จ๏ธ"
+ , "description": "left speech bubble"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "left_speech_bubble"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฏ๏ธ"
+ , "description": "right anger bubble"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "right_anger_bubble"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "thought balloon"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "thought_balloon"
+ ]
+ , "tags": [
+ "thinking"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "zzz"
+ , "category": "Smileys & Emotion"
+ , "aliases": [
+ "zzz"
+ ]
+ , "tags": [
+ "sleeping"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "waving hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "wave"
+ ]
+ , "tags": [
+ "goodbye"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "raised back of hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "raised_back_of_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "hand with fingers splayed"
+ , "category": "People & Body"
+ , "aliases": [
+ "raised_hand_with_fingers_splayed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โ"
+ , "description": "raised hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "hand"
+ , "raised_hand"
+ ]
+ , "tags": [
+ "highfive"
+ , "stop"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "vulcan salute"
+ , "category": "People & Body"
+ , "aliases": [
+ "vulcan_salute"
+ ]
+ , "tags": [
+ "prosper"
+ , "spock"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "8.3"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซฑ"
+ , "description": "rightwards hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "rightwards_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซฒ"
+ , "description": "leftwards hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "leftwards_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซณ"
+ , "description": "palm down hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "palm_down_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซด"
+ , "description": "palm up hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "palm_up_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "OK hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "ok_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "pinched fingers"
+ , "category": "People & Body"
+ , "aliases": [
+ "pinched_fingers"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "pinching hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "pinching_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "victory hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "v"
+ ]
+ , "tags": [
+ "victory"
+ , "peace"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "crossed fingers"
+ , "category": "People & Body"
+ , "aliases": [
+ "crossed_fingers"
+ ]
+ , "tags": [
+ "luck"
+ , "hopeful"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซฐ"
+ , "description": "hand with index finger and thumb crossed"
+ , "category": "People & Body"
+ , "aliases": [
+ "hand_with_index_finger_and_thumb_crossed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "love-you gesture"
+ , "category": "People & Body"
+ , "aliases": [
+ "love_you_gesture"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "sign of the horns"
+ , "category": "People & Body"
+ , "aliases": [
+ "metal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "call me hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "call_me_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "backhand index pointing left"
+ , "category": "People & Body"
+ , "aliases": [
+ "point_left"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "backhand index pointing right"
+ , "category": "People & Body"
+ , "aliases": [
+ "point_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "backhand index pointing up"
+ , "category": "People & Body"
+ , "aliases": [
+ "point_up_2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "middle finger"
+ , "category": "People & Body"
+ , "aliases": [
+ "middle_finger"
+ , "fu"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "backhand index pointing down"
+ , "category": "People & Body"
+ , "aliases": [
+ "point_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "index pointing up"
+ , "category": "People & Body"
+ , "aliases": [
+ "point_up"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซต"
+ , "description": "index pointing at the viewer"
+ , "category": "People & Body"
+ , "aliases": [
+ "index_pointing_at_the_viewer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "thumbs up"
+ , "category": "People & Body"
+ , "aliases": [
+ "+1"
+ , "thumbsup"
+ ]
+ , "tags": [
+ "approve"
+ , "ok"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "thumbs down"
+ , "category": "People & Body"
+ , "aliases": [
+ "-1"
+ , "thumbsdown"
+ ]
+ , "tags": [
+ "disapprove"
+ , "bury"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โ"
+ , "description": "raised fist"
+ , "category": "People & Body"
+ , "aliases": [
+ "fist_raised"
+ , "fist"
+ ]
+ , "tags": [
+ "power"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "oncoming fist"
+ , "category": "People & Body"
+ , "aliases": [
+ "fist_oncoming"
+ , "facepunch"
+ , "punch"
+ ]
+ , "tags": [
+ "attack"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "left-facing fist"
+ , "category": "People & Body"
+ , "aliases": [
+ "fist_left"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "right-facing fist"
+ , "category": "People & Body"
+ , "aliases": [
+ "fist_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "clapping hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "clap"
+ ]
+ , "tags": [
+ "praise"
+ , "applause"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "raising hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "raised_hands"
+ ]
+ , "tags": [
+ "hooray"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซถ"
+ , "description": "heart hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "heart_hands"
+ ]
+ , "tags": [
+ "love"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "open hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "open_hands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฒ"
+ , "description": "palms up together"
+ , "category": "People & Body"
+ , "aliases": [
+ "palms_up_together"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "handshake"
+ , "category": "People & Body"
+ , "aliases": [
+ "handshake"
+ ]
+ , "tags": [
+ "deal"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "folded hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "pray"
+ ]
+ , "tags": [
+ "please"
+ , "hope"
+ , "wish"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "writing hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "writing_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐
"
+ , "description": "nail polish"
+ , "category": "People & Body"
+ , "aliases": [
+ "nail_care"
+ ]
+ , "tags": [
+ "beauty"
+ , "manicure"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คณ"
+ , "description": "selfie"
+ , "category": "People & Body"
+ , "aliases": [
+ "selfie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "flexed biceps"
+ , "category": "People & Body"
+ , "aliases": [
+ "muscle"
+ ]
+ , "tags": [
+ "flex"
+ , "bicep"
+ , "strong"
+ , "workout"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆพ"
+ , "description": "mechanical arm"
+ , "category": "People & Body"
+ , "aliases": [
+ "mechanical_arm"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆฟ"
+ , "description": "mechanical leg"
+ , "category": "People & Body"
+ , "aliases": [
+ "mechanical_leg"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆต"
+ , "description": "leg"
+ , "category": "People & Body"
+ , "aliases": [
+ "leg"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆถ"
+ , "description": "foot"
+ , "category": "People & Body"
+ , "aliases": [
+ "foot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "ear"
+ , "category": "People & Body"
+ , "aliases": [
+ "ear"
+ ]
+ , "tags": [
+ "hear"
+ , "sound"
+ , "listen"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆป"
+ , "description": "ear with hearing aid"
+ , "category": "People & Body"
+ , "aliases": [
+ "ear_with_hearing_aid"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "nose"
+ , "category": "People & Body"
+ , "aliases": [
+ "nose"
+ ]
+ , "tags": [
+ "smell"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง "
+ , "description": "brain"
+ , "category": "People & Body"
+ , "aliases": [
+ "brain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "anatomical heart"
+ , "category": "People & Body"
+ , "aliases": [
+ "anatomical_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "lungs"
+ , "category": "People & Body"
+ , "aliases": [
+ "lungs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆท"
+ , "description": "tooth"
+ , "category": "People & Body"
+ , "aliases": [
+ "tooth"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆด"
+ , "description": "bone"
+ , "category": "People & Body"
+ , "aliases": [
+ "bone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "eyes"
+ , "category": "People & Body"
+ , "aliases": [
+ "eyes"
+ ]
+ , "tags": [
+ "look"
+ , "see"
+ , "watch"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "eye"
+ , "category": "People & Body"
+ , "aliases": [
+ "eye"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "tongue"
+ , "category": "People & Body"
+ , "aliases": [
+ "tongue"
+ ]
+ , "tags": [
+ "taste"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mouth"
+ , "category": "People & Body"
+ , "aliases": [
+ "lips"
+ ]
+ , "tags": [
+ "kiss"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซฆ"
+ , "description": "biting lip"
+ , "category": "People & Body"
+ , "aliases": [
+ "biting_lip"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "baby"
+ , "category": "People & Body"
+ , "aliases": [
+ "baby"
+ ]
+ , "tags": [
+ "child"
+ , "newborn"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "child"
+ , "category": "People & Body"
+ , "aliases": [
+ "child"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "boy"
+ ]
+ , "tags": [
+ "child"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "girl"
+ ]
+ , "tags": [
+ "child"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person"
+ , "category": "People & Body"
+ , "aliases": [
+ "adult"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "person: blond hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "blond_haired_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "man"
+ , "category": "People & Body"
+ , "aliases": [
+ "man"
+ ]
+ , "tags": [
+ "mustache"
+ , "father"
+ , "dad"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person: beard"
+ , "category": "People & Body"
+ , "aliases": [
+ "bearded_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man: beard"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_beard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman: beard"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_beard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.1"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆฐ"
+ , "description": "man: red hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "red_haired_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆฑ"
+ , "description": "man: curly hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "curly_haired_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆณ"
+ , "description": "man: white hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "white_haired_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆฒ"
+ , "description": "man: bald"
+ , "category": "People & Body"
+ , "aliases": [
+ "bald_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman"
+ ]
+ , "tags": [
+ "girls"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆฐ"
+ , "description": "woman: red hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "red_haired_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆฐ"
+ , "description": "person: red hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_red_hair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆฑ"
+ , "description": "woman: curly hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "curly_haired_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆฑ"
+ , "description": "person: curly hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_curly_hair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆณ"
+ , "description": "woman: white hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "white_haired_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆณ"
+ , "description": "person: white hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_white_hair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆฒ"
+ , "description": "woman: bald"
+ , "category": "People & Body"
+ , "aliases": [
+ "bald_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆฒ"
+ , "description": "person: bald"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_bald"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฑโโ๏ธ"
+ , "description": "woman: blond hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "blond_haired_woman"
+ , "blonde_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฑโโ๏ธ"
+ , "description": "man: blond hair"
+ , "category": "People & Body"
+ , "aliases": [
+ "blond_haired_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "older person"
+ , "category": "People & Body"
+ , "aliases": [
+ "older_adult"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "old man"
+ , "category": "People & Body"
+ , "aliases": [
+ "older_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "old woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "older_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person frowning"
+ , "category": "People & Body"
+ , "aliases": [
+ "frowning_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man frowning"
+ , "category": "People & Body"
+ , "aliases": [
+ "frowning_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman frowning"
+ , "category": "People & Body"
+ , "aliases": [
+ "frowning_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person pouting"
+ , "category": "People & Body"
+ , "aliases": [
+ "pouting_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man pouting"
+ , "category": "People & Body"
+ , "aliases": [
+ "pouting_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman pouting"
+ , "category": "People & Body"
+ , "aliases": [
+ "pouting_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐
"
+ , "description": "person gesturing NO"
+ , "category": "People & Body"
+ , "aliases": [
+ "no_good"
+ ]
+ , "tags": [
+ "stop"
+ , "halt"
+ , "denied"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐
โโ๏ธ"
+ , "description": "man gesturing NO"
+ , "category": "People & Body"
+ , "aliases": [
+ "no_good_man"
+ , "ng_man"
+ ]
+ , "tags": [
+ "stop"
+ , "halt"
+ , "denied"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐
โโ๏ธ"
+ , "description": "woman gesturing NO"
+ , "category": "People & Body"
+ , "aliases": [
+ "no_good_woman"
+ , "ng_woman"
+ ]
+ , "tags": [
+ "stop"
+ , "halt"
+ , "denied"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person gesturing OK"
+ , "category": "People & Body"
+ , "aliases": [
+ "ok_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man gesturing OK"
+ , "category": "People & Body"
+ , "aliases": [
+ "ok_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman gesturing OK"
+ , "category": "People & Body"
+ , "aliases": [
+ "ok_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person tipping hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "tipping_hand_person"
+ , "information_desk_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man tipping hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "tipping_hand_man"
+ , "sassy_man"
+ ]
+ , "tags": [
+ "information"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman tipping hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "tipping_hand_woman"
+ , "sassy_woman"
+ ]
+ , "tags": [
+ "information"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person raising hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "raising_hand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man raising hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "raising_hand_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman raising hand"
+ , "category": "People & Body"
+ , "aliases": [
+ "raising_hand_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "deaf person"
+ , "category": "People & Body"
+ , "aliases": [
+ "deaf_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "deaf man"
+ , "category": "People & Body"
+ , "aliases": [
+ "deaf_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "deaf woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "deaf_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person bowing"
+ , "category": "People & Body"
+ , "aliases": [
+ "bow"
+ ]
+ , "tags": [
+ "respect"
+ , "thanks"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man bowing"
+ , "category": "People & Body"
+ , "aliases": [
+ "bowing_man"
+ ]
+ , "tags": [
+ "respect"
+ , "thanks"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman bowing"
+ , "category": "People & Body"
+ , "aliases": [
+ "bowing_woman"
+ ]
+ , "tags": [
+ "respect"
+ , "thanks"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฆ"
+ , "description": "person facepalming"
+ , "category": "People & Body"
+ , "aliases": [
+ "facepalm"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฆโโ๏ธ"
+ , "description": "man facepalming"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_facepalming"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฆโโ๏ธ"
+ , "description": "woman facepalming"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_facepalming"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คท"
+ , "description": "person shrugging"
+ , "category": "People & Body"
+ , "aliases": [
+ "shrug"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คทโโ๏ธ"
+ , "description": "man shrugging"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_shrugging"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คทโโ๏ธ"
+ , "description": "woman shrugging"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_shrugging"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "health worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "health_worker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโโ๏ธ"
+ , "description": "man health worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_health_worker"
+ ]
+ , "tags": [
+ "doctor"
+ , "nurse"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโ๏ธ"
+ , "description": "woman health worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_health_worker"
+ ]
+ , "tags": [
+ "doctor"
+ , "nurse"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐"
+ , "description": "student"
+ , "category": "People & Body"
+ , "aliases": [
+ "student"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐"
+ , "description": "man student"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_student"
+ ]
+ , "tags": [
+ "graduation"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐"
+ , "description": "woman student"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_student"
+ ]
+ , "tags": [
+ "graduation"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ซ"
+ , "description": "teacher"
+ , "category": "People & Body"
+ , "aliases": [
+ "teacher"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ซ"
+ , "description": "man teacher"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_teacher"
+ ]
+ , "tags": [
+ "school"
+ , "professor"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ซ"
+ , "description": "woman teacher"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_teacher"
+ ]
+ , "tags": [
+ "school"
+ , "professor"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "judge"
+ , "category": "People & Body"
+ , "aliases": [
+ "judge"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโโ๏ธ"
+ , "description": "man judge"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_judge"
+ ]
+ , "tags": [
+ "justice"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโ๏ธ"
+ , "description": "woman judge"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_judge"
+ ]
+ , "tags": [
+ "justice"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐พ"
+ , "description": "farmer"
+ , "category": "People & Body"
+ , "aliases": [
+ "farmer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐พ"
+ , "description": "man farmer"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_farmer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐พ"
+ , "description": "woman farmer"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_farmer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ณ"
+ , "description": "cook"
+ , "category": "People & Body"
+ , "aliases": [
+ "cook"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ณ"
+ , "description": "man cook"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_cook"
+ ]
+ , "tags": [
+ "chef"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ณ"
+ , "description": "woman cook"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_cook"
+ ]
+ , "tags": [
+ "chef"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ง"
+ , "description": "mechanic"
+ , "category": "People & Body"
+ , "aliases": [
+ "mechanic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ง"
+ , "description": "man mechanic"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_mechanic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ง"
+ , "description": "woman mechanic"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_mechanic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ญ"
+ , "description": "factory worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "factory_worker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ญ"
+ , "description": "man factory worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_factory_worker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ญ"
+ , "description": "woman factory worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_factory_worker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ผ"
+ , "description": "office worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "office_worker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ผ"
+ , "description": "man office worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_office_worker"
+ ]
+ , "tags": [
+ "business"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ผ"
+ , "description": "woman office worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_office_worker"
+ ]
+ , "tags": [
+ "business"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฌ"
+ , "description": "scientist"
+ , "category": "People & Body"
+ , "aliases": [
+ "scientist"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฌ"
+ , "description": "man scientist"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_scientist"
+ ]
+ , "tags": [
+ "research"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฌ"
+ , "description": "woman scientist"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_scientist"
+ ]
+ , "tags": [
+ "research"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ป"
+ , "description": "technologist"
+ , "category": "People & Body"
+ , "aliases": [
+ "technologist"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ป"
+ , "description": "man technologist"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_technologist"
+ ]
+ , "tags": [
+ "coder"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ป"
+ , "description": "woman technologist"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_technologist"
+ ]
+ , "tags": [
+ "coder"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ค"
+ , "description": "singer"
+ , "category": "People & Body"
+ , "aliases": [
+ "singer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ค"
+ , "description": "man singer"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_singer"
+ ]
+ , "tags": [
+ "rockstar"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ค"
+ , "description": "woman singer"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_singer"
+ ]
+ , "tags": [
+ "rockstar"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐จ"
+ , "description": "artist"
+ , "category": "People & Body"
+ , "aliases": [
+ "artist"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐จ"
+ , "description": "man artist"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_artist"
+ ]
+ , "tags": [
+ "painter"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐จ"
+ , "description": "woman artist"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_artist"
+ ]
+ , "tags": [
+ "painter"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "pilot"
+ , "category": "People & Body"
+ , "aliases": [
+ "pilot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโโ๏ธ"
+ , "description": "man pilot"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_pilot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโ๏ธ"
+ , "description": "woman pilot"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_pilot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐"
+ , "description": "astronaut"
+ , "category": "People & Body"
+ , "aliases": [
+ "astronaut"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐"
+ , "description": "man astronaut"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_astronaut"
+ ]
+ , "tags": [
+ "space"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐"
+ , "description": "woman astronaut"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_astronaut"
+ ]
+ , "tags": [
+ "space"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐"
+ , "description": "firefighter"
+ , "category": "People & Body"
+ , "aliases": [
+ "firefighter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐"
+ , "description": "man firefighter"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_firefighter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐"
+ , "description": "woman firefighter"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_firefighter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "police officer"
+ , "category": "People & Body"
+ , "aliases": [
+ "police_officer"
+ , "cop"
+ ]
+ , "tags": [
+ "law"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฎโโ๏ธ"
+ , "description": "man police officer"
+ , "category": "People & Body"
+ , "aliases": [
+ "policeman"
+ ]
+ , "tags": [
+ "law"
+ , "cop"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฎโโ๏ธ"
+ , "description": "woman police officer"
+ , "category": "People & Body"
+ , "aliases": [
+ "policewoman"
+ ]
+ , "tags": [
+ "law"
+ , "cop"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ต๏ธ"
+ , "description": "detective"
+ , "category": "People & Body"
+ , "aliases": [
+ "detective"
+ ]
+ , "tags": [
+ "sleuth"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ต๏ธโโ๏ธ"
+ , "description": "man detective"
+ , "category": "People & Body"
+ , "aliases": [
+ "male_detective"
+ ]
+ , "tags": [
+ "sleuth"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ต๏ธโโ๏ธ"
+ , "description": "woman detective"
+ , "category": "People & Body"
+ , "aliases": [
+ "female_detective"
+ ]
+ , "tags": [
+ "sleuth"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "guard"
+ , "category": "People & Body"
+ , "aliases": [
+ "guard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man guard"
+ , "category": "People & Body"
+ , "aliases": [
+ "guardsman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman guard"
+ , "category": "People & Body"
+ , "aliases": [
+ "guardswoman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฅท"
+ , "description": "ninja"
+ , "category": "People & Body"
+ , "aliases": [
+ "ninja"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "construction worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "construction_worker"
+ ]
+ , "tags": [
+ "helmet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ทโโ๏ธ"
+ , "description": "man construction worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "construction_worker_man"
+ ]
+ , "tags": [
+ "helmet"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ทโโ๏ธ"
+ , "description": "woman construction worker"
+ , "category": "People & Body"
+ , "aliases": [
+ "construction_worker_woman"
+ ]
+ , "tags": [
+ "helmet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซ
"
+ , "description": "person with crown"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_with_crown"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คด"
+ , "description": "prince"
+ , "category": "People & Body"
+ , "aliases": [
+ "prince"
+ ]
+ , "tags": [
+ "crown"
+ , "royal"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "princess"
+ , "category": "People & Body"
+ , "aliases": [
+ "princess"
+ ]
+ , "tags": [
+ "crown"
+ , "royal"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "person wearing turban"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_with_turban"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ณโโ๏ธ"
+ , "description": "man wearing turban"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_with_turban"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ณโโ๏ธ"
+ , "description": "woman wearing turban"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_with_turban"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "person with skullcap"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_with_gua_pi_mao"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "woman with headscarf"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_with_headscarf"
+ ]
+ , "tags": [
+ "hijab"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คต"
+ , "description": "person in tuxedo"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_in_tuxedo"
+ ]
+ , "tags": [
+ "groom"
+ , "marriage"
+ , "wedding"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คตโโ๏ธ"
+ , "description": "man in tuxedo"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_in_tuxedo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คตโโ๏ธ"
+ , "description": "woman in tuxedo"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_in_tuxedo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "person with veil"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_with_veil"
+ ]
+ , "tags": [
+ "marriage"
+ , "wedding"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฐโโ๏ธ"
+ , "description": "man with veil"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_with_veil"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฐโโ๏ธ"
+ , "description": "woman with veil"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_with_veil"
+ , "bride_with_veil"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฐ"
+ , "description": "pregnant woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "pregnant_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "pregnant man"
+ , "category": "People & Body"
+ , "aliases": [
+ "pregnant_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "pregnant person"
+ , "category": "People & Body"
+ , "aliases": [
+ "pregnant_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฑ"
+ , "description": "breast-feeding"
+ , "category": "People & Body"
+ , "aliases": [
+ "breast_feeding"
+ ]
+ , "tags": [
+ "nursing"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ผ"
+ , "description": "woman feeding baby"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_feeding_baby"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ผ"
+ , "description": "man feeding baby"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_feeding_baby"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ผ"
+ , "description": "person feeding baby"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_feeding_baby"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "baby angel"
+ , "category": "People & Body"
+ , "aliases": [
+ "angel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐
"
+ , "description": "Santa Claus"
+ , "category": "People & Body"
+ , "aliases": [
+ "santa"
+ ]
+ , "tags": [
+ "christmas"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คถ"
+ , "description": "Mrs. Claus"
+ , "category": "People & Body"
+ , "aliases": [
+ "mrs_claus"
+ ]
+ , "tags": [
+ "santa"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐"
+ , "description": "mx claus"
+ , "category": "People & Body"
+ , "aliases": [
+ "mx_claus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆธ"
+ , "description": "superhero"
+ , "category": "People & Body"
+ , "aliases": [
+ "superhero"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆธโโ๏ธ"
+ , "description": "man superhero"
+ , "category": "People & Body"
+ , "aliases": [
+ "superhero_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆธโโ๏ธ"
+ , "description": "woman superhero"
+ , "category": "People & Body"
+ , "aliases": [
+ "superhero_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆน"
+ , "description": "supervillain"
+ , "category": "People & Body"
+ , "aliases": [
+ "supervillain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆนโโ๏ธ"
+ , "description": "man supervillain"
+ , "category": "People & Body"
+ , "aliases": [
+ "supervillain_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฆนโโ๏ธ"
+ , "description": "woman supervillain"
+ , "category": "People & Body"
+ , "aliases": [
+ "supervillain_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "mage"
+ , "category": "People & Body"
+ , "aliases": [
+ "mage"
+ ]
+ , "tags": [
+ "wizard"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man mage"
+ , "category": "People & Body"
+ , "aliases": [
+ "mage_man"
+ ]
+ , "tags": [
+ "wizard"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman mage"
+ , "category": "People & Body"
+ , "aliases": [
+ "mage_woman"
+ ]
+ , "tags": [
+ "wizard"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "fairy"
+ , "category": "People & Body"
+ , "aliases": [
+ "fairy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man fairy"
+ , "category": "People & Body"
+ , "aliases": [
+ "fairy_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman fairy"
+ , "category": "People & Body"
+ , "aliases": [
+ "fairy_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "vampire"
+ , "category": "People & Body"
+ , "aliases": [
+ "vampire"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man vampire"
+ , "category": "People & Body"
+ , "aliases": [
+ "vampire_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman vampire"
+ , "category": "People & Body"
+ , "aliases": [
+ "vampire_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "merperson"
+ , "category": "People & Body"
+ , "aliases": [
+ "merperson"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "merman"
+ , "category": "People & Body"
+ , "aliases": [
+ "merman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "mermaid"
+ , "category": "People & Body"
+ , "aliases": [
+ "mermaid"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "elf"
+ , "category": "People & Body"
+ , "aliases": [
+ "elf"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man elf"
+ , "category": "People & Body"
+ , "aliases": [
+ "elf_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman elf"
+ , "category": "People & Body"
+ , "aliases": [
+ "elf_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "genie"
+ , "category": "People & Body"
+ , "aliases": [
+ "genie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man genie"
+ , "category": "People & Body"
+ , "aliases": [
+ "genie_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman genie"
+ , "category": "People & Body"
+ , "aliases": [
+ "genie_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "zombie"
+ , "category": "People & Body"
+ , "aliases": [
+ "zombie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man zombie"
+ , "category": "People & Body"
+ , "aliases": [
+ "zombie_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman zombie"
+ , "category": "People & Body"
+ , "aliases": [
+ "zombie_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "troll"
+ , "category": "People & Body"
+ , "aliases": [
+ "troll"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "person getting massage"
+ , "category": "People & Body"
+ , "aliases": [
+ "massage"
+ ]
+ , "tags": [
+ "spa"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man getting massage"
+ , "category": "People & Body"
+ , "aliases": [
+ "massage_man"
+ ]
+ , "tags": [
+ "spa"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman getting massage"
+ , "category": "People & Body"
+ , "aliases": [
+ "massage_woman"
+ ]
+ , "tags": [
+ "spa"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person getting haircut"
+ , "category": "People & Body"
+ , "aliases": [
+ "haircut"
+ ]
+ , "tags": [
+ "beauty"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man getting haircut"
+ , "category": "People & Body"
+ , "aliases": [
+ "haircut_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman getting haircut"
+ , "category": "People & Body"
+ , "aliases": [
+ "haircut_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "person walking"
+ , "category": "People & Body"
+ , "aliases": [
+ "walking"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ถโโ๏ธ"
+ , "description": "man walking"
+ , "category": "People & Body"
+ , "aliases": [
+ "walking_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ถโโ๏ธ"
+ , "description": "woman walking"
+ , "category": "People & Body"
+ , "aliases": [
+ "walking_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person standing"
+ , "category": "People & Body"
+ , "aliases": [
+ "standing_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man standing"
+ , "category": "People & Body"
+ , "aliases": [
+ "standing_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman standing"
+ , "category": "People & Body"
+ , "aliases": [
+ "standing_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person kneeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "kneeling_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man kneeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "kneeling_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman kneeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "kneeling_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆฏ"
+ , "description": "person with white cane"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_with_probing_cane"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆฏ"
+ , "description": "man with white cane"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_with_probing_cane"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆฏ"
+ , "description": "woman with white cane"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_with_probing_cane"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆผ"
+ , "description": "person in motorized wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_in_motorized_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆผ"
+ , "description": "man in motorized wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_in_motorized_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆผ"
+ , "description": "woman in motorized wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_in_motorized_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐ฆฝ"
+ , "description": "person in manual wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_in_manual_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.1"
+ , "ios_version": "13.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโ๐ฆฝ"
+ , "description": "man in manual wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_in_manual_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโ๐ฆฝ"
+ , "description": "woman in manual wheelchair"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_in_manual_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person running"
+ , "category": "People & Body"
+ , "aliases": [
+ "runner"
+ , "running"
+ ]
+ , "tags": [
+ "exercise"
+ , "workout"
+ , "marathon"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man running"
+ , "category": "People & Body"
+ , "aliases": [
+ "running_man"
+ ]
+ , "tags": [
+ "exercise"
+ , "workout"
+ , "marathon"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman running"
+ , "category": "People & Body"
+ , "aliases": [
+ "running_woman"
+ ]
+ , "tags": [
+ "exercise"
+ , "workout"
+ , "marathon"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "woman dancing"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_dancing"
+ , "dancer"
+ ]
+ , "tags": [
+ "dress"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "man dancing"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_dancing"
+ ]
+ , "tags": [
+ "dancer"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ด๏ธ"
+ , "description": "person in suit levitating"
+ , "category": "People & Body"
+ , "aliases": [
+ "business_suit_levitating"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "people with bunny ears"
+ , "category": "People & Body"
+ , "aliases": [
+ "dancers"
+ ]
+ , "tags": [
+ "bunny"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏโโ๏ธ"
+ , "description": "men with bunny ears"
+ , "category": "People & Body"
+ , "aliases": [
+ "dancing_men"
+ ]
+ , "tags": [
+ "bunny"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฏโโ๏ธ"
+ , "description": "women with bunny ears"
+ , "category": "People & Body"
+ , "aliases": [
+ "dancing_women"
+ ]
+ , "tags": [
+ "bunny"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person in steamy room"
+ , "category": "People & Body"
+ , "aliases": [
+ "sauna_person"
+ ]
+ , "tags": [
+ "steamy"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man in steamy room"
+ , "category": "People & Body"
+ , "aliases": [
+ "sauna_man"
+ ]
+ , "tags": [
+ "steamy"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman in steamy room"
+ , "category": "People & Body"
+ , "aliases": [
+ "sauna_woman"
+ ]
+ , "tags": [
+ "steamy"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person climbing"
+ , "category": "People & Body"
+ , "aliases": [
+ "climbing"
+ ]
+ , "tags": [
+ "bouldering"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man climbing"
+ , "category": "People & Body"
+ , "aliases": [
+ "climbing_man"
+ ]
+ , "tags": [
+ "bouldering"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman climbing"
+ , "category": "People & Body"
+ , "aliases": [
+ "climbing_woman"
+ ]
+ , "tags": [
+ "bouldering"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คบ"
+ , "description": "person fencing"
+ , "category": "People & Body"
+ , "aliases": [
+ "person_fencing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "horse racing"
+ , "category": "People & Body"
+ , "aliases": [
+ "horse_racing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โท๏ธ"
+ , "description": "skier"
+ , "category": "People & Body"
+ , "aliases": [
+ "skier"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "snowboarder"
+ , "category": "People & Body"
+ , "aliases": [
+ "snowboarder"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "person golfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "golfing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธโโ๏ธ"
+ , "description": "man golfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "golfing_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธโโ๏ธ"
+ , "description": "woman golfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "golfing_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person surfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "surfer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man surfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "surfing_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman surfing"
+ , "category": "People & Body"
+ , "aliases": [
+ "surfing_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "person rowing boat"
+ , "category": "People & Body"
+ , "aliases": [
+ "rowboat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฃโโ๏ธ"
+ , "description": "man rowing boat"
+ , "category": "People & Body"
+ , "aliases": [
+ "rowing_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฃโโ๏ธ"
+ , "description": "woman rowing boat"
+ , "category": "People & Body"
+ , "aliases": [
+ "rowing_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person swimming"
+ , "category": "People & Body"
+ , "aliases": [
+ "swimmer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "man swimming"
+ , "category": "People & Body"
+ , "aliases": [
+ "swimming_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐โโ๏ธ"
+ , "description": "woman swimming"
+ , "category": "People & Body"
+ , "aliases": [
+ "swimming_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โน๏ธ"
+ , "description": "person bouncing ball"
+ , "category": "People & Body"
+ , "aliases": [
+ "bouncing_ball_person"
+ ]
+ , "tags": [
+ "basketball"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โน๏ธโโ๏ธ"
+ , "description": "man bouncing ball"
+ , "category": "People & Body"
+ , "aliases": [
+ "bouncing_ball_man"
+ , "basketball_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "โน๏ธโโ๏ธ"
+ , "description": "woman bouncing ball"
+ , "category": "People & Body"
+ , "aliases": [
+ "bouncing_ball_woman"
+ , "basketball_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "person lifting weights"
+ , "category": "People & Body"
+ , "aliases": [
+ "weight_lifting"
+ ]
+ , "tags": [
+ "gym"
+ , "workout"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธโโ๏ธ"
+ , "description": "man lifting weights"
+ , "category": "People & Body"
+ , "aliases": [
+ "weight_lifting_man"
+ ]
+ , "tags": [
+ "gym"
+ , "workout"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐๏ธโโ๏ธ"
+ , "description": "woman lifting weights"
+ , "category": "People & Body"
+ , "aliases": [
+ "weight_lifting_woman"
+ ]
+ , "tags": [
+ "gym"
+ , "workout"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "person biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "bicyclist"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ดโโ๏ธ"
+ , "description": "man biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "biking_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ดโโ๏ธ"
+ , "description": "woman biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "biking_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "person mountain biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "mountain_bicyclist"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ตโโ๏ธ"
+ , "description": "man mountain biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "mountain_biking_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ตโโ๏ธ"
+ , "description": "woman mountain biking"
+ , "category": "People & Body"
+ , "aliases": [
+ "mountain_biking_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คธ"
+ , "description": "person cartwheeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "cartwheeling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คธโโ๏ธ"
+ , "description": "man cartwheeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_cartwheeling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คธโโ๏ธ"
+ , "description": "woman cartwheeling"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_cartwheeling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คผ"
+ , "description": "people wrestling"
+ , "category": "People & Body"
+ , "aliases": [
+ "wrestling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐คผโโ๏ธ"
+ , "description": "men wrestling"
+ , "category": "People & Body"
+ , "aliases": [
+ "men_wrestling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐คผโโ๏ธ"
+ , "description": "women wrestling"
+ , "category": "People & Body"
+ , "aliases": [
+ "women_wrestling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐คฝ"
+ , "description": "person playing water polo"
+ , "category": "People & Body"
+ , "aliases": [
+ "water_polo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฝโโ๏ธ"
+ , "description": "man playing water polo"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_playing_water_polo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คฝโโ๏ธ"
+ , "description": "woman playing water polo"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_playing_water_polo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คพ"
+ , "description": "person playing handball"
+ , "category": "People & Body"
+ , "aliases": [
+ "handball_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คพโโ๏ธ"
+ , "description": "man playing handball"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_playing_handball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คพโโ๏ธ"
+ , "description": "woman playing handball"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_playing_handball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คน"
+ , "description": "person juggling"
+ , "category": "People & Body"
+ , "aliases": [
+ "juggling_person"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คนโโ๏ธ"
+ , "description": "man juggling"
+ , "category": "People & Body"
+ , "aliases": [
+ "man_juggling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐คนโโ๏ธ"
+ , "description": "woman juggling"
+ , "category": "People & Body"
+ , "aliases": [
+ "woman_juggling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "person in lotus position"
+ , "category": "People & Body"
+ , "aliases": [
+ "lotus_position"
+ ]
+ , "tags": [
+ "meditation"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "man in lotus position"
+ , "category": "People & Body"
+ , "aliases": [
+ "lotus_position_man"
+ ]
+ , "tags": [
+ "meditation"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโโ๏ธ"
+ , "description": "woman in lotus position"
+ , "category": "People & Body"
+ , "aliases": [
+ "lotus_position_woman"
+ ]
+ , "tags": [
+ "meditation"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person taking bath"
+ , "category": "People & Body"
+ , "aliases": [
+ "bath"
+ ]
+ , "tags": [
+ "shower"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "person in bed"
+ , "category": "People & Body"
+ , "aliases": [
+ "sleeping_bed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐งโ๐คโ๐ง"
+ , "description": "people holding hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "people_holding_hands"
+ ]
+ , "tags": [
+ "couple"
+ , "date"
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ , "skin_tones": false
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "women holding hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "two_women_holding_hands"
+ ]
+ , "tags": [
+ "couple"
+ , "date"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "woman and man holding hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "couple"
+ ]
+ , "tags": [
+ "date"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "men holding hands"
+ , "category": "People & Body"
+ , "aliases": [
+ "two_men_holding_hands"
+ ]
+ , "tags": [
+ "couple"
+ , "date"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "kiss"
+ , "category": "People & Body"
+ , "aliases": [
+ "couplekiss"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโค๏ธโ๐โ๐จ"
+ , "description": "kiss: woman, man"
+ , "category": "People & Body"
+ , "aliases": [
+ "couplekiss_man_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโโค๏ธโ๐โ๐จ"
+ , "description": "kiss: man, man"
+ , "category": "People & Body"
+ , "aliases": [
+ "couplekiss_man_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโค๏ธโ๐โ๐ฉ"
+ , "description": "kiss: woman, woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "couplekiss_woman_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐"
+ , "description": "couple with heart"
+ , "category": "People & Body"
+ , "aliases": [
+ "couple_with_heart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโค๏ธโ๐จ"
+ , "description": "couple with heart: woman, man"
+ , "category": "People & Body"
+ , "aliases": [
+ "couple_with_heart_woman_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐จโโค๏ธโ๐จ"
+ , "description": "couple with heart: man, man"
+ , "category": "People & Body"
+ , "aliases": [
+ "couple_with_heart_man_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ฉโโค๏ธโ๐ฉ"
+ , "description": "couple with heart: woman, woman"
+ , "category": "People & Body"
+ , "aliases": [
+ "couple_with_heart_woman_woman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ , "skin_tones": true
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "family"
+ , "category": "People & Body"
+ , "aliases": [
+ "family"
+ ]
+ , "tags": [
+ "home"
+ , "parents"
+ , "child"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จโ๐ฉโ๐ฆ"
+ , "description": "family: man, woman, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_woman_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐จโ๐ฉโ๐ง"
+ , "description": "family: man, woman, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_woman_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐ฉโ๐งโ๐ฆ"
+ , "description": "family: man, woman, girl, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_woman_girl_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐ฉโ๐ฆโ๐ฆ"
+ , "description": "family: man, woman, boy, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_woman_boy_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐ฉโ๐งโ๐ง"
+ , "description": "family: man, woman, girl, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_woman_girl_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐จโ๐ฆ"
+ , "description": "family: man, man, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_man_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐จโ๐ง"
+ , "description": "family: man, man, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_man_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐จโ๐งโ๐ฆ"
+ , "description": "family: man, man, girl, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_man_girl_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐จโ๐ฆโ๐ฆ"
+ , "description": "family: man, man, boy, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_man_boy_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐จโ๐งโ๐ง"
+ , "description": "family: man, man, girl, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_man_girl_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉโ๐ฉโ๐ฆ"
+ , "description": "family: woman, woman, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_woman_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉโ๐ฉโ๐ง"
+ , "description": "family: woman, woman, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_woman_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉโ๐ฉโ๐งโ๐ฆ"
+ , "description": "family: woman, woman, girl, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_woman_girl_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉโ๐ฉโ๐ฆโ๐ฆ"
+ , "description": "family: woman, woman, boy, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_woman_boy_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉโ๐ฉโ๐งโ๐ง"
+ , "description": "family: woman, woman, girl, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_woman_girl_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จโ๐ฆ"
+ , "description": "family: man, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐จโ๐ฆโ๐ฆ"
+ , "description": "family: man, boy, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_boy_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐จโ๐ง"
+ , "description": "family: man, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐จโ๐งโ๐ฆ"
+ , "description": "family: man, girl, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_girl_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐จโ๐งโ๐ง"
+ , "description": "family: man, girl, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_man_girl_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฉโ๐ฆ"
+ , "description": "family: woman, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฉโ๐ฆโ๐ฆ"
+ , "description": "family: woman, boy, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_boy_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฉโ๐ง"
+ , "description": "family: woman, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฉโ๐งโ๐ฆ"
+ , "description": "family: woman, girl, boy"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_girl_boy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฉโ๐งโ๐ง"
+ , "description": "family: woman, girl, girl"
+ , "category": "People & Body"
+ , "aliases": [
+ "family_woman_girl_girl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ฃ๏ธ"
+ , "description": "speaking head"
+ , "category": "People & Body"
+ , "aliases": [
+ "speaking_head"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "bust in silhouette"
+ , "category": "People & Body"
+ , "aliases": [
+ "bust_in_silhouette"
+ ]
+ , "tags": [
+ "user"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "busts in silhouette"
+ , "category": "People & Body"
+ , "aliases": [
+ "busts_in_silhouette"
+ ]
+ , "tags": [
+ "users"
+ , "group"
+ , "team"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "people hugging"
+ , "category": "People & Body"
+ , "aliases": [
+ "people_hugging"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "footprints"
+ , "category": "People & Body"
+ , "aliases": [
+ "footprints"
+ ]
+ , "tags": [
+ "feet"
+ , "tracks"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "monkey face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "monkey_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "monkey"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "monkey"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "gorilla"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "gorilla"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆง"
+ , "description": "orangutan"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "orangutan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "dog face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dog"
+ ]
+ , "tags": [
+ "pet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "dog"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dog2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆฎ"
+ , "description": "guide dog"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "guide_dog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐โ๐ฆบ"
+ , "description": "service dog"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "service_dog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "poodle"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "poodle"
+ ]
+ , "tags": [
+ "dog"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "wolf"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "wolf"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "fox"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "fox_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "raccoon"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "raccoon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "cat face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cat"
+ ]
+ , "tags": [
+ "pet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cat"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cat2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐โโฌ"
+ , "description": "black cat"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "black_cat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "lion"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "lion"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "tiger face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "tiger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "tiger"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "tiger2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "leopard"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "leopard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "horse face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "horse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "horse"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "racehorse"
+ ]
+ , "tags": [
+ "speed"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "unicorn"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "unicorn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "zebra"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "zebra"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "deer"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "deer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆฌ"
+ , "description": "bison"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bison"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "cow face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ox"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "ox"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "water buffalo"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "water_buffalo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cow"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cow2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "pig face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "pig"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pig"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "pig2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "boar"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "boar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "pig nose"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "pig_nose"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ram"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "ram"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ewe"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "sheep"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "goat"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "goat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "camel"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dromedary_camel"
+ ]
+ , "tags": [
+ "desert"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "two-hump camel"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "camel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "llama"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "llama"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "giraffe"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "giraffe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "elephant"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "elephant"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆฃ"
+ , "description": "mammoth"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "mammoth"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "rhinoceros"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rhinoceros"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "hippopotamus"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hippopotamus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "mouse face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "mouse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mouse"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "mouse2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rat"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "hamster"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hamster"
+ ]
+ , "tags": [
+ "pet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "rabbit face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rabbit"
+ ]
+ , "tags": [
+ "bunny"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rabbit"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rabbit2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ๏ธ"
+ , "description": "chipmunk"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "chipmunk"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆซ"
+ , "description": "beaver"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "beaver"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "hedgehog"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hedgehog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "bat"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "bear"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ปโโ๏ธ"
+ , "description": "polar bear"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "polar_bear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "koala"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "koala"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "panda"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "panda_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆฅ"
+ , "description": "sloth"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "sloth"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆฆ"
+ , "description": "otter"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "otter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆจ"
+ , "description": "skunk"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "skunk"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "kangaroo"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "kangaroo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆก"
+ , "description": "badger"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "badger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "paw prints"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "feet"
+ , "paw_prints"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "turkey"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "turkey"
+ ]
+ , "tags": [
+ "thanksgiving"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "chicken"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "chicken"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rooster"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rooster"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "hatching chick"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hatching_chick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "baby chick"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "baby_chick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "front-facing baby chick"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hatched_chick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "bird"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bird"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "penguin"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "penguin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "dove"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dove"
+ ]
+ , "tags": [
+ "peace"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ
"
+ , "description": "eagle"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "eagle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "duck"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "duck"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆข"
+ , "description": "swan"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "swan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "owl"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "owl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆค"
+ , "description": "dodo"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dodo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ชถ"
+ , "description": "feather"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "feather"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆฉ"
+ , "description": "flamingo"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "flamingo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "peacock"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "peacock"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "parrot"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "parrot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "frog"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "frog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "crocodile"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "crocodile"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "turtle"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "turtle"
+ ]
+ , "tags": [
+ "slow"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "lizard"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "lizard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "snake"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "snake"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "dragon face"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dragon_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "dragon"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dragon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "sauropod"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "sauropod"
+ ]
+ , "tags": [
+ "dinosaur"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "T-Rex"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "t-rex"
+ ]
+ , "tags": [
+ "dinosaur"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "spouting whale"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "whale"
+ ]
+ , "tags": [
+ "sea"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "whale"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "whale2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "dolphin"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "dolphin"
+ , "flipper"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆญ"
+ , "description": "seal"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "seal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "fish"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "fish"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "tropical fish"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "tropical_fish"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "blowfish"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "blowfish"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "shark"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "shark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "octopus"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "octopus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "spiral shell"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "shell"
+ ]
+ , "tags": [
+ "sea"
+ , "beach"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชธ"
+ , "description": "coral"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "coral"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "snail"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "snail"
+ ]
+ , "tags": [
+ "slow"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "butterfly"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "butterfly"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bug"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bug"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ant"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "ant"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "honeybee"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bee"
+ , "honeybee"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชฒ"
+ , "description": "beetle"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "beetle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "lady beetle"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "lady_beetle"
+ ]
+ , "tags": [
+ "bug"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "cricket"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cricket"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชณ"
+ , "description": "cockroach"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cockroach"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ท๏ธ"
+ , "description": "spider"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "spider"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ธ๏ธ"
+ , "description": "spider web"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "spider_web"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "scorpion"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "scorpion"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "mosquito"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "mosquito"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชฐ"
+ , "description": "fly"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "fly"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ชฑ"
+ , "description": "worm"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "worm"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฆ "
+ , "description": "microbe"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "microbe"
+ ]
+ , "tags": [
+ "germ"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bouquet"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "bouquet"
+ ]
+ , "tags": [
+ "flowers"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "cherry blossom"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cherry_blossom"
+ ]
+ , "tags": [
+ "flower"
+ , "spring"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "white flower"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "white_flower"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชท"
+ , "description": "lotus"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "lotus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ต๏ธ"
+ , "description": "rosette"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rosette"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "rose"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "rose"
+ ]
+ , "tags": [
+ "flower"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "wilted flower"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "wilted_flower"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "hibiscus"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "hibiscus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "sunflower"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "sunflower"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "blossom"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "blossom"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "tulip"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "tulip"
+ ]
+ , "tags": [
+ "flower"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "seedling"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "seedling"
+ ]
+ , "tags": [
+ "plant"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชด"
+ , "description": "potted plant"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "potted_plant"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "evergreen tree"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "evergreen_tree"
+ ]
+ , "tags": [
+ "wood"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "deciduous tree"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "deciduous_tree"
+ ]
+ , "tags": [
+ "wood"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "palm tree"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "palm_tree"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "cactus"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "cactus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "sheaf of rice"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "ear_of_rice"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "herb"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "herb"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "shamrock"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "shamrock"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "four leaf clover"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "four_leaf_clover"
+ ]
+ , "tags": [
+ "luck"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "maple leaf"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "maple_leaf"
+ ]
+ , "tags": [
+ "canada"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "fallen leaf"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "fallen_leaf"
+ ]
+ , "tags": [
+ "autumn"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "leaf fluttering in wind"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "leaves"
+ ]
+ , "tags": [
+ "leaf"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชน"
+ , "description": "empty nest"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "empty_nest"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ชบ"
+ , "description": "nest with eggs"
+ , "category": "Animals & Nature"
+ , "aliases": [
+ "nest_with_eggs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "grapes"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "grapes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "melon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "melon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "watermelon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "watermelon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tangerine"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tangerine"
+ , "orange"
+ , "mandarin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "lemon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "lemon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "banana"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "banana"
+ ]
+ , "tags": [
+ "fruit"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pineapple"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pineapple"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅญ"
+ , "description": "mango"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "mango"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "red apple"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "apple"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "green apple"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "green_apple"
+ ]
+ , "tags": [
+ "fruit"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pear"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "peach"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "peach"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cherries"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cherries"
+ ]
+ , "tags": [
+ "fruit"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "strawberry"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "strawberry"
+ ]
+ , "tags": [
+ "fruit"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "blueberries"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "blueberries"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "kiwi fruit"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "kiwi_fruit"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "tomato"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tomato"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "olive"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "olive"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅฅ"
+ , "description": "coconut"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "coconut"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "avocado"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "avocado"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "eggplant"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "eggplant"
+ ]
+ , "tags": [
+ "aubergine"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "potato"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "potato"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "carrot"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "carrot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "ear of corn"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "corn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ๏ธ"
+ , "description": "hot pepper"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "hot_pepper"
+ ]
+ , "tags": [
+ "spicy"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "bell pepper"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bell_pepper"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "cucumber"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cucumber"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅฌ"
+ , "description": "leafy green"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "leafy_green"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅฆ"
+ , "description": "broccoli"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "broccoli"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "garlic"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "garlic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง
"
+ , "description": "onion"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "onion"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mushroom"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "mushroom"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "peanuts"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "peanuts"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "beans"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "beans"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "chestnut"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "chestnut"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bread"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bread"
+ ]
+ , "tags": [
+ "toast"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "croissant"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "croissant"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "baguette bread"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "baguette_bread"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "flatbread"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "flatbread"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅจ"
+ , "description": "pretzel"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pretzel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅฏ"
+ , "description": "bagel"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bagel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "pancakes"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pancakes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "waffle"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "waffle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "cheese wedge"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cheese"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "meat on bone"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "meat_on_bone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "poultry leg"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "poultry_leg"
+ ]
+ , "tags": [
+ "meat"
+ , "chicken"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅฉ"
+ , "description": "cut of meat"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cut_of_meat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "bacon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bacon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐"
+ , "description": "hamburger"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "hamburger"
+ ]
+ , "tags": [
+ "burger"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "french fries"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fries"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pizza"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pizza"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "hot dog"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "hotdog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅช"
+ , "description": "sandwich"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "sandwich"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "taco"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "taco"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "burrito"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "burrito"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "tamale"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tamale"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "stuffed flatbread"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "stuffed_flatbread"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "falafel"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "falafel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "egg"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "egg"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "cooking"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fried_egg"
+ ]
+ , "tags": [
+ "breakfast"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "shallow pan of food"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "shallow_pan_of_food"
+ ]
+ , "tags": [
+ "paella"
+ , "curry"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "pot of food"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "stew"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "fondue"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fondue"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฅฃ"
+ , "description": "bowl with spoon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bowl_with_spoon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "green salad"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "green_salad"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "popcorn"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "popcorn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "butter"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "butter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "salt"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "salt"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅซ"
+ , "description": "canned food"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "canned_food"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "bento box"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bento"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rice cracker"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "rice_cracker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rice ball"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "rice_ball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cooked rice"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "rice"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "curry rice"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "curry"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "steaming bowl"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "ramen"
+ ]
+ , "tags": [
+ "noodle"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "spaghetti"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "spaghetti"
+ ]
+ , "tags": [
+ "pasta"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "roasted sweet potato"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "sweet_potato"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "oden"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "oden"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "sushi"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "sushi"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "fried shrimp"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fried_shrimp"
+ ]
+ , "tags": [
+ "tempura"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "fish cake with swirl"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fish_cake"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅฎ"
+ , "description": "moon cake"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "moon_cake"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "dango"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "dango"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "dumpling"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "dumpling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ "
+ , "description": "fortune cookie"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fortune_cookie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅก"
+ , "description": "takeout box"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "takeout_box"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "crab"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "crab"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "lobster"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "lobster"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "shrimp"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "shrimp"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "squid"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "squid"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆช"
+ , "description": "oyster"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "oyster"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "soft ice cream"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "icecream"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "shaved ice"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "shaved_ice"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "ice cream"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "ice_cream"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "doughnut"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "doughnut"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "cookie"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cookie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "birthday cake"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "birthday"
+ ]
+ , "tags": [
+ "party"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "shortcake"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cake"
+ ]
+ , "tags": [
+ "dessert"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "cupcake"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cupcake"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅง"
+ , "description": "pie"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pie"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "chocolate bar"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "chocolate_bar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "candy"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "candy"
+ ]
+ , "tags": [
+ "sweet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "lollipop"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "lollipop"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "custard"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "custard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "honey pot"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "honey_pot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "baby bottle"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "baby_bottle"
+ ]
+ , "tags": [
+ "milk"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "glass of milk"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "milk_glass"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "โ"
+ , "description": "hot beverage"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "coffee"
+ ]
+ , "tags": [
+ "cafe"
+ , "espresso"
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "teapot"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "teapot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "teacup without handle"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tea"
+ ]
+ , "tags": [
+ "green"
+ , "breakfast"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "sake"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "sake"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "bottle with popping cork"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "champagne"
+ ]
+ , "tags": [
+ "bottle"
+ , "bubbly"
+ , "celebration"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "wine glass"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "wine_glass"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "cocktail glass"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cocktail"
+ ]
+ , "tags": [
+ "drink"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "tropical drink"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tropical_drink"
+ ]
+ , "tags": [
+ "summer"
+ , "vacation"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "beer mug"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "beer"
+ ]
+ , "tags": [
+ "drink"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "clinking beer mugs"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "beers"
+ ]
+ , "tags": [
+ "drinks"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "clinking glasses"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "clinking_glasses"
+ ]
+ , "tags": [
+ "cheers"
+ , "toast"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "tumbler glass"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "tumbler_glass"
+ ]
+ , "tags": [
+ "whisky"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "pouring liquid"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "pouring_liquid"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ฅค"
+ , "description": "cup with straw"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "cup_with_straw"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "bubble tea"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "bubble_tea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "beverage box"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "beverage_box"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "mate"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "mate"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "ice"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "ice_cube"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฅข"
+ , "description": "chopsticks"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "chopsticks"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฝ๏ธ"
+ , "description": "fork and knife with plate"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "plate_with_cutlery"
+ ]
+ , "tags": [
+ "dining"
+ , "dinner"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "fork and knife"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "fork_and_knife"
+ ]
+ , "tags": [
+ "cutlery"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "spoon"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "spoon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "kitchen knife"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "hocho"
+ , "knife"
+ ]
+ , "tags": [
+ "cut"
+ , "chop"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "jar"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "jar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "amphora"
+ , "category": "Food & Drink"
+ , "aliases": [
+ "amphora"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "globe showing Europe-Africa"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "earth_africa"
+ ]
+ , "tags": [
+ "globe"
+ , "world"
+ , "international"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "globe showing Americas"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "earth_americas"
+ ]
+ , "tags": [
+ "globe"
+ , "world"
+ , "international"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "globe showing Asia-Australia"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "earth_asia"
+ ]
+ , "tags": [
+ "globe"
+ , "world"
+ , "international"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "globe with meridians"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "globe_with_meridians"
+ ]
+ , "tags": [
+ "world"
+ , "global"
+ , "international"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ๏ธ"
+ , "description": "world map"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "world_map"
+ ]
+ , "tags": [
+ "travel"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "map of Japan"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "japan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งญ"
+ , "description": "compass"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "compass"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "snow-capped mountain"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mountain_snow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฐ๏ธ"
+ , "description": "mountain"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mountain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "volcano"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "volcano"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "mount fuji"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mount_fuji"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "camping"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "camping"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "beach with umbrella"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "beach_umbrella"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "desert"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "desert"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "desert island"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "desert_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "national park"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "national_park"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "stadium"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "stadium"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "classical building"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "classical_building"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "building construction"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "building_construction"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐งฑ"
+ , "description": "brick"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bricks"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชจ"
+ , "description": "rock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "rock"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ชต"
+ , "description": "wood"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "wood"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "hut"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hut"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "houses"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "houses"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "derelict house"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "derelict_house"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "house"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "house"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "house with garden"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "house_with_garden"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "office building"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "office"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "Japanese post office"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "post_office"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "post office"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "european_post_office"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "hospital"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hospital"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "bank"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bank"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "hotel"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hotel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "love hotel"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "love_hotel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "convenience store"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "convenience_store"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "school"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "school"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "department store"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "department_store"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "factory"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "factory"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "Japanese castle"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "japanese_castle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "castle"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "european_castle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "wedding"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "wedding"
+ ]
+ , "tags": [
+ "marriage"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "Tokyo tower"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "tokyo_tower"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "Statue of Liberty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "statue_of_liberty"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โช"
+ , "description": "church"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "church"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mosque"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mosque"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "hindu temple"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hindu_temple"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "synagogue"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "synagogue"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฉ๏ธ"
+ , "description": "shinto shrine"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "shinto_shrine"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kaaba"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "kaaba"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฒ"
+ , "description": "fountain"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "fountain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โบ"
+ , "description": "tent"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "tent"
+ ]
+ , "tags": [
+ "camping"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "foggy"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "foggy"
+ ]
+ , "tags": [
+ "karl"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "night with stars"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "night_with_stars"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "cityscape"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cityscape"
+ ]
+ , "tags": [
+ "skyline"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sunrise over mountains"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sunrise_over_mountains"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "sunrise"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sunrise"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cityscape at dusk"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "city_sunset"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sunset"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "city_sunrise"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bridge at night"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bridge_at_night"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โจ๏ธ"
+ , "description": "hot springs"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hotsprings"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "carousel horse"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "carousel_horse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "playground slide"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "playground_slide"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "ferris wheel"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ferris_wheel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "roller coaster"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "roller_coaster"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "barber pole"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "barber"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "circus tent"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "circus_tent"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "locomotive"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "steam_locomotive"
+ ]
+ , "tags": [
+ "train"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "railway car"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "railway_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "high-speed train"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bullettrain_side"
+ ]
+ , "tags": [
+ "train"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "bullet train"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bullettrain_front"
+ ]
+ , "tags": [
+ "train"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "train"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "train2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "metro"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "metro"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "light rail"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "light_rail"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "station"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "station"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tram"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "tram"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "monorail"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "monorail"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mountain railway"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mountain_railway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tram car"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "train"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bus"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "oncoming bus"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "oncoming_bus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "trolleybus"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "trolleybus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "minibus"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "minibus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ambulance"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ambulance"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "fire engine"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "fire_engine"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "police car"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "police_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "oncoming police car"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "oncoming_police_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "taxi"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "taxi"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "oncoming taxi"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "oncoming_taxi"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "automobile"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "car"
+ , "red_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "oncoming automobile"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "oncoming_automobile"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sport utility vehicle"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "blue_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "pickup truck"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "pickup_truck"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "delivery truck"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "truck"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "articulated lorry"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "articulated_lorry"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tractor"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "tractor"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "racing car"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "racing_car"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "motorcycle"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "motorcycle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "motor scooter"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "motor_scooter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฆฝ"
+ , "description": "manual wheelchair"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "manual_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆผ"
+ , "description": "motorized wheelchair"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "motorized_wheelchair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "auto rickshaw"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "auto_rickshaw"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "bicycle"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bike"
+ ]
+ , "tags": [
+ "bicycle"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "kick scooter"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "kick_scooter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "skateboard"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "skateboard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "roller skate"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "roller_skate"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bus stop"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "busstop"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ๏ธ"
+ , "description": "motorway"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "motorway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค๏ธ"
+ , "description": "railway track"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "railway_track"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ข๏ธ"
+ , "description": "oil drum"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "oil_drum"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฝ"
+ , "description": "fuel pump"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "fuelpump"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "wheel"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "wheel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "police car light"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "rotating_light"
+ ]
+ , "tags": [
+ "911"
+ , "emergency"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "horizontal traffic light"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "traffic_light"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "vertical traffic light"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "vertical_traffic_light"
+ ]
+ , "tags": [
+ "semaphore"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "stop sign"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "stop_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "construction"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "construction"
+ ]
+ , "tags": [
+ "wip"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "anchor"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "anchor"
+ ]
+ , "tags": [
+ "ship"
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ring buoy"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ring_buoy"
+ ]
+ , "tags": [
+ "life preserver"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "โต"
+ , "description": "sailboat"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "boat"
+ , "sailboat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "canoe"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "canoe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "speedboat"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "speedboat"
+ ]
+ , "tags": [
+ "ship"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ๏ธ"
+ , "description": "passenger ship"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "passenger_ship"
+ ]
+ , "tags": [
+ "cruise"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โด๏ธ"
+ , "description": "ferry"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ferry"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ๏ธ"
+ , "description": "motor boat"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "motor_boat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "ship"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ship"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "airplane"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "airplane"
+ ]
+ , "tags": [
+ "flight"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ๏ธ"
+ , "description": "small airplane"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "small_airplane"
+ ]
+ , "tags": [
+ "flight"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "airplane departure"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "flight_departure"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "airplane arrival"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "flight_arrival"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "parachute"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "parachute"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "seat"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "seat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "helicopter"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "helicopter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "suspension railway"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "suspension_railway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "mountain cableway"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mountain_cableway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "aerial tramway"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "aerial_tramway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ๏ธ"
+ , "description": "satellite"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "artificial_satellite"
+ ]
+ , "tags": [
+ "orbit"
+ , "space"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rocket"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "rocket"
+ ]
+ , "tags": [
+ "ship"
+ , "launch"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "flying saucer"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "flying_saucer"
+ ]
+ , "tags": [
+ "ufo"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "bellhop bell"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "bellhop_bell"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐งณ"
+ , "description": "luggage"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "luggage"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โ"
+ , "description": "hourglass done"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hourglass"
+ ]
+ , "tags": [
+ "time"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โณ"
+ , "description": "hourglass not done"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "hourglass_flowing_sand"
+ ]
+ , "tags": [
+ "time"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "watch"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "watch"
+ ]
+ , "tags": [
+ "time"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฐ"
+ , "description": "alarm clock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "alarm_clock"
+ ]
+ , "tags": [
+ "morning"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฑ๏ธ"
+ , "description": "stopwatch"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "stopwatch"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฒ๏ธ"
+ , "description": "timer clock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "timer_clock"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฐ๏ธ"
+ , "description": "mantelpiece clock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "mantelpiece_clock"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "twelve oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock12"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "twelve-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock1230"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "one oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock1"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "one-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock130"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "two oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "two-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock230"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "three oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock3"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "three-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock330"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "four oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock4"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "four-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock430"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "five oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock5"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "five-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock530"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "six oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock6"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "six-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock630"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "seven oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock7"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "seven-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock730"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "eight oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock8"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "eight-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock830"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "nine oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock9"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "nine-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock930"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ten oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock10"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "ten-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock1030"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "eleven oโclock"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock11"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "eleven-thirty"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "clock1130"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "new moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "new_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "waxing crescent moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "waxing_crescent_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "first quarter moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "first_quarter_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "waxing gibbous moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "moon"
+ , "waxing_gibbous_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "full moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "full_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "waning gibbous moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "waning_gibbous_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "last quarter moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "last_quarter_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "waning crescent moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "waning_crescent_moon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "crescent moon"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "crescent_moon"
+ ]
+ , "tags": [
+ "night"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "new moon face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "new_moon_with_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "first quarter moon face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "first_quarter_moon_with_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "last quarter moon face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "last_quarter_moon_with_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก๏ธ"
+ , "description": "thermometer"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "thermometer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "sun"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sunny"
+ ]
+ , "tags": [
+ "weather"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "full moon face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "full_moon_with_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sun with face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sun_with_face"
+ ]
+ , "tags": [
+ "summer"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "ringed planet"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ringed_planet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "โญ"
+ , "description": "star"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "star"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "glowing star"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "star2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "shooting star"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "stars"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "milky way"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "milky_way"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "cloud"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cloud"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ
"
+ , "description": "sun behind cloud"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "partly_sunny"
+ ]
+ , "tags": [
+ "weather"
+ , "cloud"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "cloud with lightning and rain"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cloud_with_lightning_and_rain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค๏ธ"
+ , "description": "sun behind small cloud"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sun_behind_small_cloud"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ๏ธ"
+ , "description": "sun behind large cloud"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sun_behind_large_cloud"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆ๏ธ"
+ , "description": "sun behind rain cloud"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "sun_behind_rain_cloud"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ง๏ธ"
+ , "description": "cloud with rain"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cloud_with_rain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐จ๏ธ"
+ , "description": "cloud with snow"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cloud_with_snow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฉ๏ธ"
+ , "description": "cloud with lightning"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cloud_with_lightning"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ช๏ธ"
+ , "description": "tornado"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "tornado"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ๏ธ"
+ , "description": "fog"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "fog"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฌ๏ธ"
+ , "description": "wind face"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "wind_face"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cyclone"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "cyclone"
+ ]
+ , "tags": [
+ "swirl"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rainbow"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "rainbow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "closed umbrella"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "closed_umbrella"
+ ]
+ , "tags": [
+ "weather"
+ , "rain"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "umbrella"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "open_umbrella"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ"
+ , "description": "umbrella with rain drops"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "umbrella"
+ ]
+ , "tags": [
+ "rain"
+ , "weather"
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฑ๏ธ"
+ , "description": "umbrella on ground"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "parasol_on_ground"
+ ]
+ , "tags": [
+ "beach_umbrella"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โก"
+ , "description": "high voltage"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "zap"
+ ]
+ , "tags": [
+ "lightning"
+ , "thunder"
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "snowflake"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "snowflake"
+ ]
+ , "tags": [
+ "winter"
+ , "cold"
+ , "weather"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "snowman"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "snowman_with_snow"
+ ]
+ , "tags": [
+ "winter"
+ , "christmas"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ"
+ , "description": "snowman without snow"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "snowman"
+ ]
+ , "tags": [
+ "winter"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "comet"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "comet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "fire"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "fire"
+ ]
+ , "tags": [
+ "burn"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "droplet"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "droplet"
+ ]
+ , "tags": [
+ "water"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "water wave"
+ , "category": "Travel & Places"
+ , "aliases": [
+ "ocean"
+ ]
+ , "tags": [
+ "sea"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "jack-o-lantern"
+ , "category": "Activities"
+ , "aliases": [
+ "jack_o_lantern"
+ ]
+ , "tags": [
+ "halloween"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Christmas tree"
+ , "category": "Activities"
+ , "aliases": [
+ "christmas_tree"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "fireworks"
+ , "category": "Activities"
+ , "aliases": [
+ "fireworks"
+ ]
+ , "tags": [
+ "festival"
+ , "celebration"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "sparkler"
+ , "category": "Activities"
+ , "aliases": [
+ "sparkler"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งจ"
+ , "description": "firecracker"
+ , "category": "Activities"
+ , "aliases": [
+ "firecracker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โจ"
+ , "description": "sparkles"
+ , "category": "Activities"
+ , "aliases": [
+ "sparkles"
+ ]
+ , "tags": [
+ "shiny"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "balloon"
+ , "category": "Activities"
+ , "aliases": [
+ "balloon"
+ ]
+ , "tags": [
+ "party"
+ , "birthday"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "party popper"
+ , "category": "Activities"
+ , "aliases": [
+ "tada"
+ ]
+ , "tags": [
+ "hooray"
+ , "party"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "confetti ball"
+ , "category": "Activities"
+ , "aliases": [
+ "confetti_ball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tanabata tree"
+ , "category": "Activities"
+ , "aliases": [
+ "tanabata_tree"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pine decoration"
+ , "category": "Activities"
+ , "aliases": [
+ "bamboo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Japanese dolls"
+ , "category": "Activities"
+ , "aliases": [
+ "dolls"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "carp streamer"
+ , "category": "Activities"
+ , "aliases": [
+ "flags"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "wind chime"
+ , "category": "Activities"
+ , "aliases": [
+ "wind_chime"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "moon viewing ceremony"
+ , "category": "Activities"
+ , "aliases": [
+ "rice_scene"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งง"
+ , "description": "red envelope"
+ , "category": "Activities"
+ , "aliases": [
+ "red_envelope"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ribbon"
+ , "category": "Activities"
+ , "aliases": [
+ "ribbon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "wrapped gift"
+ , "category": "Activities"
+ , "aliases": [
+ "gift"
+ ]
+ , "tags": [
+ "present"
+ , "birthday"
+ , "christmas"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "reminder ribbon"
+ , "category": "Activities"
+ , "aliases": [
+ "reminder_ribbon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "admission tickets"
+ , "category": "Activities"
+ , "aliases": [
+ "tickets"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "ticket"
+ , "category": "Activities"
+ , "aliases": [
+ "ticket"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "military medal"
+ , "category": "Activities"
+ , "aliases": [
+ "medal_military"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "trophy"
+ , "category": "Activities"
+ , "aliases": [
+ "trophy"
+ ]
+ , "tags": [
+ "award"
+ , "contest"
+ , "winner"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "sports medal"
+ , "category": "Activities"
+ , "aliases": [
+ "medal_sports"
+ ]
+ , "tags": [
+ "gold"
+ , "winner"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "1st place medal"
+ , "category": "Activities"
+ , "aliases": [
+ "1st_place_medal"
+ ]
+ , "tags": [
+ "gold"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "2nd place medal"
+ , "category": "Activities"
+ , "aliases": [
+ "2nd_place_medal"
+ ]
+ , "tags": [
+ "silver"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "3rd place medal"
+ , "category": "Activities"
+ , "aliases": [
+ "3rd_place_medal"
+ ]
+ , "tags": [
+ "bronze"
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "โฝ"
+ , "description": "soccer ball"
+ , "category": "Activities"
+ , "aliases": [
+ "soccer"
+ ]
+ , "tags": [
+ "sports"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โพ"
+ , "description": "baseball"
+ , "category": "Activities"
+ , "aliases": [
+ "baseball"
+ ]
+ , "tags": [
+ "sports"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "softball"
+ , "category": "Activities"
+ , "aliases": [
+ "softball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "basketball"
+ , "category": "Activities"
+ , "aliases": [
+ "basketball"
+ ]
+ , "tags": [
+ "sports"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "volleyball"
+ , "category": "Activities"
+ , "aliases": [
+ "volleyball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "american football"
+ , "category": "Activities"
+ , "aliases": [
+ "football"
+ ]
+ , "tags": [
+ "sports"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "rugby football"
+ , "category": "Activities"
+ , "aliases": [
+ "rugby_football"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "tennis"
+ , "category": "Activities"
+ , "aliases": [
+ "tennis"
+ ]
+ , "tags": [
+ "sports"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "flying disc"
+ , "category": "Activities"
+ , "aliases": [
+ "flying_disc"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "bowling"
+ , "category": "Activities"
+ , "aliases": [
+ "bowling"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "cricket game"
+ , "category": "Activities"
+ , "aliases": [
+ "cricket_game"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "field hockey"
+ , "category": "Activities"
+ , "aliases": [
+ "field_hockey"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ice hockey"
+ , "category": "Activities"
+ , "aliases": [
+ "ice_hockey"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "lacrosse"
+ , "category": "Activities"
+ , "aliases": [
+ "lacrosse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ping pong"
+ , "category": "Activities"
+ , "aliases": [
+ "ping_pong"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "badminton"
+ , "category": "Activities"
+ , "aliases": [
+ "badminton"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "boxing glove"
+ , "category": "Activities"
+ , "aliases": [
+ "boxing_glove"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "martial arts uniform"
+ , "category": "Activities"
+ , "aliases": [
+ "martial_arts_uniform"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฅ
"
+ , "description": "goal net"
+ , "category": "Activities"
+ , "aliases": [
+ "goal_net"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "โณ"
+ , "description": "flag in hole"
+ , "category": "Activities"
+ , "aliases": [
+ "golf"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โธ๏ธ"
+ , "description": "ice skate"
+ , "category": "Activities"
+ , "aliases": [
+ "ice_skate"
+ ]
+ , "tags": [
+ "skating"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "fishing pole"
+ , "category": "Activities"
+ , "aliases": [
+ "fishing_pole_and_fish"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐คฟ"
+ , "description": "diving mask"
+ , "category": "Activities"
+ , "aliases": [
+ "diving_mask"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "running shirt"
+ , "category": "Activities"
+ , "aliases": [
+ "running_shirt_with_sash"
+ ]
+ , "tags": [
+ "marathon"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "skis"
+ , "category": "Activities"
+ , "aliases": [
+ "ski"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "sled"
+ , "category": "Activities"
+ , "aliases": [
+ "sled"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "curling stone"
+ , "category": "Activities"
+ , "aliases": [
+ "curling_stone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "bullseye"
+ , "category": "Activities"
+ , "aliases": [
+ "dart"
+ ]
+ , "tags": [
+ "target"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "yo-yo"
+ , "category": "Activities"
+ , "aliases": [
+ "yo_yo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "kite"
+ , "category": "Activities"
+ , "aliases": [
+ "kite"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "pool 8 ball"
+ , "category": "Activities"
+ , "aliases": [
+ "8ball"
+ ]
+ , "tags": [
+ "pool"
+ , "billiards"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "crystal ball"
+ , "category": "Activities"
+ , "aliases": [
+ "crystal_ball"
+ ]
+ , "tags": [
+ "fortune"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "magic wand"
+ , "category": "Activities"
+ , "aliases": [
+ "magic_wand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐งฟ"
+ , "description": "nazar amulet"
+ , "category": "Activities"
+ , "aliases": [
+ "nazar_amulet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชฌ"
+ , "description": "hamsa"
+ , "category": "Activities"
+ , "aliases": [
+ "hamsa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "video game"
+ , "category": "Activities"
+ , "aliases": [
+ "video_game"
+ ]
+ , "tags": [
+ "play"
+ , "controller"
+ , "console"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น๏ธ"
+ , "description": "joystick"
+ , "category": "Activities"
+ , "aliases": [
+ "joystick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "slot machine"
+ , "category": "Activities"
+ , "aliases": [
+ "slot_machine"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "game die"
+ , "category": "Activities"
+ , "aliases": [
+ "game_die"
+ ]
+ , "tags": [
+ "dice"
+ , "gambling"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งฉ"
+ , "description": "puzzle piece"
+ , "category": "Activities"
+ , "aliases": [
+ "jigsaw"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งธ"
+ , "description": "teddy bear"
+ , "category": "Activities"
+ , "aliases": [
+ "teddy_bear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ช
"
+ , "description": "piรฑata"
+ , "category": "Activities"
+ , "aliases": [
+ "pinata"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ชฉ"
+ , "description": "mirror ball"
+ , "category": "Activities"
+ , "aliases": [
+ "mirror_ball"
+ ]
+ , "tags": [
+ "disco"
+ , "party"
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "nesting dolls"
+ , "category": "Activities"
+ , "aliases": [
+ "nesting_dolls"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โ ๏ธ"
+ , "description": "spade suit"
+ , "category": "Activities"
+ , "aliases": [
+ "spades"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฅ๏ธ"
+ , "description": "heart suit"
+ , "category": "Activities"
+ , "aliases": [
+ "hearts"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฆ๏ธ"
+ , "description": "diamond suit"
+ , "category": "Activities"
+ , "aliases": [
+ "diamonds"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฃ๏ธ"
+ , "description": "club suit"
+ , "category": "Activities"
+ , "aliases": [
+ "clubs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "chess pawn"
+ , "category": "Activities"
+ , "aliases": [
+ "chess_pawn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "joker"
+ , "category": "Activities"
+ , "aliases": [
+ "black_joker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "mahjong red dragon"
+ , "category": "Activities"
+ , "aliases": [
+ "mahjong"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "flower playing cards"
+ , "category": "Activities"
+ , "aliases": [
+ "flower_playing_cards"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "performing arts"
+ , "category": "Activities"
+ , "aliases": [
+ "performing_arts"
+ ]
+ , "tags": [
+ "theater"
+ , "drama"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ๏ธ"
+ , "description": "framed picture"
+ , "category": "Activities"
+ , "aliases": [
+ "framed_picture"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "artist palette"
+ , "category": "Activities"
+ , "aliases": [
+ "art"
+ ]
+ , "tags": [
+ "design"
+ , "paint"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งต"
+ , "description": "thread"
+ , "category": "Activities"
+ , "aliases": [
+ "thread"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชก"
+ , "description": "sewing needle"
+ , "category": "Activities"
+ , "aliases": [
+ "sewing_needle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐งถ"
+ , "description": "yarn"
+ , "category": "Activities"
+ , "aliases": [
+ "yarn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชข"
+ , "description": "knot"
+ , "category": "Activities"
+ , "aliases": [
+ "knot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "glasses"
+ , "category": "Objects"
+ , "aliases": [
+ "eyeglasses"
+ ]
+ , "tags": [
+ "glasses"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ๏ธ"
+ , "description": "sunglasses"
+ , "category": "Objects"
+ , "aliases": [
+ "dark_sunglasses"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฅฝ"
+ , "description": "goggles"
+ , "category": "Objects"
+ , "aliases": [
+ "goggles"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅผ"
+ , "description": "lab coat"
+ , "category": "Objects"
+ , "aliases": [
+ "lab_coat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆบ"
+ , "description": "safety vest"
+ , "category": "Objects"
+ , "aliases": [
+ "safety_vest"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "necktie"
+ , "category": "Objects"
+ , "aliases": [
+ "necktie"
+ ]
+ , "tags": [
+ "shirt"
+ , "formal"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "t-shirt"
+ , "category": "Objects"
+ , "aliases": [
+ "shirt"
+ , "tshirt"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "jeans"
+ , "category": "Objects"
+ , "aliases": [
+ "jeans"
+ ]
+ , "tags": [
+ "pants"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งฃ"
+ , "description": "scarf"
+ , "category": "Objects"
+ , "aliases": [
+ "scarf"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งค"
+ , "description": "gloves"
+ , "category": "Objects"
+ , "aliases": [
+ "gloves"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งฅ"
+ , "description": "coat"
+ , "category": "Objects"
+ , "aliases": [
+ "coat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งฆ"
+ , "description": "socks"
+ , "category": "Objects"
+ , "aliases": [
+ "socks"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "dress"
+ , "category": "Objects"
+ , "aliases": [
+ "dress"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "kimono"
+ , "category": "Objects"
+ , "aliases": [
+ "kimono"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅป"
+ , "description": "sari"
+ , "category": "Objects"
+ , "aliases": [
+ "sari"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉฑ"
+ , "description": "one-piece swimsuit"
+ , "category": "Objects"
+ , "aliases": [
+ "one_piece_swimsuit"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉฒ"
+ , "description": "briefs"
+ , "category": "Objects"
+ , "aliases": [
+ "swim_brief"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉณ"
+ , "description": "shorts"
+ , "category": "Objects"
+ , "aliases": [
+ "shorts"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bikini"
+ , "category": "Objects"
+ , "aliases": [
+ "bikini"
+ ]
+ , "tags": [
+ "beach"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "womanโs clothes"
+ , "category": "Objects"
+ , "aliases": [
+ "womans_clothes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "purse"
+ , "category": "Objects"
+ , "aliases": [
+ "purse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "handbag"
+ , "category": "Objects"
+ , "aliases": [
+ "handbag"
+ ]
+ , "tags": [
+ "bag"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "clutch bag"
+ , "category": "Objects"
+ , "aliases": [
+ "pouch"
+ ]
+ , "tags": [
+ "bag"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "shopping bags"
+ , "category": "Objects"
+ , "aliases": [
+ "shopping"
+ ]
+ , "tags": [
+ "bags"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "backpack"
+ , "category": "Objects"
+ , "aliases": [
+ "school_satchel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉด"
+ , "description": "thong sandal"
+ , "category": "Objects"
+ , "aliases": [
+ "thong_sandal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "manโs shoe"
+ , "category": "Objects"
+ , "aliases": [
+ "mans_shoe"
+ , "shoe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "running shoe"
+ , "category": "Objects"
+ , "aliases": [
+ "athletic_shoe"
+ ]
+ , "tags": [
+ "sneaker"
+ , "sport"
+ , "running"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅพ"
+ , "description": "hiking boot"
+ , "category": "Objects"
+ , "aliases": [
+ "hiking_boot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅฟ"
+ , "description": "flat shoe"
+ , "category": "Objects"
+ , "aliases": [
+ "flat_shoe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "high-heeled shoe"
+ , "category": "Objects"
+ , "aliases": [
+ "high_heel"
+ ]
+ , "tags": [
+ "shoe"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "womanโs sandal"
+ , "category": "Objects"
+ , "aliases": [
+ "sandal"
+ ]
+ , "tags": [
+ "shoe"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉฐ"
+ , "description": "ballet shoes"
+ , "category": "Objects"
+ , "aliases": [
+ "ballet_shoes"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "womanโs boot"
+ , "category": "Objects"
+ , "aliases": [
+ "boot"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "crown"
+ , "category": "Objects"
+ , "aliases": [
+ "crown"
+ ]
+ , "tags": [
+ "king"
+ , "queen"
+ , "royal"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "womanโs hat"
+ , "category": "Objects"
+ , "aliases": [
+ "womans_hat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "top hat"
+ , "category": "Objects"
+ , "aliases": [
+ "tophat"
+ ]
+ , "tags": [
+ "hat"
+ , "classy"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "graduation cap"
+ , "category": "Objects"
+ , "aliases": [
+ "mortar_board"
+ ]
+ , "tags": [
+ "education"
+ , "college"
+ , "university"
+ , "graduation"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งข"
+ , "description": "billed cap"
+ , "category": "Objects"
+ , "aliases": [
+ "billed_cap"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "military helmet"
+ , "category": "Objects"
+ , "aliases": [
+ "military_helmet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "rescue workerโs helmet"
+ , "category": "Objects"
+ , "aliases": [
+ "rescue_worker_helmet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "prayer beads"
+ , "category": "Objects"
+ , "aliases": [
+ "prayer_beads"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "lipstick"
+ , "category": "Objects"
+ , "aliases": [
+ "lipstick"
+ ]
+ , "tags": [
+ "makeup"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ring"
+ , "category": "Objects"
+ , "aliases": [
+ "ring"
+ ]
+ , "tags": [
+ "wedding"
+ , "marriage"
+ , "engaged"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "gem stone"
+ , "category": "Objects"
+ , "aliases": [
+ "gem"
+ ]
+ , "tags": [
+ "diamond"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "muted speaker"
+ , "category": "Objects"
+ , "aliases": [
+ "mute"
+ ]
+ , "tags": [
+ "sound"
+ , "volume"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "speaker low volume"
+ , "category": "Objects"
+ , "aliases": [
+ "speaker"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "speaker medium volume"
+ , "category": "Objects"
+ , "aliases": [
+ "sound"
+ ]
+ , "tags": [
+ "volume"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "speaker high volume"
+ , "category": "Objects"
+ , "aliases": [
+ "loud_sound"
+ ]
+ , "tags": [
+ "volume"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "loudspeaker"
+ , "category": "Objects"
+ , "aliases": [
+ "loudspeaker"
+ ]
+ , "tags": [
+ "announcement"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "megaphone"
+ , "category": "Objects"
+ , "aliases": [
+ "mega"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "postal horn"
+ , "category": "Objects"
+ , "aliases": [
+ "postal_horn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bell"
+ , "category": "Objects"
+ , "aliases": [
+ "bell"
+ ]
+ , "tags": [
+ "sound"
+ , "notification"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bell with slash"
+ , "category": "Objects"
+ , "aliases": [
+ "no_bell"
+ ]
+ , "tags": [
+ "volume"
+ , "off"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "musical score"
+ , "category": "Objects"
+ , "aliases": [
+ "musical_score"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "musical note"
+ , "category": "Objects"
+ , "aliases": [
+ "musical_note"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "musical notes"
+ , "category": "Objects"
+ , "aliases": [
+ "notes"
+ ]
+ , "tags": [
+ "music"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "studio microphone"
+ , "category": "Objects"
+ , "aliases": [
+ "studio_microphone"
+ ]
+ , "tags": [
+ "podcast"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "level slider"
+ , "category": "Objects"
+ , "aliases": [
+ "level_slider"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "control knobs"
+ , "category": "Objects"
+ , "aliases": [
+ "control_knobs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "microphone"
+ , "category": "Objects"
+ , "aliases": [
+ "microphone"
+ ]
+ , "tags": [
+ "sing"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "headphone"
+ , "category": "Objects"
+ , "aliases": [
+ "headphones"
+ ]
+ , "tags": [
+ "music"
+ , "earphones"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "radio"
+ , "category": "Objects"
+ , "aliases": [
+ "radio"
+ ]
+ , "tags": [
+ "podcast"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "saxophone"
+ , "category": "Objects"
+ , "aliases": [
+ "saxophone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "accordion"
+ , "category": "Objects"
+ , "aliases": [
+ "accordion"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "guitar"
+ , "category": "Objects"
+ , "aliases": [
+ "guitar"
+ ]
+ , "tags": [
+ "rock"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "musical keyboard"
+ , "category": "Objects"
+ , "aliases": [
+ "musical_keyboard"
+ ]
+ , "tags": [
+ "piano"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "trumpet"
+ , "category": "Objects"
+ , "aliases": [
+ "trumpet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "violin"
+ , "category": "Objects"
+ , "aliases": [
+ "violin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "banjo"
+ , "category": "Objects"
+ , "aliases": [
+ "banjo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "drum"
+ , "category": "Objects"
+ , "aliases": [
+ "drum"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "long drum"
+ , "category": "Objects"
+ , "aliases": [
+ "long_drum"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "mobile phone"
+ , "category": "Objects"
+ , "aliases": [
+ "iphone"
+ ]
+ , "tags": [
+ "smartphone"
+ , "mobile"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "mobile phone with arrow"
+ , "category": "Objects"
+ , "aliases": [
+ "calling"
+ ]
+ , "tags": [
+ "call"
+ , "incoming"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "telephone"
+ , "category": "Objects"
+ , "aliases": [
+ "phone"
+ , "telephone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "telephone receiver"
+ , "category": "Objects"
+ , "aliases": [
+ "telephone_receiver"
+ ]
+ , "tags": [
+ "phone"
+ , "call"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pager"
+ , "category": "Objects"
+ , "aliases": [
+ "pager"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "fax machine"
+ , "category": "Objects"
+ , "aliases": [
+ "fax"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "battery"
+ , "category": "Objects"
+ , "aliases": [
+ "battery"
+ ]
+ , "tags": [
+ "power"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชซ"
+ , "description": "low battery"
+ , "category": "Objects"
+ , "aliases": [
+ "low_battery"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐"
+ , "description": "electric plug"
+ , "category": "Objects"
+ , "aliases": [
+ "electric_plug"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "laptop"
+ , "category": "Objects"
+ , "aliases": [
+ "computer"
+ ]
+ , "tags": [
+ "desktop"
+ , "screen"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ๏ธ"
+ , "description": "desktop computer"
+ , "category": "Objects"
+ , "aliases": [
+ "desktop_computer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐จ๏ธ"
+ , "description": "printer"
+ , "category": "Objects"
+ , "aliases": [
+ "printer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โจ๏ธ"
+ , "description": "keyboard"
+ , "category": "Objects"
+ , "aliases": [
+ "keyboard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฑ๏ธ"
+ , "description": "computer mouse"
+ , "category": "Objects"
+ , "aliases": [
+ "computer_mouse"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฒ๏ธ"
+ , "description": "trackball"
+ , "category": "Objects"
+ , "aliases": [
+ "trackball"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "computer disk"
+ , "category": "Objects"
+ , "aliases": [
+ "minidisc"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "floppy disk"
+ , "category": "Objects"
+ , "aliases": [
+ "floppy_disk"
+ ]
+ , "tags": [
+ "save"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "optical disk"
+ , "category": "Objects"
+ , "aliases": [
+ "cd"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "dvd"
+ , "category": "Objects"
+ , "aliases": [
+ "dvd"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งฎ"
+ , "description": "abacus"
+ , "category": "Objects"
+ , "aliases": [
+ "abacus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "movie camera"
+ , "category": "Objects"
+ , "aliases": [
+ "movie_camera"
+ ]
+ , "tags": [
+ "film"
+ , "video"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "film frames"
+ , "category": "Objects"
+ , "aliases": [
+ "film_strip"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฝ๏ธ"
+ , "description": "film projector"
+ , "category": "Objects"
+ , "aliases": [
+ "film_projector"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "clapper board"
+ , "category": "Objects"
+ , "aliases": [
+ "clapper"
+ ]
+ , "tags": [
+ "film"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "television"
+ , "category": "Objects"
+ , "aliases": [
+ "tv"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "camera"
+ , "category": "Objects"
+ , "aliases": [
+ "camera"
+ ]
+ , "tags": [
+ "photo"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "camera with flash"
+ , "category": "Objects"
+ , "aliases": [
+ "camera_flash"
+ ]
+ , "tags": [
+ "photo"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "video camera"
+ , "category": "Objects"
+ , "aliases": [
+ "video_camera"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "videocassette"
+ , "category": "Objects"
+ , "aliases": [
+ "vhs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "magnifying glass tilted left"
+ , "category": "Objects"
+ , "aliases": [
+ "mag"
+ ]
+ , "tags": [
+ "search"
+ , "zoom"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "magnifying glass tilted right"
+ , "category": "Objects"
+ , "aliases": [
+ "mag_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ๏ธ"
+ , "description": "candle"
+ , "category": "Objects"
+ , "aliases": [
+ "candle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "light bulb"
+ , "category": "Objects"
+ , "aliases": [
+ "bulb"
+ ]
+ , "tags": [
+ "idea"
+ , "light"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "flashlight"
+ , "category": "Objects"
+ , "aliases": [
+ "flashlight"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "red paper lantern"
+ , "category": "Objects"
+ , "aliases": [
+ "izakaya_lantern"
+ , "lantern"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "diya lamp"
+ , "category": "Objects"
+ , "aliases": [
+ "diya_lamp"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "notebook with decorative cover"
+ , "category": "Objects"
+ , "aliases": [
+ "notebook_with_decorative_cover"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "closed book"
+ , "category": "Objects"
+ , "aliases": [
+ "closed_book"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "open book"
+ , "category": "Objects"
+ , "aliases": [
+ "book"
+ , "open_book"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "green book"
+ , "category": "Objects"
+ , "aliases": [
+ "green_book"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "blue book"
+ , "category": "Objects"
+ , "aliases": [
+ "blue_book"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "orange book"
+ , "category": "Objects"
+ , "aliases": [
+ "orange_book"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "books"
+ , "category": "Objects"
+ , "aliases": [
+ "books"
+ ]
+ , "tags": [
+ "library"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "notebook"
+ , "category": "Objects"
+ , "aliases": [
+ "notebook"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ledger"
+ , "category": "Objects"
+ , "aliases": [
+ "ledger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "page with curl"
+ , "category": "Objects"
+ , "aliases": [
+ "page_with_curl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "scroll"
+ , "category": "Objects"
+ , "aliases": [
+ "scroll"
+ ]
+ , "tags": [
+ "document"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "page facing up"
+ , "category": "Objects"
+ , "aliases": [
+ "page_facing_up"
+ ]
+ , "tags": [
+ "document"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "newspaper"
+ , "category": "Objects"
+ , "aliases": [
+ "newspaper"
+ ]
+ , "tags": [
+ "press"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "rolled-up newspaper"
+ , "category": "Objects"
+ , "aliases": [
+ "newspaper_roll"
+ ]
+ , "tags": [
+ "press"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bookmark tabs"
+ , "category": "Objects"
+ , "aliases": [
+ "bookmark_tabs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bookmark"
+ , "category": "Objects"
+ , "aliases": [
+ "bookmark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท๏ธ"
+ , "description": "label"
+ , "category": "Objects"
+ , "aliases": [
+ "label"
+ ]
+ , "tags": [
+ "tag"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "money bag"
+ , "category": "Objects"
+ , "aliases": [
+ "moneybag"
+ ]
+ , "tags": [
+ "dollar"
+ , "cream"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "coin"
+ , "category": "Objects"
+ , "aliases": [
+ "coin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "yen banknote"
+ , "category": "Objects"
+ , "aliases": [
+ "yen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "dollar banknote"
+ , "category": "Objects"
+ , "aliases": [
+ "dollar"
+ ]
+ , "tags": [
+ "money"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "euro banknote"
+ , "category": "Objects"
+ , "aliases": [
+ "euro"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "pound banknote"
+ , "category": "Objects"
+ , "aliases": [
+ "pound"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "money with wings"
+ , "category": "Objects"
+ , "aliases": [
+ "money_with_wings"
+ ]
+ , "tags": [
+ "dollar"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "credit card"
+ , "category": "Objects"
+ , "aliases": [
+ "credit_card"
+ ]
+ , "tags": [
+ "subscription"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐งพ"
+ , "description": "receipt"
+ , "category": "Objects"
+ , "aliases": [
+ "receipt"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "chart increasing with yen"
+ , "category": "Objects"
+ , "aliases": [
+ "chart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "envelope"
+ , "category": "Objects"
+ , "aliases": [
+ "envelope"
+ ]
+ , "tags": [
+ "letter"
+ , "email"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "e-mail"
+ , "category": "Objects"
+ , "aliases": [
+ "email"
+ , "e-mail"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "incoming envelope"
+ , "category": "Objects"
+ , "aliases": [
+ "incoming_envelope"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "envelope with arrow"
+ , "category": "Objects"
+ , "aliases": [
+ "envelope_with_arrow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "outbox tray"
+ , "category": "Objects"
+ , "aliases": [
+ "outbox_tray"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "inbox tray"
+ , "category": "Objects"
+ , "aliases": [
+ "inbox_tray"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "package"
+ , "category": "Objects"
+ , "aliases": [
+ "package"
+ ]
+ , "tags": [
+ "shipping"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "closed mailbox with raised flag"
+ , "category": "Objects"
+ , "aliases": [
+ "mailbox"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "closed mailbox with lowered flag"
+ , "category": "Objects"
+ , "aliases": [
+ "mailbox_closed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "open mailbox with raised flag"
+ , "category": "Objects"
+ , "aliases": [
+ "mailbox_with_mail"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "open mailbox with lowered flag"
+ , "category": "Objects"
+ , "aliases": [
+ "mailbox_with_no_mail"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "postbox"
+ , "category": "Objects"
+ , "aliases": [
+ "postbox"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ๏ธ"
+ , "description": "ballot box with ballot"
+ , "category": "Objects"
+ , "aliases": [
+ "ballot_box"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "pencil"
+ , "category": "Objects"
+ , "aliases": [
+ "pencil2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "black nib"
+ , "category": "Objects"
+ , "aliases": [
+ "black_nib"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "fountain pen"
+ , "category": "Objects"
+ , "aliases": [
+ "fountain_pen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "pen"
+ , "category": "Objects"
+ , "aliases": [
+ "pen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "paintbrush"
+ , "category": "Objects"
+ , "aliases": [
+ "paintbrush"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "crayon"
+ , "category": "Objects"
+ , "aliases": [
+ "crayon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "memo"
+ , "category": "Objects"
+ , "aliases": [
+ "memo"
+ , "pencil"
+ ]
+ , "tags": [
+ "document"
+ , "note"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "briefcase"
+ , "category": "Objects"
+ , "aliases": [
+ "briefcase"
+ ]
+ , "tags": [
+ "business"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "file folder"
+ , "category": "Objects"
+ , "aliases": [
+ "file_folder"
+ ]
+ , "tags": [
+ "directory"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "open file folder"
+ , "category": "Objects"
+ , "aliases": [
+ "open_file_folder"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "card index dividers"
+ , "category": "Objects"
+ , "aliases": [
+ "card_index_dividers"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "calendar"
+ , "category": "Objects"
+ , "aliases": [
+ "date"
+ ]
+ , "tags": [
+ "calendar"
+ , "schedule"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "tear-off calendar"
+ , "category": "Objects"
+ , "aliases": [
+ "calendar"
+ ]
+ , "tags": [
+ "schedule"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "spiral notepad"
+ , "category": "Objects"
+ , "aliases": [
+ "spiral_notepad"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "spiral calendar"
+ , "category": "Objects"
+ , "aliases": [
+ "spiral_calendar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "card index"
+ , "category": "Objects"
+ , "aliases": [
+ "card_index"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "chart increasing"
+ , "category": "Objects"
+ , "aliases": [
+ "chart_with_upwards_trend"
+ ]
+ , "tags": [
+ "graph"
+ , "metrics"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "chart decreasing"
+ , "category": "Objects"
+ , "aliases": [
+ "chart_with_downwards_trend"
+ ]
+ , "tags": [
+ "graph"
+ , "metrics"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bar chart"
+ , "category": "Objects"
+ , "aliases": [
+ "bar_chart"
+ ]
+ , "tags": [
+ "stats"
+ , "metrics"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "clipboard"
+ , "category": "Objects"
+ , "aliases": [
+ "clipboard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pushpin"
+ , "category": "Objects"
+ , "aliases": [
+ "pushpin"
+ ]
+ , "tags": [
+ "location"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "round pushpin"
+ , "category": "Objects"
+ , "aliases": [
+ "round_pushpin"
+ ]
+ , "tags": [
+ "location"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "paperclip"
+ , "category": "Objects"
+ , "aliases": [
+ "paperclip"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "linked paperclips"
+ , "category": "Objects"
+ , "aliases": [
+ "paperclips"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "straight ruler"
+ , "category": "Objects"
+ , "aliases": [
+ "straight_ruler"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "triangular ruler"
+ , "category": "Objects"
+ , "aliases": [
+ "triangular_ruler"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "scissors"
+ , "category": "Objects"
+ , "aliases": [
+ "scissors"
+ ]
+ , "tags": [
+ "cut"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "card file box"
+ , "category": "Objects"
+ , "aliases": [
+ "card_file_box"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "file cabinet"
+ , "category": "Objects"
+ , "aliases": [
+ "file_cabinet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "wastebasket"
+ , "category": "Objects"
+ , "aliases": [
+ "wastebasket"
+ ]
+ , "tags": [
+ "trash"
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "locked"
+ , "category": "Objects"
+ , "aliases": [
+ "lock"
+ ]
+ , "tags": [
+ "security"
+ , "private"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "unlocked"
+ , "category": "Objects"
+ , "aliases": [
+ "unlock"
+ ]
+ , "tags": [
+ "security"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "locked with pen"
+ , "category": "Objects"
+ , "aliases": [
+ "lock_with_ink_pen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "locked with key"
+ , "category": "Objects"
+ , "aliases": [
+ "closed_lock_with_key"
+ ]
+ , "tags": [
+ "security"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "key"
+ , "category": "Objects"
+ , "aliases": [
+ "key"
+ ]
+ , "tags": [
+ "lock"
+ , "password"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "old key"
+ , "category": "Objects"
+ , "aliases": [
+ "old_key"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "hammer"
+ , "category": "Objects"
+ , "aliases": [
+ "hammer"
+ ]
+ , "tags": [
+ "tool"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "axe"
+ , "category": "Objects"
+ , "aliases": [
+ "axe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "pick"
+ , "category": "Objects"
+ , "aliases": [
+ "pick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "hammer and pick"
+ , "category": "Objects"
+ , "aliases": [
+ "hammer_and_pick"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ ๏ธ"
+ , "description": "hammer and wrench"
+ , "category": "Objects"
+ , "aliases": [
+ "hammer_and_wrench"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ก๏ธ"
+ , "description": "dagger"
+ , "category": "Objects"
+ , "aliases": [
+ "dagger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "crossed swords"
+ , "category": "Objects"
+ , "aliases": [
+ "crossed_swords"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "water pistol"
+ , "category": "Objects"
+ , "aliases": [
+ "gun"
+ ]
+ , "tags": [
+ "shoot"
+ , "weapon"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "boomerang"
+ , "category": "Objects"
+ , "aliases": [
+ "boomerang"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "bow and arrow"
+ , "category": "Objects"
+ , "aliases": [
+ "bow_and_arrow"
+ ]
+ , "tags": [
+ "archery"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ก๏ธ"
+ , "description": "shield"
+ , "category": "Objects"
+ , "aliases": [
+ "shield"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "carpentry saw"
+ , "category": "Objects"
+ , "aliases": [
+ "carpentry_saw"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "wrench"
+ , "category": "Objects"
+ , "aliases": [
+ "wrench"
+ ]
+ , "tags": [
+ "tool"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "screwdriver"
+ , "category": "Objects"
+ , "aliases": [
+ "screwdriver"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "nut and bolt"
+ , "category": "Objects"
+ , "aliases": [
+ "nut_and_bolt"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "gear"
+ , "category": "Objects"
+ , "aliases": [
+ "gear"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "clamp"
+ , "category": "Objects"
+ , "aliases": [
+ "clamp"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "balance scale"
+ , "category": "Objects"
+ , "aliases": [
+ "balance_scale"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฆฏ"
+ , "description": "white cane"
+ , "category": "Objects"
+ , "aliases": [
+ "probing_cane"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "link"
+ , "category": "Objects"
+ , "aliases": [
+ "link"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "chains"
+ , "category": "Objects"
+ , "aliases": [
+ "chains"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "hook"
+ , "category": "Objects"
+ , "aliases": [
+ "hook"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐งฐ"
+ , "description": "toolbox"
+ , "category": "Objects"
+ , "aliases": [
+ "toolbox"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งฒ"
+ , "description": "magnet"
+ , "category": "Objects"
+ , "aliases": [
+ "magnet"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "ladder"
+ , "category": "Objects"
+ , "aliases": [
+ "ladder"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "alembic"
+ , "category": "Objects"
+ , "aliases": [
+ "alembic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐งช"
+ , "description": "test tube"
+ , "category": "Objects"
+ , "aliases": [
+ "test_tube"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งซ"
+ , "description": "petri dish"
+ , "category": "Objects"
+ , "aliases": [
+ "petri_dish"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งฌ"
+ , "description": "dna"
+ , "category": "Objects"
+ , "aliases": [
+ "dna"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "microscope"
+ , "category": "Objects"
+ , "aliases": [
+ "microscope"
+ ]
+ , "tags": [
+ "science"
+ , "laboratory"
+ , "investigate"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "telescope"
+ , "category": "Objects"
+ , "aliases": [
+ "telescope"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "satellite antenna"
+ , "category": "Objects"
+ , "aliases": [
+ "satellite"
+ ]
+ , "tags": [
+ "signal"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "syringe"
+ , "category": "Objects"
+ , "aliases": [
+ "syringe"
+ ]
+ , "tags": [
+ "health"
+ , "hospital"
+ , "needle"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉธ"
+ , "description": "drop of blood"
+ , "category": "Objects"
+ , "aliases": [
+ "drop_of_blood"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "pill"
+ , "category": "Objects"
+ , "aliases": [
+ "pill"
+ ]
+ , "tags": [
+ "health"
+ , "medicine"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉน"
+ , "description": "adhesive bandage"
+ , "category": "Objects"
+ , "aliases": [
+ "adhesive_bandage"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉผ"
+ , "description": "crutch"
+ , "category": "Objects"
+ , "aliases": [
+ "crutch"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ฉบ"
+ , "description": "stethoscope"
+ , "category": "Objects"
+ , "aliases": [
+ "stethoscope"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉป"
+ , "description": "x-ray"
+ , "category": "Objects"
+ , "aliases": [
+ "x_ray"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "door"
+ , "category": "Objects"
+ , "aliases": [
+ "door"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "elevator"
+ , "category": "Objects"
+ , "aliases": [
+ "elevator"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "mirror"
+ , "category": "Objects"
+ , "aliases": [
+ "mirror"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "window"
+ , "category": "Objects"
+ , "aliases": [
+ "window"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "bed"
+ , "category": "Objects"
+ , "aliases": [
+ "bed"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "couch and lamp"
+ , "category": "Objects"
+ , "aliases": [
+ "couch_and_lamp"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "chair"
+ , "category": "Objects"
+ , "aliases": [
+ "chair"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "toilet"
+ , "category": "Objects"
+ , "aliases": [
+ "toilet"
+ ]
+ , "tags": [
+ "wc"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช "
+ , "description": "plunger"
+ , "category": "Objects"
+ , "aliases": [
+ "plunger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "shower"
+ , "category": "Objects"
+ , "aliases": [
+ "shower"
+ ]
+ , "tags": [
+ "bath"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bathtub"
+ , "category": "Objects"
+ , "aliases": [
+ "bathtub"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชค"
+ , "description": "mouse trap"
+ , "category": "Objects"
+ , "aliases": [
+ "mouse_trap"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "razor"
+ , "category": "Objects"
+ , "aliases": [
+ "razor"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐งด"
+ , "description": "lotion bottle"
+ , "category": "Objects"
+ , "aliases": [
+ "lotion_bottle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งท"
+ , "description": "safety pin"
+ , "category": "Objects"
+ , "aliases": [
+ "safety_pin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งน"
+ , "description": "broom"
+ , "category": "Objects"
+ , "aliases": [
+ "broom"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งบ"
+ , "description": "basket"
+ , "category": "Objects"
+ , "aliases": [
+ "basket"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งป"
+ , "description": "roll of paper"
+ , "category": "Objects"
+ , "aliases": [
+ "roll_of_paper"
+ ]
+ , "tags": [
+ "toilet"
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ชฃ"
+ , "description": "bucket"
+ , "category": "Objects"
+ , "aliases": [
+ "bucket"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐งผ"
+ , "description": "soap"
+ , "category": "Objects"
+ , "aliases": [
+ "soap"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ซง"
+ , "description": "bubbles"
+ , "category": "Objects"
+ , "aliases": [
+ "bubbles"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ชฅ"
+ , "description": "toothbrush"
+ , "category": "Objects"
+ , "aliases": [
+ "toothbrush"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐งฝ"
+ , "description": "sponge"
+ , "category": "Objects"
+ , "aliases": [
+ "sponge"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐งฏ"
+ , "description": "fire extinguisher"
+ , "category": "Objects"
+ , "aliases": [
+ "fire_extinguisher"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "shopping cart"
+ , "category": "Objects"
+ , "aliases": [
+ "shopping_cart"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "9.0"
+ , "ios_version": "10.2"
+ }
+, {
+ "emoji": "๐ฌ"
+ , "description": "cigarette"
+ , "category": "Objects"
+ , "aliases": [
+ "smoking"
+ ]
+ , "tags": [
+ "cigarette"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฐ๏ธ"
+ , "description": "coffin"
+ , "category": "Objects"
+ , "aliases": [
+ "coffin"
+ ]
+ , "tags": [
+ "funeral"
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ชฆ"
+ , "description": "headstone"
+ , "category": "Objects"
+ , "aliases": [
+ "headstone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โฑ๏ธ"
+ , "description": "funeral urn"
+ , "category": "Objects"
+ , "aliases": [
+ "funeral_urn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฟ"
+ , "description": "moai"
+ , "category": "Objects"
+ , "aliases": [
+ "moyai"
+ ]
+ , "tags": [
+ "stone"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ชง"
+ , "description": "placard"
+ , "category": "Objects"
+ , "aliases": [
+ "placard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ชช"
+ , "description": "identification card"
+ , "category": "Objects"
+ , "aliases": [
+ "identification_card"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "ATM sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "atm"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฎ"
+ , "description": "litter in bin sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "put_litter_in_its_place"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "potable water"
+ , "category": "Symbols"
+ , "aliases": [
+ "potable_water"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฟ"
+ , "description": "wheelchair symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "wheelchair"
+ ]
+ , "tags": [
+ "accessibility"
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "menโs room"
+ , "category": "Symbols"
+ , "aliases": [
+ "mens"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "womenโs room"
+ , "category": "Symbols"
+ , "aliases": [
+ "womens"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "restroom"
+ , "category": "Symbols"
+ , "aliases": [
+ "restroom"
+ ]
+ , "tags": [
+ "toilet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "baby symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "baby_symbol"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐พ"
+ , "description": "water closet"
+ , "category": "Symbols"
+ , "aliases": [
+ "wc"
+ ]
+ , "tags": [
+ "toilet"
+ , "restroom"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "passport control"
+ , "category": "Symbols"
+ , "aliases": [
+ "passport_control"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "customs"
+ , "category": "Symbols"
+ , "aliases": [
+ "customs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "baggage claim"
+ , "category": "Symbols"
+ , "aliases": [
+ "baggage_claim"
+ ]
+ , "tags": [
+ "airport"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "left luggage"
+ , "category": "Symbols"
+ , "aliases": [
+ "left_luggage"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ ๏ธ"
+ , "description": "warning"
+ , "category": "Symbols"
+ , "aliases": [
+ "warning"
+ ]
+ , "tags": [
+ "wip"
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "children crossing"
+ , "category": "Symbols"
+ , "aliases": [
+ "children_crossing"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "no entry"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_entry"
+ ]
+ , "tags": [
+ "limit"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "prohibited"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_entry_sign"
+ ]
+ , "tags": [
+ "block"
+ , "forbidden"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "no bicycles"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_bicycles"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ญ"
+ , "description": "no smoking"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_smoking"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "no littering"
+ , "category": "Symbols"
+ , "aliases": [
+ "do_not_litter"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "non-potable water"
+ , "category": "Symbols"
+ , "aliases": [
+ "non-potable_water"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "no pedestrians"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_pedestrians"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "no mobile phones"
+ , "category": "Symbols"
+ , "aliases": [
+ "no_mobile_phones"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "no one under eighteen"
+ , "category": "Symbols"
+ , "aliases": [
+ "underage"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โข๏ธ"
+ , "description": "radioactive"
+ , "category": "Symbols"
+ , "aliases": [
+ "radioactive"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฃ๏ธ"
+ , "description": "biohazard"
+ , "category": "Symbols"
+ , "aliases": [
+ "biohazard"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฌ๏ธ"
+ , "description": "up arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_up"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "up-right arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_upper_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โก๏ธ"
+ , "description": "right arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "down-right arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_lower_right"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฌ๏ธ"
+ , "description": "down arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "down-left arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_lower_left"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฌ
๏ธ"
+ , "description": "left arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_left"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "up-left arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_upper_left"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "up-down arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_up_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "left-right arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "left_right_arrow"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฉ๏ธ"
+ , "description": "right arrow curving left"
+ , "category": "Symbols"
+ , "aliases": [
+ "leftwards_arrow_with_hook"
+ ]
+ , "tags": [
+ "return"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โช๏ธ"
+ , "description": "left arrow curving right"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_right_hook"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โคด๏ธ"
+ , "description": "right arrow curving up"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_heading_up"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โคต๏ธ"
+ , "description": "right arrow curving down"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_heading_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "clockwise vertical arrows"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrows_clockwise"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "counterclockwise arrows button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrows_counterclockwise"
+ ]
+ , "tags": [
+ "sync"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "BACK arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "back"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "END arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "end"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ON! arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "on"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "SOON arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "soon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "TOP arrow"
+ , "category": "Symbols"
+ , "aliases": [
+ "top"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "place of worship"
+ , "category": "Symbols"
+ , "aliases": [
+ "place_of_worship"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "atom symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "atom_symbol"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "om"
+ , "category": "Symbols"
+ , "aliases": [
+ "om"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โก๏ธ"
+ , "description": "star of David"
+ , "category": "Symbols"
+ , "aliases": [
+ "star_of_david"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โธ๏ธ"
+ , "description": "wheel of dharma"
+ , "category": "Symbols"
+ , "aliases": [
+ "wheel_of_dharma"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฏ๏ธ"
+ , "description": "yin yang"
+ , "category": "Symbols"
+ , "aliases": [
+ "yin_yang"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "latin cross"
+ , "category": "Symbols"
+ , "aliases": [
+ "latin_cross"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฆ๏ธ"
+ , "description": "orthodox cross"
+ , "category": "Symbols"
+ , "aliases": [
+ "orthodox_cross"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โช๏ธ"
+ , "description": "star and crescent"
+ , "category": "Symbols"
+ , "aliases": [
+ "star_and_crescent"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฎ๏ธ"
+ , "description": "peace symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "peace_symbol"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐"
+ , "description": "menorah"
+ , "category": "Symbols"
+ , "aliases": [
+ "menorah"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "dotted six-pointed star"
+ , "category": "Symbols"
+ , "aliases": [
+ "six_pointed_star"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Aries"
+ , "category": "Symbols"
+ , "aliases": [
+ "aries"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Taurus"
+ , "category": "Symbols"
+ , "aliases": [
+ "taurus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Gemini"
+ , "category": "Symbols"
+ , "aliases": [
+ "gemini"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Cancer"
+ , "category": "Symbols"
+ , "aliases": [
+ "cancer"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Leo"
+ , "category": "Symbols"
+ , "aliases": [
+ "leo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Virgo"
+ , "category": "Symbols"
+ , "aliases": [
+ "virgo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Libra"
+ , "category": "Symbols"
+ , "aliases": [
+ "libra"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Scorpio"
+ , "category": "Symbols"
+ , "aliases": [
+ "scorpius"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Sagittarius"
+ , "category": "Symbols"
+ , "aliases": [
+ "sagittarius"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Capricorn"
+ , "category": "Symbols"
+ , "aliases": [
+ "capricorn"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Aquarius"
+ , "category": "Symbols"
+ , "aliases": [
+ "aquarius"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Pisces"
+ , "category": "Symbols"
+ , "aliases": [
+ "pisces"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "Ophiuchus"
+ , "category": "Symbols"
+ , "aliases": [
+ "ophiuchus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "shuffle tracks button"
+ , "category": "Symbols"
+ , "aliases": [
+ "twisted_rightwards_arrows"
+ ]
+ , "tags": [
+ "shuffle"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "repeat button"
+ , "category": "Symbols"
+ , "aliases": [
+ "repeat"
+ ]
+ , "tags": [
+ "loop"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "repeat single button"
+ , "category": "Symbols"
+ , "aliases": [
+ "repeat_one"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โถ๏ธ"
+ , "description": "play button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_forward"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฉ"
+ , "description": "fast-forward button"
+ , "category": "Symbols"
+ , "aliases": [
+ "fast_forward"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โญ๏ธ"
+ , "description": "next track button"
+ , "category": "Symbols"
+ , "aliases": [
+ "next_track_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โฏ๏ธ"
+ , "description": "play or pause button"
+ , "category": "Symbols"
+ , "aliases": [
+ "play_or_pause_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "reverse button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_backward"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โช"
+ , "description": "fast reverse button"
+ , "category": "Symbols"
+ , "aliases": [
+ "rewind"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฎ๏ธ"
+ , "description": "last track button"
+ , "category": "Symbols"
+ , "aliases": [
+ "previous_track_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ผ"
+ , "description": "upwards button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_up_small"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โซ"
+ , "description": "fast up button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_double_up"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฝ"
+ , "description": "downwards button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_down_small"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฌ"
+ , "description": "fast down button"
+ , "category": "Symbols"
+ , "aliases": [
+ "arrow_double_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โธ๏ธ"
+ , "description": "pause button"
+ , "category": "Symbols"
+ , "aliases": [
+ "pause_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โน๏ธ"
+ , "description": "stop button"
+ , "category": "Symbols"
+ , "aliases": [
+ "stop_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โบ๏ธ"
+ , "description": "record button"
+ , "category": "Symbols"
+ , "aliases": [
+ "record_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "eject button"
+ , "category": "Symbols"
+ , "aliases": [
+ "eject_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "cinema"
+ , "category": "Symbols"
+ , "aliases": [
+ "cinema"
+ ]
+ , "tags": [
+ "film"
+ , "movie"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
"
+ , "description": "dim button"
+ , "category": "Symbols"
+ , "aliases": [
+ "low_brightness"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "bright button"
+ , "category": "Symbols"
+ , "aliases": [
+ "high_brightness"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "antenna bars"
+ , "category": "Symbols"
+ , "aliases": [
+ "signal_strength"
+ ]
+ , "tags": [
+ "wifi"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "vibration mode"
+ , "category": "Symbols"
+ , "aliases": [
+ "vibration_mode"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "mobile phone off"
+ , "category": "Symbols"
+ , "aliases": [
+ "mobile_phone_off"
+ ]
+ , "tags": [
+ "mute"
+ , "off"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "female sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "female_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "male sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "male_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โง๏ธ"
+ , "description": "transgender symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "transgender_symbol"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "multiply"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_multiplication_x"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "plus"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_plus_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "minus"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_minus_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "divide"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_division_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "heavy equals sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_equals_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "14.0"
+ , "ios_version": "15.4"
+ }
+, {
+ "emoji": "โพ๏ธ"
+ , "description": "infinity"
+ , "category": "Symbols"
+ , "aliases": [
+ "infinity"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โผ๏ธ"
+ , "description": "double exclamation mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "bangbang"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "exclamation question mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "interrobang"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "red question mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "question"
+ ]
+ , "tags": [
+ "confused"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "white question mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "grey_question"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "white exclamation mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "grey_exclamation"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "red exclamation mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "exclamation"
+ , "heavy_exclamation_mark"
+ ]
+ , "tags": [
+ "bang"
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ใฐ๏ธ"
+ , "description": "wavy dash"
+ , "category": "Symbols"
+ , "aliases": [
+ "wavy_dash"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "currency exchange"
+ , "category": "Symbols"
+ , "aliases": [
+ "currency_exchange"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "heavy dollar sign"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_dollar_sign"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "medical symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "medical_symbol"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "โป๏ธ"
+ , "description": "recycling symbol"
+ , "category": "Symbols"
+ , "aliases": [
+ "recycle"
+ ]
+ , "tags": [
+ "environment"
+ , "green"
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "fleur-de-lis"
+ , "category": "Symbols"
+ , "aliases": [
+ "fleur_de_lis"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ฑ"
+ , "description": "trident emblem"
+ , "category": "Symbols"
+ , "aliases": [
+ "trident"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "name badge"
+ , "category": "Symbols"
+ , "aliases": [
+ "name_badge"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ"
+ , "description": "Japanese symbol for beginner"
+ , "category": "Symbols"
+ , "aliases": [
+ "beginner"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โญ"
+ , "description": "hollow red circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "o"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ
"
+ , "description": "check mark button"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_check_mark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "check box with check"
+ , "category": "Symbols"
+ , "aliases": [
+ "ballot_box_with_check"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "check mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "heavy_check_mark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "cross mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "x"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ"
+ , "description": "cross mark button"
+ , "category": "Symbols"
+ , "aliases": [
+ "negative_squared_cross_mark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฐ"
+ , "description": "curly loop"
+ , "category": "Symbols"
+ , "aliases": [
+ "curly_loop"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฟ"
+ , "description": "double curly loop"
+ , "category": "Symbols"
+ , "aliases": [
+ "loop"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ใฝ๏ธ"
+ , "description": "part alternation mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "part_alternation_mark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โณ๏ธ"
+ , "description": "eight-spoked asterisk"
+ , "category": "Symbols"
+ , "aliases": [
+ "eight_spoked_asterisk"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โด๏ธ"
+ , "description": "eight-pointed star"
+ , "category": "Symbols"
+ , "aliases": [
+ "eight_pointed_black_star"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "sparkle"
+ , "category": "Symbols"
+ , "aliases": [
+ "sparkle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ยฉ๏ธ"
+ , "description": "copyright"
+ , "category": "Symbols"
+ , "aliases": [
+ "copyright"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ยฎ๏ธ"
+ , "description": "registered"
+ , "category": "Symbols"
+ , "aliases": [
+ "registered"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โข๏ธ"
+ , "description": "trade mark"
+ , "category": "Symbols"
+ , "aliases": [
+ "tm"
+ ]
+ , "tags": [
+ "trademark"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "#๏ธโฃ"
+ , "description": "keycap: #"
+ , "category": "Symbols"
+ , "aliases": [
+ "hash"
+ ]
+ , "tags": [
+ "number"
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "*๏ธโฃ"
+ , "description": "keycap: *"
+ , "category": "Symbols"
+ , "aliases": [
+ "asterisk"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "0๏ธโฃ"
+ , "description": "keycap: 0"
+ , "category": "Symbols"
+ , "aliases": [
+ "zero"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "1๏ธโฃ"
+ , "description": "keycap: 1"
+ , "category": "Symbols"
+ , "aliases": [
+ "one"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "2๏ธโฃ"
+ , "description": "keycap: 2"
+ , "category": "Symbols"
+ , "aliases": [
+ "two"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "3๏ธโฃ"
+ , "description": "keycap: 3"
+ , "category": "Symbols"
+ , "aliases": [
+ "three"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "4๏ธโฃ"
+ , "description": "keycap: 4"
+ , "category": "Symbols"
+ , "aliases": [
+ "four"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "5๏ธโฃ"
+ , "description": "keycap: 5"
+ , "category": "Symbols"
+ , "aliases": [
+ "five"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "6๏ธโฃ"
+ , "description": "keycap: 6"
+ , "category": "Symbols"
+ , "aliases": [
+ "six"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "7๏ธโฃ"
+ , "description": "keycap: 7"
+ , "category": "Symbols"
+ , "aliases": [
+ "seven"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "8๏ธโฃ"
+ , "description": "keycap: 8"
+ , "category": "Symbols"
+ , "aliases": [
+ "eight"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "9๏ธโฃ"
+ , "description": "keycap: 9"
+ , "category": "Symbols"
+ , "aliases": [
+ "nine"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "keycap: 10"
+ , "category": "Symbols"
+ , "aliases": [
+ "keycap_ten"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "input latin uppercase"
+ , "category": "Symbols"
+ , "aliases": [
+ "capital_abcd"
+ ]
+ , "tags": [
+ "letters"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "input latin lowercase"
+ , "category": "Symbols"
+ , "aliases": [
+ "abcd"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "input numbers"
+ , "category": "Symbols"
+ , "aliases": [
+ "1234"
+ ]
+ , "tags": [
+ "numbers"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "input symbols"
+ , "category": "Symbols"
+ , "aliases": [
+ "symbols"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "input latin letters"
+ , "category": "Symbols"
+ , "aliases": [
+ "abc"
+ ]
+ , "tags": [
+ "alphabet"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
ฐ๏ธ"
+ , "description": "A button (blood type)"
+ , "category": "Symbols"
+ , "aliases": [
+ "a"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "AB button (blood type)"
+ , "category": "Symbols"
+ , "aliases": [
+ "ab"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
ฑ๏ธ"
+ , "description": "B button (blood type)"
+ , "category": "Symbols"
+ , "aliases": [
+ "b"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "CL button"
+ , "category": "Symbols"
+ , "aliases": [
+ "cl"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "COOL button"
+ , "category": "Symbols"
+ , "aliases": [
+ "cool"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "FREE button"
+ , "category": "Symbols"
+ , "aliases": [
+ "free"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โน๏ธ"
+ , "description": "information"
+ , "category": "Symbols"
+ , "aliases": [
+ "information_source"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "ID button"
+ , "category": "Symbols"
+ , "aliases": [
+ "id"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โ๏ธ"
+ , "description": "circled M"
+ , "category": "Symbols"
+ , "aliases": [
+ "m"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "NEW button"
+ , "category": "Symbols"
+ , "aliases": [
+ "new"
+ ]
+ , "tags": [
+ "fresh"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "NG button"
+ , "category": "Symbols"
+ , "aliases": [
+ "ng"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
พ๏ธ"
+ , "description": "O button (blood type)"
+ , "category": "Symbols"
+ , "aliases": [
+ "o2"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "OK button"
+ , "category": "Symbols"
+ , "aliases": [
+ "ok"
+ ]
+ , "tags": [
+ "yes"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐
ฟ๏ธ"
+ , "description": "P button"
+ , "category": "Symbols"
+ , "aliases": [
+ "parking"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "SOS button"
+ , "category": "Symbols"
+ , "aliases": [
+ "sos"
+ ]
+ , "tags": [
+ "help"
+ , "emergency"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "UP! button"
+ , "category": "Symbols"
+ , "aliases": [
+ "up"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "VS button"
+ , "category": "Symbols"
+ , "aliases": [
+ "vs"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Japanese โhereโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "koko"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐๏ธ"
+ , "description": "Japanese โservice chargeโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "sa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท๏ธ"
+ , "description": "Japanese โmonthly amountโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u6708"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "Japanese โnot free of chargeโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u6709"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ"
+ , "description": "Japanese โreservedโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u6307"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Japanese โbargainโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "ideograph_advantage"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "Japanese โdiscountโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u5272"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Japanese โfree of chargeโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u7121"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "Japanese โprohibitedโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u7981"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "Japanese โacceptableโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "accept"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "Japanese โapplicationโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u7533"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "Japanese โpassing gradeโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u5408"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "Japanese โvacancyโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u7a7a"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ใ๏ธ"
+ , "description": "Japanese โcongratulationsโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "congratulations"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "ใ๏ธ"
+ , "description": "Japanese โsecretโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "secret"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "Japanese โopen for businessโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u55b6"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "Japanese โno vacancyโ button"
+ , "category": "Symbols"
+ , "aliases": [
+ "u6e80"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "red circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "red_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "orange circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "orange_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ก"
+ , "description": "yellow circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "yellow_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ข"
+ , "description": "green circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "green_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ต"
+ , "description": "blue circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "large_blue_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฃ"
+ , "description": "purple circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "purple_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ค"
+ , "description": "brown circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "brown_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "โซ"
+ , "description": "black circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โช"
+ , "description": "white circle"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_circle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "4.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฅ"
+ , "description": "red square"
+ , "category": "Symbols"
+ , "aliases": [
+ "red_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ง"
+ , "description": "orange square"
+ , "category": "Symbols"
+ , "aliases": [
+ "orange_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐จ"
+ , "description": "yellow square"
+ , "category": "Symbols"
+ , "aliases": [
+ "yellow_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "green square"
+ , "category": "Symbols"
+ , "aliases": [
+ "green_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ฆ"
+ , "description": "blue square"
+ , "category": "Symbols"
+ , "aliases": [
+ "blue_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ช"
+ , "description": "purple square"
+ , "category": "Symbols"
+ , "aliases": [
+ "purple_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "๐ซ"
+ , "description": "brown square"
+ , "category": "Symbols"
+ , "aliases": [
+ "brown_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "12.0"
+ , "ios_version": "13.0"
+ }
+, {
+ "emoji": "โฌ"
+ , "description": "black large square"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_large_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฌ"
+ , "description": "white large square"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_large_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "5.1"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โผ๏ธ"
+ , "description": "black medium square"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_medium_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โป๏ธ"
+ , "description": "white medium square"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_medium_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โพ"
+ , "description": "black medium-small square"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_medium_small_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โฝ"
+ , "description": "white medium-small square"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_medium_small_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "3.2"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โช๏ธ"
+ , "description": "black small square"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_small_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "โซ๏ธ"
+ , "description": "white small square"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_small_square"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": ""
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ถ"
+ , "description": "large orange diamond"
+ , "category": "Symbols"
+ , "aliases": [
+ "large_orange_diamond"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท"
+ , "description": "large blue diamond"
+ , "category": "Symbols"
+ , "aliases": [
+ "large_blue_diamond"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ธ"
+ , "description": "small orange diamond"
+ , "category": "Symbols"
+ , "aliases": [
+ "small_orange_diamond"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐น"
+ , "description": "small blue diamond"
+ , "category": "Symbols"
+ , "aliases": [
+ "small_blue_diamond"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ"
+ , "description": "red triangle pointed up"
+ , "category": "Symbols"
+ , "aliases": [
+ "small_red_triangle"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ป"
+ , "description": "red triangle pointed down"
+ , "category": "Symbols"
+ , "aliases": [
+ "small_red_triangle_down"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ "
+ , "description": "diamond with a dot"
+ , "category": "Symbols"
+ , "aliases": [
+ "diamond_shape_with_a_dot_inside"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "radio button"
+ , "category": "Symbols"
+ , "aliases": [
+ "radio_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ณ"
+ , "description": "white square button"
+ , "category": "Symbols"
+ , "aliases": [
+ "white_square_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฒ"
+ , "description": "black square button"
+ , "category": "Symbols"
+ , "aliases": [
+ "black_square_button"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "chequered flag"
+ , "category": "Flags"
+ , "aliases": [
+ "checkered_flag"
+ ]
+ , "tags": [
+ "milestone"
+ , "finish"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ"
+ , "description": "triangular flag"
+ , "category": "Flags"
+ , "aliases": [
+ "triangular_flag_on_post"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐"
+ , "description": "crossed flags"
+ , "category": "Flags"
+ , "aliases": [
+ "crossed_flags"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ด"
+ , "description": "black flag"
+ , "category": "Flags"
+ , "aliases": [
+ "black_flag"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ณ๏ธ"
+ , "description": "white flag"
+ , "category": "Flags"
+ , "aliases": [
+ "white_flag"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "7.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐ณ๏ธโ๐"
+ , "description": "rainbow flag"
+ , "category": "Flags"
+ , "aliases": [
+ "rainbow_flag"
+ ]
+ , "tags": [
+ "pride"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "10.0"
+ }
+, {
+ "emoji": "๐ณ๏ธโโง๏ธ"
+ , "description": "transgender flag"
+ , "category": "Flags"
+ , "aliases": [
+ "transgender_flag"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "13.0"
+ , "ios_version": "14.0"
+ }
+, {
+ "emoji": "๐ดโโ ๏ธ"
+ , "description": "pirate flag"
+ , "category": "Flags"
+ , "aliases": [
+ "pirate_flag"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ๐จ"
+ , "description": "flag: Ascension Island"
+ , "category": "Flags"
+ , "aliases": [
+ "ascension_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฆ๐ฉ"
+ , "description": "flag: Andorra"
+ , "category": "Flags"
+ , "aliases": [
+ "andorra"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ช"
+ , "description": "flag: United Arab Emirates"
+ , "category": "Flags"
+ , "aliases": [
+ "united_arab_emirates"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ซ"
+ , "description": "flag: Afghanistan"
+ , "category": "Flags"
+ , "aliases": [
+ "afghanistan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ฌ"
+ , "description": "flag: Antigua & Barbuda"
+ , "category": "Flags"
+ , "aliases": [
+ "antigua_barbuda"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ฎ"
+ , "description": "flag: Anguilla"
+ , "category": "Flags"
+ , "aliases": [
+ "anguilla"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ฑ"
+ , "description": "flag: Albania"
+ , "category": "Flags"
+ , "aliases": [
+ "albania"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ฒ"
+ , "description": "flag: Armenia"
+ , "category": "Flags"
+ , "aliases": [
+ "armenia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ด"
+ , "description": "flag: Angola"
+ , "category": "Flags"
+ , "aliases": [
+ "angola"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ถ"
+ , "description": "flag: Antarctica"
+ , "category": "Flags"
+ , "aliases": [
+ "antarctica"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฆ๐ท"
+ , "description": "flag: Argentina"
+ , "category": "Flags"
+ , "aliases": [
+ "argentina"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ธ"
+ , "description": "flag: American Samoa"
+ , "category": "Flags"
+ , "aliases": [
+ "american_samoa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐น"
+ , "description": "flag: Austria"
+ , "category": "Flags"
+ , "aliases": [
+ "austria"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐บ"
+ , "description": "flag: Australia"
+ , "category": "Flags"
+ , "aliases": [
+ "australia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ผ"
+ , "description": "flag: Aruba"
+ , "category": "Flags"
+ , "aliases": [
+ "aruba"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฆ๐ฝ"
+ , "description": "flag: ร
land Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "aland_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฆ๐ฟ"
+ , "description": "flag: Azerbaijan"
+ , "category": "Flags"
+ , "aliases": [
+ "azerbaijan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฆ"
+ , "description": "flag: Bosnia & Herzegovina"
+ , "category": "Flags"
+ , "aliases": [
+ "bosnia_herzegovina"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ง"
+ , "description": "flag: Barbados"
+ , "category": "Flags"
+ , "aliases": [
+ "barbados"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฉ"
+ , "description": "flag: Bangladesh"
+ , "category": "Flags"
+ , "aliases": [
+ "bangladesh"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ช"
+ , "description": "flag: Belgium"
+ , "category": "Flags"
+ , "aliases": [
+ "belgium"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ซ"
+ , "description": "flag: Burkina Faso"
+ , "category": "Flags"
+ , "aliases": [
+ "burkina_faso"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฌ"
+ , "description": "flag: Bulgaria"
+ , "category": "Flags"
+ , "aliases": [
+ "bulgaria"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ญ"
+ , "description": "flag: Bahrain"
+ , "category": "Flags"
+ , "aliases": [
+ "bahrain"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฎ"
+ , "description": "flag: Burundi"
+ , "category": "Flags"
+ , "aliases": [
+ "burundi"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฏ"
+ , "description": "flag: Benin"
+ , "category": "Flags"
+ , "aliases": [
+ "benin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฑ"
+ , "description": "flag: St. Barthรฉlemy"
+ , "category": "Flags"
+ , "aliases": [
+ "st_barthelemy"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ง๐ฒ"
+ , "description": "flag: Bermuda"
+ , "category": "Flags"
+ , "aliases": [
+ "bermuda"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ณ"
+ , "description": "flag: Brunei"
+ , "category": "Flags"
+ , "aliases": [
+ "brunei"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ด"
+ , "description": "flag: Bolivia"
+ , "category": "Flags"
+ , "aliases": [
+ "bolivia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ถ"
+ , "description": "flag: Caribbean Netherlands"
+ , "category": "Flags"
+ , "aliases": [
+ "caribbean_netherlands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ง๐ท"
+ , "description": "flag: Brazil"
+ , "category": "Flags"
+ , "aliases": [
+ "brazil"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ธ"
+ , "description": "flag: Bahamas"
+ , "category": "Flags"
+ , "aliases": [
+ "bahamas"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐น"
+ , "description": "flag: Bhutan"
+ , "category": "Flags"
+ , "aliases": [
+ "bhutan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ป"
+ , "description": "flag: Bouvet Island"
+ , "category": "Flags"
+ , "aliases": [
+ "bouvet_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ง๐ผ"
+ , "description": "flag: Botswana"
+ , "category": "Flags"
+ , "aliases": [
+ "botswana"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐พ"
+ , "description": "flag: Belarus"
+ , "category": "Flags"
+ , "aliases": [
+ "belarus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ง๐ฟ"
+ , "description": "flag: Belize"
+ , "category": "Flags"
+ , "aliases": [
+ "belize"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฆ"
+ , "description": "flag: Canada"
+ , "category": "Flags"
+ , "aliases": [
+ "canada"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐จ"
+ , "description": "flag: Cocos (Keeling) Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "cocos_islands"
+ ]
+ , "tags": [
+ "keeling"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐จ๐ฉ"
+ , "description": "flag: Congo - Kinshasa"
+ , "category": "Flags"
+ , "aliases": [
+ "congo_kinshasa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ซ"
+ , "description": "flag: Central African Republic"
+ , "category": "Flags"
+ , "aliases": [
+ "central_african_republic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฌ"
+ , "description": "flag: Congo - Brazzaville"
+ , "category": "Flags"
+ , "aliases": [
+ "congo_brazzaville"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ญ"
+ , "description": "flag: Switzerland"
+ , "category": "Flags"
+ , "aliases": [
+ "switzerland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฎ"
+ , "description": "flag: Cรดte dโIvoire"
+ , "category": "Flags"
+ , "aliases": [
+ "cote_divoire"
+ ]
+ , "tags": [
+ "ivory"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฐ"
+ , "description": "flag: Cook Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "cook_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฑ"
+ , "description": "flag: Chile"
+ , "category": "Flags"
+ , "aliases": [
+ "chile"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฒ"
+ , "description": "flag: Cameroon"
+ , "category": "Flags"
+ , "aliases": [
+ "cameroon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ณ"
+ , "description": "flag: China"
+ , "category": "Flags"
+ , "aliases": [
+ "cn"
+ ]
+ , "tags": [
+ "china"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐จ๐ด"
+ , "description": "flag: Colombia"
+ , "category": "Flags"
+ , "aliases": [
+ "colombia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ต"
+ , "description": "flag: Clipperton Island"
+ , "category": "Flags"
+ , "aliases": [
+ "clipperton_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐จ๐ท"
+ , "description": "flag: Costa Rica"
+ , "category": "Flags"
+ , "aliases": [
+ "costa_rica"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐บ"
+ , "description": "flag: Cuba"
+ , "category": "Flags"
+ , "aliases": [
+ "cuba"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ป"
+ , "description": "flag: Cape Verde"
+ , "category": "Flags"
+ , "aliases": [
+ "cape_verde"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ผ"
+ , "description": "flag: Curaรงao"
+ , "category": "Flags"
+ , "aliases": [
+ "curacao"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฝ"
+ , "description": "flag: Christmas Island"
+ , "category": "Flags"
+ , "aliases": [
+ "christmas_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐จ๐พ"
+ , "description": "flag: Cyprus"
+ , "category": "Flags"
+ , "aliases": [
+ "cyprus"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐จ๐ฟ"
+ , "description": "flag: Czechia"
+ , "category": "Flags"
+ , "aliases": [
+ "czech_republic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉ๐ช"
+ , "description": "flag: Germany"
+ , "category": "Flags"
+ , "aliases": [
+ "de"
+ ]
+ , "tags": [
+ "flag"
+ , "germany"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฉ๐ฌ"
+ , "description": "flag: Diego Garcia"
+ , "category": "Flags"
+ , "aliases": [
+ "diego_garcia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฉ๐ฏ"
+ , "description": "flag: Djibouti"
+ , "category": "Flags"
+ , "aliases": [
+ "djibouti"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉ๐ฐ"
+ , "description": "flag: Denmark"
+ , "category": "Flags"
+ , "aliases": [
+ "denmark"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉ๐ฒ"
+ , "description": "flag: Dominica"
+ , "category": "Flags"
+ , "aliases": [
+ "dominica"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉ๐ด"
+ , "description": "flag: Dominican Republic"
+ , "category": "Flags"
+ , "aliases": [
+ "dominican_republic"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฉ๐ฟ"
+ , "description": "flag: Algeria"
+ , "category": "Flags"
+ , "aliases": [
+ "algeria"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐ฆ"
+ , "description": "flag: Ceuta & Melilla"
+ , "category": "Flags"
+ , "aliases": [
+ "ceuta_melilla"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ช๐จ"
+ , "description": "flag: Ecuador"
+ , "category": "Flags"
+ , "aliases": [
+ "ecuador"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐ช"
+ , "description": "flag: Estonia"
+ , "category": "Flags"
+ , "aliases": [
+ "estonia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐ฌ"
+ , "description": "flag: Egypt"
+ , "category": "Flags"
+ , "aliases": [
+ "egypt"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐ญ"
+ , "description": "flag: Western Sahara"
+ , "category": "Flags"
+ , "aliases": [
+ "western_sahara"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ช๐ท"
+ , "description": "flag: Eritrea"
+ , "category": "Flags"
+ , "aliases": [
+ "eritrea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐ธ"
+ , "description": "flag: Spain"
+ , "category": "Flags"
+ , "aliases": [
+ "es"
+ ]
+ , "tags": [
+ "spain"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ช๐น"
+ , "description": "flag: Ethiopia"
+ , "category": "Flags"
+ , "aliases": [
+ "ethiopia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ช๐บ"
+ , "description": "flag: European Union"
+ , "category": "Flags"
+ , "aliases": [
+ "eu"
+ , "european_union"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ซ๐ฎ"
+ , "description": "flag: Finland"
+ , "category": "Flags"
+ , "aliases": [
+ "finland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ซ๐ฏ"
+ , "description": "flag: Fiji"
+ , "category": "Flags"
+ , "aliases": [
+ "fiji"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ซ๐ฐ"
+ , "description": "flag: Falkland Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "falkland_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ซ๐ฒ"
+ , "description": "flag: Micronesia"
+ , "category": "Flags"
+ , "aliases": [
+ "micronesia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ซ๐ด"
+ , "description": "flag: Faroe Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "faroe_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ซ๐ท"
+ , "description": "flag: France"
+ , "category": "Flags"
+ , "aliases": [
+ "fr"
+ ]
+ , "tags": [
+ "france"
+ , "french"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ๐ฆ"
+ , "description": "flag: Gabon"
+ , "category": "Flags"
+ , "aliases": [
+ "gabon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ง"
+ , "description": "flag: United Kingdom"
+ , "category": "Flags"
+ , "aliases": [
+ "gb"
+ , "uk"
+ ]
+ , "tags": [
+ "flag"
+ , "british"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฌ๐ฉ"
+ , "description": "flag: Grenada"
+ , "category": "Flags"
+ , "aliases": [
+ "grenada"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ช"
+ , "description": "flag: Georgia"
+ , "category": "Flags"
+ , "aliases": [
+ "georgia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ซ"
+ , "description": "flag: French Guiana"
+ , "category": "Flags"
+ , "aliases": [
+ "french_guiana"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ฌ"
+ , "description": "flag: Guernsey"
+ , "category": "Flags"
+ , "aliases": [
+ "guernsey"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฌ๐ญ"
+ , "description": "flag: Ghana"
+ , "category": "Flags"
+ , "aliases": [
+ "ghana"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ฎ"
+ , "description": "flag: Gibraltar"
+ , "category": "Flags"
+ , "aliases": [
+ "gibraltar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ฑ"
+ , "description": "flag: Greenland"
+ , "category": "Flags"
+ , "aliases": [
+ "greenland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฌ๐ฒ"
+ , "description": "flag: Gambia"
+ , "category": "Flags"
+ , "aliases": [
+ "gambia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ณ"
+ , "description": "flag: Guinea"
+ , "category": "Flags"
+ , "aliases": [
+ "guinea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ต"
+ , "description": "flag: Guadeloupe"
+ , "category": "Flags"
+ , "aliases": [
+ "guadeloupe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฌ๐ถ"
+ , "description": "flag: Equatorial Guinea"
+ , "category": "Flags"
+ , "aliases": [
+ "equatorial_guinea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ท"
+ , "description": "flag: Greece"
+ , "category": "Flags"
+ , "aliases": [
+ "greece"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ธ"
+ , "description": "flag: South Georgia & South Sandwich Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "south_georgia_south_sandwich_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฌ๐น"
+ , "description": "flag: Guatemala"
+ , "category": "Flags"
+ , "aliases": [
+ "guatemala"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐บ"
+ , "description": "flag: Guam"
+ , "category": "Flags"
+ , "aliases": [
+ "guam"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐ผ"
+ , "description": "flag: Guinea-Bissau"
+ , "category": "Flags"
+ , "aliases": [
+ "guinea_bissau"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฌ๐พ"
+ , "description": "flag: Guyana"
+ , "category": "Flags"
+ , "aliases": [
+ "guyana"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ญ๐ฐ"
+ , "description": "flag: Hong Kong SAR China"
+ , "category": "Flags"
+ , "aliases": [
+ "hong_kong"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ญ๐ฒ"
+ , "description": "flag: Heard & McDonald Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "heard_mcdonald_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ญ๐ณ"
+ , "description": "flag: Honduras"
+ , "category": "Flags"
+ , "aliases": [
+ "honduras"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ญ๐ท"
+ , "description": "flag: Croatia"
+ , "category": "Flags"
+ , "aliases": [
+ "croatia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ญ๐น"
+ , "description": "flag: Haiti"
+ , "category": "Flags"
+ , "aliases": [
+ "haiti"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ญ๐บ"
+ , "description": "flag: Hungary"
+ , "category": "Flags"
+ , "aliases": [
+ "hungary"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐จ"
+ , "description": "flag: Canary Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "canary_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฎ๐ฉ"
+ , "description": "flag: Indonesia"
+ , "category": "Flags"
+ , "aliases": [
+ "indonesia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ช"
+ , "description": "flag: Ireland"
+ , "category": "Flags"
+ , "aliases": [
+ "ireland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ฑ"
+ , "description": "flag: Israel"
+ , "category": "Flags"
+ , "aliases": [
+ "israel"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ฒ"
+ , "description": "flag: Isle of Man"
+ , "category": "Flags"
+ , "aliases": [
+ "isle_of_man"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฎ๐ณ"
+ , "description": "flag: India"
+ , "category": "Flags"
+ , "aliases": [
+ "india"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ด"
+ , "description": "flag: British Indian Ocean Territory"
+ , "category": "Flags"
+ , "aliases": [
+ "british_indian_ocean_territory"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฎ๐ถ"
+ , "description": "flag: Iraq"
+ , "category": "Flags"
+ , "aliases": [
+ "iraq"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ท"
+ , "description": "flag: Iran"
+ , "category": "Flags"
+ , "aliases": [
+ "iran"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐ธ"
+ , "description": "flag: Iceland"
+ , "category": "Flags"
+ , "aliases": [
+ "iceland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฎ๐น"
+ , "description": "flag: Italy"
+ , "category": "Flags"
+ , "aliases": [
+ "it"
+ ]
+ , "tags": [
+ "italy"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฏ๐ช"
+ , "description": "flag: Jersey"
+ , "category": "Flags"
+ , "aliases": [
+ "jersey"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฏ๐ฒ"
+ , "description": "flag: Jamaica"
+ , "category": "Flags"
+ , "aliases": [
+ "jamaica"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฏ๐ด"
+ , "description": "flag: Jordan"
+ , "category": "Flags"
+ , "aliases": [
+ "jordan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฏ๐ต"
+ , "description": "flag: Japan"
+ , "category": "Flags"
+ , "aliases": [
+ "jp"
+ ]
+ , "tags": [
+ "japan"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ๐ช"
+ , "description": "flag: Kenya"
+ , "category": "Flags"
+ , "aliases": [
+ "kenya"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ฌ"
+ , "description": "flag: Kyrgyzstan"
+ , "category": "Flags"
+ , "aliases": [
+ "kyrgyzstan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ญ"
+ , "description": "flag: Cambodia"
+ , "category": "Flags"
+ , "aliases": [
+ "cambodia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ฎ"
+ , "description": "flag: Kiribati"
+ , "category": "Flags"
+ , "aliases": [
+ "kiribati"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ฒ"
+ , "description": "flag: Comoros"
+ , "category": "Flags"
+ , "aliases": [
+ "comoros"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ณ"
+ , "description": "flag: St. Kitts & Nevis"
+ , "category": "Flags"
+ , "aliases": [
+ "st_kitts_nevis"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ต"
+ , "description": "flag: North Korea"
+ , "category": "Flags"
+ , "aliases": [
+ "north_korea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ท"
+ , "description": "flag: South Korea"
+ , "category": "Flags"
+ , "aliases": [
+ "kr"
+ ]
+ , "tags": [
+ "korea"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ฐ๐ผ"
+ , "description": "flag: Kuwait"
+ , "category": "Flags"
+ , "aliases": [
+ "kuwait"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐พ"
+ , "description": "flag: Cayman Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "cayman_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฐ๐ฟ"
+ , "description": "flag: Kazakhstan"
+ , "category": "Flags"
+ , "aliases": [
+ "kazakhstan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ฆ"
+ , "description": "flag: Laos"
+ , "category": "Flags"
+ , "aliases": [
+ "laos"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ง"
+ , "description": "flag: Lebanon"
+ , "category": "Flags"
+ , "aliases": [
+ "lebanon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐จ"
+ , "description": "flag: St. Lucia"
+ , "category": "Flags"
+ , "aliases": [
+ "st_lucia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ฎ"
+ , "description": "flag: Liechtenstein"
+ , "category": "Flags"
+ , "aliases": [
+ "liechtenstein"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ฐ"
+ , "description": "flag: Sri Lanka"
+ , "category": "Flags"
+ , "aliases": [
+ "sri_lanka"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ท"
+ , "description": "flag: Liberia"
+ , "category": "Flags"
+ , "aliases": [
+ "liberia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ธ"
+ , "description": "flag: Lesotho"
+ , "category": "Flags"
+ , "aliases": [
+ "lesotho"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐น"
+ , "description": "flag: Lithuania"
+ , "category": "Flags"
+ , "aliases": [
+ "lithuania"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐บ"
+ , "description": "flag: Luxembourg"
+ , "category": "Flags"
+ , "aliases": [
+ "luxembourg"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐ป"
+ , "description": "flag: Latvia"
+ , "category": "Flags"
+ , "aliases": [
+ "latvia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฑ๐พ"
+ , "description": "flag: Libya"
+ , "category": "Flags"
+ , "aliases": [
+ "libya"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ฆ"
+ , "description": "flag: Morocco"
+ , "category": "Flags"
+ , "aliases": [
+ "morocco"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐จ"
+ , "description": "flag: Monaco"
+ , "category": "Flags"
+ , "aliases": [
+ "monaco"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฒ๐ฉ"
+ , "description": "flag: Moldova"
+ , "category": "Flags"
+ , "aliases": [
+ "moldova"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ช"
+ , "description": "flag: Montenegro"
+ , "category": "Flags"
+ , "aliases": [
+ "montenegro"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ซ"
+ , "description": "flag: St. Martin"
+ , "category": "Flags"
+ , "aliases": [
+ "st_martin"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ฒ๐ฌ"
+ , "description": "flag: Madagascar"
+ , "category": "Flags"
+ , "aliases": [
+ "madagascar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ญ"
+ , "description": "flag: Marshall Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "marshall_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฒ๐ฐ"
+ , "description": "flag: North Macedonia"
+ , "category": "Flags"
+ , "aliases": [
+ "macedonia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ฑ"
+ , "description": "flag: Mali"
+ , "category": "Flags"
+ , "aliases": [
+ "mali"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ฒ"
+ , "description": "flag: Myanmar (Burma)"
+ , "category": "Flags"
+ , "aliases": [
+ "myanmar"
+ ]
+ , "tags": [
+ "burma"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ณ"
+ , "description": "flag: Mongolia"
+ , "category": "Flags"
+ , "aliases": [
+ "mongolia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ด"
+ , "description": "flag: Macao SAR China"
+ , "category": "Flags"
+ , "aliases": [
+ "macau"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ต"
+ , "description": "flag: Northern Mariana Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "northern_mariana_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ถ"
+ , "description": "flag: Martinique"
+ , "category": "Flags"
+ , "aliases": [
+ "martinique"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฒ๐ท"
+ , "description": "flag: Mauritania"
+ , "category": "Flags"
+ , "aliases": [
+ "mauritania"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ธ"
+ , "description": "flag: Montserrat"
+ , "category": "Flags"
+ , "aliases": [
+ "montserrat"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐น"
+ , "description": "flag: Malta"
+ , "category": "Flags"
+ , "aliases": [
+ "malta"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐บ"
+ , "description": "flag: Mauritius"
+ , "category": "Flags"
+ , "aliases": [
+ "mauritius"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฒ๐ป"
+ , "description": "flag: Maldives"
+ , "category": "Flags"
+ , "aliases": [
+ "maldives"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ผ"
+ , "description": "flag: Malawi"
+ , "category": "Flags"
+ , "aliases": [
+ "malawi"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ฝ"
+ , "description": "flag: Mexico"
+ , "category": "Flags"
+ , "aliases": [
+ "mexico"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐พ"
+ , "description": "flag: Malaysia"
+ , "category": "Flags"
+ , "aliases": [
+ "malaysia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฒ๐ฟ"
+ , "description": "flag: Mozambique"
+ , "category": "Flags"
+ , "aliases": [
+ "mozambique"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ฆ"
+ , "description": "flag: Namibia"
+ , "category": "Flags"
+ , "aliases": [
+ "namibia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐จ"
+ , "description": "flag: New Caledonia"
+ , "category": "Flags"
+ , "aliases": [
+ "new_caledonia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ช"
+ , "description": "flag: Niger"
+ , "category": "Flags"
+ , "aliases": [
+ "niger"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ซ"
+ , "description": "flag: Norfolk Island"
+ , "category": "Flags"
+ , "aliases": [
+ "norfolk_island"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ณ๐ฌ"
+ , "description": "flag: Nigeria"
+ , "category": "Flags"
+ , "aliases": [
+ "nigeria"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ฎ"
+ , "description": "flag: Nicaragua"
+ , "category": "Flags"
+ , "aliases": [
+ "nicaragua"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ฑ"
+ , "description": "flag: Netherlands"
+ , "category": "Flags"
+ , "aliases": [
+ "netherlands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ด"
+ , "description": "flag: Norway"
+ , "category": "Flags"
+ , "aliases": [
+ "norway"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ต"
+ , "description": "flag: Nepal"
+ , "category": "Flags"
+ , "aliases": [
+ "nepal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ท"
+ , "description": "flag: Nauru"
+ , "category": "Flags"
+ , "aliases": [
+ "nauru"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ณ๐บ"
+ , "description": "flag: Niue"
+ , "category": "Flags"
+ , "aliases": [
+ "niue"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ณ๐ฟ"
+ , "description": "flag: New Zealand"
+ , "category": "Flags"
+ , "aliases": [
+ "new_zealand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ด๐ฒ"
+ , "description": "flag: Oman"
+ , "category": "Flags"
+ , "aliases": [
+ "oman"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ฆ"
+ , "description": "flag: Panama"
+ , "category": "Flags"
+ , "aliases": [
+ "panama"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ช"
+ , "description": "flag: Peru"
+ , "category": "Flags"
+ , "aliases": [
+ "peru"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ซ"
+ , "description": "flag: French Polynesia"
+ , "category": "Flags"
+ , "aliases": [
+ "french_polynesia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ต๐ฌ"
+ , "description": "flag: Papua New Guinea"
+ , "category": "Flags"
+ , "aliases": [
+ "papua_new_guinea"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ญ"
+ , "description": "flag: Philippines"
+ , "category": "Flags"
+ , "aliases": [
+ "philippines"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ฐ"
+ , "description": "flag: Pakistan"
+ , "category": "Flags"
+ , "aliases": [
+ "pakistan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ฑ"
+ , "description": "flag: Poland"
+ , "category": "Flags"
+ , "aliases": [
+ "poland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ฒ"
+ , "description": "flag: St. Pierre & Miquelon"
+ , "category": "Flags"
+ , "aliases": [
+ "st_pierre_miquelon"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ต๐ณ"
+ , "description": "flag: Pitcairn Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "pitcairn_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ต๐ท"
+ , "description": "flag: Puerto Rico"
+ , "category": "Flags"
+ , "aliases": [
+ "puerto_rico"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ธ"
+ , "description": "flag: Palestinian Territories"
+ , "category": "Flags"
+ , "aliases": [
+ "palestinian_territories"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐น"
+ , "description": "flag: Portugal"
+ , "category": "Flags"
+ , "aliases": [
+ "portugal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐ผ"
+ , "description": "flag: Palau"
+ , "category": "Flags"
+ , "aliases": [
+ "palau"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ต๐พ"
+ , "description": "flag: Paraguay"
+ , "category": "Flags"
+ , "aliases": [
+ "paraguay"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ถ๐ฆ"
+ , "description": "flag: Qatar"
+ , "category": "Flags"
+ , "aliases": [
+ "qatar"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ท๐ช"
+ , "description": "flag: Rรฉunion"
+ , "category": "Flags"
+ , "aliases": [
+ "reunion"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ท๐ด"
+ , "description": "flag: Romania"
+ , "category": "Flags"
+ , "aliases": [
+ "romania"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ท๐ธ"
+ , "description": "flag: Serbia"
+ , "category": "Flags"
+ , "aliases": [
+ "serbia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ท๐บ"
+ , "description": "flag: Russia"
+ , "category": "Flags"
+ , "aliases": [
+ "ru"
+ ]
+ , "tags": [
+ "russia"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐ท๐ผ"
+ , "description": "flag: Rwanda"
+ , "category": "Flags"
+ , "aliases": [
+ "rwanda"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฆ"
+ , "description": "flag: Saudi Arabia"
+ , "category": "Flags"
+ , "aliases": [
+ "saudi_arabia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ง"
+ , "description": "flag: Solomon Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "solomon_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐จ"
+ , "description": "flag: Seychelles"
+ , "category": "Flags"
+ , "aliases": [
+ "seychelles"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฉ"
+ , "description": "flag: Sudan"
+ , "category": "Flags"
+ , "aliases": [
+ "sudan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ช"
+ , "description": "flag: Sweden"
+ , "category": "Flags"
+ , "aliases": [
+ "sweden"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฌ"
+ , "description": "flag: Singapore"
+ , "category": "Flags"
+ , "aliases": [
+ "singapore"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ญ"
+ , "description": "flag: St. Helena"
+ , "category": "Flags"
+ , "aliases": [
+ "st_helena"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ธ๐ฎ"
+ , "description": "flag: Slovenia"
+ , "category": "Flags"
+ , "aliases": [
+ "slovenia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฏ"
+ , "description": "flag: Svalbard & Jan Mayen"
+ , "category": "Flags"
+ , "aliases": [
+ "svalbard_jan_mayen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ธ๐ฐ"
+ , "description": "flag: Slovakia"
+ , "category": "Flags"
+ , "aliases": [
+ "slovakia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฑ"
+ , "description": "flag: Sierra Leone"
+ , "category": "Flags"
+ , "aliases": [
+ "sierra_leone"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฒ"
+ , "description": "flag: San Marino"
+ , "category": "Flags"
+ , "aliases": [
+ "san_marino"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ณ"
+ , "description": "flag: Senegal"
+ , "category": "Flags"
+ , "aliases": [
+ "senegal"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ด"
+ , "description": "flag: Somalia"
+ , "category": "Flags"
+ , "aliases": [
+ "somalia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ท"
+ , "description": "flag: Suriname"
+ , "category": "Flags"
+ , "aliases": [
+ "suriname"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ธ"
+ , "description": "flag: South Sudan"
+ , "category": "Flags"
+ , "aliases": [
+ "south_sudan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐น"
+ , "description": "flag: Sรฃo Tomรฉ & Prรญncipe"
+ , "category": "Flags"
+ , "aliases": [
+ "sao_tome_principe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ป"
+ , "description": "flag: El Salvador"
+ , "category": "Flags"
+ , "aliases": [
+ "el_salvador"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฝ"
+ , "description": "flag: Sint Maarten"
+ , "category": "Flags"
+ , "aliases": [
+ "sint_maarten"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐พ"
+ , "description": "flag: Syria"
+ , "category": "Flags"
+ , "aliases": [
+ "syria"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ธ๐ฟ"
+ , "description": "flag: Eswatini"
+ , "category": "Flags"
+ , "aliases": [
+ "swaziland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฆ"
+ , "description": "flag: Tristan da Cunha"
+ , "category": "Flags"
+ , "aliases": [
+ "tristan_da_cunha"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐น๐จ"
+ , "description": "flag: Turks & Caicos Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "turks_caicos_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฉ"
+ , "description": "flag: Chad"
+ , "category": "Flags"
+ , "aliases": [
+ "chad"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐น๐ซ"
+ , "description": "flag: French Southern Territories"
+ , "category": "Flags"
+ , "aliases": [
+ "french_southern_territories"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฌ"
+ , "description": "flag: Togo"
+ , "category": "Flags"
+ , "aliases": [
+ "togo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ญ"
+ , "description": "flag: Thailand"
+ , "category": "Flags"
+ , "aliases": [
+ "thailand"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฏ"
+ , "description": "flag: Tajikistan"
+ , "category": "Flags"
+ , "aliases": [
+ "tajikistan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฐ"
+ , "description": "flag: Tokelau"
+ , "category": "Flags"
+ , "aliases": [
+ "tokelau"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐น๐ฑ"
+ , "description": "flag: Timor-Leste"
+ , "category": "Flags"
+ , "aliases": [
+ "timor_leste"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ฒ"
+ , "description": "flag: Turkmenistan"
+ , "category": "Flags"
+ , "aliases": [
+ "turkmenistan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ณ"
+ , "description": "flag: Tunisia"
+ , "category": "Flags"
+ , "aliases": [
+ "tunisia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ด"
+ , "description": "flag: Tonga"
+ , "category": "Flags"
+ , "aliases": [
+ "tonga"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ท"
+ , "description": "flag: Turkey"
+ , "category": "Flags"
+ , "aliases": [
+ "tr"
+ ]
+ , "tags": [
+ "turkey"
+ ]
+ , "unicode_version": "8.0"
+ , "ios_version": "9.1"
+ }
+, {
+ "emoji": "๐น๐น"
+ , "description": "flag: Trinidad & Tobago"
+ , "category": "Flags"
+ , "aliases": [
+ "trinidad_tobago"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ป"
+ , "description": "flag: Tuvalu"
+ , "category": "Flags"
+ , "aliases": [
+ "tuvalu"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐น๐ผ"
+ , "description": "flag: Taiwan"
+ , "category": "Flags"
+ , "aliases": [
+ "taiwan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐น๐ฟ"
+ , "description": "flag: Tanzania"
+ , "category": "Flags"
+ , "aliases": [
+ "tanzania"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐บ๐ฆ"
+ , "description": "flag: Ukraine"
+ , "category": "Flags"
+ , "aliases": [
+ "ukraine"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐บ๐ฌ"
+ , "description": "flag: Uganda"
+ , "category": "Flags"
+ , "aliases": [
+ "uganda"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐บ๐ฒ"
+ , "description": "flag: U.S. Outlying Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "us_outlying_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐บ๐ณ"
+ , "description": "flag: United Nations"
+ , "category": "Flags"
+ , "aliases": [
+ "united_nations"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐บ๐ธ"
+ , "description": "flag: United States"
+ , "category": "Flags"
+ , "aliases": [
+ "us"
+ ]
+ , "tags": [
+ "flag"
+ , "united"
+ , "america"
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "6.0"
+ }
+, {
+ "emoji": "๐บ๐พ"
+ , "description": "flag: Uruguay"
+ , "category": "Flags"
+ , "aliases": [
+ "uruguay"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐บ๐ฟ"
+ , "description": "flag: Uzbekistan"
+ , "category": "Flags"
+ , "aliases": [
+ "uzbekistan"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐ฆ"
+ , "description": "flag: Vatican City"
+ , "category": "Flags"
+ , "aliases": [
+ "vatican_city"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ป๐จ"
+ , "description": "flag: St. Vincent & Grenadines"
+ , "category": "Flags"
+ , "aliases": [
+ "st_vincent_grenadines"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐ช"
+ , "description": "flag: Venezuela"
+ , "category": "Flags"
+ , "aliases": [
+ "venezuela"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐ฌ"
+ , "description": "flag: British Virgin Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "british_virgin_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐ฎ"
+ , "description": "flag: U.S. Virgin Islands"
+ , "category": "Flags"
+ , "aliases": [
+ "us_virgin_islands"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐ณ"
+ , "description": "flag: Vietnam"
+ , "category": "Flags"
+ , "aliases": [
+ "vietnam"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ป๐บ"
+ , "description": "flag: Vanuatu"
+ , "category": "Flags"
+ , "aliases": [
+ "vanuatu"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ผ๐ซ"
+ , "description": "flag: Wallis & Futuna"
+ , "category": "Flags"
+ , "aliases": [
+ "wallis_futuna"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ผ๐ธ"
+ , "description": "flag: Samoa"
+ , "category": "Flags"
+ , "aliases": [
+ "samoa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฝ๐ฐ"
+ , "description": "flag: Kosovo"
+ , "category": "Flags"
+ , "aliases": [
+ "kosovo"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐พ๐ช"
+ , "description": "flag: Yemen"
+ , "category": "Flags"
+ , "aliases": [
+ "yemen"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐พ๐น"
+ , "description": "flag: Mayotte"
+ , "category": "Flags"
+ , "aliases": [
+ "mayotte"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "9.0"
+ }
+, {
+ "emoji": "๐ฟ๐ฆ"
+ , "description": "flag: South Africa"
+ , "category": "Flags"
+ , "aliases": [
+ "south_africa"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฟ๐ฒ"
+ , "description": "flag: Zambia"
+ , "category": "Flags"
+ , "aliases": [
+ "zambia"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ฟ๐ผ"
+ , "description": "flag: Zimbabwe"
+ , "category": "Flags"
+ , "aliases": [
+ "zimbabwe"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "6.0"
+ , "ios_version": "8.3"
+ }
+, {
+ "emoji": "๐ด๓ ง๓ ข๓ ฅ๓ ฎ๓ ง๓ ฟ"
+ , "description": "flag: England"
+ , "category": "Flags"
+ , "aliases": [
+ "england"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ"
+ , "description": "flag: Scotland"
+ , "category": "Flags"
+ , "aliases": [
+ "scotland"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+, {
+ "emoji": "๐ด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ"
+ , "description": "flag: Wales"
+ , "category": "Flags"
+ , "aliases": [
+ "wales"
+ ]
+ , "tags": [
+ ]
+ , "unicode_version": "11.0"
+ , "ios_version": "12.1"
+ }
+]
diff --git a/user_config/usr/share/mouse keyboard/icon.png b/user_config/usr/share/mouse-keyboard/icons/mouse-keyboard.png
similarity index 100%
rename from user_config/usr/share/mouse keyboard/icon.png
rename to user_config/usr/share/mouse-keyboard/icons/mouse-keyboard.png
diff --git a/user_config/usr/share/mouse keyboard/stylesheet.css b/user_config/usr/share/mouse-keyboard/stylesheet.css
similarity index 100%
rename from user_config/usr/share/mouse keyboard/stylesheet.css
rename to user_config/usr/share/mouse-keyboard/stylesheet.css