Full Code of alexdredmon/cuteuid for AI

master e8c5c7d4c02a cached
16 files
70.2 KB
37.5k tokens
22 symbols
1 requests
Download .txt
Repository: alexdredmon/cuteuid
Branch: master
Commit: e8c5c7d4c02a
Files: 16
Total size: 70.2 KB

Directory structure:
gitextract_dxcqykks/

├── .gitignore
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.md
├── setup.py
└── src/
    ├── __init__.py
    ├── core/
    │   ├── __init__.py
    │   ├── converters.py
    │   └── kinds/
    │       ├── __init__.py
    │       ├── base_uid.py
    │       ├── emoji_uid.py
    │       └── leet_uid.py
    ├── data/
    │   ├── emojis.json
    │   └── words.json
    └── preprocess.py

================================================
FILE CONTENTS
================================================

================================================
FILE: .gitignore
================================================
*.pyc
build
dist
venv

================================================
FILE: LICENSE
================================================
The MIT License (MIT)

Copyright (c) 2019 [Alex Redmon](http://www.alexredmon.com/)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: MANIFEST.in
================================================
include cuteuid/data/*

================================================
FILE: Makefile
================================================
package:
	mv src cuteuid && python3 setup.py sdist bdist_wheel && mv cuteuid src && rm -rf build && rm -rf cuteuid.egg-info

preprocess:
	cd cuteuid && python3 preprocess.py

upload_package:
	python3 -m twine upload --skip-existing dist/*



================================================
FILE: README.md
================================================
# CuteUID
Generate cute UIDs, i.e. unique(ish) identifiers that are similar in appearance to [UUIDs](https://en.wikipedia.org/wiki/Universally_unique_identifier).

## Install
```bash
pip install cuteuid
```
View on PyPi via [https://pypi.org/project/cuteuid/](https://pypi.org/project/cuteuid/)

## Usage
```python
from cuteuid import generate_cuteuid

generate_cuteuid()                  # 1337 UID
# 3xampl3a-boy1-goa1-5ucc33dd3p7h
# d1v151on-5ho3-1w31-d1571ngu15ha
# 7ak351h3-k33p-175a-5ympa7h371c1

generate_cuteuid(hex_only=True)     # 1337 UID (hex only)
# 10adca9a-4057-5a13-901171ca1136
# 0ff1c1a1-50f7-f33d-43517a73b3d1
# ad01053a-9057-7311-c411d400da50

generate_cuteuid(emoji=True)        # EmojiUID
# ⛹‍♂️🧜‍♂️⬜️3️⃣📏🧹🤴🗾➖🇵🇰📔💹🌳➖🇮🇴🐅🛂🇹🇱➖🇧🇱🗾🕣💿👱‍♀️💞❗️👷🇸🇪🤤🏄‍♂️🍲
# 🏅🧫🏋‍♂️🇹🇱👫🇦🇱🇹🇩🇪🇺➖😚🤽‍♂️👂💮➖👩‍🔬😨👭🇦🇩➖🦏🔷🇵🇦🎁😓🥗🥵🤾‍♀️🧗‍♀️😽🛵🗺
# 👅🏧🙅‍♂️🚇📘🚕👭⛹️‍♀️➖🤽‍♀️🕵️‍♂️🏌‍♀️🦘➖🏄‍♂️👨‍💻🈴🎗➖💕💂‍♂️🏳️🧐😥🇬🇳💀🤕🔻🙆🍟🇵🇼

generate_cuteuid(                   # EmojiUID (flags only)
    emoji=True,
    flags_only=True
)
# 🇱🇧🇼🇸🇮🇹🇲🇳🇬🇹🇦🇲🇬🇶🇬🇾➖🇸🇧🇲🇺🇧🇬🇸🇱➖🇮🇸🏁🇪🇺🇱🇻➖🇿🇲🏴󠁧󠁢󠁳󠁣󠁴󠁿🇸🇸🇵🇲🇬🇶🇧🇬🇳🇮🇲🇰🇿🇼🇸🇭🇬🇶🇮🇴
# 🇱🇮🇮🇸🇼🇫🇹🇩🇵🇫🚩🇧🇫🇬🇶➖🇨🇰🇲🇪🇫🇯🇿🇦➖🇬🇱🇹🇬🇶🇦🇳🇨➖🇿🇼🇲🇬🇸🇮🇬🇭🇺🇬🇧🇦🏴󠁧󠁢󠁥󠁮󠁧󠁿🇹🇹🇻🇺🇳🇴🇧🇶🇹🇻
# 🇲🇦🇬🇶🇧🇱🏴󠁧󠁢󠁳󠁣󠁴󠁿🇹🇻🇱🇷🇻🇳🇲🇾➖🇪🇬🇸🇦🇧🇫🇨🇺➖🇨🇻🇻🇨🇺🇿🇫🇷➖🇹🇩🇲🇷🇸🇰🏴‍☠️🇷🇸🎌🇰🇪🇹🇲🇨🇲🇨🇴🇬🇸🏁

generate_cuteuid(                   # EmojiUID (smileys only)
    emoji=True,
    smileys_only=True
)
# 😇😠😲😢😚😐😝😌➖🙁🤮😣🙁➖🥰😑🤡🤥➖🙁😞😐🤢🤢🤬😂😒🤢😚😰😍
# 😥🤫😨🤢😔😧😩😶➖😰😙🥴😄➖😑😨😲🥴➖😰😲🥳😭🙁😟😚😀😶🤠🤥😄
# 😬🤢🤓🤠🤢😥😪😑➖🥴🙄😠😢➖🙃😆😊🤥➖🤯😒😢🥶😨😌😧🙁😮😣🤭😔
```

## Preprocess
To rerun 1337 text preprocesing (translating word list into 1337 and hex 1337), update `preprocess.py` to point `WORDLIST_URL` to a URL containing a valid JSON list of words and run:

```bash
make preprocess
```

## Disclaimer
This project is intended for entertainment purposes only - it is *not* recommended for use in your production or intended as a replacement to existing UUID generation mechanisms.  It *might* be a fun thing to include in your non-mission critical personal project(s), provided you're the right kind of weird.

## License
The MIT License (MIT)

Copyright (c) 2019 [Alex Redmon](http://www.alexredmon.com/)

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: setup.py
================================================
import setuptools

with open("README.md", "r") as fh:
    long_description = fh.read()

setuptools.setup(
    name="cuteuid", # Replace with your own username
    version="1.0.1",
    author="Alex Redmon",
    author_email="alexandriadredmon@gmail.com",
    description="Generate cute UIDs, i.e. unique(ish) identifiers that are similar in appearance to UUIDs.",
    include_package_data=True,
    long_description=long_description,
    long_description_content_type="text/markdown",
    url="https://github.com/alexdredmon/cuteuid",
    packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3",
        "License :: OSI Approved :: MIT License",
        "Operating System :: OS Independent",
    ],
    python_requires='>=3.6',
)


================================================
FILE: src/__init__.py
================================================
from .core.kinds import emoji_uid, leet_uid


def generate_cuteuid(
    emoji=False,
    flags_only=False,
    hex_only=False,
    smileys_only=False,
):
    if emoji:
        uid = emoji_uid.EmojiUid(
            flags_only=flags_only,
            smileys_only=smileys_only
        )
    else:
        uid = leet_uid.LeetUid(hex_only=hex_only)

    return uid.generate()


================================================
FILE: src/core/__init__.py
================================================


================================================
FILE: src/core/converters.py
================================================
import re

alphabet            = "abcdefghijklmnopqrstuvwxyz"
leet_alphabet       = "abcd3fgh1jklmnopqr57uvwxyz"
hex_leet_alphabet   = "abcd3f641  1  09  57      "

leet_translation = str.maketrans(alphabet, leet_alphabet)
hex_leet_translation = str.maketrans(alphabet, hex_leet_alphabet)

alpha_pattern = re.compile('[\W_]+')


def convert(text, charset):
    text = alpha_pattern.sub('', text.lower())
    return text.translate(charset)


def to_leet(text):
    return convert(text, leet_translation)


def to_hex_leet(text):
    return convert(text, hex_leet_translation)


================================================
FILE: src/core/kinds/__init__.py
================================================


================================================
FILE: src/core/kinds/base_uid.py
================================================
import json
import os
import random


def rand(max):
    return random.randrange(max) + 1


class BaseUid:
    data_file = "data/words.json"
    delimeter = "-"

    def __init__(self):
        directory = os.path.dirname(__file__)
        base_path = f"{directory}/../.."
        full_path = f"{base_path}/{self.data_file}"
        with open(full_path, encoding='utf-8') as json_file:
            self.data = json.load(json_file)

    @property
    def words(self):
        return self.data["all"]

    @property
    def word_length(self, maximum=12):
        return rand(maximum)

    def generate_section(self, length):
        section = ""
        while len(section) < length:
            remaining_length = length - len(section)
            word = self.generate_word(length=rand(remaining_length))
            section = f"{section}{word}"
        return section

    def generate_word(self, length):
        if str(length) not in self.words:
            return ""
        return random.choice(self.words[str(length)])

    def generate(self):
        sections = [
            self.generate_section(length=8),
            self.generate_section(length=4),
            self.generate_section(length=4),
            self.generate_section(length=12),
        ]
        return self.delimeter.join(sections)


================================================
FILE: src/core/kinds/emoji_uid.py
================================================
import random

from .base_uid import BaseUid


class EmojiUid(BaseUid):
    data_file = "data/emojis.json"
    delimeter = "➖"

    def __init__(self, flags_only=False, smileys_only=False):
        super().__init__()
        self.flags_only = flags_only
        self.smileys_only = smileys_only

    @property
    def words(self):
        if self.flags_only:
            return self.data["flags"]
        elif self.smileys_only:
            return self.data["smileys"]
        return self.data["all"]

    def generate_section(self, length):
        section = []
        for i in range(0, length):
            section.append(self.random_emoji())
        return "".join(section)

    def random_emoji(self):
        return random.choice(self.words)


================================================
FILE: src/core/kinds/leet_uid.py
================================================
import random

from .base_uid import BaseUid


class LeetUid(BaseUid):
    data_file = "data/words.json"

    def __init__(self, hex_only=False):
        super().__init__()
        self.hex_only = hex_only

    @property
    def words(self):
        if self.hex_only:
            return self.data["hex_leet"]
        else:
            return self.data["leet"]

    @property
    def word_length(self, maximum=12):
        return random.randrange(maximum - 3) + 3

    def generate_section(self, length):
        if (length == 4):
            return self.generate_word(4)
        return super().generate_section(length=length)


================================================
FILE: src/data/emojis.json
================================================
{"all" : [ "😀", "😁", "😂", "🤣", "😃", "😄", "😅", "😆", "😉", "😊", "😋", "😎", "😍", "😘", "🥰", "😗", "😙", "😚", "🙂", "🤗", "🤩", "🤔", "🤨", "😐", "😑", "😶", "🙄", "😏", "😣", "😥", "😮", "🤐", "😯", "😪", "😫", "😴", "😌", "😛", "😜", "😝", "🤤", "😒", "😓", "😔", "😕", "🙃", "🤑", "😲", "🙁", "😖", "😞", "😟", "😤", "😢", "😭", "😦", "😧", "😨", "😩", "🤯", "😬", "😰", "😱", "🥵", "🥶", "😳", "🤪", "😵", "😡", "😠", "🤬", "😷", "🤒", "🤕", "🤢", "🤮", "🤧", "😇", "🤠", "🤡", "🥳", "🥴", "🥺", "🤥", "🤫", "🤭", "🧐", "🤓", "😈", "👿", "👹", "👺", "💀", "👻", "👽", "🤖", "💩", "😺", "😸", "😹", "😻", "😼", "😽", "🙀", "😿", "😾", "👶", "👧", "🧒", "👦", "👩", "🧑", "👨", "👵", "🧓", "👴", "👲", "👳‍♀️", "👳‍♂️", "🧕", "🧔", "👱‍♂️", "👱‍♀️", "👨‍🦰", "👩‍🦰", "👨‍🦱", "👩‍🦱", "👨‍🦲", "👩‍🦲", "👨‍🦳", "👩‍🦳", "🦸‍♀️", "🦸‍♂️", "🦹‍♀️", "🦹‍♂️", "👮‍♀️", "👮‍♂️", "👷‍♀️", "👷‍♂️", "💂‍♀️", "💂‍♂️", "🕵️‍♀️", "🕵️‍♂️", "👩‍⚕️", "👨‍⚕️", "👩‍🌾", "👨‍🌾", "👩‍🍳", "👨‍🍳", "👩‍🎓", "👨‍🎓", "👩‍🎤", "👨‍🎤", "👩‍🏫", "👨‍🏫", "👩‍🏭", "👨‍🏭", "👩‍💻", "👨‍💻", "👩‍💼", "👨‍💼", "👩‍🔧", "👨‍🔧", "👩‍🔬", "👨‍🔬", "👩‍🎨", "👨‍🎨", "👩‍🚒", "👨‍🚒", "👩‍✈️", "👨‍✈️", "👩‍🚀", "👨‍🚀", "👩‍⚖️", "👨‍⚖️", "👰", "🤵", "👸", "🤴", "🤶", "🎅", "🧙‍♀️", "🧙‍♂️", "🧝‍♀️", "🧝‍♂️", "🧛‍♀️", "🧛‍♂️", "🧟‍♀️", "🧟‍♂️", "🧞‍♀️", "🧞‍♂️", "🧜‍♀️", "🧜‍♂️", "🧚‍♀️", "🧚‍♂️", "👼", "🤰", "🤱", "🙇‍♀️", "🙇‍♂️", "💁‍♀️", "💁‍♂️", "🙅‍♀️", "🙅‍♂️", "🙆‍♀️", "🙆‍♂️", "🙋‍♀️", "🙋‍♂️", "🤦‍♀️", "🤦‍♂️", "🤷‍♀️", "🤷‍♂️", "🙎‍♀️", "🙎‍♂️", "🙍‍♀️", "🙍‍♂️", "💇‍♀️", "💇‍♂️", "💆‍♀️", "💆‍♂️", "🧖‍♀️", "🧖‍♂️", "💅", "🤳", "💃", "🕺", "👯‍♀️", "👯‍♂️", "🕴", "🚶‍♀️", "🚶‍♂️", "🏃‍♀️", "🏃‍♂️", "👫", "👭", "👬", "💑", "👩‍❤️‍👩", "👨‍❤️‍👨", "💏", "👩‍❤️‍💋‍👩", "👨‍❤️‍💋‍👨", "👪", "👨‍👩‍👧", "👨‍👩‍👧‍👦", "👨‍👩‍👦‍👦", "👨‍👩‍👧‍👧", "👩‍👩‍👦", "👩‍👩‍👧", "👩‍👩‍👧‍👦", "👩‍👩‍👦‍👦", "👩‍👩‍👧‍👧", "👨‍👨‍👦", "👨‍👨‍👧", "👨‍👨‍👧‍👦", "👨‍👨‍👦‍👦", "👨‍👨‍👧‍👧", "👩‍👦", "👩‍👧", "👩‍👧‍👦", "👩‍👦‍👦", "👩‍👧‍👧", "👨‍👦", "👨‍👧", "👨‍👧‍👦", "👨‍👦‍👦", "👨‍👧‍👧", "🤲", "👐", "🙌", "👏", "🤝", "👍", "👎", "👊", "✊", "🤛", "🤜", "🤞", "✌️", "🤟", "🤘", "👌", "👈", "👉", "👆", "👇", "☝️", "✋", "🤚", "🖐", "🖖", "👋", "🤙", "💪", "🦵", "🦶", "🖕", "✍️", "🙏", "💍", "💄", "💋", "👄", "👅", "👂", "👃", "👣", "👁", "👀", "🧠", "🦴", "🦷", "🗣", "👤", "👥", "🧥", "👚", "👕", "👖", "👔", "👗", "👙", "👘", "👠", "👡", "👢", "👞", "👟", "🥾", "🥿", "🧦", "🧤", "🧣", "🎩", "🧢", "👒", "🎓", "⛑", "👑", "👝", "👛", "👜", "💼", "🎒", "👓", "🕶", "🥽", "🥼", "🌂", "🧵", "🧶", "👶", "👦", "👧", "👨", "👩", "👱‍♀️", "👱", "👴", "👵", "👲", "👳‍♀️", "👳", "👮‍♀️", "👮", "👷‍♀️", "👷", "💂‍♀️", "💂", "🕵‍♀️", "🕵", "👩‍⚕️", "👨‍⚕️", "👩‍🌾", "👨‍🌾", "👩‍🍳", "👨‍🍳", "👩‍🎓", "👨‍🎓", "👩‍🎤", "👨‍🎤", "👩‍🏫", "👨‍🏫", "👩‍🏭", "👨‍🏭", "👩‍💻", "👨‍💻", "👩‍💼", "👨‍💼", "👩‍🔧", "👨‍🔧", "👩‍🔬", "👨‍🔬", "👩‍🎨", "👨‍🎨", "👩‍🚒", "👨‍🚒", "👩‍✈️", "👨‍✈️", "👩‍🚀", "👨‍🚀", "👩‍⚖️", "👨‍⚖️", "🤶", "🎅", "👸", "🤴", "👰", "🤵", "👼", "🤰", "🙇‍♀️", "🙇", "💁", "💁‍♂️", "🙅", "🙅‍♂️", "🙆", "🙆‍♂️", "🙋", "🙋‍♂️", "🤦‍♀️", "🤦‍♂️", "🤷‍♀️", "🤷‍♂️", "🙎", "🙎‍♂️", "🙍", "🙍‍♂️", "💇", "💇‍♂️", "💆", "💆‍♂️", "🕴", "💃", "🕺", "🚶‍♀️", "🚶", "🏃‍♀️", "🏃", "🤲", "👐", "🙌", "👏", "🙏", "👍", "👎", "👊", "✊", "🤛", "🤜", "🤞", "🤟", "🤘", "👌", "👈", "👉", "👆", "👇", "✋", "🤚", "🖐", "🖖", "👋", "🤙", "💪", "🖕", "🤳", "💅", "👂", "👃", "🐶", "🐱", "🐭", "🐹", "🐰", "🦊", "🦝", "🐻", "🐼", "🦘", "🦡", "🐨", "🐯", "🦁", "🐮", "🐷", "🐽", "🐸", "🐵", "🙈", "🙉", "🙊", "🐒", "🐔", "🐧", "🐦", "🐤", "🐣", "🐥", "🦆", "🦢", "🦅", "🦉", "🦚", "🦜", "🦇", "🐺", "🐗", "🐴", "🦄", "🐝", "🐛", "🦋", "🐌", "🐚", "🐞", "🐜", "🦗", "🕷", "🕸", "🦂", "🦟", "🦠", "🐢", "🐍", "🦎", "🦖", "🦕", "🐙", "🦑", "🦐", "🦀", "🐡", "🐠", "🐟", "🐬", "🐳", "🐋", "🦈", "🐊", "🐅", "🐆", "🦓", "🦍", "🐘", "🦏", "🦛", "🐪", "🐫", "🦙", "🦒", "🐃", "🐂", "🐄", "🐎", "🐖", "🐏", "🐑", "🐐", "🦌", "🐕", "🐩", "🐈", "🐓", "🦃", "🕊", "🐇", "🐁", "🐀", "🐿", "🦔", "🐾", "🐉", "🐲", "🌵", "🎄", "🌲", "🌳", "🌴", "🌱", "🌿", "☘️", "🍀", "🎍", "🎋", "🍃", "🍂", "🍁", "🍄", "🌾", "💐", "🌷", "🌹", "🥀", "🌺", "🌸", "🌼", "🌻", "🌞", "🌝", "🌛", "🌜", "🌚", "🌕", "🌖", "🌗", "🌘", "🌑", "🌒", "🌓", "🌔", "🌙", "🌎", "🌍", "🌏", "💫", "⭐️", "🌟", "✨", "⚡️", "☄️", "💥", "🔥", "🌪", "🌈", "☀️", "🌤", "⛅️", "🌥", "🌦", "🌧", "⛈", "🌩", "🌨", "⛄️", "🌬", "💨", "💧", "💦", "🌊", "🌫", "🍏", "🍎", "🍐", "🍊", "🍋", "🍌", "🍉", "🍇", "🍓", "🍈", "🍒", "🍑", "🍍", "🥭", "🥥", "🥝", "🍅", "🍆", "🥑", "🥦", "🥒", "🥬", "🌶", "🌽", "🥕", "🥔", "🍠", "🥐", "🍞", "🥖", "🥨", "🥯", "🧀", "🥚", "🍳", "🥞", "🥓", "🥩", "🍗", "🍖", "🌭", "🍔", "🍟", "🍕", "🥪", "🥙", "🌮", "🌯", "🥗", "🥘", "🥫", "🍝", "🍜", "🍲", "🍛", "🍣", "🍱", "🥟", "🍤", "🍙", "🍚", "🍘", "🍥", "🥮", "🥠", "🍢", "🍡", "🍧", "🍨", "🍦", "🥧", "🍰", "🎂", "🍮", "🍭", "🍬", "🍫", "🍿", "🧂", "🍩", "🍪", "🌰", "🥜", "🍯", "🥛", "🍼", "🍵", "🥤", "🍶", "🍺", "🍻", "🥂", "🍷", "🥃", "🍸", "🍹", "🍾", "🥄", "🍴", "🍽", "🥣", "🥡", "🥢", "⚽️", "🏀", "🏈", "⚾️", "🥎", "🏐", "🏉", "🎾", "🥏", "🎱", "🏓", "🏸", "🥅", "🏒", "🏑", "🥍", "🏏", "⛳️", "🏹", "🎣", "🥊", "🥋", "🎽", "⛸", "🥌", "🛷", "🛹", "🎿", "⛷", "🏂", "🏋️‍♀️", "🏋‍♀️", "🏋‍♀️", "🏋‍♀️", "🏋‍♀️", "🏋‍♀️", "🏋️‍♂️", "🏋‍♂️", "🏋‍♂️", "🏋‍♂️", "🏋‍♂️", "🏋‍♂️", "🤼‍♀️", "🤼‍♂️", "🤸‍♀️", "🤸‍♀️", "🤸‍♀️", "🤸‍♀️", "🤸‍♀️", "🤸‍♀️", "🤸‍♂️", "🤸‍♂️", "🤸‍♂️", "🤸‍♂️", "🤸‍♂️", "🤸‍♂️", "⛹️‍♀️", "⛹‍♀️", "⛹‍♀️", "⛹‍♀️", "⛹‍♀️", "⛹‍♀️", "⛹️‍♂️", "⛹‍♂️", "⛹‍♂️", "⛹‍♂️", "⛹‍♂️", "⛹‍♂️", "🤺", "🤾‍♀️", "🤾‍♀️", "🤾‍♀️", "🤾‍♀️", "🤾‍♀️", "🤾‍♀️", "🤾‍♂️", "🤾‍♂️", "🤾‍♂️", "🤾‍♂️", "🤾‍♂️", "🤾‍♂️", "🏌️‍♀️", "🏌‍♀️", "🏌‍♀️", "🏌‍♀️", "🏌‍♀️", "🏌‍♀️", "🏌️‍♂️", "🏌‍♂️", "🏌‍♂️", "🏌‍♂️", "🏌‍♂️", "🏌‍♂️", "🏇", "🏇", "🏇", "🏇", "🏇", "🏇", "🧘‍♀️", "🧘‍♀️", "🧘‍♀️", "🧘‍♀️", "🧘‍♀️", "🧘‍♀️", "🧘‍♂️", "🧘‍♂️", "🧘‍♂️", "🧘‍♂️", "🧘‍♂️", "🧘‍♂️", "🏄‍♀️", "🏄‍♀️", "🏄‍♀️", "🏄‍♀️", "🏄‍♀️", "🏄‍♀️", "🏄‍♂️", "🏄‍♂️", "🏄‍♂️", "🏄‍♂️", "🏄‍♂️", "🏄‍♂️", "🏊‍♀️", "🏊‍♀️", "🏊‍♀️", "🏊‍♀️", "🏊‍♀️", "🏊‍♀️", "🏊‍♂️", "🏊‍♂️", "🏊‍♂️", "🏊‍♂️", "🏊‍♂️", "🏊‍♂️", "🤽‍♀️", "🤽‍♀️", "🤽‍♀️", "🤽‍♀️", "🤽‍♀️", "🤽‍♀️", "🤽‍♂️", "🤽‍♂️", "🤽‍♂️", "🤽‍♂️", "🤽‍♂️", "🤽‍♂️", "🚣‍♀️", "🚣‍♀️", "🚣‍♀️", "🚣‍♀️", "🚣‍♀️", "🚣‍♀️", "🚣‍♂️", "🚣‍♂️", "🚣‍♂️", "🚣‍♂️", "🚣‍♂️", "🚣‍♂️", "🧗‍♀️", "🧗‍♀️", "🧗‍♀️", "🧗‍♀️", "🧗‍♀️", "🧗‍♀️", "🧗‍♂️", "🧗‍♂️", "🧗‍♂️", "🧗‍♂️", "🧗‍♂️", "🧗‍♂️", "🚵‍♀️", "🚵‍♀️", "🚵‍♀️", "🚵‍♀️", "🚵‍♀️", "🚵‍♀️", "🚵‍♂️", "🚵‍♂️", "🚵‍♂️", "🚵‍♂️", "🚵‍♂️", "🚵‍♂️", "🚴‍♀️", "🚴‍♀️", "🚴‍♀️", "🚴‍♀️", "🚴‍♀️", "🚴‍♀️", "🚴‍♂️", "🚴‍♂️", "🚴‍♂️", "🚴‍♂️", "🚴‍♂️", "🚴‍♂️", "🏆", "🥇", "🥈", "🥉", "🏅", "🎖", "🏵", "🎗", "🎫", "🎟", "🎪", "🤹‍♀️", "🤹‍♀️", "🤹‍♀️", "🤹‍♀️", "🤹‍♀️", "🤹‍♀️", "🤹‍♂️", "🤹‍♂️", "🤹‍♂️", "🤹‍♂️", "🤹‍♂️", "🤹‍♂️", "🎭", "🎨", "🎬", "🎤", "🎧", "🎼", "🎹", "🥁", "🎷", "🎺", "🎸", "🎻", "🎲", "🧩", "🎯", "🎳", "🎮", "🎰", "🚗", "🚕", "🚙", "🚌", "🚎", "🏎", "🚓", "🚑", "🚒", "🚐", "🚚", "🚛", "🚜", "🛴", "🚲", "🛵", "🏍", "🚨", "🚔", "🚍", "🚘", "🚖", "🚡", "🚠", "🚟", "🚃", "🚋", "🚞", "🚝", "🚄", "🚅", "🚈", "🚂", "🚆", "🚇", "🚊", "🚉", "🛫", "🛬", "🛩", "💺", "🛰", "🚀", "🛸", "🚁", "🛶", "⛵️", "🚤", "🛥", "🛳", "⛴", "🚢", "⛽️", "🚧", "🚦", "🚥", "🚏", "🗺", "🗿", "🗽", "🗼", "🏰", "🏯", "🏟", "🎡", "🎢", "🎠", "⛲️", "⛱", "🏖", "🏝", "🏜", "🌋", "⛰", "🏔", "🗻", "🏕", "⛺️", "🏠", "🏡", "🏘", "🏚", "🏗", "🏭", "🏢", "🏬", "🏣", "🏤", "🏥", "🏦", "🏨", "🏪", "🏫", "🏩", "💒", "🏛", "⛪️", "🕌", "🕍", "🕋", "⛩", "🛤", "🛣", "🗾", "🎑", "🏞", "🌅", "🌄", "🌠", "🎇", "🎆", "🌇", "🌆", "🏙", "🌃", "🌌", "🌉", "🌁", "⌚️", "📱", "📲", "💻", "🖥", "🖨", "🖱", "🖲", "🕹", "🗜", "💽", "💾", "💿", "📀", "📼", "📷", "📸", "📹", "🎥", "📽", "🎞", "📞", "📟", "📠", "📺", "📻", "🎙", "🎚", "🎛", "⏱", "⏲", "⏰", "🕰", "⌛️", "⏳", "📡", "🔋", "🔌", "💡", "🔦", "🕯", "🗑", "🛢", "💸", "💵", "💴", "💶", "💷", "💰", "💳", "🧾", "💎", "⚖️", "🔧", "🔨", "🛠", "⛏", "🔩", "⛓", "🔫", "💣", "🔪", "🗡", "🛡", "🚬", "🏺", "🧭", "🧱", "🔮", "🧿", "🧸", "📿", "💈", "⚗️", "🔭", "🧰", "🧲", "🧪", "🧫", "🧬", "🧯", "🔬", "🕳", "💊", "💉", "🌡", "🚽", "🚰", "🚿", "🛁", "🛀", "🛀", "🛀", "🛀", "🛀", "🛀", "🧴", "🧵", "🧶", "🧷", "🧹", "🧺", "🧻", "🧼", "🧽", "🛎", "🔑", "🗝", "🚪", "🛋", "🛏", "🛌", "🖼", "🛍", "🧳", "🛒", "🎁", "🎈", "🎏", "🎀", "🎊", "🎉", "🧨", "🎎", "🏮", "🎐", "🧧", "✉️", "📩", "📨", "📧", "💌", "📥", "📤", "📦", "🏷", "📪", "📫", "📬", "📭", "📮", "📯", "📜", "📃", "📄", "📑", "📊", "📈", "📉", "🗒", "🗓", "📆", "📅", "📇", "🗃", "🗳", "🗄", "📋", "📁", "📂", "🗂", "🗞", "📰", "📓", "📔", "📒", "📕", "📗", "📘", "📙", "📚", "📖", "🔖", "🔗", "📎", "🖇", "📐", "📏", "📌", "📍", "✂️", "🖊", "🖋", "🖌", "🖍", "📝", "🔍", "🔎", "🔏", "🔐", "🔒", "🔓", "🧡", "💛", "💚", "💙", "💜", "🖤", "💔", "💕", "💞", "💓", "💗", "💖", "💘", "💝", "💟", "🕉", "🔯", "🕎", "🛐", "⛎", "🆔", "🉑", "📴", "📳", "🈶", "🈚️", "🈸", "🈺", "🈷️", "🆚", "💮", "🉐", "㊙️", "㊗️", "🈴", "🈵", "🈹", "🈲", "🅰️", "🅱️", "🆎", "🆑", "🅾️", "🆘", "❌", "⭕️", "🛑", "⛔️", "📛", "🚫", "💯", "💢", "🚷", "🚯", "🚳", "🚱", "🔞", "📵", "🚭", "❗️", "❕", "❓", "❔", "🔅", "🔆", "〽️", "🚸", "🔱", "🔰", "✅", "🈯️", "💹", "❎", "🌐", "💠", "Ⓜ️", "🌀", "💤", "🏧", "🚾", "🅿️", "🈳", "🈂️", "🛂", "🛃", "🛄", "🛅", "🚹", "🚺", "🚼", "🚻", "🚮", "🎦", "📶", "🈁", "🔣", "ℹ️", "🔤", "🔡", "🔠", "🆖", "🆗", "🆙", "🆒", "🆕", "🆓", "0️⃣", "1️⃣", "2️⃣", "3️⃣", "4️⃣", "5️⃣", "6️⃣", "7️⃣", "8️⃣", "9️⃣", "🔟", "🔢", "#️⃣", "*️⃣", "⏸", "⏯", "⏹", "⏺", "⏭", "⏮", "⏩", "⏪", "⏫", "⏬", "🔼", "🔽", "⬅️", "⬆️", "⬇️", "⤴️", "⤵️", "🔀", "🔁", "🔂", "🔄", "🔃", "🔘", "⚪️", "⚫️", "🔴", "🔵", "🔺", "🔻", "🔸", "🔹", "🔶", "🔷", "🔳", "🔲", "⬛️", "⬜️", "🔈", "🔇", "🔉", "🔊", "🔔", "🔕", "📣", "📢", "👁‍🗨", "💬", "💭", "🗯", "🃏", "🎴", "🀄️", "🕐", "🕑", "🕒", "🕓", "🕔", "🕕", "🕖", "🕗", "🕘", "🕙", "🕚", "🕛", "🕜", "🕝", "🕞", "🕟", "🕠", "🕡", "🕢", "🕣", "🕤", "🕥", "🕦", "🕧", "🏳️", "🏴", "🏁", "🚩", "🏳️‍🌈", "🏴‍☠️", "🇦🇫", "🇦🇽", "🇦🇱", "🇩🇿", "🇦🇸", "🇦🇩", "🇦🇴", "🇦🇮", "🇦🇶", "🇦🇬", "🇦🇷", "🇦🇲", "🇦🇼", "🇦🇺", "🇦🇹", "🇦🇿", "🇧🇸", "🇧🇭", "🇧🇩", "🇧🇧", "🇧🇾", "🇧🇪", "🇧🇿", "🇧🇯", "🇧🇲", "🇧🇹", "🇧🇴", "🇧🇦", "🇧🇼", "🇧🇷", "🇮🇴", "🇻🇬", "🇧🇳", "🇧🇬", "🇧🇫", "🇧🇮", "🇰🇭", "🇨🇲", "🇨🇦", "🇮🇨", "🇨🇻", "🇧🇶", "🇰🇾", "🇨🇫", "🇹🇩", "🇨🇱", "🇨🇳", "🇨🇽", "🇨🇨", "🇨🇴", "🇰🇲", "🇨🇬", "🇨🇩", "🇨🇰", "🇨🇷", "🇨🇮", "🇭🇷", "🇨🇺", "🇨🇼", "🇨🇾", "🇨🇿", "🇩🇰", "🇩🇯", "🇩🇲", "🇩🇴", "🇪🇨", "🇪🇬", "🇸🇻", "🇬🇶", "🇪🇷", "🇪🇪", "🇪🇹", "🇪🇺", "🇫🇰", "🇫🇴", "🇫🇯", "🇫🇮", "🇫🇷", "🇬🇫", "🇵🇫", "🇹🇫", "🇬🇦", "🇬🇲", "🇬🇪", "🇩🇪", "🇬🇭", "🇬🇮", "🇬🇷", "🇬🇱", "🇬🇩", "🇬🇵", "🇬🇺", "🇬🇹", "🇬🇬", "🇬🇳", "🇬🇼", "🇬🇾", "🇭🇹", "🇭🇳", "🇭🇰", "🇭🇺", "🇮🇸", "🇮🇳", "🇮🇩", "🇮🇷", "🇮🇶", "🇮🇪", "🇮🇲", "🇮🇱", "🇮🇹", "🇯🇲", "🇯🇵", "🎌", "🇯🇪", "🇯🇴", "🇰🇿", "🇰🇪", "🇰🇮", "🇽🇰", "🇰🇼", "🇰🇬", "🇱🇦", "🇱🇻", "🇱🇧", "🇱🇸", "🇱🇷", "🇱🇾", "🇱🇮", "🇱🇹", "🇱🇺", "🇲🇴", "🇲🇰", "🇲🇬", "🇲🇼", "🇲🇾", "🇲🇻", "🇲🇱", "🇲🇹", "🇲🇭", "🇲🇶", "🇲🇷", "🇲🇺", "🇾🇹", "🇲🇽", "🇫🇲", "🇲🇩", "🇲🇨", "🇲🇳", "🇲🇪", "🇲🇸", "🇲🇦", "🇲🇿", "🇲🇲", "🇳🇦", "🇳🇷", "🇳🇵", "🇳🇱", "🇳🇨", "🇳🇿", "🇳🇮", "🇳🇪", "🇳🇬", "🇳🇺", "🇳🇫", "🇰🇵", "🇲🇵", "🇳🇴", "🇴🇲", "🇵🇰", "🇵🇼", "🇵🇸", "🇵🇦", "🇵🇬", "🇵🇾", "🇵🇪", "🇵🇭", "🇵🇳", "🇵🇱", "🇵🇹", "🇵🇷", "🇶🇦", "🇷🇪", "🇷🇴", "🇷🇺", "🇷🇼", "🇼🇸", "🇸🇲", "🇸🇦", "🇸🇳", "🇷🇸", "🇸🇨", "🇸🇱", "🇸🇬", "🇸🇽", "🇸🇰", "🇸🇮", "🇬🇸", "🇸🇧", "🇸🇴", "🇿🇦", "🇰🇷", "🇸🇸", "🇪🇸", "🇱🇰", "🇧🇱", "🇸🇭", "🇰🇳", "🇱🇨", "🇵🇲", "🇻🇨", "🇸🇩", "🇸🇷", "🇸🇿", "🇸🇪", "🇨🇭", "🇸🇾", "🇹🇼", "🇹🇯", "🇹🇿", "🇹🇭", "🇹🇱", "🇹🇬", "🇹🇰", "🇹🇴", "🇹🇹", "🇹🇳", "🇹🇷", "🇹🇲", "🇹🇨", "🇹🇻", "🇻🇮", "🇺🇬", "🇺🇦", "🇦🇪", "🇬🇧", "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "🏴󠁧󠁢󠁳󠁣󠁴󠁿", "🏴󠁧󠁢󠁷󠁬󠁳󠁿", "🇺🇳", "🇺🇸", "🇺🇾", "🇺🇿", "🇻🇺", "🇻🇦", "🇻🇪", "🇻🇳", "🇼🇫", "🇪🇭", "🇾🇪", "🇿🇲", "🇿🇼" ], "flags" : [ "🏴", "🏁", "🚩", "🏳️‍🌈", "🏴‍☠️", "🇦🇫", "🇦🇽", "🇦🇱", "🇩🇿", "🇦🇸", "🇦🇩", "🇦🇴", "🇦🇮", "🇦🇶", "🇦🇬", "🇦🇷", "🇦🇲", "🇦🇼", "🇦🇺", "🇦🇹", "🇦🇿", "🇧🇸", "🇧🇭", "🇧🇩", "🇧🇧", "🇧🇾", "🇧🇪", "🇧🇿", "🇧🇯", "🇧🇲", "🇧🇹", "🇧🇴", "🇧🇦", "🇧🇼", "🇧🇷", "🇮🇴", "🇻🇬", "🇧🇳", "🇧🇬", "🇧🇫", "🇧🇮", "🇰🇭", "🇨🇲", "🇨🇦", "🇮🇨", "🇨🇻", "🇧🇶", "🇰🇾", "🇨🇫", "🇹🇩", "🇨🇱", "🇨🇳", "🇨🇽", "🇨🇨", "🇨🇴", "🇰🇲", "🇨🇬", "🇨🇩", "🇨🇰", "🇨🇷", "🇨🇮", "🇭🇷", "🇨🇺", "🇨🇼", "🇨🇾", "🇨🇿", "🇩🇰", "🇩🇯", "🇩🇲", "🇩🇴", "🇪🇨", "🇪🇬", "🇸🇻", "🇬🇶", "🇪🇷", "🇪🇪", "🇪🇹", "🇪🇺", "🇫🇰", "🇫🇴", "🇫🇯", "🇫🇮", "🇫🇷", "🇬🇫", "🇵🇫", "🇹🇫", "🇬🇦", "🇬🇲", "🇬🇪", "🇩🇪", "🇬🇭", "🇬🇮", "🇬🇷", "🇬🇱", "🇬🇩", "🇬🇵", "🇬🇺", "🇬🇹", "🇬🇬", "🇬🇳", "🇬🇼", "🇬🇾", "🇭🇹", "🇭🇳", "🇭🇰", "🇭🇺", "🇮🇸", "🇮🇳", "🇮🇩", "🇮🇷", "🇮🇶", "🇮🇪", "🇮🇲", "🇮🇱", "🇮🇹", "🇯🇲", "🇯🇵", "🎌", "🇯🇪", "🇯🇴", "🇰🇿", "🇰🇪", "🇰🇮", "🇽🇰", "🇰🇼", "🇰🇬", "🇱🇦", "🇱🇻", "🇱🇧", "🇱🇸", "🇱🇷", "🇱🇾", "🇱🇮", "🇱🇹", "🇱🇺", "🇲🇴", "🇲🇰", "🇲🇬", "🇲🇼", "🇲🇾", "🇲🇻", "🇲🇱", "🇲🇹", "🇲🇭", "🇲🇶", "🇲🇷", "🇲🇺", "🇾🇹", "🇲🇽", "🇫🇲", "🇲🇩", "🇲🇨", "🇲🇳", "🇲🇪", "🇲🇸", "🇲🇦", "🇲🇿", "🇲🇲", "🇳🇦", "🇳🇷", "🇳🇵", "🇳🇱", "🇳🇨", "🇳🇿", "🇳🇮", "🇳🇪", "🇳🇬", "🇳🇺", "🇳🇫", "🇰🇵", "🇲🇵", "🇳🇴", "🇴🇲", "🇵🇰", "🇵🇼", "🇵🇸", "🇵🇦", "🇵🇬", "🇵🇾", "🇵🇪", "🇵🇭", "🇵🇳", "🇵🇱", "🇵🇹", "🇵🇷", "🇶🇦", "🇷🇪", "🇷🇴", "🇷🇺", "🇷🇼", "🇼🇸", "🇸🇲", "🇸🇦", "🇸🇳", "🇷🇸", "🇸🇨", "🇸🇱", "🇸🇬", "🇸🇽", "🇸🇰", "🇸🇮", "🇬🇸", "🇸🇧", "🇸🇴", "🇿🇦", "🇰🇷", "🇸🇸", "🇪🇸", "🇱🇰", "🇧🇱", "🇸🇭", "🇰🇳", "🇱🇨", "🇵🇲", "🇻🇨", "🇸🇩", "🇸🇷", "🇸🇿", "🇸🇪", "🇨🇭", "🇸🇾", "🇹🇼", "🇹🇯", "🇹🇿", "🇹🇭", "🇹🇱", "🇹🇬", "🇹🇰", "🇹🇴", "🇹🇹", "🇹🇳", "🇹🇷", "🇹🇲", "🇹🇨", "🇹🇻", "🇻🇮", "🇺🇬", "🇺🇦", "🇦🇪", "🇬🇧", "🏴󠁧󠁢󠁥󠁮󠁧󠁿", "🏴󠁧󠁢󠁳󠁣󠁴󠁿", "🏴󠁧󠁢󠁷󠁬󠁳󠁿", "🇺🇳", "🇺🇸", "🇺🇾", "🇺🇿", "🇻🇺", "🇻🇦", "🇻🇪", "🇻🇳", "🇼🇫", "🇪🇭", "🇾🇪", "🇿🇲", "🇿🇼" ], "smileys" : [ "😀", "😁", "😂", "🤣", "😃", "😄", "😅", "😆", "😉", "😊", "😋", "😎", "😍", "😘", "🥰", "😗", "😙", "😚", "🙂", "🤗", "🤩", "🤔", "🤨", "😐", "😑", "😶", "🙄", "😏", "😣", "😥", "😮", "🤐", "😯", "😪", "😫", "😴", "😌", "😛", "😜", "😝", "🤤", "😒", "😓", "😔", "😕", "🙃", "🤑", "😲", "🙁", "😖", "😞", "😟", "😤", "😢", "😭", "😦", "😧", "😨", "😩", "🤯", "😬", "😰", "😱", "🥵", "🥶", "😳", "🤪", "😵", "😡", "😠", "🤬", "😷", "🤒", "🤕", "🤢", "🤮", "🤧", "😇", "🤠", "🤡", "🥳", "🥴", "🥺", "🤥", "🤫", "🤭", "🧐", "🤓" ]}

================================================
FILE: src/data/words.json
================================================
{"all": {"1": ["a", "i"], "7": ["ability", "absence", "account", "actress", "address", "advance", "against", "already", "amongst", "ancient", "another", "anxiety", "anxious", "anybody", "apology", "applaud", "appoint", "approve", "arrange", "article", "ashamed", "attempt", "attract", "average", "awkward", "baggage", "balance", "bargain", "battery", "because", "bedroom", "believe", "beneath", "besides", "between", "bicycle", "bravery", "breadth", "breathe", "bribery", "brother", "capital", "captain", "caution", "century", "certain", "chicken", "chimney", "citizen", "collect", "college", "combine", "comfort", "command", "company", "compare", "compete", "compose", "concern", "confess", "confuse", "connect", "conquer", "contain", "content", "control", "correct", "cottage", "council", "country", "courage", "curious", "current", "curtain", "cushion", "deceive", "declare", "defense", "delight", "deliver", "descend", "descent", "deserve", "despair", "destroy", "develop", "diamond", "discuss", "disease", "disgust", "dismiss", "distant", "disturb", "earnest", "eastern", "educate", "elastic", "enclose", "english", "essence", "evening", "examine", "example", "expense", "explain", "explode", "explore", "express", "extreme", "factory", "failure", "fashion", "feather", "flatten", "foreign", "forgive", "fortune", "forward", "freedom", "funeral", "furnish", "further", "general", "gradual", "grammar", "harvest", "highway", "history", "holiday", "honesty", "horizon", "however", "husband", "imagine", "imitate", "immense", "improve", "include", "inquire", "inquiry", "instant", "instead", "jealous", "journey", "justice", "kingdom", "kitchen", "leather", "liberty", "library", "lighten", "loyalty", "machine", "mankind", "measure", "medical", "mention", "message", "mineral", "mistake", "mixture", "modesty", "morning", "mystery", "neglect", "neither", "network", "nothing", "nowhere", "nursery", "observe", "offense", "officer", "operate", "opinion", "outline", "outside", "outward", "package", "partner", "passage", "patient", "pattern", "perfect", "perform", "perhaps", "picture", "plaster", "popular", "possess", "poverty", "prepare", "present", "pretend", "prevent", "private", "problem", "produce", "product", "program", "promise", "propose", "protect", "provide", "purpose", "qualify", "quality", "quarrel", "quarter", "realize", "receipt", "receive", "reflect", "refresh", "regular", "rejoice", "relieve", "replace", "request", "reserve", "respect", "revenge", "rivalry", "robbery", "royalty", "rubbish", "satisfy", "scatter", "scenery", "science", "scratch", "secrecy", "selfish", "serious", "servant", "service", "several", "shallow", "sharpen", "shelter", "shorten", "silence", "sincere", "slavery", "society", "soldier", "somehow", "someone", "special", "station", "stiffen", "stomach", "strange", "stretch", "student", "subject", "succeed", "success", "suggest", "support", "suppose", "surface", "suspect", "swallow", "sweeten", "theater", "thicken", "through", "thunder", "tighten", "tobacco", "tonight", "tremble", "trouble", "upright", "variety", "various", "victory", "village", "violent", "visitor", "weather", "weekday", "weekend", "welcome", "western", "whether", "whisper", "whistle", "whoever", "widower", "without", "witness", "worship"], "4": ["able", "ache", "also", "arch", "army", "aunt", "away", "baby", "back", "bake", "ball", "band", "bank", "bare", "base", "bath", "beak", "beam", "bean", "bear", "beat", "bell", "belt", "bend", "best", "bill", "bind", "bird", "bite", "blow", "blue", "boat", "body", "boil", "bold", "bone", "book", "both", "bowl", "burn", "bury", "bush", "busy", "cage", "cake", "call", "calm", "camp", "cape", "card", "care", "cart", "case", "cave", "cent", "city", "clay", "club", "coal", "coat", "coin", "cold", "comb", "come", "cook", "cool", "copy", "cork", "corn", "cost", "crop", "cure", "curl", "damp", "dare", "dark", "date", "dead", "deaf", "deal", "dear", "debt", "deed", "deep", "deer", "desk", "dine", "dirt", "dish", "dive", "door", "down", "drag", "draw", "drop", "drum", "duck", "dull", "dust", "duty", "each", "earn", "ease", "east", "easy", "edge", "else", "envy", "even", "ever", "evil", "face", "fact", "fade", "fail", "fair", "fall", "fame", "farm", "fast", "fate", "fear", "feed", "feel", "fill", "film", "find", "fine", "fire", "firm", "fish", "flag", "flat", "flow", "fold", "fond", "food", "fool", "foot", "fork", "form", "free", "from", "full", "gain", "game", "gate", "gift", "girl", "give", "glad", "goat", "gold", "good", "gray", "grow", "hair", "half", "hall", "hand", "hang", "hard", "harm", "hate", "have", "head", "heal", "heap", "hear", "heat", "help", "here", "hide", "high", "hill", "hire", "hold", "hole", "holy", "home", "hook", "hope", "host", "hour", "hunt", "hurt", "idea", "idle", "inch", "into", "iron", "join", "joke", "jump", "just", "keep", "kick", "kill", "kind", "king", "kiss", "knee", "knot", "know", "lack", "lady", "lake", "lamp", "land", "last", "late", "lazy", "lead", "leaf", "lean", "left", "lend", "less", "liar", "life", "lift", "like", "limb", "line", "list", "live", "load", "loaf", "loan", "lock", "long", "look", "lord", "lose", "loss", "loud", "love", "luck", "lump", "lung", "mail", "main", "make", "male", "many", "mark", "mass", "meal", "mean", "meat", "meet", "melt", "mend", "mere", "mild", "mile", "milk", "mill", "mind", "mine", "miss", "moon", "more", "most", "move", "much", "must", "nail", "name", "near", "neat", "neck", "need", "nest", "news", "next", "nice", "none", "noon", "nose", "note", "noun", "obey", "omit", "once", "only", "onto", "open", "over", "pack", "page", "pain", "pair", "pale", "park", "part", "pass", "past", "path", "pick", "pile", "pink", "pint", "pipe", "pity", "plan", "play", "plow", "poem", "poet", "pool", "poor", "post", "pour", "pray", "pull", "pump", "pure", "push", "race", "rail", "rain", "rake", "rank", "rare", "rate", "read", "real", "rent", "rest", "rice", "rich", "ride", "ring", "ripe", "rise", "risk", "road", "roar", "rock", "roll", "roof", "room", "root", "rope", "rude", "ruin", "rule", "rush", "rust", "safe", "sail", "sake", "sale", "salt", "same", "sand", "save", "seat", "seed", "seem", "self", "sell", "send", "ship", "shoe", "shop", "show", "shut", "sick", "side", "sign", "silk", "sing", "sink", "size", "skin", "slip", "slow", "snow", "soap", "sock", "soft", "soil", "some", "song", "soon", "sore", "sort", "soul", "soup", "sour", "spin", "spit", "spot", "star", "stay", "stem", "step", "stir", "stop", "such", "suck", "suit", "sure", "swim", "tail", "take", "talk", "tall", "tame", "taxi", "tear", "tell", "tend", "tent", "term", "test", "than", "that", "then", "they", "thin", "this", "thus", "tide", "tidy", "till", "time", "tire", "tool", "tour", "town", "trap", "tray", "tree", "trip", "true", "tube", "tune", "turn", "type", "ugly", "unit", "upon", "urge", "vain", "veil", "verb", "very", "view", "vote", "wage", "wait", "wake", "walk", "wall", "want", "warm", "warn", "wash", "wave", "weak", "wear", "weed", "week", "well", "west", "what", "when", "whip", "whom", "wide", "wife", "wild", "will", "wind", "wine", "wing", "wipe", "wire", "wise", "wish", "with", "wood", "wool", "word", "work", "worm", "wrap", "yard", "year", "zero"], "5": ["about", "above", "actor", "admit", "adopt", "after", "again", "agent", "agree", "ahead", "alike", "alive", "allow", "alone", "along", "aloud", "among", "amuse", "anger", "angle", "angry", "annoy", "apart", "apple", "apply", "argue", "arise", "arrow", "aside", "avoid", "awake", "basic", "basin", "basis", "bathe", "beard", "beast", "begin", "being", "below", "berry", "birth", "black", "blade", "blame", "bleed", "bless", "blind", "block", "blood", "board", "boast", "bound", "brain", "brass", "brave", "bread", "break", "bribe", "brick", "bring", "broad", "brown", "brush", "build", "bunch", "burst", "canal", "carry", "catch", "cause", "chain", "chair", "chalk", "charm", "cheap", "cheat", "check", "cheer", "chest", "chief", "child", "claim", "class", "clean", "clear", "clerk", "cliff", "climb", "clock", "close", "cloth", "cloud", "coast", "color", "cough", "could", "count", "court", "cover", "crack", "crash", "cream", "creep", "crime", "cross", "crowd", "crown", "cruel", "crush", "curse", "curve", "daily", "dance", "death", "decay", "delay", "depth", "devil", "ditch", "doubt", "dozen", "dream", "dress", "drink", "drive", "drown", "eager", "early", "earth", "elder", "elect", "empty", "enemy", "enjoy", "enter", "equal", "event", "every", "exact", "exist", "extra", "faint", "faith", "false", "fancy", "fault", "favor", "feast", "fence", "fever", "field", "fight", "first", "flame", "flash", "flesh", "float", "flood", "floor", "flour", "force", "forth", "frame", "fresh", "front", "fruit", "funny", "glass", "glory", "grace", "grain", "grand", "grass", "grave", "great", "greed", "green", "greet", "grind", "group", "guard", "guess", "guest", "guide", "guilt", "habit", "happy", "haste", "heart", "heavy", "hello", "honor", "horse", "hotel", "house", "human", "hurry", "ideal", "jewel", "joint", "judge", "juice", "kneel", "knife", "knock", "large", "laugh", "learn", "least", "leave", "level", "light", "limit", "local", "lodge", "loose", "loyal", "lunch", "march", "marry", "match", "maybe", "mercy", "merry", "metal", "might", "model", "money", "month", "moral", "motor", "mouse", "mouth", "music", "never", "niece", "night", "noble", "noise", "north", "nurse", "ocean", "offer", "often", "order", "organ", "other", "ought", "ounce", "paint", "paper", "party", "paste", "pause", "peace", "pearl", "penny", "piece", "pinch", "place", "plain", "plant", "plate", "point", "pound", "power", "press", "price", "pride", "print", "prize", "proof", "proud", "prove", "pupil", "quart", "queen", "quick", "quiet", "quite", "radio", "raise", "rapid", "razor", "reach", "ready", "refer", "reply", "right", "ripen", "rival", "river", "roast", "rough", "round", "royal", "sauce", "scale", "scene", "scent", "scold", "scorn", "screw", "seize", "sense", "serve", "shade", "shake", "shall", "shame", "shape", "share", "sharp", "shave", "sheep", "sheet", "shelf", "shell", "shine", "shirt", "shock", "shoot", "shore", "short", "shout", "sight", "since", "skill", "skirt", "slave", "sleep", "slide", "slope", "small", "smell", "smile", "smoke", "snake", "solid", "solve", "sorry", "sound", "south", "space", "spade", "spare", "speak", "speed", "spell", "spend", "spill", "spite", "split", "spoil", "spoon", "sport", "staff", "stage", "stain", "stair", "stamp", "stand", "start", "state", "steam", "steel", "steep", "steer", "stick", "stiff", "still", "sting", "stock", "stone", "store", "storm", "story", "stove", "strap", "straw", "strip", "study", "stuff", "sugar", "swear", "sweat", "sweep", "sweet", "swell", "swing", "sword", "table", "taste", "teach", "tempt", "thank", "there", "these", "thick", "thief", "thing", "think", "thorn", "those", "throw", "thumb", "tight", "title", "today", "tooth", "total", "touch", "tough", "towel", "tower", "track", "trade", "train", "treat", "trial", "tribe", "trick", "trunk", "trust", "truth", "twist", "uncle", "under", "union", "unite", "unity", "until", "upper", "upset", "usual", "value", "verse", "visit", "voice", "vowel", "waist", "waste", "watch", "water", "weave", "weigh", "wheat", "wheel", "where", "which", "while", "white", "whole", "whose", "widen", "widow", "width", "woman", "world", "worry", "worse", "worth", "would", "wound", "wreck", "wrist", "write", "wrong", "yield", "young", "youth"], "6": ["abroad", "absent", "accept", "accord", "accuse", "across", "action", "active", "actual", "admire", "advice", "advise", "affair", "afford", "afraid", "agency", "almost", "always", "amount", "animal", "answer", "anyhow", "anyone", "anyway", "appear", "around", "arrest", "arrive", "asleep", "attack", "attend", "autumn", "avenue", "barber", "barrel", "basket", "battle", "beauty", "become", "before", "behave", "behind", "belief", "belong", "beside", "better", "beyond", "bitter", "border", "borrow", "bottle", "bottom", "branch", "breath", "bridge", "bright", "bucket", "bundle", "butter", "button", "camera", "castle", "cattle", "center", "chance", "change", "charge", "cheese", "choice", "choose", "church", "circle", "clever", "clothe", "coarse", "coffee", "collar", "colony", "common", "copper", "corner", "cotton", "course", "cousin", "coward", "critic", "custom", "damage", "danger", "darken", "deafen", "deceit", "decide", "deepen", "defeat", "defend", "degree", "demand", "depend", "desert", "desire", "detail", "dinner", "direct", "divide", "doctor", "dollar", "donkey", "double", "drawer", "during", "effect", "effort", "either", "empire", "employ", "engine", "enough", "entire", "escape", "except", "excess", "excite", "excuse", "expect", "extend", "extent", "family", "fasten", "father", "fatten", "fellow", "female", "fierce", "figure", "finger", "finish", "flavor", "flower", "follow", "forbid", "forest", "forget", "formal", "former", "freeze", "friend", "fright", "future", "gaiety", "gallon", "garage", "garden", "gather", "gentle", "golden", "govern", "grease", "ground", "growth", "hammer", "handle", "happen", "harbor", "harden", "hardly", "hasten", "hatred", "health", "heaven", "height", "hinder", "hollow", "honest", "humble", "hunger", "hurrah", "indeed", "indoor", "inform", "insect", "inside", "insult", "insure", "intend", "invent", "invite", "inward", "island", "ladder", "lately", "latter", "lawyer", "length", "lessen", "lesson", "letter", "likely", "liquid", "listen", "little", "lonely", "loosen", "lovely", "madden", "manage", "manner", "market", "master", "matter", "member", "memory", "middle", "minute", "misery", "modern", "modest", "moment", "monkey", "mother", "motion", "murder", "narrow", "nation", "native", "nature", "needle", "nephew", "nobody", "notice", "number", "object", "offend", "office", "oppose", "orange", "origin", "parcel", "pardon", "parent", "pastry", "pencil", "people", "permit", "person", "pigeon", "please", "plenty", "plural", "pocket", "poison", "police", "polish", "polite", "powder", "praise", "preach", "prefer", "pretty", "priest", "prison", "profit", "prompt", "proper", "public", "punish", "purple", "puzzle", "rabbit", "rather", "reason", "recent", "record", "redden", "reduce", "refuse", "regard", "regret", "relate", "relief", "remain", "remark", "remedy", "remind", "repair", "repeat", "report", "rescue", "resign", "resist", "result", "retire", "return", "review", "reward", "ribbon", "rotten", "rubber", "sacred", "sadden", "saddle", "safety", "sailor", "salary", "sample", "saucer", "scarce", "school", "scrape", "screen", "search", "season", "second", "secret", "seldom", "settle", "severe", "shadow", "shield", "should", "shower", "signal", "silent", "silver", "simple", "single", "sister", "slight", "smooth", "social", "soften", "solemn", "sorrow", "speech", "spirit", "spread", "spring", "square", "staple", "steady", "stream", "street", "strict", "strike", "string", "stripe", "stroke", "strong", "stupid", "sudden", "suffer", "summer", "supper", "supply", "system", "tailor", "temper", "temple", "tender", "thirst", "though", "thread", "threat", "throat", "ticket", "tongue", "toward", "travel", "unless", "urgent", "valley", "vessel", "virtue", "voyage", "waiter", "wander", "warmth", "weaken", "wealth", "weapon", "weight", "whiten", "wicked", "window", "winter", "wisdom", "within", "wonder", "wooden", "woolen", "yellow"], "8": ["absolute", "accident", "accustom", "adoption", "airplane", "although", "ambition", "anything", "anywhere", "applause", "astonish", "audience", "backward", "behavior", "boundary", "brighten", "business", "carriage", "cautious", "ceremony", "chairman", "circular", "civilize", "classify", "commerce", "complain", "complete", "conquest", "consider", "continue", "creature", "criminal", "cupboard", "customer", "daughter", "daylight", "decision", "decisive", "decrease", "delicate", "delivery", "describe", "director", "disagree", "discover", "distance", "district", "division", "educator", "election", "electric", "elephant", "employee", "engineer", "entrance", "envelope", "everyday", "everyone", "exchange", "exercise", "familiar", "favorite", "frequent", "friendly", "frighten", "generous", "governor", "grateful", "headache", "heavenly", "heighten", "hesitate", "homemade", "homework", "hospital", "increase", "industry", "interest", "inventor", "jealousy", "landlord", "language", "laughter", "lengthen", "lipstick", "literary", "marriage", "material", "meantime", "mechanic", "medicine", "merchant", "minister", "moderate", "moreover", "motherly", "mountain", "multiply", "musician", "neighbor", "northern", "notebook", "nowadays", "nuisance", "numerous", "obedient", "occasion", "official", "omission", "operator", "opposite", "ordinary", "organize", "ornament", "overcome", "overflow", "particle", "patience", "peculiar", "persuade", "pleasant", "pleasure", "politics", "position", "possible", "postpone", "practice", "precious", "presence", "preserve", "pressure", "pretense", "probable", "progress", "property", "proposal", "punctual", "quantity", "question", "railroad", "relation", "relative", "religion", "remember", "republic", "salesman", "scissors", "sentence", "separate", "shilling", "shoulder", "slippery", "solution", "somebody", "sometime", "splendid", "standard", "stocking", "straight", "strength", "struggle", "surprise", "surround", "sympathy", "terrible", "thorough", "threaten", "together", "tomorrow", "treasure", "treasury", "umbrella", "universe", "valuable", "violence", "whatever", "whenever", "wherever"], "3": ["act", "add", "age", "ago", "aim", "air", "all", "and", "any", "arm", "art", "ash", "ask", "axe", "bad", "bag", "bar", "bay", "bed", "beg", "big", "bit", "bow", "box", "boy", "bus", "but", "buy", "can", "cap", "car", "cat", "cow", "cry", "cup", "cut", "day", "die", "dig", "dip", "dog", "dot", "dry", "due", "ear", "eat", "egg", "end", "eye", "fan", "far", "fat", "few", "fit", "fix", "fly", "for", "fry", "fun", "fur", "gap", "gas", "gay", "get", "god", "gun", "hat", "hay", "hit", "hot", "how", "hut", "ice", "ill", "ink", "inn", "jaw", "joy", "key", "law", "lay", "leg", "let", "lid", "lie", "lip", "log", "lot", "low", "mad", "man", "map", "mat", "may", "mix", "mud", "net", "new", "nor", "not", "now", "nut", "oar", "off", "oil", "old", "one", "out", "owe", "own", "pad", "pan", "paw", "pay", "pen", "per", "pet", "pig", "pin", "pot", "put", "raw", "ray", "red", "rid", "rob", "rod", "rot", "row", "rub", "rug", "run", "sad", "saw", "say", "sea", "see", "set", "sew", "she", "sir", "sit", "sky", "son", "sow", "sun", "tap", "tax", "tea", "the", "tie", "tin", "tip", "toe", "ton", "too", "top", "toy", "try", "use", "war", "wax", "way", "wet", "who", "why", "win", "yes", "yet", "you"], "9": ["admission", "advantage", "adventure", "advertise", "afternoon", "allowance", "ambitious", "annoyance", "attention", "attentive", "avoidance", "breakfast", "broadcast", "calculate", "certainty", "character", "childhood", "christmas", "collector", "committee", "companion", "complaint", "condition", "confident", "confusion", "conqueror", "conscious", "cowardice", "cultivate", "customary", "defendant", "dependent", "determine", "different", "difficult", "direction", "disappear", "discovery", "disregard", "education", "effective", "efficient", "elsewhere", "enclosure", "encourage", "entertain", "essential", "everybody", "excellent", "exception", "excessive", "existence", "expensive", "explosion", "explosive", "extension", "extensive", "fortunate", "framework", "frequency", "furniture", "gentleman", "handshake", "headdress", "hindrance", "imaginary", "imitation", "immediate", "important", "inclusive", "influence", "insurance", "intention", "interfere", "interrupt", "introduce", "invention", "knowledge", "librarian", "machinery", "meanwhile", "mechanism", "messenger", "miserable", "momentary", "moonlight", "necessary", "necessity", "newspaper", "obedience", "objection", "operation", "otherwise", "ownership", "passenger", "patriotic", "permanent", "political", "possessor", "practical", "prejudice", "president", "pronounce", "recognize", "recommend", "reduction", "reference", "represent", "reproduce", "sacrifice", "scientist", "secretary", "sensitive", "signature", "situation", "something", "sometimes", "somewhere", "substance", "suspicion", "telegraph", "telephone", "therefore", "translate", "universal", "uppermost", "whichever", "yesterday"], "11": ["agriculture", "application", "association", "businessman", "calculation", "competition", "composition", "convenience", "cultivation", "description", "destruction", "destructive", "distinguish", "electrician", "everlasting", "grammatical", "handwriting", "imaginative", "influential", "manufacture", "opportunity", "performance", "photography", "recognition", "responsible", "sympathetic", "temperature", "translation"], "10": ["altogether", "appearance", "artificial", "attraction", "attractive", "calculator", "collection", "commercial", "comparison", "competitor", "completion", "complicate", "confession", "confidence", "connection", "conscience", "convenient", "correction", "cultivator", "department", "dependence", "descendant", "dictionary", "difference", "difficulty", "disappoint", "disapprove", "discipline", "discomfort", "discontent", "discussion", "disrespect", "dissatisfy", "efficiency", "especially", "everything", "everywhere", "excellence", "experience", "experiment", "expression", "fellowship", "friendship", "hesitation", "homecoming", "horizontal", "importance", "impossible", "instrument", "leadership", "literature", "membership", "moderation", "motherhood", "opposition", "particular", "perfection", "permission", "persuasion", "photograph", "politician", "population", "possession", "preference", "prevention", "procession", "production", "profession", "protection", "reasonable", "reflection", "repetition", "reputation", "resistance", "restaurant", "scientific", "separation", "simplicity", "straighten", "strengthen", "suggestion", "suspicious", "theatrical", "translator", "underneath", "understand", "university"], "2": ["as", "at", "be", "by", "do", "go", "he", "if", "in", "it", "no", "of", "on", "or", "so", "to", "up", "we"], "12": ["businesslike", "complication", "confidential", "congratulate", "conversation", "handkerchief", "interference", "interruption", "introduction", "neighborhood", "reproduction", "satisfaction", "satisfactory"], "14": ["classification", "congratulation", "multiplication", "representative"], "13": ["companionship", "disappearance", "extraordinary", "international", "old-fashioned", "pronunciation", "qualification"], "15": ["dissatisfaction"]}, "hex_leet": {"1": ["a", "1"], "7": ["ba66a63", "b351d35", "ca917a1", "c0113c7", "c011363", "c077a63", "d311647", "d153a53", "31a571c", "9a55a63", "9055355", "531f154", "593c1a1", "70bacc0"], "4": ["ab13", "ac43", "a150", "ba11", "ba53", "ba74", "b3a7", "b311", "b317", "b357", "b111", "b173", "b0a7", "b011", "b01d", "b074", "ca63", "ca11", "ca93", "ca53", "c0a1", "c0a7", "c01d", "c001", "c057", "da73", "d3ad", "d3af", "d3a1", "d3b7", "d33d", "d339", "d154", "3ac4", "3a53", "3a57", "3d63", "3153", "fac3", "fac7", "fad3", "fa11", "fa11", "fa57", "fa73", "f33d", "f331", "f111", "f154", "f1a6", "f1a7", "f01d", "f00d", "f001", "f007", "6a73", "61f7", "61ad", "60a7", "601d", "600d", "4a1f", "4a11", "4a73", "43ad", "43a1", "43a9", "43a7", "4319", "41d3", "4164", "4111", "401d", "4013", "4093", "4057", "1d3a", "1d13", "1a57", "1a73", "13ad", "13af", "13f7", "1355", "11f3", "11f7", "1157", "10ad", "10af", "1053", "1055", "9a63", "9a13", "9a55", "9a57", "9a74", "9113", "9193", "9037", "9001", "9057", "5af3", "5a11", "5a13", "5a17", "53a7", "533d", "531f", "5311", "5419", "5403", "5409", "51d3", "5119", "50a9", "50f7", "5011", "5917", "5907", "5739", "5709", "7a11", "7a11", "7311", "7357", "74a7", "7415", "71d3", "7111", "7001"], "5": ["ad097", "a43ad", "a9913", "a51d3", "ba51c", "ba515", "ba743", "b3a57", "b1ad3", "b133d", "b1355", "b100d", "b0a57", "ca7c4", "c43a9", "c43a7", "c4357", "c413f", "c411d", "c1a55", "c11ff", "c1053", "c1074", "c0a57", "d3a74", "d3974", "d17c4", "313c7", "fa174", "fa153", "f3a57", "f131d", "f1647", "f1a54", "f1354", "f10a7", "f100d", "61a55", "4ab17", "4a573", "43110", "40731", "1d3a1", "13a57", "11647", "10ca1", "10d63", "10053", "9a573", "93ac3", "913c3", "91ac3", "91a73", "5ca13", "5c01d", "54ad3", "54a11", "54a93", "54339", "54337", "5431f", "54311", "54007", "51647", "51339", "511d3", "51093", "5011d", "59ac3", "59ad3", "5933d", "59311", "59111", "59173", "59117", "59011", "57aff", "57a63", "57a73", "57331", "57339", "571ff", "57111", "7ab13", "7a573", "73ac4", "74353", "7413f", "74053", "71647", "71713", "70074", "707a1"], "6": ["acc397", "a51339", "ba7713", "b3113f", "b351d3", "b07713", "ca5713", "ca7713", "c43353", "c401c3", "c40053", "c10743", "c0ff33", "d3c317", "d3c1d3", "d3f3a7", "d37a11", "3ff3c7", "35ca93", "43a174", "431647", "117713", "0ff1c3", "099053", "930913", "913a53", "9011c3", "901154", "901173", "5add13", "5c4001", "537713", "54131d", "511647", "50c1a1", "5933c4", "57a913"], "8": ["d311ca73", "43adac43", "43517a73", "405917a1", "0ff1c1a1", "09905173", "901171c5", "90551b13"], "3": ["ac7", "add", "a63", "a60", "a11", "a54", "bad", "ba6", "b3d", "b36", "b16", "b17", "ca9", "ca7", "d13", "d16", "d19", "d06", "d07", "3a7", "366", "fa7", "f17", "6a9", "6a5", "637", "60d", "4a7", "417", "407", "1c3", "111", "136", "137", "11d", "113", "119", "106", "107", "0ff", "011", "01d", "9ad", "937", "916", "907", "5ad", "53a", "533", "537", "543", "517", "7a9", "73a", "743", "713", "719", "703", "700", "709"], "9": ["c411d400d", "901171ca1"], "2": ["a5", "a7", "b3", "d0", "60", "43", "1f", "17", "0f", "50", "70"]}, "leet": {"1": ["a", "1"], "7": ["ab1l17y", "ab53nc3", "accoun7", "ac7r355", "addr355", "advanc3", "aga1n57", "alr3ady", "alr33dy", "among57", "anc13n7", "ano7h3r", "anx137y", "anx1ou5", "anybody", "apology", "applaud", "appo1n7", "approv3", "arrang3", "ar71cl3", "a5ham3d", "a773mp7", "a77rac7", "av3rag3", "awkward", "baggag3", "balanc3", "barga1n", "ba773ry", "b3cau53", "b3droom", "b3l13v3", "b3n3a7h", "b3n337h", "b351d35", "b37w33n", "b1cycl3", "brav3ry", "br3ad7h", "br33d7h", "br3a7h3", "br337h3", "br1b3ry", "bro7h3r", "cap17al", "cap7a1n", "cau71on", "c3n7ury", "c3r7a1n", "ch1ck3n", "ch1mn3y", "c171z3n", "coll3c7", "coll3g3", "comb1n3", "comfor7", "command", "company", "compar3", "comp373", "compo53", "conc3rn", "conf355", "confu53", "conn3c7", "conqu3r", "con7a1n", "con73n7", "con7rol", "corr3c7", "co77ag3", "counc1l", "coun7ry", "courag3", "cur1ou5", "curr3n7", "cur7a1n", "cu5h1on", "d3c31v3", "d3clar3", "d3f3n53", "d3l1gh7", "d3l1v3r", "d35c3nd", "d35c3n7", "d353rv3", "d35pa1r", "d357roy", "d3v3lop", "d1amond", "d15cu55", "d153a53", "d153353", "d15gu57", "d15m155", "d157an7", "d157urb", "3arn357", "33rn357", "3a573rn", "33573rn", "3duca73", "3la571c", "3nclo53", "3ngl15h", "3553nc3", "3v3n1ng", "3xam1n3", "3xampl3", "3xp3n53", "3xpla1n", "3xplod3", "3xplor3", "3xpr355", "3x7r3m3", "fac7ory", "fa1lur3", "fa5h1on", "f3a7h3r", "f337h3r", "fla773n", "for31gn", "forg1v3", "for7un3", "forward", "fr33dom", "fun3ral", "furn15h", "fur7h3r", "g3n3ral", "gradual", "grammar", "harv357", "h1ghway", "h157ory", "hol1day", "hon357y", "hor1zon", "how3v3r", "hu5band", "1mag1n3", "1m17a73", "1mm3n53", "1mprov3", "1nclud3", "1nqu1r3", "1nqu1ry", "1n57an7", "1n573ad", "1n5733d", "j3alou5", "j33lou5", "journ3y", "ju571c3", "k1ngdom", "k17ch3n", "l3a7h3r", "l337h3r", "l1b3r7y", "l1brary", "l1gh73n", "loyal7y", "mach1n3", "mank1nd", "m3a5ur3", "m335ur3", "m3d1cal", "m3n71on", "m355ag3", "m1n3ral", "m157ak3", "m1x7ur3", "mod357y", "morn1ng", "my573ry", "n3gl3c7", "n317h3r", "n37work", "no7h1ng", "nowh3r3", "nur53ry", "ob53rv3", "off3n53", "off1c3r", "op3ra73", "op1n1on", "ou7l1n3", "ou751d3", "ou7ward", "packag3", "par7n3r", "pa55ag3", "pa713n7", "pa773rn", "p3rf3c7", "p3rform", "p3rhap5", "p1c7ur3", "pla573r", "popular", "po55355", "pov3r7y", "pr3par3", "pr353n7", "pr373nd", "pr3v3n7", "pr1va73", "probl3m", "produc3", "produc7", "program", "prom153", "propo53", "pro73c7", "prov1d3", "purpo53", "qual1fy", "qual17y", "quarr3l", "quar73r", "r3al1z3", "r33l1z3", "r3c31p7", "r3c31v3", "r3fl3c7", "r3fr35h", "r3gular", "r3jo1c3", "r3l13v3", "r3plac3", "r3qu357", "r353rv3", "r35p3c7", "r3v3ng3", "r1valry", "robb3ry", "royal7y", "rubb15h", "5a715fy", "5ca773r", "5c3n3ry", "5c13nc3", "5cra7ch", "53cr3cy", "53lf15h", "53r1ou5", "53rvan7", "53rv1c3", "53v3ral", "5hallow", "5harp3n", "5h3l73r", "5hor73n", "51l3nc3", "51nc3r3", "5lav3ry", "5oc137y", "5old13r", "5om3how", "5om3on3", "5p3c1al", "57a71on", "571ff3n", "57omach", "57rang3", "57r37ch", "57ud3n7", "5ubj3c7", "5ucc33d", "5ucc355", "5ugg357", "5uppor7", "5uppo53", "5urfac3", "5u5p3c7", "5wallow", "5w3373n", "7h3a73r", "7h3373r", "7h1ck3n", "7hrough", "7hund3r", "71gh73n", "7obacco", "7on1gh7", "7r3mbl3", "7roubl3", "upr1gh7", "var137y", "var1ou5", "v1c7ory", "v1llag3", "v1ol3n7", "v1517or", "w3a7h3r", "w337h3r", "w33kday", "w33k3nd", "w3lcom3", "w3573rn", "wh37h3r", "wh15p3r", "wh157l3", "who3v3r", "w1dow3r", "w17hou7", "w17n355", "wor5h1p"], "4": ["abl3", "ach3", "al5o", "arch", "army", "aun7", "away", "baby", "back", "bak3", "ball", "band", "bank", "bar3", "ba53", "ba7h", "b3ak", "b33k", "b3am", "b33m", "b3an", "b33n", "b3ar", "b33r", "b3a7", "b337", "b3ll", "b3l7", "b3nd", "b357", "b1ll", "b1nd", "b1rd", "b173", "blow", "blu3", "boa7", "body", "bo1l", "bold", "bon3", "book", "bo7h", "bowl", "burn", "bury", "bu5h", "bu5y", "cag3", "cak3", "call", "calm", "camp", "cap3", "card", "car3", "car7", "ca53", "cav3", "c3n7", "c17y", "clay", "club", "coal", "coa7", "co1n", "cold", "comb", "com3", "cook", "cool", "copy", "cork", "corn", "co57", "crop", "cur3", "curl", "damp", "dar3", "dark", "da73", "d3ad", "d33d", "d3af", "d33f", "d3al", "d33l", "d3ar", "d33r", "d3b7", "d33d", "d33p", "d33r", "d35k", "d1n3", "d1r7", "d15h", "d1v3", "door", "down", "drag", "draw", "drop", "drum", "duck", "dull", "du57", "du7y", "3ach", "33ch", "3arn", "33rn", "3a53", "3353", "3a57", "3357", "3a5y", "335y", "3dg3", "3l53", "3nvy", "3v3n", "3v3r", "3v1l", "fac3", "fac7", "fad3", "fa1l", "fa1r", "fall", "fam3", "farm", "fa57", "fa73", "f3ar", "f33r", "f33d", "f33l", "f1ll", "f1lm", "f1nd", "f1n3", "f1r3", "f1rm", "f15h", "flag", "fla7", "flow", "fold", "fond", "food", "fool", "foo7", "fork", "form", "fr33", "from", "full", "ga1n", "gam3", "ga73", "g1f7", "g1rl", "g1v3", "glad", "goa7", "gold", "good", "gray", "grow", "ha1r", "half", "hall", "hand", "hang", "hard", "harm", "ha73", "hav3", "h3ad", "h33d", "h3al", "h33l", "h3ap", "h33p", "h3ar", "h33r", "h3a7", "h337", "h3lp", "h3r3", "h1d3", "h1gh", "h1ll", "h1r3", "hold", "hol3", "holy", "hom3", "hook", "hop3", "ho57", "hour", "hun7", "hur7", "1d3a", "1d33", "1dl3", "1nch", "1n7o", "1ron", "jo1n", "jok3", "jump", "ju57", "k33p", "k1ck", "k1ll", "k1nd", "k1ng", "k155", "kn33", "kno7", "know", "lack", "lady", "lak3", "lamp", "land", "la57", "la73", "lazy", "l3ad", "l33d", "l3af", "l33f", "l3an", "l33n", "l3f7", "l3nd", "l355", "l1ar", "l1f3", "l1f7", "l1k3", "l1mb", "l1n3", "l157", "l1v3", "load", "loaf", "loan", "lock", "long", "look", "lord", "lo53", "lo55", "loud", "lov3", "luck", "lump", "lung", "ma1l", "ma1n", "mak3", "mal3", "many", "mark", "ma55", "m3al", "m33l", "m3an", "m33n", "m3a7", "m337", "m337", "m3l7", "m3nd", "m3r3", "m1ld", "m1l3", "m1lk", "m1ll", "m1nd", "m1n3", "m155", "moon", "mor3", "mo57", "mov3", "much", "mu57", "na1l", "nam3", "n3ar", "n33r", "n3a7", "n337", "n3ck", "n33d", "n357", "n3w5", "n3x7", "n1c3", "non3", "noon", "no53", "no73", "noun", "ob3y", "om17", "onc3", "only", "on7o", "op3n", "ov3r", "pack", "pag3", "pa1n", "pa1r", "pal3", "park", "par7", "pa55", "pa57", "pa7h", "p1ck", "p1l3", "p1nk", "p1n7", "p1p3", "p17y", "plan", "play", "plow", "po3m", "po37", "pool", "poor", "po57", "pour", "pray", "pull", "pump", "pur3", "pu5h", "rac3", "ra1l", "ra1n", "rak3", "rank", "rar3", "ra73", "r3ad", "r33d", "r3al", "r33l", "r3n7", "r357", "r1c3", "r1ch", "r1d3", "r1ng", "r1p3", "r153", "r15k", "road", "roar", "rock", "roll", "roof", "room", "roo7", "rop3", "rud3", "ru1n", "rul3", "ru5h", "ru57", "5af3", "5a1l", "5ak3", "5al3", "5al7", "5am3", "5and", "5av3", "53a7", "5337", "533d", "533m", "53lf", "53ll", "53nd", "5h1p", "5ho3", "5hop", "5how", "5hu7", "51ck", "51d3", "51gn", "51lk", "51ng", "51nk", "51z3", "5k1n", "5l1p", "5low", "5now", "5oap", "5ock", "5of7", "5o1l", "5om3", "5ong", "5oon", "5or3", "5or7", "5oul", "5oup", "5our", "5p1n", "5p17", "5po7", "57ar", "57ay", "573m", "573p", "571r", "57op", "5uch", "5uck", "5u17", "5ur3", "5w1m", "7a1l", "7ak3", "7alk", "7all", "7am3", "7ax1", "73ar", "733r", "73ll", "73nd", "73n7", "73rm", "7357", "7han", "7ha7", "7h3n", "7h3y", "7h1n", "7h15", "7hu5", "71d3", "71dy", "71ll", "71m3", "71r3", "7ool", "7our", "7own", "7rap", "7ray", "7r33", "7r1p", "7ru3", "7ub3", "7un3", "7urn", "7yp3", "ugly", "un17", "upon", "urg3", "va1n", "v31l", "v3rb", "v3ry", "v13w", "vo73", "wag3", "wa17", "wak3", "walk", "wall", "wan7", "warm", "warn", "wa5h", "wav3", "w3ak", "w33k", "w3ar", "w33r", "w33d", "w33k", "w3ll", "w357", "wha7", "wh3n", "wh1p", "whom", "w1d3", "w1f3", "w1ld", "w1ll", "w1nd", "w1n3", "w1ng", "w1p3", "w1r3", "w153", "w15h", "w17h", "wood", "wool", "word", "work", "worm", "wrap", "yard", "y3ar", "y33r", "z3ro"], "5": ["abou7", "abov3", "ac7or", "adm17", "adop7", "af73r", "aga1n", "ag3n7", "agr33", "ah3ad", "ah33d", "al1k3", "al1v3", "allow", "alon3", "along", "aloud", "among", "amu53", "ang3r", "angl3", "angry", "annoy", "apar7", "appl3", "apply", "argu3", "ar153", "arrow", "a51d3", "avo1d", "awak3", "ba51c", "ba51n", "ba515", "ba7h3", "b3ard", "b33rd", "b3a57", "b3357", "b3g1n", "b31ng", "b3low", "b3rry", "b1r7h", "black", "blad3", "blam3", "bl33d", "bl355", "bl1nd", "block", "blood", "board", "boa57", "bound", "bra1n", "bra55", "brav3", "br3ad", "br33d", "br3ak", "br33k", "br1b3", "br1ck", "br1ng", "broad", "brown", "bru5h", "bu1ld", "bunch", "bur57", "canal", "carry", "ca7ch", "cau53", "cha1n", "cha1r", "chalk", "charm", "ch3ap", "ch33p", "ch3a7", "ch337", "ch3ck", "ch33r", "ch357", "ch13f", "ch1ld", "cla1m", "cla55", "cl3an", "cl33n", "cl3ar", "cl33r", "cl3rk", "cl1ff", "cl1mb", "clock", "clo53", "clo7h", "cloud", "coa57", "color", "cough", "could", "coun7", "cour7", "cov3r", "crack", "cra5h", "cr3am", "cr33m", "cr33p", "cr1m3", "cro55", "crowd", "crown", "cru3l", "cru5h", "cur53", "curv3", "da1ly", "danc3", "d3a7h", "d337h", "d3cay", "d3lay", "d3p7h", "d3v1l", "d17ch", "doub7", "doz3n", "dr3am", "dr33m", "dr355", "dr1nk", "dr1v3", "drown", "3ag3r", "33g3r", "3arly", "33rly", "3ar7h", "33r7h", "3ld3r", "3l3c7", "3mp7y", "3n3my", "3njoy", "3n73r", "3qual", "3v3n7", "3v3ry", "3xac7", "3x157", "3x7ra", "fa1n7", "fa17h", "fal53", "fancy", "faul7", "favor", "f3a57", "f3357", "f3nc3", "f3v3r", "f13ld", "f1gh7", "f1r57", "flam3", "fla5h", "fl35h", "floa7", "flood", "floor", "flour", "forc3", "for7h", "fram3", "fr35h", "fron7", "fru17", "funny", "gla55", "glory", "grac3", "gra1n", "grand", "gra55", "grav3", "gr3a7", "gr337", "gr33d", "gr33n", "gr337", "gr1nd", "group", "guard", "gu355", "gu357", "gu1d3", "gu1l7", "hab17", "happy", "ha573", "h3ar7", "h33r7", "h3avy", "h33vy", "h3llo", "honor", "hor53", "ho73l", "hou53", "human", "hurry", "1d3al", "1d33l", "j3w3l", "jo1n7", "judg3", "ju1c3", "kn33l", "kn1f3", "knock", "larg3", "laugh", "l3arn", "l33rn", "l3a57", "l3357", "l3av3", "l33v3", "l3v3l", "l1gh7", "l1m17", "local", "lodg3", "loo53", "loyal", "lunch", "march", "marry", "ma7ch", "mayb3", "m3rcy", "m3rry", "m37al", "m1gh7", "mod3l", "mon3y", "mon7h", "moral", "mo7or", "mou53", "mou7h", "mu51c", "n3v3r", "n13c3", "n1gh7", "nobl3", "no153", "nor7h", "nur53", "oc3an", "oc33n", "off3r", "of73n", "ord3r", "organ", "o7h3r", "ough7", "ounc3", "pa1n7", "pap3r", "par7y", "pa573", "pau53", "p3ac3", "p33c3", "p3arl", "p33rl", "p3nny", "p13c3", "p1nch", "plac3", "pla1n", "plan7", "pla73", "po1n7", "pound", "pow3r", "pr355", "pr1c3", "pr1d3", "pr1n7", "pr1z3", "proof", "proud", "prov3", "pup1l", "quar7", "qu33n", "qu1ck", "qu137", "qu173", "rad1o", "ra153", "rap1d", "razor", "r3ach", "r33ch", "r3ady", "r33dy", "r3f3r", "r3ply", "r1gh7", "r1p3n", "r1val", "r1v3r", "roa57", "rough", "round", "royal", "5auc3", "5cal3", "5c3n3", "5c3n7", "5cold", "5corn", "5cr3w", "531z3", "53n53", "53rv3", "5had3", "5hak3", "5hall", "5ham3", "5hap3", "5har3", "5harp", "5hav3", "5h33p", "5h337", "5h3lf", "5h3ll", "5h1n3", "5h1r7", "5hock", "5hoo7", "5hor3", "5hor7", "5hou7", "51gh7", "51nc3", "5k1ll", "5k1r7", "5lav3", "5l33p", "5l1d3", "5lop3", "5mall", "5m3ll", "5m1l3", "5mok3", "5nak3", "5ol1d", "5olv3", "5orry", "5ound", "5ou7h", "5pac3", "5pad3", "5par3", "5p3ak", "5p33k", "5p33d", "5p3ll", "5p3nd", "5p1ll", "5p173", "5pl17", "5po1l", "5poon", "5por7", "57aff", "57ag3", "57a1n", "57a1r", "57amp", "57and", "57ar7", "57a73", "573am", "5733m", "5733l", "5733p", "5733r", "571ck", "571ff", "571ll", "571ng", "57ock", "57on3", "57or3", "57orm", "57ory", "57ov3", "57rap", "57raw", "57r1p", "57udy", "57uff", "5ugar", "5w3ar", "5w33r", "5w3a7", "5w337", "5w33p", "5w337", "5w3ll", "5w1ng", "5word", "7abl3", "7a573", "73ach", "733ch", "73mp7", "7hank", "7h3r3", "7h353", "7h1ck", "7h13f", "7h1ng", "7h1nk", "7horn", "7ho53", "7hrow", "7humb", "71gh7", "717l3", "7oday", "7oo7h", "7o7al", "7ouch", "7ough", "7ow3l", "7ow3r", "7rack", "7rad3", "7ra1n", "7r3a7", "7r337", "7r1al", "7r1b3", "7r1ck", "7runk", "7ru57", "7ru7h", "7w157", "uncl3", "und3r", "un1on", "un173", "un17y", "un71l", "upp3r", "up537", "u5ual", "valu3", "v3r53", "v1517", "vo1c3", "vow3l", "wa157", "wa573", "wa7ch", "wa73r", "w3av3", "w33v3", "w31gh", "wh3a7", "wh337", "wh33l", "wh3r3", "wh1ch", "wh1l3", "wh173", "whol3", "who53", "w1d3n", "w1dow", "w1d7h", "woman", "world", "worry", "wor53", "wor7h", "would", "wound", "wr3ck", "wr157", "wr173", "wrong", "y13ld", "young", "you7h"], "6": ["abroad", "ab53n7", "acc3p7", "accord", "accu53", "acro55", "ac71on", "ac71v3", "ac7ual", "adm1r3", "adv1c3", "adv153", "affa1r", "afford", "afra1d", "ag3ncy", "almo57", "alway5", "amoun7", "an1mal", "an5w3r", "anyhow", "anyon3", "anyway", "app3ar", "app33r", "around", "arr357", "arr1v3", "a5l33p", "a77ack", "a773nd", "au7umn", "av3nu3", "barb3r", "barr3l", "ba5k37", "ba77l3", "b3au7y", "b33u7y", "b3com3", "b3for3", "b3hav3", "b3h1nd", "b3l13f", "b3long", "b351d3", "b3773r", "b3yond", "b1773r", "bord3r", "borrow", "bo77l3", "bo77om", "branch", "br3a7h", "br337h", "br1dg3", "br1gh7", "buck37", "bundl3", "bu773r", "bu77on", "cam3ra", "ca57l3", "ca77l3", "c3n73r", "chanc3", "chang3", "charg3", "ch3353", "cho1c3", "choo53", "church", "c1rcl3", "cl3v3r", "clo7h3", "coar53", "coff33", "collar", "colony", "common", "copp3r", "corn3r", "co77on", "cour53", "cou51n", "coward", "cr171c", "cu57om", "damag3", "dang3r", "dark3n", "d3af3n", "d33f3n", "d3c317", "d3c1d3", "d33p3n", "d3f3a7", "d3f337", "d3f3nd", "d3gr33", "d3mand", "d3p3nd", "d353r7", "d351r3", "d37a1l", "d1nn3r", "d1r3c7", "d1v1d3", "doc7or", "dollar", "donk3y", "doubl3", "draw3r", "dur1ng", "3ff3c7", "3ffor7", "317h3r", "3mp1r3", "3mploy", "3ng1n3", "3nough", "3n71r3", "35cap3", "3xc3p7", "3xc355", "3xc173", "3xcu53", "3xp3c7", "3x73nd", "3x73n7", "fam1ly", "fa573n", "fa7h3r", "fa773n", "f3llow", "f3mal3", "f13rc3", "f1gur3", "f1ng3r", "f1n15h", "flavor", "flow3r", "follow", "forb1d", "for357", "forg37", "formal", "form3r", "fr33z3", "fr13nd", "fr1gh7", "fu7ur3", "ga137y", "gallon", "garag3", "gard3n", "ga7h3r", "g3n7l3", "gold3n", "gov3rn", "gr3a53", "gr3353", "ground", "grow7h", "hamm3r", "handl3", "happ3n", "harbor", "hard3n", "hardly", "ha573n", "ha7r3d", "h3al7h", "h33l7h", "h3av3n", "h33v3n", "h31gh7", "h1nd3r", "hollow", "hon357", "humbl3", "hung3r", "hurrah", "1nd33d", "1ndoor", "1nform", "1n53c7", "1n51d3", "1n5ul7", "1n5ur3", "1n73nd", "1nv3n7", "1nv173", "1nward", "15land", "ladd3r", "la73ly", "la773r", "lawy3r", "l3ng7h", "l3553n", "l355on", "l3773r", "l1k3ly", "l1qu1d", "l1573n", "l177l3", "lon3ly", "loo53n", "lov3ly", "madd3n", "manag3", "mann3r", "mark37", "ma573r", "ma773r", "m3mb3r", "m3mory", "m1ddl3", "m1nu73", "m153ry", "mod3rn", "mod357", "mom3n7", "monk3y", "mo7h3r", "mo71on", "murd3r", "narrow", "na71on", "na71v3", "na7ur3", "n33dl3", "n3ph3w", "nobody", "no71c3", "numb3r", "obj3c7", "off3nd", "off1c3", "oppo53", "orang3", "or1g1n", "parc3l", "pardon", "par3n7", "pa57ry", "p3nc1l", "p3opl3", "p3rm17", "p3r5on", "p1g3on", "pl3a53", "pl3353", "pl3n7y", "plural", "pock37", "po15on", "pol1c3", "pol15h", "pol173", "powd3r", "pra153", "pr3ach", "pr33ch", "pr3f3r", "pr377y", "pr1357", "pr15on", "prof17", "promp7", "prop3r", "publ1c", "pun15h", "purpl3", "puzzl3", "rabb17", "ra7h3r", "r3a5on", "r335on", "r3c3n7", "r3cord", "r3dd3n", "r3duc3", "r3fu53", "r3gard", "r3gr37", "r3la73", "r3l13f", "r3ma1n", "r3mark", "r3m3dy", "r3m1nd", "r3pa1r", "r3p3a7", "r3p337", "r3por7", "r35cu3", "r351gn", "r35157", "r35ul7", "r371r3", "r37urn", "r3v13w", "r3ward", "r1bbon", "ro773n", "rubb3r", "5acr3d", "5add3n", "5addl3", "5af37y", "5a1lor", "5alary", "5ampl3", "5auc3r", "5carc3", "5chool", "5crap3", "5cr33n", "53arch", "533rch", "53a5on", "5335on", "53cond", "53cr37", "53ldom", "5377l3", "53v3r3", "5hadow", "5h13ld", "5hould", "5how3r", "51gnal", "51l3n7", "51lv3r", "51mpl3", "51ngl3", "51573r", "5l1gh7", "5moo7h", "5oc1al", "5of73n", "5ol3mn", "5orrow", "5p33ch", "5p1r17", "5pr3ad", "5pr33d", "5pr1ng", "5quar3", "57apl3", "573ady", "5733dy", "57r3am", "57r33m", "57r337", "57r1c7", "57r1k3", "57r1ng", "57r1p3", "57rok3", "57rong", "57up1d", "5udd3n", "5uff3r", "5umm3r", "5upp3r", "5upply", "5y573m", "7a1lor", "73mp3r", "73mpl3", "73nd3r", "7h1r57", "7hough", "7hr3ad", "7hr33d", "7hr3a7", "7hr337", "7hroa7", "71ck37", "7ongu3", "7oward", "7rav3l", "unl355", "urg3n7", "vall3y", "v3553l", "v1r7u3", "voyag3", "wa173r", "wand3r", "warm7h", "w3ak3n", "w33k3n", "w3al7h", "w33l7h", "w3apon", "w33pon", "w31gh7", "wh173n", "w1ck3d", "w1ndow", "w1n73r", "w15dom", "w17h1n", "wond3r", "wood3n", "wool3n", "y3llow"], "8": ["ab5olu73", "acc1d3n7", "accu57om", "adop71on", "a1rplan3", "al7hough", "amb171on", "any7h1ng", "anywh3r3", "applau53", "a57on15h", "aud13nc3", "backward", "b3hav1or", "boundary", "br1gh73n", "bu51n355", "carr1ag3", "cau71ou5", "c3r3mony", "cha1rman", "c1rcular", "c1v1l1z3", "cla551fy", "comm3rc3", "compla1n", "compl373", "conqu357", "con51d3r", "con71nu3", "cr3a7ur3", "cr337ur3", "cr1m1nal", "cupboard", "cu57om3r", "daugh73r", "dayl1gh7", "d3c151on", "d3c151v3", "d3cr3a53", "d3cr3353", "d3l1ca73", "d3l1v3ry", "d35cr1b3", "d1r3c7or", "d15agr33", "d15cov3r", "d157anc3", "d157r1c7", "d1v151on", "3duca7or", "3l3c71on", "3l3c7r1c", "3l3phan7", "3mploy33", "3ng1n33r", "3n7ranc3", "3nv3lop3", "3v3ryday", "3v3ryon3", "3xchang3", "3x3rc153", "fam1l1ar", "favor173", "fr3qu3n7", "fr13ndly", "fr1gh73n", "g3n3rou5", "gov3rnor", "gra73ful", "h3adach3", "h33dach3", "h3av3nly", "h33v3nly", "h31gh73n", "h3517a73", "hom3mad3", "hom3work", "ho5p17al", "1ncr3a53", "1ncr3353", "1ndu57ry", "1n73r357", "1nv3n7or", "j3alou5y", "j33lou5y", "landlord", "languag3", "laugh73r", "l3ng7h3n", "l1p571ck", "l173rary", "marr1ag3", "ma73r1al", "m3an71m3", "m33n71m3", "m3chan1c", "m3d1c1n3", "m3rchan7", "m1n1573r", "mod3ra73", "mor3ov3r", "mo7h3rly", "moun7a1n", "mul71ply", "mu51c1an", "n31ghbor", "nor7h3rn", "no73book", "nowaday5", "nu15anc3", "num3rou5", "ob3d13n7", "occa51on", "off1c1al", "om1551on", "op3ra7or", "oppo5173", "ord1nary", "organ1z3", "ornam3n7", "ov3rcom3", "ov3rflow", "par71cl3", "pa713nc3", "p3cul1ar", "p3r5uad3", "pl3a5an7", "pl335an7", "pl3a5ur3", "pl335ur3", "pol171c5", "po5171on", "po551bl3", "po57pon3", "prac71c3", "pr3c1ou5", "pr353nc3", "pr353rv3", "pr355ur3", "pr373n53", "probabl3", "progr355", "prop3r7y", "propo5al", "punc7ual", "quan717y", "qu3571on", "ra1lroad", "r3la71on", "r3la71v3", "r3l1g1on", "r3m3mb3r", "r3publ1c", "5al35man", "5c155or5", "53n73nc3", "53para73", "5h1ll1ng", "5hould3r", "5l1pp3ry", "5olu71on", "5om3body", "5om371m3", "5pl3nd1d", "57andard", "57ock1ng", "57ra1gh7", "57r3ng7h", "57ruggl3", "5urpr153", "5urround", "5ympa7hy", "73rr1bl3", "7horough", "7hr3a73n", "7hr3373n", "7og37h3r", "7omorrow", "7r3a5ur3", "7r335ur3", "7r3a5ury", "7r335ury", "umbr3lla", "un1v3r53", "valuabl3", "v1ol3nc3", "wha73v3r", "wh3n3v3r", "wh3r3v3r"], "3": ["ac7", "add", "ag3", "ago", "a1m", "a1r", "all", "and", "any", "arm", "ar7", "a5h", "a5k", "ax3", "bad", "bag", "bar", "bay", "b3d", "b3g", "b1g", "b17", "bow", "box", "boy", "bu5", "bu7", "buy", "can", "cap", "car", "ca7", "cow", "cry", "cup", "cu7", "day", "d13", "d1g", "d1p", "dog", "do7", "dry", "du3", "3ar", "33r", "3a7", "337", "3gg", "3nd", "3y3", "fan", "far", "fa7", "f3w", "f17", "f1x", "fly", "for", "fry", "fun", "fur", "gap", "ga5", "gay", "g37", "god", "gun", "ha7", "hay", "h17", "ho7", "how", "hu7", "1c3", "1ll", "1nk", "1nn", "jaw", "joy", "k3y", "law", "lay", "l3g", "l37", "l1d", "l13", "l1p", "log", "lo7", "low", "mad", "man", "map", "ma7", "may", "m1x", "mud", "n37", "n3w", "nor", "no7", "now", "nu7", "oar", "off", "o1l", "old", "on3", "ou7", "ow3", "own", "pad", "pan", "paw", "pay", "p3n", "p3r", "p37", "p1g", "p1n", "po7", "pu7", "raw", "ray", "r3d", "r1d", "rob", "rod", "ro7", "row", "rub", "rug", "run", "5ad", "5aw", "5ay", "53a", "533", "533", "537", "53w", "5h3", "51r", "517", "5ky", "5on", "5ow", "5un", "7ap", "7ax", "73a", "733", "7h3", "713", "71n", "71p", "7o3", "7on", "7oo", "7op", "7oy", "7ry", "u53", "war", "wax", "way", "w37", "who", "why", "w1n", "y35", "y37", "you"], "9": ["adm1551on", "advan7ag3", "adv3n7ur3", "adv3r7153", "af73rnoon", "allowanc3", "amb171ou5", "annoyanc3", "a773n71on", "a773n71v3", "avo1danc3", "br3akfa57", "br33kfa57", "broadca57", "calcula73", "c3r7a1n7y", "charac73r", "ch1ldhood", "chr157ma5", "coll3c7or", "comm17733", "compan1on", "compla1n7", "cond171on", "conf1d3n7", "confu51on", "conqu3ror", "con5c1ou5", "coward1c3", "cul71va73", "cu57omary", "d3f3ndan7", "d3p3nd3n7", "d373rm1n3", "d1ff3r3n7", "d1ff1cul7", "d1r3c71on", "d15app3ar", "d15app33r", "d15cov3ry", "d15r3gard", "3duca71on", "3ff3c71v3", "3ff1c13n7", "3l53wh3r3", "3nclo5ur3", "3ncourag3", "3n73r7a1n", "3553n71al", "3v3rybody", "3xc3ll3n7", "3xc3p71on", "3xc3551v3", "3x1573nc3", "3xp3n51v3", "3xplo51on", "3xplo51v3", "3x73n51on", "3x73n51v3", "for7una73", "fram3work", "fr3qu3ncy", "furn17ur3", "g3n7l3man", "hand5hak3", "h3addr355", "h33ddr355", "h1ndranc3", "1mag1nary", "1m17a71on", "1mm3d1a73", "1mpor7an7", "1nclu51v3", "1nflu3nc3", "1n5uranc3", "1n73n71on", "1n73rf3r3", "1n73rrup7", "1n7roduc3", "1nv3n71on", "knowl3dg3", "l1brar1an", "mach1n3ry", "m3anwh1l3", "m33nwh1l3", "m3chan15m", "m3553ng3r", "m153rabl3", "mom3n7ary", "moonl1gh7", "n3c355ary", "n3c35517y", "n3w5pap3r", "ob3d13nc3", "obj3c71on", "op3ra71on", "o7h3rw153", "own3r5h1p", "pa553ng3r", "pa7r1o71c", "p3rman3n7", "pol171cal", "po55355or", "prac71cal", "pr3jud1c3", "pr351d3n7", "pronounc3", "r3cogn1z3", "r3comm3nd", "r3duc71on", "r3f3r3nc3", "r3pr353n7", "r3produc3", "5acr1f1c3", "5c13n7157", "53cr37ary", "53n5171v3", "51gna7ur3", "517ua71on", "5om37h1ng", "5om371m35", "5om3wh3r3", "5ub57anc3", "5u5p1c1on", "73l3graph", "73l3phon3", "7h3r3for3", "7ran5la73", "un1v3r5al", "upp3rmo57", "wh1ch3v3r", "y3573rday"], "11": ["agr1cul7ur3", "appl1ca71on", "a55oc1a71on", "bu51n355man", "calcula71on", "comp37171on", "compo5171on", "conv3n13nc3", "cul71va71on", "d35cr1p71on", "d357ruc71on", "d357ruc71v3", "d1571ngu15h", "3l3c7r1c1an", "3v3rla571ng", "gramma71cal", "handwr171ng", "1mag1na71v3", "1nflu3n71al", "manufac7ur3", "oppor7un17y", "p3rformanc3", "pho7ography", "r3cogn171on", "r35pon51bl3", "5ympa7h371c", "73mp3ra7ur3", "7ran5la71on"], "10": ["al7og37h3r", "app3aranc3", "app33ranc3", "ar71f1c1al", "a77rac71on", "a77rac71v3", "calcula7or", "coll3c71on", "comm3rc1al", "compar15on", "comp3717or", "compl371on", "compl1ca73", "conf3551on", "conf1d3nc3", "conn3c71on", "con5c13nc3", "conv3n13n7", "corr3c71on", "cul71va7or", "d3par7m3n7", "d3p3nd3nc3", "d35c3ndan7", "d1c71onary", "d1ff3r3nc3", "d1ff1cul7y", "d15appo1n7", "d15approv3", "d15c1pl1n3", "d15comfor7", "d15con73n7", "d15cu551on", "d15r35p3c7", "d155a715fy", "3ff1c13ncy", "35p3c1ally", "3v3ry7h1ng", "3v3rywh3r3", "3xc3ll3nc3", "3xp3r13nc3", "3xp3r1m3n7", "3xpr3551on", "f3llow5h1p", "fr13nd5h1p", "h3517a71on", "hom3com1ng", "hor1zon7al", "1mpor7anc3", "1mpo551bl3", "1n57rum3n7", "l3ad3r5h1p", "l33d3r5h1p", "l173ra7ur3", "m3mb3r5h1p", "mod3ra71on", "mo7h3rhood", "oppo5171on", "par71cular", "p3rf3c71on", "p3rm1551on", "p3r5ua51on", "pho7ograph", "pol171c1an", "popula71on", "po553551on", "pr3f3r3nc3", "pr3v3n71on", "proc3551on", "produc71on", "prof3551on", "pro73c71on", "r3a5onabl3", "r335onabl3", "r3fl3c71on", "r3p37171on", "r3pu7a71on", "r35157anc3", "r357auran7", "5c13n71f1c", "53para71on", "51mpl1c17y", "57ra1gh73n", "57r3ng7h3n", "5ugg3571on", "5u5p1c1ou5", "7h3a7r1cal", "7h337r1cal", "7ran5la7or", "und3rn3a7h", "und3rn337h", "und3r57and", "un1v3r517y"], "2": ["a5", "a7", "b3", "by", "do", "go", "h3", "1f", "1n", "17", "no", "of", "on", "or", "5o", "7o", "up", "w3"], "12": ["bu51n355l1k3", "compl1ca71on", "conf1d3n71al", "congra7ula73", "conv3r5a71on", "handk3rch13f", "1n73rf3r3nc3", "1n73rrup71on", "1n7roduc71on", "n31ghborhood", "r3produc71on", "5a715fac71on", "5a715fac7ory"], "14": ["cla551f1ca71on", "congra7ula71on", "mul71pl1ca71on", "r3pr353n7a71v3"], "13": ["compan1on5h1p", "d15app3aranc3", "d15app33ranc3", "3x7raord1nary", "1n73rna71onal", "oldfa5h1on3d", "pronunc1a71on", "qual1f1ca71on"], "15": ["d155a715fac71on"]}}

================================================
FILE: src/preprocess.py
================================================
from collections import defaultdict
import json
from urllib.request import urlopen

from core.converters import to_leet, to_hex_leet

WORDLIST_URL = "https://raw.githubusercontent.com/bevacqua/correcthorse/master/wordlist.json"
OUTPUT_FILE = "./data/words.json"

all_words = defaultdict(list)
hex_leet_words = defaultdict(list)
leet_words = defaultdict(list)

with urlopen(WORDLIST_URL) as url:
    data = json.loads(url.read().decode())
    for datum in data:
        # Group words by number of characters
        all_words[len(datum)].append(datum.lower())

    for word_length, grouping in all_words.items():
        for word in grouping:
            leet = to_leet(word)
            leet_words[word_length].append(leet)
            if "ea" in word:    # 1337 sp34k ea->ee dupes
                leet = to_leet(word.replace("ea", "ee"))
                leet_words[len(leet)].append(leet)
            hex_leet = to_hex_leet(word)
            if " " not in hex_leet:
                hex_leet_words[len(leet)].append(hex_leet)
    words = {
        "all": all_words,
        "hex_leet": hex_leet_words,
        "leet": leet_words,
    }
    with open(OUTPUT_FILE, 'w+') as file:
        file.write(json.dumps(words))
Download .txt
gitextract_dxcqykks/

├── .gitignore
├── LICENSE
├── MANIFEST.in
├── Makefile
├── README.md
├── setup.py
└── src/
    ├── __init__.py
    ├── core/
    │   ├── __init__.py
    │   ├── converters.py
    │   └── kinds/
    │       ├── __init__.py
    │       ├── base_uid.py
    │       ├── emoji_uid.py
    │       └── leet_uid.py
    ├── data/
    │   ├── emojis.json
    │   └── words.json
    └── preprocess.py
Download .txt
SYMBOL INDEX (22 symbols across 5 files)

FILE: src/__init__.py
  function generate_cuteuid (line 4) | def generate_cuteuid(

FILE: src/core/converters.py
  function convert (line 13) | def convert(text, charset):
  function to_leet (line 18) | def to_leet(text):
  function to_hex_leet (line 22) | def to_hex_leet(text):

FILE: src/core/kinds/base_uid.py
  function rand (line 6) | def rand(max):
  class BaseUid (line 10) | class BaseUid:
    method __init__ (line 14) | def __init__(self):
    method words (line 22) | def words(self):
    method word_length (line 26) | def word_length(self, maximum=12):
    method generate_section (line 29) | def generate_section(self, length):
    method generate_word (line 37) | def generate_word(self, length):
    method generate (line 42) | def generate(self):

FILE: src/core/kinds/emoji_uid.py
  class EmojiUid (line 6) | class EmojiUid(BaseUid):
    method __init__ (line 10) | def __init__(self, flags_only=False, smileys_only=False):
    method words (line 16) | def words(self):
    method generate_section (line 23) | def generate_section(self, length):
    method random_emoji (line 29) | def random_emoji(self):

FILE: src/core/kinds/leet_uid.py
  class LeetUid (line 6) | class LeetUid(BaseUid):
    method __init__ (line 9) | def __init__(self, hex_only=False):
    method words (line 14) | def words(self):
    method word_length (line 21) | def word_length(self, maximum=12):
    method generate_section (line 24) | def generate_section(self, length):
Condensed preview — 16 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (99K chars).
[
  {
    "path": ".gitignore",
    "chars": 21,
    "preview": "*.pyc\nbuild\ndist\nvenv"
  },
  {
    "path": "LICENSE",
    "chars": 1108,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2019 [Alex Redmon](http://www.alexredmon.com/)\n\nPermission is hereby granted, free "
  },
  {
    "path": "MANIFEST.in",
    "chars": 22,
    "preview": "include cuteuid/data/*"
  },
  {
    "path": "Makefile",
    "chars": 240,
    "preview": "package:\n\tmv src cuteuid && python3 setup.py sdist bdist_wheel && mv cuteuid src && rm -rf build && rm -rf cuteuid.egg-i"
  },
  {
    "path": "README.md",
    "chars": 3059,
    "preview": "# CuteUID\nGenerate cute UIDs, i.e. unique(ish) identifiers that are similar in appearance to [UUIDs](https://en.wikipedi"
  },
  {
    "path": "setup.py",
    "chars": 774,
    "preview": "import setuptools\n\nwith open(\"README.md\", \"r\") as fh:\n    long_description = fh.read()\n\nsetuptools.setup(\n    name=\"cute"
  },
  {
    "path": "src/__init__.py",
    "chars": 372,
    "preview": "from .core.kinds import emoji_uid, leet_uid\n\n\ndef generate_cuteuid(\n    emoji=False,\n    flags_only=False,\n    hex_only="
  },
  {
    "path": "src/core/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/core/converters.py",
    "chars": 575,
    "preview": "import re\n\nalphabet            = \"abcdefghijklmnopqrstuvwxyz\"\nleet_alphabet       = \"abcd3fgh1jklmnopqr57uvwxyz\"\nhex_lee"
  },
  {
    "path": "src/core/kinds/__init__.py",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/core/kinds/base_uid.py",
    "chars": 1305,
    "preview": "import json\nimport os\nimport random\n\n\ndef rand(max):\n    return random.randrange(max) + 1\n\n\nclass BaseUid:\n    data_file"
  },
  {
    "path": "src/core/kinds/emoji_uid.py",
    "chars": 748,
    "preview": "import random\n\nfrom .base_uid import BaseUid\n\n\nclass EmojiUid(BaseUid):\n    data_file = \"data/emojis.json\"\n    delimeter"
  },
  {
    "path": "src/core/kinds/leet_uid.py",
    "chars": 626,
    "preview": "import random\n\nfrom .base_uid import BaseUid\n\n\nclass LeetUid(BaseUid):\n    data_file = \"data/words.json\"\n\n    def __init"
  },
  {
    "path": "src/data/emojis.json",
    "chars": 12153,
    "preview": "{\"all\" : [ \"😀\", \"😁\", \"😂\", \"🤣\", \"😃\", \"😄\", \"😅\", \"😆\", \"😉\", \"😊\", \"😋\", \"😎\", \"😍\", \"😘\", \"🥰\", \"😗\", \"😙\", \"😚\", \"🙂\", \"🤗\", \"🤩\", \"🤔\","
  },
  {
    "path": "src/data/words.json",
    "chars": 49644,
    "preview": "{\"all\": {\"1\": [\"a\", \"i\"], \"7\": [\"ability\", \"absence\", \"account\", \"actress\", \"address\", \"advance\", \"against\", \"already\", "
  },
  {
    "path": "src/preprocess.py",
    "chars": 1216,
    "preview": "from collections import defaultdict\nimport json\nfrom urllib.request import urlopen\n\nfrom core.converters import to_leet,"
  }
]

About this extraction

This page contains the full source code of the alexdredmon/cuteuid GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 16 files (70.2 KB), approximately 37.5k tokens, and a symbol index with 22 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!