{
  "format" : 1,
  "manifest" : {
    "accent" : "amber",
    "capabilities" : [
      {
        "clipboard" : {

        }
      }
    ],
    "homepage" : "https://github.com/navbytes/stackbar-plugins/tree/main/Productivity/Emoji",
    "id" : "io.navbytes.stackbar.plugins.emoji",
    "minimumStackbar" : "0.21.0",
    "name" : "Emoji",
    "summary" : "Search every emoji by name in a grid, and paste it where you were typing.",
    "surfaces" : [
      "panel",
      "settings"
    ],
    "symbol" : "face.smiling",
    "triggers" : [
      {
        "launch" : {

        }
      }
    ],
    "version" : "1.2.0"
  },
  "publisher" : {
    "name" : "navbytes",
    "publicKey" : "4dpLtXEpFXdi+6cviY/KdYuUulJPbEmCxxIK0EEN2/w="
  },
  "signature" : "A0nRJm5IdWD7EjU0AB+qzJjEwNFLvH1SlXkOiIpeTVK7z1UqoJsX2BdpnnX0Pw+6vBOO2QcP80jiYxHtFSsaCA==",
  "source" : "import StackbarKit\nimport Foundation\n\n/// An emoji picker in the palette: a grid you type to narrow (\"party\",\n/// \"thumbs\", \"flag japan\") and walk with the arrow keys. Return pastes the\n/// emoji into the app you were in; ⌘K copies it instead. The ones you use\n/// most come first. The names are Unicode's (Emoji 15.1, CLDR English).\n@main\nfinal class Emoji: StackbarPlugin {\n    static let manifest = Manifest(\n        id: \"io.navbytes.stackbar.plugins.emoji\",\n        name: \"Emoji\",\n        version: \"1.2.0\",\n        summary: \"Search every emoji by name in a grid, and paste it where you were typing.\",\n        surfaces: [.panel, .settings],\n        triggers: [.launch],\n        capabilities: [.clipboard],\n        minimumStackbar: \"0.21.0\",\n        homepage: \"https://github.com/navbytes/stackbar-plugins/tree/main/Productivity/Emoji\",\n        accent: .amber,\n        symbol: \"face.smiling\"\n    )\n\n    // MARK: Previews\n\n    static let previews: [PreviewScene<Emoji>] = [\n        PreviewScene(\"hero\", \"Every emoji, a few letters away\") { plugin in\n            plugin.uses = [\"👍\": 9, \"🎉\": 7, \"😂\": 6, \"🙏\": 4, \"🔥\": 3, \"✅\": 3, \"👀\": 2, \"❤️\": 2]\n        },\n        PreviewScene(\"skin-tone\", \"Your skin tone, every time\") { plugin in\n            plugin.skinTone = \"Medium\"\n            plugin.uses = [\"👍\": 9, \"👋\": 7, \"🙏\": 6, \"👏\": 4, \"💪\": 3, \"🎉\": 3, \"🤞\": 2, \"👌\": 2]\n        },\n        PreviewScene(\"first-run\", \"Every emoji, grouped\") { _ in },\n    ]\n\n    let theme = Theme.amber\n\n    /// How often each emoji was picked, so favourites come first.\n    @Stored(\"uses\") var uses: [String: Int] = [:]\n    /// The skin tone for hands and people, by name (\"None\" leaves them plain).\n    @Stored(\"skinTone\") var skinTone = \"None\"\n    var notice: String?\n\n    struct Item: Identifiable, Sendable {\n        var emoji: String\n        var name: String\n        var group: String\n        /// The name's words, lowercased, split once instead of on every keystroke.\n        var parts: [String]\n        var id: String { emoji }\n\n        init(emoji: String, name: String, group: String) {\n            self.emoji = emoji\n            self.name = name\n            self.group = group\n            parts = Emoji.words(in: name)\n        }\n    }\n\n    /// Words are runs of letters and digits: \"left-facing fist\" is \"left\", \"facing\", \"fist\".\n    /// Accents and apostrophes fold away too, so \"pinata\" finds \"piñata\" and \"cote\" finds \"Côte d’Ivoire\".\n    nonisolated static func words(in text: String) -> [String] {\n        text.folding(options: [.caseInsensitive, .diacriticInsensitive], locale: nil)\n            .replacingOccurrences(of: \"’\", with: \"\").replacingOccurrences(of: \"'\", with: \"\")\n            .split(whereSeparator: { !$0.isLetter && !$0.isNumber }).map(String.init)\n    }\n\n    static let groupSymbols: [String: String] = [\"Smileys & Emotion\": \"face.smiling\", \"People & Body\": \"hand.wave\", \"Animals & Nature\": \"pawprint\", \"Food & Drink\": \"fork.knife\", \"Travel & Places\": \"car\", \"Activities\": \"soccerball\", \"Objects\": \"lightbulb\", \"Symbols\": \"heart\", \"Flags\": \"flag\"]\n\n    /// Words people type for an emoji, beside Unicode's names (which have no\n    /// \"lol\" or \"love\"). Every key is an emoji in `table`.\n    static let keywords: [String: [String]] = [\n        \"😀\": [\"happy\", \"smile\"], \"😂\": [\"lol\", \"laugh\"], \"🤣\": [\"lol\", \"laugh\", \"rofl\"], \"😊\": [\"happy\", \"blush\"],\n        \"😍\": [\"love\", \"crush\"], \"🥰\": [\"love\"], \"😘\": [\"kiss\"], \"😢\": [\"sad\", \"cry\"], \"😭\": [\"sad\", \"cry\", \"sob\"],\n        \"😡\": [\"angry\", \"mad\"], \"😠\": [\"angry\", \"mad\"], \"🤔\": [\"hmm\", \"think\"], \"🙄\": [\"eyeroll\"], \"😴\": [\"sleep\", \"tired\"],\n        \"🤯\": [\"mindblown\"], \"🥳\": [\"party\", \"celebrate\", \"birthday\"], \"😎\": [\"cool\"], \"😅\": [\"phew\", \"nervous\"],\n        \"😬\": [\"awkward\", \"yikes\"], \"🤗\": [\"hug\"], \"🤦\": [\"facepalm\"], \"🤷\": [\"shrug\", \"idk\"],\n        \"👍\": [\"yes\", \"ok\", \"like\", \"approve\", \"agree\"], \"👎\": [\"no\", \"dislike\"], \"👏\": [\"clap\", \"applause\", \"bravo\"],\n        \"🙏\": [\"thanks\", \"please\", \"pray\"], \"👋\": [\"hi\", \"hello\", \"bye\", \"wave\"], \"💪\": [\"strong\", \"flex\"], \"👀\": [\"look\", \"see\"],\n        \"❤️\": [\"love\"], \"💔\": [\"heartbreak\"], \"🔥\": [\"lit\", \"hot\"], \"✨\": [\"magic\", \"sparkle\"],\n        \"🎉\": [\"party\", \"celebrate\", \"congrats\", \"tada\"], \"✅\": [\"done\", \"yes\", \"ok\"], \"❌\": [\"no\", \"wrong\"], \"⚠️\": [\"caution\"],\n        \"💯\": [\"perfect\", \"100\"], \"🚀\": [\"launch\", \"ship\"], \"💡\": [\"idea\"], \"🐛\": [\"bug\"], \"🤝\": [\"deal\"],\n        \"🙌\": [\"hooray\", \"praise\"], \"😱\": [\"shock\", \"scream\"], \"🤞\": [\"luck\", \"hope\"], \"👌\": [\"ok\", \"perfect\"],\n        \"☕\": [\"coffee\"], \"🍻\": [\"cheers\"], \"💩\": [\"poop\"],\n    ]\n\n    /// Every emoji in Unicode's order, read once from `table`.\n    static let all: [Item] = {\n        var items: [Item] = []\n        var group = \"\"\n        for line in table.split(separator: \"\\n\") {\n            if line.hasPrefix(\"# \") {\n                group = String(line.dropFirst(2))\n                continue\n            }\n            guard let space = line.firstIndex(of: \" \") else { continue }\n            var item = Item(emoji: String(line[..<space]), name: String(line[line.index(after: space)...]), group: group)\n            item.parts += words(in: keywords[item.emoji]?.joined(separator: \" \") ?? \"\")\n            items.append(item)\n        }\n        return items\n    }()\n\n    static let byEmoji: [String: Item] = Dictionary(all.map { ($0.emoji, $0) }, uniquingKeysWith: { first, _ in first })\n\n    static let byGroup: [String: [Item]] = Dictionary(grouping: all, by: \\.group)\n\n    static let groups: [String] = {\n        var seen: [String] = []\n        for item in all where !seen.contains(item.group) { seen.append(item.group) }\n        return seen\n    }()\n\n    // MARK: Searching\n\n    /// Every typed word must start a word of the name (\"thu up\" finds\n    /// thumbs up); the most used come first, then Unicode's order.\n    static func matches(_ query: String, in items: [Item] = all, uses: [String: Int] = [:]) -> [Item] {\n        // A pasted emoji finds itself, with or without its variation selector or skin tone.\n        let trimmed = query.trimmingCharacters(in: .whitespaces)\n        let plain = String(String.UnicodeScalarView(trimmed.unicodeScalars.filter { !(0x1F3FB...0x1F3FF).contains($0.value) }))\n        if let item = byEmoji[plain] ?? byEmoji[plain.replacingOccurrences(of: \"\\u{FE0F}\", with: \"\")] ?? byEmoji[plain + \"\\u{FE0F}\"],\n           items.contains(where: { $0.emoji == item.emoji }) {\n            return [item]\n        }\n        // Split like the names are, so \"left-facing\" and \"heart-eyes\" match.\n        let words = Self.words(in: query)\n        // Nothing typed lists everything; only separators (\":\", \"-\") match nothing.\n        guard !words.isEmpty else { return query.allSatisfy(\\.isWhitespace) ? items : [] }\n        let found = items.filter { item in\n            words.allSatisfy { word in item.parts.contains { $0.hasPrefix(word) } }\n        }\n        return found.enumerated().sorted { lhs, rhs in\n            let left = uses[lhs.element.emoji] ?? 0\n            let right = uses[rhs.element.emoji] ?? 0\n            return left != right ? left > right : lhs.offset < rhs.offset\n        }.map(\\.element)\n    }\n\n    /// The most used, at most `limit`.\n    var frequent: [Item] {\n        uses.sorted { $0.value != $1.value ? $0.value > $1.value : $0.key < $1.key }.prefix(24).compactMap { Self.byEmoji[$0.key] }\n    }\n\n    func picked(_ item: Item) {\n        uses[item.emoji, default: 0] += 1\n    }\n\n    // MARK: Skin tones\n\n    static let toneNames = [\"None\", \"Light\", \"Medium-Light\", \"Medium\", \"Medium-Dark\", \"Dark\"]\n    static let tones: [String: String] = [\"Light\": \"\\u{1F3FB}\", \"Medium-Light\": \"\\u{1F3FC}\", \"Medium\": \"\\u{1F3FD}\", \"Medium-Dark\": \"\\u{1F3FE}\", \"Dark\": \"\\u{1F3FF}\"]\n    /// Family, bunny-eared pairs and wrestlers: marked as modifier bases, yet with no tone variants.\n    static let untoned: Set<Unicode.Scalar> = [\"\\u{1F46A}\", \"\\u{1F46F}\", \"\\u{1F93C}\"]\n\n    /// `emoji` in the chosen skin tone. Only an emoji with exactly one person\n    /// or hand gets it, so families and couples stay as they are.\n    static func toned(_ emoji: String, _ tone: String) -> String {\n        guard let modifier = tones[tone] else { return emoji }\n        let scalars = Array(emoji.unicodeScalars)\n        if scalars.contains(where: { untoned.contains($0) }) { return emoji }\n        let bases = scalars.indices.filter { scalars[$0].properties.isEmojiModifierBase }\n        guard bases.count == 1, let at = bases.first else { return emoji }\n        var out = String.UnicodeScalarView()\n        for (i, scalar) in scalars.enumerated() {\n            if i == at + 1, scalar == \"\\u{FE0F}\" { continue }\n            out.append(scalar)\n            if i == at { out.append(contentsOf: modifier.unicodeScalars) }\n        }\n        return String(out)\n    }\n\n    // MARK: Commands\n\n    static let columns = 8\n    /// A grid this long is quick to send and to draw.\n    static let limit = 400\n\n    var commands: [Command] {\n        Command(\"search\", title: \"Search Emoji\", subtitle: \"Paste an emoji by name\", symbol: \"face.smiling\", keywords: [\"emoji\", \"smiley\", \"symbol\", \"character\"])\n            .view { invocation in\n                let text = invocation.text.trimmingCharacters(in: .whitespaces)\n                if text.isEmpty {\n                    let frequent = self.frequent\n                    List {\n                        if !frequent.isEmpty {\n                            Section(\"Frequently Used\") { self.grid(frequent, prefix: \"f\") }\n                        }\n                        ForEach(Self.groups) { group in\n                            Section(group) { self.grid(Self.byGroup[group] ?? [], prefix: \"\") }\n                        }\n                    }\n                } else {\n                    let found = Self.matches(text, uses: self.uses)\n                    if found.isEmpty {\n                        ContentUnavailableView(\"No emoji for \\u{201C}\\(text)\\u{201D}\", symbol: \"face.dashed\", message: \"Try a shorter word, like \\u{201C}heart\\u{201D} or \\u{201C}cat\\u{201D}.\")\n                    } else {\n                        List { self.grid(Array(found.prefix(Self.limit)), prefix: \"\") }\n                    }\n                }\n            }\n        // \":heart\" at the palette's root: the top matches, Return pastes.\n        Command(\"inline\", title: \"Emoji by Name\", symbol: \"face.smiling\", keywords: [\"emoji\"])\n            .view { invocation in\n                List {\n                    ForEach(Array(Self.matches(String(invocation.text.dropFirst()), uses: self.uses).prefix(3))) { item in\n                        self.row(item, key: \"root-\" + item.emoji)\n                    }\n                }\n            }\n            .rootSearch(section: \"Emoji\", matching: #\":[A-Za-z0-9][A-Za-z0-9 _-]*\"#)\n            .stackbarOnly()\n    }\n\n    /// `prefix` keeps keys unique when an emoji shows twice (frequent and\n    /// its own group).\n    @ViewBuilder func grid(_ items: [Item], prefix: String) -> ViewContent {\n        Grid(columns: Self.columns) {\n            ForEach(items) { item in self.row(item, key: prefix + item.emoji) }\n        }\n    }\n\n    func row(_ item: Item, key: String) -> Row {\n        let shown = Self.toned(item.emoji, skinTone)\n        return Row(shown, subtitle: item.name, key: key)\n            .preview(text: shown + \"  \" + item.name, caption: item.group)\n            .action(\"Paste\") {\n                self.picked(item)\n                try await Stackbar.paste(.text(shown), restoringClipboard: true)\n            }\n            .action(\"Copy\", shortcut: \"cmd+shift+c\") {\n                self.picked(item)\n                Stackbar.copy(shown)\n            }\n    }\n\n    // MARK: Panel\n\n    var panel: ViewContent {\n        PanelHeader(\"Emoji\", subtitle: notice ?? \"Click to copy, or Search Emoji in the palette\", symbol: \"face.smiling\", theme: theme)\n        let frequent = self.frequent\n        let shown = frequent.isEmpty ? Array(Self.all.prefix(32)) : frequent\n        Card(frequent.isEmpty ? \"Smileys\" : \"Frequently used\", spacing: Space.xs, padding: Space.s) {\n            Grid(columns: Self.columns, spacing: Space.xs) {\n                ForEach(shown) { item in\n                    Button(key: \"copy-\" + item.emoji, action: {\n                        let emoji = Self.toned(item.emoji, self.skinTone)\n                        self.picked(item)\n                        Stackbar.copy(emoji)\n                        self.notice = \"Copied \\(emoji) \\(item.name)\"\n                    }) {\n                        Text(Self.toned(item.emoji, self.skinTone)).font(size: 22)\n                    }\n                }\n            }\n        }\n    }\n\n    // MARK: Settings\n\n    var settings: ViewContent {\n        Section(\"Skin tone\") {\n            Picker(\"Skin tone\", options: Self.toneNames, selection: skinTone) { self.skinTone = $0 }\n            Text(\"Used for hands and people that come in skin tones.\").role(.secondary)\n        }\n    }\n\n    // MARK: Data\n\n    /// Unicode's emoji-test.txt, fully-qualified, without skin-tone variants:\n    /// a group line (\"# Animals & Nature\"), then \"<emoji> <name>\" lines.\n    static let table = #\"\"\"\n# Smileys & Emotion\n😀 grinning face\n😃 grinning face with big eyes\n😄 grinning face with smiling eyes\n😁 beaming face with smiling eyes\n😆 grinning squinting face\n😅 grinning face with sweat\n🤣 rolling on the floor laughing\n😂 face with tears of joy\n🙂 slightly smiling face\n🙃 upside-down face\n🫠 melting face\n😉 winking face\n😊 smiling face with smiling eyes\n😇 smiling face with halo\n🥰 smiling face with hearts\n😍 smiling face with heart-eyes\n🤩 star-struck\n😘 face blowing a kiss\n😗 kissing face\n☺️ smiling face\n😚 kissing face with closed eyes\n😙 kissing face with smiling eyes\n🥲 smiling face with tear\n😋 face savoring food\n😛 face with tongue\n😜 winking face with tongue\n🤪 zany face\n😝 squinting face with tongue\n🤑 money-mouth face\n🤗 smiling face with open hands\n🤭 face with hand over mouth\n🫢 face with open eyes and hand over mouth\n🫣 face with peeking eye\n🤫 shushing face\n🤔 thinking face\n🫡 saluting face\n🤐 zipper-mouth face\n🤨 face with raised eyebrow\n😐 neutral face\n😑 expressionless face\n😶 face without mouth\n🫥 dotted line face\n😶‍🌫️ face in clouds\n😏 smirking face\n😒 unamused face\n🙄 face with rolling eyes\n😬 grimacing face\n😮‍💨 face exhaling\n🤥 lying face\n🫨 shaking face\n🙂‍↔️ head shaking horizontally\n🙂‍↕️ head shaking vertically\n😌 relieved face\n😔 pensive face\n😪 sleepy face\n🤤 drooling face\n😴 sleeping face\n😷 face with medical mask\n🤒 face with thermometer\n🤕 face with head-bandage\n🤢 nauseated face\n🤮 face vomiting\n🤧 sneezing face\n🥵 hot face\n🥶 cold face\n🥴 woozy face\n😵 face with crossed-out eyes\n😵‍💫 face with spiral eyes\n🤯 exploding head\n🤠 cowboy hat face\n🥳 partying face\n🥸 disguised face\n😎 smiling face with sunglasses\n🤓 nerd face\n🧐 face with monocle\n😕 confused face\n🫤 face with diagonal mouth\n😟 worried face\n🙁 slightly frowning face\n☹️ frowning face\n😮 face with open mouth\n😯 hushed face\n😲 astonished face\n😳 flushed face\n🥺 pleading face\n🥹 face holding back tears\n😦 frowning face with open mouth\n😧 anguished face\n😨 fearful face\n😰 anxious face with sweat\n😥 sad but relieved face\n😢 crying face\n😭 loudly crying face\n😱 face screaming in fear\n😖 confounded face\n😣 persevering face\n😞 disappointed face\n😓 downcast face with sweat\n😩 weary face\n😫 tired face\n🥱 yawning face\n😤 face with steam from nose\n😡 enraged face\n😠 angry face\n🤬 face with symbols on mouth\n😈 smiling face with horns\n👿 angry face with horns\n💀 skull\n☠️ skull and crossbones\n💩 pile of poo\n🤡 clown face\n👹 ogre\n👺 goblin\n👻 ghost\n👽 alien\n👾 alien monster\n🤖 robot\n😺 grinning cat\n😸 grinning cat with smiling eyes\n😹 cat with tears of joy\n😻 smiling cat with heart-eyes\n😼 cat with wry smile\n😽 kissing cat\n🙀 weary cat\n😿 crying cat\n😾 pouting cat\n🙈 see-no-evil monkey\n🙉 hear-no-evil monkey\n🙊 speak-no-evil monkey\n💌 love letter\n💘 heart with arrow\n💝 heart with ribbon\n💖 sparkling heart\n💗 growing heart\n💓 beating heart\n💞 revolving hearts\n💕 two hearts\n💟 heart decoration\n❣️ heart exclamation\n💔 broken heart\n❤️‍🔥 heart on fire\n❤️‍🩹 mending heart\n❤️ red heart\n🩷 pink heart\n🧡 orange heart\n💛 yellow heart\n💚 green heart\n💙 blue heart\n🩵 light blue heart\n💜 purple heart\n🤎 brown heart\n🖤 black heart\n🩶 grey heart\n🤍 white heart\n💋 kiss mark\n💯 hundred points\n💢 anger symbol\n💥 collision\n💫 dizzy\n💦 sweat droplets\n💨 dashing away\n🕳️ hole\n💬 speech balloon\n👁️‍🗨️ eye in speech bubble\n🗨️ left speech bubble\n🗯️ right anger bubble\n💭 thought balloon\n💤 ZZZ\n# People & Body\n👋 waving hand\n🤚 raised back of hand\n🖐️ hand with fingers splayed\n✋ raised hand\n🖖 vulcan salute\n🫱 rightwards hand\n🫲 leftwards hand\n🫳 palm down hand\n🫴 palm up hand\n🫷 leftwards pushing hand\n🫸 rightwards pushing hand\n👌 OK hand\n🤌 pinched fingers\n🤏 pinching hand\n✌️ victory hand\n🤞 crossed fingers\n🫰 hand with index finger and thumb crossed\n🤟 love-you gesture\n🤘 sign of the horns\n🤙 call me hand\n👈 backhand index pointing left\n👉 backhand index pointing right\n👆 backhand index pointing up\n🖕 middle finger\n👇 backhand index pointing down\n☝️ index pointing up\n🫵 index pointing at the viewer\n👍 thumbs up\n👎 thumbs down\n✊ raised fist\n👊 oncoming fist\n🤛 left-facing fist\n🤜 right-facing fist\n👏 clapping hands\n🙌 raising hands\n🫶 heart hands\n👐 open hands\n🤲 palms up together\n🤝 handshake\n🙏 folded hands\n✍️ writing hand\n💅 nail polish\n🤳 selfie\n💪 flexed biceps\n🦾 mechanical arm\n🦿 mechanical leg\n🦵 leg\n🦶 foot\n👂 ear\n🦻 ear with hearing aid\n👃 nose\n🧠 brain\n🫀 anatomical heart\n🫁 lungs\n🦷 tooth\n🦴 bone\n👀 eyes\n👁️ eye\n👅 tongue\n👄 mouth\n🫦 biting lip\n👶 baby\n🧒 child\n👦 boy\n👧 girl\n🧑 person\n👱 person: blond hair\n👨 man\n🧔 person: beard\n🧔‍♂️ man: beard\n🧔‍♀️ woman: beard\n👨‍🦰 man: red hair\n👨‍🦱 man: curly hair\n👨‍🦳 man: white hair\n👨‍🦲 man: bald\n👩 woman\n👩‍🦰 woman: red hair\n🧑‍🦰 person: red hair\n👩‍🦱 woman: curly hair\n🧑‍🦱 person: curly hair\n👩‍🦳 woman: white hair\n🧑‍🦳 person: white hair\n👩‍🦲 woman: bald\n🧑‍🦲 person: bald\n👱‍♀️ woman: blond hair\n👱‍♂️ man: blond hair\n🧓 older person\n👴 old man\n👵 old woman\n🙍 person frowning\n🙍‍♂️ man frowning\n🙍‍♀️ woman frowning\n🙎 person pouting\n🙎‍♂️ man pouting\n🙎‍♀️ woman pouting\n🙅 person gesturing NO\n🙅‍♂️ man gesturing NO\n🙅‍♀️ woman gesturing NO\n🙆 person gesturing OK\n🙆‍♂️ man gesturing OK\n🙆‍♀️ woman gesturing OK\n💁 person tipping hand\n💁‍♂️ man tipping hand\n💁‍♀️ woman tipping hand\n🙋 person raising hand\n🙋‍♂️ man raising hand\n🙋‍♀️ woman raising hand\n🧏 deaf person\n🧏‍♂️ deaf man\n🧏‍♀️ deaf woman\n🙇 person bowing\n🙇‍♂️ man bowing\n🙇‍♀️ woman bowing\n🤦 person facepalming\n🤦‍♂️ man facepalming\n🤦‍♀️ woman facepalming\n🤷 person shrugging\n🤷‍♂️ man shrugging\n🤷‍♀️ woman shrugging\n🧑‍⚕️ health worker\n👨‍⚕️ man health worker\n👩‍⚕️ woman health worker\n🧑‍🎓 student\n👨‍🎓 man student\n👩‍🎓 woman student\n🧑‍🏫 teacher\n👨‍🏫 man teacher\n👩‍🏫 woman teacher\n🧑‍⚖️ judge\n👨‍⚖️ man judge\n👩‍⚖️ woman judge\n🧑‍🌾 farmer\n👨‍🌾 man farmer\n👩‍🌾 woman farmer\n🧑‍🍳 cook\n👨‍🍳 man cook\n👩‍🍳 woman cook\n🧑‍🔧 mechanic\n👨‍🔧 man mechanic\n👩‍🔧 woman mechanic\n🧑‍🏭 factory worker\n👨‍🏭 man factory worker\n👩‍🏭 woman factory worker\n🧑‍💼 office worker\n👨‍💼 man office worker\n👩‍💼 woman office worker\n🧑‍🔬 scientist\n👨‍🔬 man scientist\n👩‍🔬 woman scientist\n🧑‍💻 technologist\n👨‍💻 man technologist\n👩‍💻 woman technologist\n🧑‍🎤 singer\n👨‍🎤 man singer\n👩‍🎤 woman singer\n🧑‍🎨 artist\n👨‍🎨 man artist\n👩‍🎨 woman artist\n🧑‍✈️ pilot\n👨‍✈️ man pilot\n👩‍✈️ woman pilot\n🧑‍🚀 astronaut\n👨‍🚀 man astronaut\n👩‍🚀 woman astronaut\n🧑‍🚒 firefighter\n👨‍🚒 man firefighter\n👩‍🚒 woman firefighter\n👮 police officer\n👮‍♂️ man police officer\n👮‍♀️ woman police officer\n🕵️ detective\n🕵️‍♂️ man detective\n🕵️‍♀️ woman detective\n💂 guard\n💂‍♂️ man guard\n💂‍♀️ woman guard\n🥷 ninja\n👷 construction worker\n👷‍♂️ man construction worker\n👷‍♀️ woman construction worker\n🫅 person with crown\n🤴 prince\n👸 princess\n👳 person wearing turban\n👳‍♂️ man wearing turban\n👳‍♀️ woman wearing turban\n👲 person with skullcap\n🧕 woman with headscarf\n🤵 person in tuxedo\n🤵‍♂️ man in tuxedo\n🤵‍♀️ woman in tuxedo\n👰 person with veil\n👰‍♂️ man with veil\n👰‍♀️ woman with veil\n🤰 pregnant woman\n🫃 pregnant man\n🫄 pregnant person\n🤱 breast-feeding\n👩‍🍼 woman feeding baby\n👨‍🍼 man feeding baby\n🧑‍🍼 person feeding baby\n👼 baby angel\n🎅 Santa Claus\n🤶 Mrs. Claus\n🧑‍🎄 mx claus\n🦸 superhero\n🦸‍♂️ man superhero\n🦸‍♀️ woman superhero\n🦹 supervillain\n🦹‍♂️ man supervillain\n🦹‍♀️ woman supervillain\n🧙 mage\n🧙‍♂️ man mage\n🧙‍♀️ woman mage\n🧚 fairy\n🧚‍♂️ man fairy\n🧚‍♀️ woman fairy\n🧛 vampire\n🧛‍♂️ man vampire\n🧛‍♀️ woman vampire\n🧜 merperson\n🧜‍♂️ merman\n🧜‍♀️ mermaid\n🧝 elf\n🧝‍♂️ man elf\n🧝‍♀️ woman elf\n🧞 genie\n🧞‍♂️ man genie\n🧞‍♀️ woman genie\n🧟 zombie\n🧟‍♂️ man zombie\n🧟‍♀️ woman zombie\n🧌 troll\n💆 person getting massage\n💆‍♂️ man getting massage\n💆‍♀️ woman getting massage\n💇 person getting haircut\n💇‍♂️ man getting haircut\n💇‍♀️ woman getting haircut\n🚶 person walking\n🚶‍♂️ man walking\n🚶‍♀️ woman walking\n🚶‍➡️ person walking facing right\n🚶‍♀️‍➡️ woman walking facing right\n🚶‍♂️‍➡️ man walking facing right\n🧍 person standing\n🧍‍♂️ man standing\n🧍‍♀️ woman standing\n🧎 person kneeling\n🧎‍♂️ man kneeling\n🧎‍♀️ woman kneeling\n🧎‍➡️ person kneeling facing right\n🧎‍♀️‍➡️ woman kneeling facing right\n🧎‍♂️‍➡️ man kneeling facing right\n🧑‍🦯 person with white cane\n🧑‍🦯‍➡️ person with white cane facing right\n👨‍🦯 man with white cane\n👨‍🦯‍➡️ man with white cane facing right\n👩‍🦯 woman with white cane\n👩‍🦯‍➡️ woman with white cane facing right\n🧑‍🦼 person in motorized wheelchair\n🧑‍🦼‍➡️ person in motorized wheelchair facing right\n👨‍🦼 man in motorized wheelchair\n👨‍🦼‍➡️ man in motorized wheelchair facing right\n👩‍🦼 woman in motorized wheelchair\n👩‍🦼‍➡️ woman in motorized wheelchair facing right\n🧑‍🦽 person in manual wheelchair\n🧑‍🦽‍➡️ person in manual wheelchair facing right\n👨‍🦽 man in manual wheelchair\n👨‍🦽‍➡️ man in manual wheelchair facing right\n👩‍🦽 woman in manual wheelchair\n👩‍🦽‍➡️ woman in manual wheelchair facing right\n🏃 person running\n🏃‍♂️ man running\n🏃‍♀️ woman running\n🏃‍➡️ person running facing right\n🏃‍♀️‍➡️ woman running facing right\n🏃‍♂️‍➡️ man running facing right\n💃 woman dancing\n🕺 man dancing\n🕴️ person in suit levitating\n👯 people with bunny ears\n👯‍♂️ men with bunny ears\n👯‍♀️ women with bunny ears\n🧖 person in steamy room\n🧖‍♂️ man in steamy room\n🧖‍♀️ woman in steamy room\n🧗 person climbing\n🧗‍♂️ man climbing\n🧗‍♀️ woman climbing\n🤺 person fencing\n🏇 horse racing\n⛷️ skier\n🏂 snowboarder\n🏌️ person golfing\n🏌️‍♂️ man golfing\n🏌️‍♀️ woman golfing\n🏄 person surfing\n🏄‍♂️ man surfing\n🏄‍♀️ woman surfing\n🚣 person rowing boat\n🚣‍♂️ man rowing boat\n🚣‍♀️ woman rowing boat\n🏊 person swimming\n🏊‍♂️ man swimming\n🏊‍♀️ woman swimming\n⛹️ person bouncing ball\n⛹️‍♂️ man bouncing ball\n⛹️‍♀️ woman bouncing ball\n🏋️ person lifting weights\n🏋️‍♂️ man lifting weights\n🏋️‍♀️ woman lifting weights\n🚴 person biking\n🚴‍♂️ man biking\n🚴‍♀️ woman biking\n🚵 person mountain biking\n🚵‍♂️ man mountain biking\n🚵‍♀️ woman mountain biking\n🤸 person cartwheeling\n🤸‍♂️ man cartwheeling\n🤸‍♀️ woman cartwheeling\n🤼 people wrestling\n🤼‍♂️ men wrestling\n🤼‍♀️ women wrestling\n🤽 person playing water polo\n🤽‍♂️ man playing water polo\n🤽‍♀️ woman playing water polo\n🤾 person playing handball\n🤾‍♂️ man playing handball\n🤾‍♀️ woman playing handball\n🤹 person juggling\n🤹‍♂️ man juggling\n🤹‍♀️ woman juggling\n🧘 person in lotus position\n🧘‍♂️ man in lotus position\n🧘‍♀️ woman in lotus position\n🛀 person taking bath\n🛌 person in bed\n🧑‍🤝‍🧑 people holding hands\n👭 women holding hands\n👫 woman and man holding hands\n👬 men holding hands\n💏 kiss\n👩‍❤️‍💋‍👨 kiss: woman, man\n👨‍❤️‍💋‍👨 kiss: man, man\n👩‍❤️‍💋‍👩 kiss: woman, woman\n💑 couple with heart\n👩‍❤️‍👨 couple with heart: woman, man\n👨‍❤️‍👨 couple with heart: man, man\n👩‍❤️‍👩 couple with heart: woman, woman\n👨‍👩‍👦 family: man, woman, boy\n👨‍👩‍👧 family: man, woman, girl\n👨‍👩‍👧‍👦 family: man, woman, girl, boy\n👨‍👩‍👦‍👦 family: man, woman, boy, boy\n👨‍👩‍👧‍👧 family: man, woman, girl, girl\n👨‍👨‍👦 family: man, man, boy\n👨‍👨‍👧 family: man, man, girl\n👨‍👨‍👧‍👦 family: man, man, girl, boy\n👨‍👨‍👦‍👦 family: man, man, boy, boy\n👨‍👨‍👧‍👧 family: man, man, girl, girl\n👩‍👩‍👦 family: woman, woman, boy\n👩‍👩‍👧 family: woman, woman, girl\n👩‍👩‍👧‍👦 family: woman, woman, girl, boy\n👩‍👩‍👦‍👦 family: woman, woman, boy, boy\n👩‍👩‍👧‍👧 family: woman, woman, girl, girl\n👨‍👦 family: man, boy\n👨‍👦‍👦 family: man, boy, boy\n👨‍👧 family: man, girl\n👨‍👧‍👦 family: man, girl, boy\n👨‍👧‍👧 family: man, girl, girl\n👩‍👦 family: woman, boy\n👩‍👦‍👦 family: woman, boy, boy\n👩‍👧 family: woman, girl\n👩‍👧‍👦 family: woman, girl, boy\n👩‍👧‍👧 family: woman, girl, girl\n🗣️ speaking head\n👤 bust in silhouette\n👥 busts in silhouette\n🫂 people hugging\n👪 family\n🧑‍🧑‍🧒 family: adult, adult, child\n🧑‍🧑‍🧒‍🧒 family: adult, adult, child, child\n🧑‍🧒 family: adult, child\n🧑‍🧒‍🧒 family: adult, child, child\n👣 footprints\n# Animals & Nature\n🐵 monkey face\n🐒 monkey\n🦍 gorilla\n🦧 orangutan\n🐶 dog face\n🐕 dog\n🦮 guide dog\n🐕‍🦺 service dog\n🐩 poodle\n🐺 wolf\n🦊 fox\n🦝 raccoon\n🐱 cat face\n🐈 cat\n🐈‍⬛ black cat\n🦁 lion\n🐯 tiger face\n🐅 tiger\n🐆 leopard\n🐴 horse face\n🫎 moose\n🫏 donkey\n🐎 horse\n🦄 unicorn\n🦓 zebra\n🦌 deer\n🦬 bison\n🐮 cow face\n🐂 ox\n🐃 water buffalo\n🐄 cow\n🐷 pig face\n🐖 pig\n🐗 boar\n🐽 pig nose\n🐏 ram\n🐑 ewe\n🐐 goat\n🐪 camel\n🐫 two-hump camel\n🦙 llama\n🦒 giraffe\n🐘 elephant\n🦣 mammoth\n🦏 rhinoceros\n🦛 hippopotamus\n🐭 mouse face\n🐁 mouse\n🐀 rat\n🐹 hamster\n🐰 rabbit face\n🐇 rabbit\n🐿️ chipmunk\n🦫 beaver\n🦔 hedgehog\n🦇 bat\n🐻 bear\n🐻‍❄️ polar bear\n🐨 koala\n🐼 panda\n🦥 sloth\n🦦 otter\n🦨 skunk\n🦘 kangaroo\n🦡 badger\n🐾 paw prints\n🦃 turkey\n🐔 chicken\n🐓 rooster\n🐣 hatching chick\n🐤 baby chick\n🐥 front-facing baby chick\n🐦 bird\n🐧 penguin\n🕊️ dove\n🦅 eagle\n🦆 duck\n🦢 swan\n🦉 owl\n🦤 dodo\n🪶 feather\n🦩 flamingo\n🦚 peacock\n🦜 parrot\n🪽 wing\n🐦‍⬛ black bird\n🪿 goose\n🐦‍🔥 phoenix\n🐸 frog\n🐊 crocodile\n🐢 turtle\n🦎 lizard\n🐍 snake\n🐲 dragon face\n🐉 dragon\n🦕 sauropod\n🦖 T-Rex\n🐳 spouting whale\n🐋 whale\n🐬 dolphin\n🦭 seal\n🐟 fish\n🐠 tropical fish\n🐡 blowfish\n🦈 shark\n🐙 octopus\n🐚 spiral shell\n🪸 coral\n🪼 jellyfish\n🐌 snail\n🦋 butterfly\n🐛 bug\n🐜 ant\n🐝 honeybee\n🪲 beetle\n🐞 lady beetle\n🦗 cricket\n🪳 cockroach\n🕷️ spider\n🕸️ spider web\n🦂 scorpion\n🦟 mosquito\n🪰 fly\n🪱 worm\n🦠 microbe\n💐 bouquet\n🌸 cherry blossom\n💮 white flower\n🪷 lotus\n🏵️ rosette\n🌹 rose\n🥀 wilted flower\n🌺 hibiscus\n🌻 sunflower\n🌼 blossom\n🌷 tulip\n🪻 hyacinth\n🌱 seedling\n🪴 potted plant\n🌲 evergreen tree\n🌳 deciduous tree\n🌴 palm tree\n🌵 cactus\n🌾 sheaf of rice\n🌿 herb\n☘️ shamrock\n🍀 four leaf clover\n🍁 maple leaf\n🍂 fallen leaf\n🍃 leaf fluttering in wind\n🪹 empty nest\n🪺 nest with eggs\n🍄 mushroom\n# Food & Drink\n🍇 grapes\n🍈 melon\n🍉 watermelon\n🍊 tangerine\n🍋 lemon\n🍋‍🟩 lime\n🍌 banana\n🍍 pineapple\n🥭 mango\n🍎 red apple\n🍏 green apple\n🍐 pear\n🍑 peach\n🍒 cherries\n🍓 strawberry\n🫐 blueberries\n🥝 kiwi fruit\n🍅 tomato\n🫒 olive\n🥥 coconut\n🥑 avocado\n🍆 eggplant\n🥔 potato\n🥕 carrot\n🌽 ear of corn\n🌶️ hot pepper\n🫑 bell pepper\n🥒 cucumber\n🥬 leafy green\n🥦 broccoli\n🧄 garlic\n🧅 onion\n🥜 peanuts\n🫘 beans\n🌰 chestnut\n🫚 ginger root\n🫛 pea pod\n🍄‍🟫 brown mushroom\n🍞 bread\n🥐 croissant\n🥖 baguette bread\n🫓 flatbread\n🥨 pretzel\n🥯 bagel\n🥞 pancakes\n🧇 waffle\n🧀 cheese wedge\n🍖 meat on bone\n🍗 poultry leg\n🥩 cut of meat\n🥓 bacon\n🍔 hamburger\n🍟 french fries\n🍕 pizza\n🌭 hot dog\n🥪 sandwich\n🌮 taco\n🌯 burrito\n🫔 tamale\n🥙 stuffed flatbread\n🧆 falafel\n🥚 egg\n🍳 cooking\n🥘 shallow pan of food\n🍲 pot of food\n🫕 fondue\n🥣 bowl with spoon\n🥗 green salad\n🍿 popcorn\n🧈 butter\n🧂 salt\n🥫 canned food\n🍱 bento box\n🍘 rice cracker\n🍙 rice ball\n🍚 cooked rice\n🍛 curry rice\n🍜 steaming bowl\n🍝 spaghetti\n🍠 roasted sweet potato\n🍢 oden\n🍣 sushi\n🍤 fried shrimp\n🍥 fish cake with swirl\n🥮 moon cake\n🍡 dango\n🥟 dumpling\n🥠 fortune cookie\n🥡 takeout box\n🦀 crab\n🦞 lobster\n🦐 shrimp\n🦑 squid\n🦪 oyster\n🍦 soft ice cream\n🍧 shaved ice\n🍨 ice cream\n🍩 doughnut\n🍪 cookie\n🎂 birthday cake\n🍰 shortcake\n🧁 cupcake\n🥧 pie\n🍫 chocolate bar\n🍬 candy\n🍭 lollipop\n🍮 custard\n🍯 honey pot\n🍼 baby bottle\n🥛 glass of milk\n☕ hot beverage\n🫖 teapot\n🍵 teacup without handle\n🍶 sake\n🍾 bottle with popping cork\n🍷 wine glass\n🍸 cocktail glass\n🍹 tropical drink\n🍺 beer mug\n🍻 clinking beer mugs\n🥂 clinking glasses\n🥃 tumbler glass\n🫗 pouring liquid\n🥤 cup with straw\n🧋 bubble tea\n🧃 beverage box\n🧉 mate\n🧊 ice\n🥢 chopsticks\n🍽️ fork and knife with plate\n🍴 fork and knife\n🥄 spoon\n🔪 kitchen knife\n🫙 jar\n🏺 amphora\n# Travel & Places\n🌍 globe showing Europe-Africa\n🌎 globe showing Americas\n🌏 globe showing Asia-Australia\n🌐 globe with meridians\n🗺️ world map\n🗾 map of Japan\n🧭 compass\n🏔️ snow-capped mountain\n⛰️ mountain\n🌋 volcano\n🗻 mount fuji\n🏕️ camping\n🏖️ beach with umbrella\n🏜️ desert\n🏝️ desert island\n🏞️ national park\n🏟️ stadium\n🏛️ classical building\n🏗️ building construction\n🧱 brick\n🪨 rock\n🪵 wood\n🛖 hut\n🏘️ houses\n🏚️ derelict house\n🏠 house\n🏡 house with garden\n🏢 office building\n🏣 Japanese post office\n🏤 post office\n🏥 hospital\n🏦 bank\n🏨 hotel\n🏩 love hotel\n🏪 convenience store\n🏫 school\n🏬 department store\n🏭 factory\n🏯 Japanese castle\n🏰 castle\n💒 wedding\n🗼 Tokyo tower\n🗽 Statue of Liberty\n⛪ church\n🕌 mosque\n🛕 hindu temple\n🕍 synagogue\n⛩️ shinto shrine\n🕋 kaaba\n⛲ fountain\n⛺ tent\n🌁 foggy\n🌃 night with stars\n🏙️ cityscape\n🌄 sunrise over mountains\n🌅 sunrise\n🌆 cityscape at dusk\n🌇 sunset\n🌉 bridge at night\n♨️ hot springs\n🎠 carousel horse\n🛝 playground slide\n🎡 ferris wheel\n🎢 roller coaster\n💈 barber pole\n🎪 circus tent\n🚂 locomotive\n🚃 railway car\n🚄 high-speed train\n🚅 bullet train\n🚆 train\n🚇 metro\n🚈 light rail\n🚉 station\n🚊 tram\n🚝 monorail\n🚞 mountain railway\n🚋 tram car\n🚌 bus\n🚍 oncoming bus\n🚎 trolleybus\n🚐 minibus\n🚑 ambulance\n🚒 fire engine\n🚓 police car\n🚔 oncoming police car\n🚕 taxi\n🚖 oncoming taxi\n🚗 automobile\n🚘 oncoming automobile\n🚙 sport utility vehicle\n🛻 pickup truck\n🚚 delivery truck\n🚛 articulated lorry\n🚜 tractor\n🏎️ racing car\n🏍️ motorcycle\n🛵 motor scooter\n🦽 manual wheelchair\n🦼 motorized wheelchair\n🛺 auto rickshaw\n🚲 bicycle\n🛴 kick scooter\n🛹 skateboard\n🛼 roller skate\n🚏 bus stop\n🛣️ motorway\n🛤️ railway track\n🛢️ oil drum\n⛽ fuel pump\n🛞 wheel\n🚨 police car light\n🚥 horizontal traffic light\n🚦 vertical traffic light\n🛑 stop sign\n🚧 construction\n⚓ anchor\n🛟 ring buoy\n⛵ sailboat\n🛶 canoe\n🚤 speedboat\n🛳️ passenger ship\n⛴️ ferry\n🛥️ motor boat\n🚢 ship\n✈️ airplane\n🛩️ small airplane\n🛫 airplane departure\n🛬 airplane arrival\n🪂 parachute\n💺 seat\n🚁 helicopter\n🚟 suspension railway\n🚠 mountain cableway\n🚡 aerial tramway\n🛰️ satellite\n🚀 rocket\n🛸 flying saucer\n🛎️ bellhop bell\n🧳 luggage\n⌛ hourglass done\n⏳ hourglass not done\n⌚ watch\n⏰ alarm clock\n⏱️ stopwatch\n⏲️ timer clock\n🕰️ mantelpiece clock\n🕛 twelve o’clock\n🕧 twelve-thirty\n🕐 one o’clock\n🕜 one-thirty\n🕑 two o’clock\n🕝 two-thirty\n🕒 three o’clock\n🕞 three-thirty\n🕓 four o’clock\n🕟 four-thirty\n🕔 five o’clock\n🕠 five-thirty\n🕕 six o’clock\n🕡 six-thirty\n🕖 seven o’clock\n🕢 seven-thirty\n🕗 eight o’clock\n🕣 eight-thirty\n🕘 nine o’clock\n🕤 nine-thirty\n🕙 ten o’clock\n🕥 ten-thirty\n🕚 eleven o’clock\n🕦 eleven-thirty\n🌑 new moon\n🌒 waxing crescent moon\n🌓 first quarter moon\n🌔 waxing gibbous moon\n🌕 full moon\n🌖 waning gibbous moon\n🌗 last quarter moon\n🌘 waning crescent moon\n🌙 crescent moon\n🌚 new moon face\n🌛 first quarter moon face\n🌜 last quarter moon face\n🌡️ thermometer\n☀️ sun\n🌝 full moon face\n🌞 sun with face\n🪐 ringed planet\n⭐ star\n🌟 glowing star\n🌠 shooting star\n🌌 milky way\n☁️ cloud\n⛅ sun behind cloud\n⛈️ cloud with lightning and rain\n🌤️ sun behind small cloud\n🌥️ sun behind large cloud\n🌦️ sun behind rain cloud\n🌧️ cloud with rain\n🌨️ cloud with snow\n🌩️ cloud with lightning\n🌪️ tornado\n🌫️ fog\n🌬️ wind face\n🌀 cyclone\n🌈 rainbow\n🌂 closed umbrella\n☂️ umbrella\n☔ umbrella with rain drops\n⛱️ umbrella on ground\n⚡ high voltage\n❄️ snowflake\n☃️ snowman\n⛄ snowman without snow\n☄️ comet\n🔥 fire\n💧 droplet\n🌊 water wave\n# Activities\n🎃 jack-o-lantern\n🎄 Christmas tree\n🎆 fireworks\n🎇 sparkler\n🧨 firecracker\n✨ sparkles\n🎈 balloon\n🎉 party popper\n🎊 confetti ball\n🎋 tanabata tree\n🎍 pine decoration\n🎎 Japanese dolls\n🎏 carp streamer\n🎐 wind chime\n🎑 moon viewing ceremony\n🧧 red envelope\n🎀 ribbon\n🎁 wrapped gift\n🎗️ reminder ribbon\n🎟️ admission tickets\n🎫 ticket\n🎖️ military medal\n🏆 trophy\n🏅 sports medal\n🥇 1st place medal\n🥈 2nd place medal\n🥉 3rd place medal\n⚽ soccer ball\n⚾ baseball\n🥎 softball\n🏀 basketball\n🏐 volleyball\n🏈 american football\n🏉 rugby football\n🎾 tennis\n🥏 flying disc\n🎳 bowling\n🏏 cricket game\n🏑 field hockey\n🏒 ice hockey\n🥍 lacrosse\n🏓 ping pong\n🏸 badminton\n🥊 boxing glove\n🥋 martial arts uniform\n🥅 goal net\n⛳ flag in hole\n⛸️ ice skate\n🎣 fishing pole\n🤿 diving mask\n🎽 running shirt\n🎿 skis\n🛷 sled\n🥌 curling stone\n🎯 bullseye\n🪀 yo-yo\n🪁 kite\n🔫 water pistol\n🎱 pool 8 ball\n🔮 crystal ball\n🪄 magic wand\n🎮 video game\n🕹️ joystick\n🎰 slot machine\n🎲 game die\n🧩 puzzle piece\n🧸 teddy bear\n🪅 piñata\n🪩 mirror ball\n🪆 nesting dolls\n♠️ spade suit\n♥️ heart suit\n♦️ diamond suit\n♣️ club suit\n♟️ chess pawn\n🃏 joker\n🀄 mahjong red dragon\n🎴 flower playing cards\n🎭 performing arts\n🖼️ framed picture\n🎨 artist palette\n🧵 thread\n🪡 sewing needle\n🧶 yarn\n🪢 knot\n# Objects\n👓 glasses\n🕶️ sunglasses\n🥽 goggles\n🥼 lab coat\n🦺 safety vest\n👔 necktie\n👕 t-shirt\n👖 jeans\n🧣 scarf\n🧤 gloves\n🧥 coat\n🧦 socks\n👗 dress\n👘 kimono\n🥻 sari\n🩱 one-piece swimsuit\n🩲 briefs\n🩳 shorts\n👙 bikini\n👚 woman’s clothes\n🪭 folding hand fan\n👛 purse\n👜 handbag\n👝 clutch bag\n🛍️ shopping bags\n🎒 backpack\n🩴 thong sandal\n👞 man’s shoe\n👟 running shoe\n🥾 hiking boot\n🥿 flat shoe\n👠 high-heeled shoe\n👡 woman’s sandal\n🩰 ballet shoes\n👢 woman’s boot\n🪮 hair pick\n👑 crown\n👒 woman’s hat\n🎩 top hat\n🎓 graduation cap\n🧢 billed cap\n🪖 military helmet\n⛑️ rescue worker’s helmet\n📿 prayer beads\n💄 lipstick\n💍 ring\n💎 gem stone\n🔇 muted speaker\n🔈 speaker low volume\n🔉 speaker medium volume\n🔊 speaker high volume\n📢 loudspeaker\n📣 megaphone\n📯 postal horn\n🔔 bell\n🔕 bell with slash\n🎼 musical score\n🎵 musical note\n🎶 musical notes\n🎙️ studio microphone\n🎚️ level slider\n🎛️ control knobs\n🎤 microphone\n🎧 headphone\n📻 radio\n🎷 saxophone\n🪗 accordion\n🎸 guitar\n🎹 musical keyboard\n🎺 trumpet\n🎻 violin\n🪕 banjo\n🥁 drum\n🪘 long drum\n🪇 maracas\n🪈 flute\n📱 mobile phone\n📲 mobile phone with arrow\n☎️ telephone\n📞 telephone receiver\n📟 pager\n📠 fax machine\n🔋 battery\n🪫 low battery\n🔌 electric plug\n💻 laptop\n🖥️ desktop computer\n🖨️ printer\n⌨️ keyboard\n🖱️ computer mouse\n🖲️ trackball\n💽 computer disk\n💾 floppy disk\n💿 optical disk\n📀 dvd\n🧮 abacus\n🎥 movie camera\n🎞️ film frames\n📽️ film projector\n🎬 clapper board\n📺 television\n📷 camera\n📸 camera with flash\n📹 video camera\n📼 videocassette\n🔍 magnifying glass tilted left\n🔎 magnifying glass tilted right\n🕯️ candle\n💡 light bulb\n🔦 flashlight\n🏮 red paper lantern\n🪔 diya lamp\n📔 notebook with decorative cover\n📕 closed book\n📖 open book\n📗 green book\n📘 blue book\n📙 orange book\n📚 books\n📓 notebook\n📒 ledger\n📃 page with curl\n📜 scroll\n📄 page facing up\n📰 newspaper\n🗞️ rolled-up newspaper\n📑 bookmark tabs\n🔖 bookmark\n🏷️ label\n💰 money bag\n🪙 coin\n💴 yen banknote\n💵 dollar banknote\n💶 euro banknote\n💷 pound banknote\n💸 money with wings\n💳 credit card\n🧾 receipt\n💹 chart increasing with yen\n✉️ envelope\n📧 e-mail\n📨 incoming envelope\n📩 envelope with arrow\n📤 outbox tray\n📥 inbox tray\n📦 package\n📫 closed mailbox with raised flag\n📪 closed mailbox with lowered flag\n📬 open mailbox with raised flag\n📭 open mailbox with lowered flag\n📮 postbox\n🗳️ ballot box with ballot\n✏️ pencil\n✒️ black nib\n🖋️ fountain pen\n🖊️ pen\n🖌️ paintbrush\n🖍️ crayon\n📝 memo\n💼 briefcase\n📁 file folder\n📂 open file folder\n🗂️ card index dividers\n📅 calendar\n📆 tear-off calendar\n🗒️ spiral notepad\n🗓️ spiral calendar\n📇 card index\n📈 chart increasing\n📉 chart decreasing\n📊 bar chart\n📋 clipboard\n📌 pushpin\n📍 round pushpin\n📎 paperclip\n🖇️ linked paperclips\n📏 straight ruler\n📐 triangular ruler\n✂️ scissors\n🗃️ card file box\n🗄️ file cabinet\n🗑️ wastebasket\n🔒 locked\n🔓 unlocked\n🔏 locked with pen\n🔐 locked with key\n🔑 key\n🗝️ old key\n🔨 hammer\n🪓 axe\n⛏️ pick\n⚒️ hammer and pick\n🛠️ hammer and wrench\n🗡️ dagger\n⚔️ crossed swords\n💣 bomb\n🪃 boomerang\n🏹 bow and arrow\n🛡️ shield\n🪚 carpentry saw\n🔧 wrench\n🪛 screwdriver\n🔩 nut and bolt\n⚙️ gear\n🗜️ clamp\n⚖️ balance scale\n🦯 white cane\n🔗 link\n⛓️‍💥 broken chain\n⛓️ chains\n🪝 hook\n🧰 toolbox\n🧲 magnet\n🪜 ladder\n⚗️ alembic\n🧪 test tube\n🧫 petri dish\n🧬 dna\n🔬 microscope\n🔭 telescope\n📡 satellite antenna\n💉 syringe\n🩸 drop of blood\n💊 pill\n🩹 adhesive bandage\n🩼 crutch\n🩺 stethoscope\n🩻 x-ray\n🚪 door\n🛗 elevator\n🪞 mirror\n🪟 window\n🛏️ bed\n🛋️ couch and lamp\n🪑 chair\n🚽 toilet\n🪠 plunger\n🚿 shower\n🛁 bathtub\n🪤 mouse trap\n🪒 razor\n🧴 lotion bottle\n🧷 safety pin\n🧹 broom\n🧺 basket\n🧻 roll of paper\n🪣 bucket\n🧼 soap\n🫧 bubbles\n🪥 toothbrush\n🧽 sponge\n🧯 fire extinguisher\n🛒 shopping cart\n🚬 cigarette\n⚰️ coffin\n🪦 headstone\n⚱️ funeral urn\n🧿 nazar amulet\n🪬 hamsa\n🗿 moai\n🪧 placard\n🪪 identification card\n# Symbols\n🏧 ATM sign\n🚮 litter in bin sign\n🚰 potable water\n♿ wheelchair symbol\n🚹 men’s room\n🚺 women’s room\n🚻 restroom\n🚼 baby symbol\n🚾 water closet\n🛂 passport control\n🛃 customs\n🛄 baggage claim\n🛅 left luggage\n⚠️ warning\n🚸 children crossing\n⛔ no entry\n🚫 prohibited\n🚳 no bicycles\n🚭 no smoking\n🚯 no littering\n🚱 non-potable water\n🚷 no pedestrians\n📵 no mobile phones\n🔞 no one under eighteen\n☢️ radioactive\n☣️ biohazard\n⬆️ up arrow\n↗️ up-right arrow\n➡️ right arrow\n↘️ down-right arrow\n⬇️ down arrow\n↙️ down-left arrow\n⬅️ left arrow\n↖️ up-left arrow\n↕️ up-down arrow\n↔️ left-right arrow\n↩️ right arrow curving left\n↪️ left arrow curving right\n⤴️ right arrow curving up\n⤵️ right arrow curving down\n🔃 clockwise vertical arrows\n🔄 counterclockwise arrows button\n🔙 BACK arrow\n🔚 END arrow\n🔛 ON! arrow\n🔜 SOON arrow\n🔝 TOP arrow\n🛐 place of worship\n⚛️ atom symbol\n🕉️ om\n✡️ star of David\n☸️ wheel of dharma\n☯️ yin yang\n✝️ latin cross\n☦️ orthodox cross\n☪️ star and crescent\n☮️ peace symbol\n🕎 menorah\n🔯 dotted six-pointed star\n🪯 khanda\n♈ Aries\n♉ Taurus\n♊ Gemini\n♋ Cancer\n♌ Leo\n♍ Virgo\n♎ Libra\n♏ Scorpio\n♐ Sagittarius\n♑ Capricorn\n♒ Aquarius\n♓ Pisces\n⛎ Ophiuchus\n🔀 shuffle tracks button\n🔁 repeat button\n🔂 repeat single button\n▶️ play button\n⏩ fast-forward button\n⏭️ next track button\n⏯️ play or pause button\n◀️ reverse button\n⏪ fast reverse button\n⏮️ last track button\n🔼 upwards button\n⏫ fast up button\n🔽 downwards button\n⏬ fast down button\n⏸️ pause button\n⏹️ stop button\n⏺️ record button\n⏏️ eject button\n🎦 cinema\n🔅 dim button\n🔆 bright button\n📶 antenna bars\n🛜 wireless\n📳 vibration mode\n📴 mobile phone off\n♀️ female sign\n♂️ male sign\n⚧️ transgender symbol\n✖️ multiply\n➕ plus\n➖ minus\n➗ divide\n🟰 heavy equals sign\n♾️ infinity\n‼️ double exclamation mark\n⁉️ exclamation question mark\n❓ red question mark\n❔ white question mark\n❕ white exclamation mark\n❗ red exclamation mark\n〰️ wavy dash\n💱 currency exchange\n💲 heavy dollar sign\n⚕️ medical symbol\n♻️ recycling symbol\n⚜️ fleur-de-lis\n🔱 trident emblem\n📛 name badge\n🔰 Japanese symbol for beginner\n⭕ hollow red circle\n✅ check mark button\n☑️ check box with check\n✔️ check mark\n❌ cross mark\n❎ cross mark button\n➰ curly loop\n➿ double curly loop\n〽️ part alternation mark\n✳️ eight-spoked asterisk\n✴️ eight-pointed star\n❇️ sparkle\n©️ copyright\n®️ registered\n™️ trade mark\n#️⃣ keycap: #\n*️⃣ keycap: *\n0️⃣ keycap: 0\n1️⃣ keycap: 1\n2️⃣ keycap: 2\n3️⃣ keycap: 3\n4️⃣ keycap: 4\n5️⃣ keycap: 5\n6️⃣ keycap: 6\n7️⃣ keycap: 7\n8️⃣ keycap: 8\n9️⃣ keycap: 9\n🔟 keycap: 10\n🔠 input latin uppercase\n🔡 input latin lowercase\n🔢 input numbers\n🔣 input symbols\n🔤 input latin letters\n🅰️ A button (blood type)\n🆎 AB button (blood type)\n🅱️ B button (blood type)\n🆑 CL button\n🆒 COOL button\n🆓 FREE button\nℹ️ information\n🆔 ID button\nⓂ️ circled M\n🆕 NEW button\n🆖 NG button\n🅾️ O button (blood type)\n🆗 OK button\n🅿️ P button\n🆘 SOS button\n🆙 UP! button\n🆚 VS button\n🈁 Japanese “here” button\n🈂️ Japanese “service charge” button\n🈷️ Japanese “monthly amount” button\n🈶 Japanese “not free of charge” button\n🈯 Japanese “reserved” button\n🉐 Japanese “bargain” button\n🈹 Japanese “discount” button\n🈚 Japanese “free of charge” button\n🈲 Japanese “prohibited” button\n🉑 Japanese “acceptable” button\n🈸 Japanese “application” button\n🈴 Japanese “passing grade” button\n🈳 Japanese “vacancy” button\n㊗️ Japanese “congratulations” button\n㊙️ Japanese “secret” button\n🈺 Japanese “open for business” button\n🈵 Japanese “no vacancy” button\n🔴 red circle\n🟠 orange circle\n🟡 yellow circle\n🟢 green circle\n🔵 blue circle\n🟣 purple circle\n🟤 brown circle\n⚫ black circle\n⚪ white circle\n🟥 red square\n🟧 orange square\n🟨 yellow square\n🟩 green square\n🟦 blue square\n🟪 purple square\n🟫 brown square\n⬛ black large square\n⬜ white large square\n◼️ black medium square\n◻️ white medium square\n◾ black medium-small square\n◽ white medium-small square\n▪️ black small square\n▫️ white small square\n🔶 large orange diamond\n🔷 large blue diamond\n🔸 small orange diamond\n🔹 small blue diamond\n🔺 red triangle pointed up\n🔻 red triangle pointed down\n💠 diamond with a dot\n🔘 radio button\n🔳 white square button\n🔲 black square button\n# Flags\n🏁 chequered flag\n🚩 triangular flag\n🎌 crossed flags\n🏴 black flag\n🏳️ white flag\n🏳️‍🌈 rainbow flag\n🏳️‍⚧️ transgender flag\n🏴‍☠️ pirate flag\n🇦🇨 flag: Ascension Island\n🇦🇩 flag: Andorra\n🇦🇪 flag: United Arab Emirates\n🇦🇫 flag: Afghanistan\n🇦🇬 flag: Antigua & Barbuda\n🇦🇮 flag: Anguilla\n🇦🇱 flag: Albania\n🇦🇲 flag: Armenia\n🇦🇴 flag: Angola\n🇦🇶 flag: Antarctica\n🇦🇷 flag: Argentina\n🇦🇸 flag: American Samoa\n🇦🇹 flag: Austria\n🇦🇺 flag: Australia\n🇦🇼 flag: Aruba\n🇦🇽 flag: Åland Islands\n🇦🇿 flag: Azerbaijan\n🇧🇦 flag: Bosnia & Herzegovina\n🇧🇧 flag: Barbados\n🇧🇩 flag: Bangladesh\n🇧🇪 flag: Belgium\n🇧🇫 flag: Burkina Faso\n🇧🇬 flag: Bulgaria\n🇧🇭 flag: Bahrain\n🇧🇮 flag: Burundi\n🇧🇯 flag: Benin\n🇧🇱 flag: St. Barthélemy\n🇧🇲 flag: Bermuda\n🇧🇳 flag: Brunei\n🇧🇴 flag: Bolivia\n🇧🇶 flag: Caribbean Netherlands\n🇧🇷 flag: Brazil\n🇧🇸 flag: Bahamas\n🇧🇹 flag: Bhutan\n🇧🇻 flag: Bouvet Island\n🇧🇼 flag: Botswana\n🇧🇾 flag: Belarus\n🇧🇿 flag: Belize\n🇨🇦 flag: Canada\n🇨🇨 flag: Cocos (Keeling) Islands\n🇨🇩 flag: Congo - Kinshasa\n🇨🇫 flag: Central African Republic\n🇨🇬 flag: Congo - Brazzaville\n🇨🇭 flag: Switzerland\n🇨🇮 flag: Côte d’Ivoire\n🇨🇰 flag: Cook Islands\n🇨🇱 flag: Chile\n🇨🇲 flag: Cameroon\n🇨🇳 flag: China\n🇨🇴 flag: Colombia\n🇨🇵 flag: Clipperton Island\n🇨🇷 flag: Costa Rica\n🇨🇺 flag: Cuba\n🇨🇻 flag: Cape Verde\n🇨🇼 flag: Curaçao\n🇨🇽 flag: Christmas Island\n🇨🇾 flag: Cyprus\n🇨🇿 flag: Czechia\n🇩🇪 flag: Germany\n🇩🇬 flag: Diego Garcia\n🇩🇯 flag: Djibouti\n🇩🇰 flag: Denmark\n🇩🇲 flag: Dominica\n🇩🇴 flag: Dominican Republic\n🇩🇿 flag: Algeria\n🇪🇦 flag: Ceuta & Melilla\n🇪🇨 flag: Ecuador\n🇪🇪 flag: Estonia\n🇪🇬 flag: Egypt\n🇪🇭 flag: Western Sahara\n🇪🇷 flag: Eritrea\n🇪🇸 flag: Spain\n🇪🇹 flag: Ethiopia\n🇪🇺 flag: European Union\n🇫🇮 flag: Finland\n🇫🇯 flag: Fiji\n🇫🇰 flag: Falkland Islands\n🇫🇲 flag: Micronesia\n🇫🇴 flag: Faroe Islands\n🇫🇷 flag: France\n🇬🇦 flag: Gabon\n🇬🇧 flag: United Kingdom\n🇬🇩 flag: Grenada\n🇬🇪 flag: Georgia\n🇬🇫 flag: French Guiana\n🇬🇬 flag: Guernsey\n🇬🇭 flag: Ghana\n🇬🇮 flag: Gibraltar\n🇬🇱 flag: Greenland\n🇬🇲 flag: Gambia\n🇬🇳 flag: Guinea\n🇬🇵 flag: Guadeloupe\n🇬🇶 flag: Equatorial Guinea\n🇬🇷 flag: Greece\n🇬🇸 flag: South Georgia & South Sandwich Islands\n🇬🇹 flag: Guatemala\n🇬🇺 flag: Guam\n🇬🇼 flag: Guinea-Bissau\n🇬🇾 flag: Guyana\n🇭🇰 flag: Hong Kong SAR China\n🇭🇲 flag: Heard & McDonald Islands\n🇭🇳 flag: Honduras\n🇭🇷 flag: Croatia\n🇭🇹 flag: Haiti\n🇭🇺 flag: Hungary\n🇮🇨 flag: Canary Islands\n🇮🇩 flag: Indonesia\n🇮🇪 flag: Ireland\n🇮🇱 flag: Israel\n🇮🇲 flag: Isle of Man\n🇮🇳 flag: India\n🇮🇴 flag: British Indian Ocean Territory\n🇮🇶 flag: Iraq\n🇮🇷 flag: Iran\n🇮🇸 flag: Iceland\n🇮🇹 flag: Italy\n🇯🇪 flag: Jersey\n🇯🇲 flag: Jamaica\n🇯🇴 flag: Jordan\n🇯🇵 flag: Japan\n🇰🇪 flag: Kenya\n🇰🇬 flag: Kyrgyzstan\n🇰🇭 flag: Cambodia\n🇰🇮 flag: Kiribati\n🇰🇲 flag: Comoros\n🇰🇳 flag: St. Kitts & Nevis\n🇰🇵 flag: North Korea\n🇰🇷 flag: South Korea\n🇰🇼 flag: Kuwait\n🇰🇾 flag: Cayman Islands\n🇰🇿 flag: Kazakhstan\n🇱🇦 flag: Laos\n🇱🇧 flag: Lebanon\n🇱🇨 flag: St. Lucia\n🇱🇮 flag: Liechtenstein\n🇱🇰 flag: Sri Lanka\n🇱🇷 flag: Liberia\n🇱🇸 flag: Lesotho\n🇱🇹 flag: Lithuania\n🇱🇺 flag: Luxembourg\n🇱🇻 flag: Latvia\n🇱🇾 flag: Libya\n🇲🇦 flag: Morocco\n🇲🇨 flag: Monaco\n🇲🇩 flag: Moldova\n🇲🇪 flag: Montenegro\n🇲🇫 flag: St. Martin\n🇲🇬 flag: Madagascar\n🇲🇭 flag: Marshall Islands\n🇲🇰 flag: North Macedonia\n🇲🇱 flag: Mali\n🇲🇲 flag: Myanmar (Burma)\n🇲🇳 flag: Mongolia\n🇲🇴 flag: Macao SAR China\n🇲🇵 flag: Northern Mariana Islands\n🇲🇶 flag: Martinique\n🇲🇷 flag: Mauritania\n🇲🇸 flag: Montserrat\n🇲🇹 flag: Malta\n🇲🇺 flag: Mauritius\n🇲🇻 flag: Maldives\n🇲🇼 flag: Malawi\n🇲🇽 flag: Mexico\n🇲🇾 flag: Malaysia\n🇲🇿 flag: Mozambique\n🇳🇦 flag: Namibia\n🇳🇨 flag: New Caledonia\n🇳🇪 flag: Niger\n🇳🇫 flag: Norfolk Island\n🇳🇬 flag: Nigeria\n🇳🇮 flag: Nicaragua\n🇳🇱 flag: Netherlands\n🇳🇴 flag: Norway\n🇳🇵 flag: Nepal\n🇳🇷 flag: Nauru\n🇳🇺 flag: Niue\n🇳🇿 flag: New Zealand\n🇴🇲 flag: Oman\n🇵🇦 flag: Panama\n🇵🇪 flag: Peru\n🇵🇫 flag: French Polynesia\n🇵🇬 flag: Papua New Guinea\n🇵🇭 flag: Philippines\n🇵🇰 flag: Pakistan\n🇵🇱 flag: Poland\n🇵🇲 flag: St. Pierre & Miquelon\n🇵🇳 flag: Pitcairn Islands\n🇵🇷 flag: Puerto Rico\n🇵🇸 flag: Palestinian Territories\n🇵🇹 flag: Portugal\n🇵🇼 flag: Palau\n🇵🇾 flag: Paraguay\n🇶🇦 flag: Qatar\n🇷🇪 flag: Réunion\n🇷🇴 flag: Romania\n🇷🇸 flag: Serbia\n🇷🇺 flag: Russia\n🇷🇼 flag: Rwanda\n🇸🇦 flag: Saudi Arabia\n🇸🇧 flag: Solomon Islands\n🇸🇨 flag: Seychelles\n🇸🇩 flag: Sudan\n🇸🇪 flag: Sweden\n🇸🇬 flag: Singapore\n🇸🇭 flag: St. Helena\n🇸🇮 flag: Slovenia\n🇸🇯 flag: Svalbard & Jan Mayen\n🇸🇰 flag: Slovakia\n🇸🇱 flag: Sierra Leone\n🇸🇲 flag: San Marino\n🇸🇳 flag: Senegal\n🇸🇴 flag: Somalia\n🇸🇷 flag: Suriname\n🇸🇸 flag: South Sudan\n🇸🇹 flag: São Tomé & Príncipe\n🇸🇻 flag: El Salvador\n🇸🇽 flag: Sint Maarten\n🇸🇾 flag: Syria\n🇸🇿 flag: Eswatini\n🇹🇦 flag: Tristan da Cunha\n🇹🇨 flag: Turks & Caicos Islands\n🇹🇩 flag: Chad\n🇹🇫 flag: French Southern Territories\n🇹🇬 flag: Togo\n🇹🇭 flag: Thailand\n🇹🇯 flag: Tajikistan\n🇹🇰 flag: Tokelau\n🇹🇱 flag: Timor-Leste\n🇹🇲 flag: Turkmenistan\n🇹🇳 flag: Tunisia\n🇹🇴 flag: Tonga\n🇹🇷 flag: Türkiye\n🇹🇹 flag: Trinidad & Tobago\n🇹🇻 flag: Tuvalu\n🇹🇼 flag: Taiwan\n🇹🇿 flag: Tanzania\n🇺🇦 flag: Ukraine\n🇺🇬 flag: Uganda\n🇺🇲 flag: U.S. Outlying Islands\n🇺🇳 flag: United Nations\n🇺🇸 flag: United States\n🇺🇾 flag: Uruguay\n🇺🇿 flag: Uzbekistan\n🇻🇦 flag: Vatican City\n🇻🇨 flag: St. Vincent & Grenadines\n🇻🇪 flag: Venezuela\n🇻🇬 flag: British Virgin Islands\n🇻🇮 flag: U.S. Virgin Islands\n🇻🇳 flag: Vietnam\n🇻🇺 flag: Vanuatu\n🇼🇫 flag: Wallis & Futuna\n🇼🇸 flag: Samoa\n🇽🇰 flag: Kosovo\n🇾🇪 flag: Yemen\n🇾🇹 flag: Mayotte\n🇿🇦 flag: South Africa\n🇿🇲 flag: Zambia\n🇿🇼 flag: Zimbabwe\n🏴󠁧󠁢󠁥󠁮󠁧󠁿 flag: England\n🏴󠁧󠁢󠁳󠁣󠁴󠁿 flag: Scotland\n🏴󠁧󠁢󠁷󠁬󠁳󠁿 flag: Wales\n\"\"\"#\n}\n",
  "sourceDigest" : "c9ced77a5ae04a0786266bddf41b9bab52aa79ec8359267ee7b142539dbef2ca"
}