# -*- coding: utf-8 -*-

"""Provides all the data related to the internet."""
from typing import List

HTTP_METHODS = [
    "GET",
    "POST",
    "PUT",
    "DELETE",
    "OPTIONS",
    "CONNECT",
    "HEAD",
]

HTTP_STATUS_CODES = [
    100,
    101,
    102,
    103,
    200,
    201,
    202,
    203,
    204,
    205,
    206,
    207,
    208,
    226,
    300,
    301,
    302,
    303,
    304,
    305,
    306,
    307,
    308,
    400,
    401,
    402,
    403,
    404,
    405,
    406,
    407,
    408,
    409,
    410,
    411,
    412,
    413,
    414,
    415,
    416,
    417,
    421,
    422,
    423,
    424,
    426,
    428,
    429,
    431,
    451,
    500,
    501,
    502,
    503,
    504,
    505,
    506,
    507,
    508,
    510,
    511,
]

HTTP_STATUS_MSGS = [
    "100 Continue",
    "101 Switching Protocols",
    "102 Processing",
    "103 Early Hints",
    "200 OK",
    "201 Created",
    "202 Accepted",
    "203 Non Authoritative Information",
    "204 No Content",
    "205 Reset Content",
    "206 Partial Content",
    "207 Multi Status",
    "208 Already Reported",
    "226 IM Used",
    "300 Multiple Choices",
    "301 Moved Permanently",
    "302 Found",
    "303 See Other",
    "304 Not Modified",
    "305 Use Proxy",
    "306 Reserved",
    "307 Temporary Redirect",
    "308 Permanent Redirect",
    "400 Bad Request",
    "401 Unauthorized",
    "402 Payment Required",
    "403 Forbidden",
    "404 Not Found",
    "405 Method Not Allowed",
    "406 Not Acceptable",
    "407 Proxy Authentication Required",
    "408 Request Timeout",
    "409 Conflict",
    "410 Gone",
    "411 Length Required",
    "412 Precondition Failed",
    "413 Request Entity Too Large",
    "414 Request URI Too Long",
    "415 Unsupported Media Type",
    "416 Requested Range Not Satisfiable",
    "417 Expectation Failed",
    "421 Misdirected Request",
    "422 Unprocessable Entity",
    "423 Locked",
    "424 Failed Dependency",
    "426 Upgrade Required",
    "428 Precondition Required",
    "429 Too Many Requests",
    "431 Request Header Fields Too Large",
    "451 Unavailable For Legal Reasons",
    "500 Internal Server Error",
    "501 Not Implemented",
    "502 Bad Gateway",
    "503 Service Unavailable",
    "504 Gateway Timeout",
    "505 HTTP Version Not Supported",
    "506 Variant Also Negotiates",
    "507 Insufficient Storage",
    "508 Loop Detected",
    "510 Not Extended",
    "511 Network Authentication Required",
]

TLD = {
    "cctld": [
        ".ac",
        ".ad",
        ".ae",
        ".af",
        ".ag",
        ".ai",
        ".al",
        ".am",
        ".an",
        ".ao",
        ".aq",
        ".ar",
        ".as",
        ".at",
        ".au",
        ".aw",
        ".ax",
        ".az",
        ".ba",
        ".bb",
        ".bd",
        ".be",
        ".bf",
        ".bg",
        ".bh",
        ".bi",
        ".bj",
        ".bm",
        ".bn",
        ".bo",
        ".bq",
        ".br",
        ".bs",
        ".bt",
        ".bv",
        ".bw",
        ".by",
        ".bz",
        ".bzh",
        ".ca",
        ".cc",
        ".cd",
        ".cf",
        ".cg",
        ".ch",
        ".ci",
        ".ck",
        ".cl",
        ".cm",
        ".cn",
        ".co",
        ".cr",
        ".cu",
        ".cv",
        ".cw",
        ".cx",
        ".cy",
        ".cz",
        ".dd",
        ".de",
        ".dj",
        ".dk",
        ".dm",
        ".do",
        ".dz",
        ".ec",
        ".ee",
        ".eg",
        ".eh",
        ".er",
        ".es",
        ".et",
        ".eu",
        ".fi",
        ".fj",
        ".fk",
        ".fm",
        ".fo",
        ".fr",
        ".ga",
        ".gb",
        ".gd",
        ".ge",
        ".gf",
        ".gg",
        ".gh",
        ".gi",
        ".gl",
        ".gm",
        ".gn",
        ".gp",
        ".gq",
        ".gr",
        ".gsla",
        ".gt",
        ".gu",
        ".gw",
        ".gy",
        ".hk",
        ".hm",
        ".hn",
        ".hr",
        ".ht",
        ".hu",
        ".id",
        ".ie",
        ".il",
        ".im",
        ".in",
        ".io",
        ".iq",
        ".ir",
        ".is",
        ".it",
        ".je",
        ".jm",
        ".jo",
        ".jp",
        ".ke",
        ".kg",
        ".kh",
        ".ki",
        ".km",
        ".kn",
        ".kp",
        ".kr",
        ".krd",
        ".kw",
        ".ky",
        ".kz",
        ".la",
        ".lb",
        ".lc",
        ".li",
        ".lk",
        ".lr",
        ".ls",
        ".lt",
        ".lu",
        ".lv",
        ".ly",
        ".ma",
        ".mc",
        ".md",
        ".me",
        ".mg",
        ".mh",
        ".mk",
        ".ml",
        ".mm",
        ".mn",
        ".mo",
        ".mp",
        ".mq",
        ".mr",
        ".ms",
        ".mt",
        ".mu",
        ".mv",
        ".mw",
        ".mx",
        ".my",
        ".mz",
        ".na",
        ".nc",
        ".ne",
        ".nf",
        ".ng",
        ".ni",
        ".nl",
        ".no",
        ".np",
        ".nr",
        ".nu",
        ".nz",
        ".om",
        ".pa",
        ".pe",
        ".pf",
        ".pg",
        ".ph",
        ".pk",
        ".pl",
        ".pm",
        ".pn",
        ".pr",
        ".ps",
        ".pt",
        ".pw",
        ".py",
        ".qa",
        ".re",
        ".ro",
        ".rs",
        ".ru",
        ".rw",
        ".sa",
        ".sb",
        ".sc",
        ".sd",
        ".se",
        ".sg",
        ".sh",
        ".si",
        ".sk",
        ".sl",
        ".sm",
        ".sn",
        ".so",
        ".sr",
        ".ss",
        ".st",
        ".su",
        ".sv",
        ".sx",
        ".sy",
        ".sz",
        ".tc",
        ".td",
        ".tf",
        ".tg",
        ".th",
        ".tj",
        ".tk",
        ".tl",
        ".tm",
        ".tn",
        ".to",
        ".tp",
        ".tr",
        ".tt",
        ".tv",
        ".tw",
        ".tz",
        ".ua",
        ".ug",
        ".uk",
        ".us",
        ".uy",
        ".uz",
        ".va",
        ".vc",
        ".ve",
        ".vg",
        ".vi",
        ".vn",
        ".vu",
        ".wf",
        ".ws",
        ".ye",
        ".yt",
        ".yu",
        ".za",
        ".zm",
        ".zr",
        ".zw",
    ],
    "gtld": [
        ".academy",
        ".accountant",
        ".accountants",
        ".actor",
        ".ads",
        ".adult",
        ".agency",
        ".airforce",
        ".alsace",
        ".amsterdam",
        ".analytics",
        ".and",
        ".antivirus",
        ".apartments",
        ".app",
        ".aquitaine",
        ".archi",
        ".architect",
        ".are",
        ".army",
        ".art",
        ".associates",
        ".attorney",
        ".auction",
        ".audio",
        ".auto",
        ".autoinsurance",
        ".autos",
        ".baby",
        ".band",
        ".bank",
        ".bar",
        ".barcelona",
        ".bargains",
        ".baseball",
        ".basketball",
        ".bayern",
        ".beauty",
        ".beer",
        ".berlin",
        ".bet",
        ".bible",
        ".bid",
        ".bike",
        ".bingo",
        ".bio",
        ".black",
        ".blackfriday",
        ".blog",
        ".blue",
        ".boats",
        ".boo",
        ".book",
        ".boston",
        ".boutique",
        ".broadway",
        ".broker",
        ".brussels",
        ".budapest",
        ".build",
        ".builders",
        ".business",
        ".buy",
        ".buzz",
        ".cab",
        ".cafe",
        ".cal",
        ".cam",
        ".camera",
        ".camp",
        ".capital",
        ".car",
        ".cards",
        ".care",
        ".career",
        ".careers",
        ".carinsurance",
        ".cars",
        ".case",
        ".cash",
        ".casino",
        ".catalonia",
        ".catering",
        ".catholic",
        ".center",
        ".charity",
        ".chat",
        ".cheap",
        ".christmas",
        ".church",
        ".city",
        ".claims",
        ".cleaning",
        ".click",
        ".clinic",
        ".clothing",
        ".cloud",
        ".club",
        ".coach",
        ".codes",
        ".coffee",
        ".college",
        ".cologne",
        ".community",
        ".company",
        ".compare",
        ".computer",
        ".condos",
        ".construction",
        ".consulting",
        ".contact",
        ".contractors",
        ".cooking",
        ".cool",
        ".corp",
        ".country",
        ".coupon",
        ".coupons",
        ".courses",
        ".cpa",
        ".credit",
        ".creditcard",
        ".creditunion",
        ".cricket",
        ".cruise",
        ".cruises",
        ".cymru",
        ".dad",
        ".dance",
        ".data",
        ".date",
        ".dating",
        ".day",
        ".dds",
        ".deal",
        ".dealer",
        ".deals",
        ".degree",
        ".delivery",
        ".democrat",
        ".dental",
        ".dentist",
        ".design",
        ".dev",
        ".diamonds",
        ".diet",
        ".digital",
        ".direct",
        ".directory",
        ".discount",
        ".diy",
        ".docs",
        ".doctor",
        ".dog",
        ".domains",
        ".dot",
        ".download",
        ".drive",
        ".duck",
        ".earth",
        ".eat",
        ".eco",
        ".ecom",
        ".education",
        ".email",
        ".energy",
        ".engineer",
        ".engineering",
        ".enterprises",
        ".equipment",
        ".esq",
        ".estate",
        ".events",
        ".exchange",
        ".expert",
        ".exposed",
        ".express",
        ".fail",
        ".faith",
        ".family",
        ".fan",
        ".fans",
        ".farm",
        ".fashion",
        ".feedback",
        ".film",
        ".finance",
        ".financial",
        ".financialaid",
        ".fish",
        ".fishing",
        ".fit",
        ".fitness",
        ".flights",
        ".florist",
        ".flowers",
        ".fly",
        ".foo",
        ".food",
        ".football",
        ".forex",
        ".forsale",
        ".forum",
        ".foundation",
        ".free",
        ".frl",
        ".frontdoor",
        ".fun",
        ".fund",
        ".furniture",
        ".futbol",
        ".fyi",
        ".gallery",
        ".game",
        ".games",
        ".garden",
        ".gay",
        ".gent",
        ".gift",
        ".gifts",
        ".gives",
        ".giving",
        ".glass",
        ".glean",
        ".global",
        ".gmbh",
        ".gold",
        ".golf",
        ".gop",
        ".graphics",
        ".green",
        ".gripe",
        ".grocery",
        ".group",
        ".guide",
        ".guitars",
        ".guru",
        ".hair",
        ".halal",
        ".hamburg",
        ".hangout",
        ".health",
        ".healthcare",
        ".heart",
        ".help",
        ".helsinki",
        ".here",
        ".hiphop",
        ".hiv",
        ".hockey",
        ".holdings",
        ".holiday",
        ".home",
        ".homes",
        ".horse",
        ".hospital",
        ".host",
        ".hosting",
        ".hot",
        ".hoteis",
        ".hotel",
        ".hoteles",
        ".hotels",
        ".house",
        ".how",
        ".immo",
        ".inc",
        ".industries",
        ".ing",
        ".ink",
        ".institute",
        ".insurance",
        ".insure",
        ".international",
        ".investments",
        ".islam",
        ".jewelry",
        ".juegos",
        ".kid",
        ".kids",
        ".kitchen",
        ".koeln",
        ".kosher",
        ".land",
        ".law",
        ".lawyer",
        ".lds",
        ".lease",
        ".legal",
        ".lgbt",
        ".life",
        ".lifeinsurance",
        ".lifestyle",
        ".lighting",
        ".limited",
        ".limo",
        ".link",
        ".live",
        ".living",
        ".llc",
        ".llp",
        ".loan",
        ".loans",
        ".loft",
        ".lol",
        ".london",
        ".lotto",
        ".love",
        ".ltd",
        ".luxe",
        ".luxury",
        ".madrid",
        ".mail",
        ".makeup",
        ".man",
        ".management",
        ".map",
        ".market",
        ".marketing",
        ".markets",
        ".mba",
        ".med",
        ".media",
        ".medical",
        ".meet",
        ".meme",
        ".memorial",
        ".men",
        ".menu",
        ".miami",
        ".mls",
        ".mobile",
        ".mobily",
        ".mom",
        ".money",
        ".mormon",
        ".mortgage",
        ".moscow",
        ".motorcycles",
        ".mov",
        ".movie",
        ".music",
        ".mutualfunds",
        ".navy",
        ".network",
        ".new",
        ".news",
        ".ngo",
        ".ninja",
        ".now",
        ".nrw",
        ".nyc",
        ".one",
        ".ong",
        ".online",
        ".organic",
        ".page",
        ".paris",
        ".partners",
        ".parts",
        ".party",
        ".patch",
        ".pay",
        ".pet",
        ".pets",
        ".pharmacy",
        ".phd",
        ".phone",
        ".photo",
        ".photography",
        ".photos",
        ".physio",
        ".pics",
        ".pictures",
        ".pid",
        ".ping",
        ".pink",
        ".pizza",
        ".place",
        ".play",
        ".plumbing",
        ".plus",
        ".poker",
        ".porn",
        ".press",
        ".prod",
        ".productions",
        ".prof",
        ".promo",
        ".properties",
        ".property",
        ".protection",
        ".pub",
        ".qpon",
        ".quebec",
        ".racing",
        ".radio",
        ".realestate",
        ".realtor",
        ".realty",
        ".recipes",
        ".red",
        ".rehab",
        ".rent",
        ".rentals",
        ".repair",
        ".report",
        ".republican",
        ".restaurant",
        ".retirement",
        ".review",
        ".reviews",
        ".rip",
        ".rocks",
        ".rodeo",
        ".roma",
        ".room",
        ".rsvp",
        ".rugby",
        ".run",
        ".saarland",
        ".safety",
        ".sale",
        ".salon",
        ".save",
        ".scholarships",
        ".school",
        ".science",
        ".scot",
        ".search",
        ".secure",
        ".security",
        ".seek",
        ".services",
        ".sex",
        ".sexy",
        ".shiksha",
        ".shoes",
        ".shop",
        ".shopping",
        ".show",
        ".silk",
        ".singles",
        ".site",
        ".ski",
        ".skin",
        ".smile",
        ".soccer",
        ".social",
        ".software",
        ".solar",
        ".solutions",
        ".spa",
        ".space",
        ".sport",
        ".sports",
        ".spot",
        ".spreadbetting",
        ".star",
        ".stockholm",
        ".storage",
        ".store",
        ".stroke",
        ".studio",
        ".study",
        ".style",
        ".sucks",
        ".supplies",
        ".supply",
        ".support",
        ".surf",
        ".surgery",
        ".systems",
        ".talk",
        ".tattoo",
        ".tax",
        ".taxi",
        ".team",
        ".tech",
        ".technology",
        ".tennis",
        ".theater",
        ".theatre",
        ".tickets",
        ".tips",
        ".tires",
        ".tirol",
        ".today",
        ".tools",
        ".top",
        ".tour",
        ".tours",
        ".town",
        ".toys",
        ".trade",
        ".trading",
        ".training",
        ".tube",
        ".university",
        ".vacations",
        ".vegas",
        ".ventures",
        ".vet",
        ".video",
        ".villas",
        ".vin",
        ".vip",
        ".vision",
        ".vlaanderen",
        ".vodka",
        ".vote",
        ".voting",
        ".voyage",
        ".wales",
        ".watch",
        ".watches",
        ".weather",
        ".web",
        ".webcam",
        ".webs",
        ".website",
        ".wed",
        ".wedding",
        ".wien",
        ".wiki",
        ".win",
        ".wine",
        ".winners",
        ".work",
        ".works",
        ".world",
        ".wow",
        ".wtf",
        ".xyz",
        ".yachts",
        ".yoga",
        ".you",
        ".zip",
        ".zone",
        ".zuerich",
        ".zulu",
    ],
    "geotld": [
        ".abudhabi",
        ".africa",
        ".africa",
        ".alsace",
        ".amsterdam",
        ".aquitaine",
        ".bar",
        ".bar",
        ".barcelona",
        ".bayern",
        ".berlin",
        ".boston",
        ".brussels",
        ".budapest",
        ".capetown",
        ".catalonia",
        ".cologne",
        ".doha",
        ".dubai",
        ".durban",
        ".frl",
        ".gent",
        ".hamburg",
        ".helsinki",
        ".ist",
        ".istanbul",
        ".joburg",
        ".koeln",
        ".kyoto",
        ".london",
        ".madrid",
        ".melbourne",
        ".miami",
        ".moscow",
        ".nagoya",
        ".nrw",
        ".nyc",
        ".okinawa",
        ".osaka",
        ".osaka",
        ".paris",
        ".quebec",
        ".rio",
        ".saarland",
        ".scot",
        ".stockholm",
        ".sydney",
        ".taipei",
        ".tata",
        ".tirol",
        ".tokyo",
        ".tui",
        ".vlaanderen",
        ".wales",
        ".wien",
        ".yokohama",
        ".zuerich",
        ".zulu",
    ],
    "utld": [
        ".com",
        ".org",
        ".net",
        ".biz",
        ".info",
        ".name",
    ],
    "stld": [
        ".aero",
        ".asia",
        ".cat",
        ".coop",
        ".edu",
        ".gov",
        ".int",
        ".jobs",
        ".mil",
        ".mobi",
        ".museum.post",
        ".tel",
        ".travel",
        ".xxx",
    ],
}

EMAIL_DOMAINS: List[str] = [
    "@gmail.com",
    "@yandex.com",
    "@yahoo.com",
    "@live.com",
    "@outlook.com",
    "@protonmail.com",
]

EMOJI = (
    ":bowtie:",
    ":smile:",
    ":laughing:",
    ":blush:",
    ":smiley:",
    ":relaxed:",
    ":smirk:",
    ":heart_eyes:",
    ":kissing_heart:",
    ":kissing_closed_eyes:",
    ":flushed:",
    ":relieved:",
    ":satisfied:",
    ":grin:",
    ":wink:",
    ":stuck_out_tongue_winking_eye:",
    ":stuck_out_tongue_closed_eyes:",
    ":grinning:",
    ":kissing:",
    ":kissing_smiling_eyes:",
    ":stuck_out_tongue:",
    ":sleeping:",
    ":worried:",
    ":frowning:",
    ":anguished:",
    ":open_mouth:",
    ":grimacing:",
    ":confused:",
    ":hushed:",
    ":expressionless:",
    ":unamused:",
    ":sweat_smile:",
    ":sweat:",
    ":disappointed_relieved:",
    ":weary:",
    ":pensive:",
    ":disappointed:",
    ":confounded:",
    ":fearful:",
    ":cold_sweat:",
    ":persevere:",
    ":cry:",
    ":sob:",
    ":joy:",
    ":astonished:",
    ":scream:",
    ":neckbeard:",
    ":tired_face:",
    ":angry:",
    ":rage:",
    ":triumph:",
    ":sleepy:",
    ":yum:",
    ":mask:",
    ":sunglasses:",
    ":dizzy_face:",
    ":imp:",
    ":smiling_imp:",
    ":neutral_face:",
    ":no_mouth:",
    ":innocent:",
    ":alien:",
    ":yellow_heart:",
    ":blue_heart:",
    ":purple_heart:",
    ":heart:",
    ":green_heart:",
    ":broken_heart:",
    ":heartbeat:",
    ":heartpulse:",
    ":two_hearts:",
    ":revolving_hearts:",
    ":cupid:",
    ":sparkling_heart:",
    ":sparkles:",
    ":star:",
    ":star2:",
    ":dizzy:",
    ":boom:",
    ":collision:",
    ":anger:",
    ":exclamation:",
    ":question:",
    ":grey_exclamation:",
    ":grey_question:",
    ":zzz:",
    ":dash:",
    ":sweat_drops:",
    ":notes:",
    ":musical_note:",
    ":fire:",
    ":hankey:",
    ":poop:",
    ":shit:",
    ":+1:",
    ":thumbsup:",
    ":-1:",
    ":thumbsdown:",
    ":ok_hand:",
    ":punch:",
    ":facepunch:",
    ":fist:",
    ":v:",
    ":wave:",
    ":hand:",
    ":raised_hand:",
    ":open_hands:",
    ":point_up:",
    ":point_down:",
    ":point_left:",
    ":point_right:",
    ":raised_hands:",
    ":pray:",
    ":point_up_2:",
    ":clap:",
    ":muscle:",
    ":metal:",
    ":fu:",
    ":runner:",
    ":running:",
    ":couple:",
    ":family:",
    ":two_men_holding_hands:",
    ":two_women_holding_hands:",
    ":dancer:",
    ":dancers:",
    ":ok_woman:",
    ":no_good:",
    ":information_desk_person:",
    ":raising_hand:",
    ":bride_with_veil:",
    ":person_with_pouting_face:",
    ":person_frowning:",
    ":bow:",
    ":couplekiss:",
    ":couple_with_heart:",
    ":massage:",
    ":haircut:",
    ":nail_care:",
    ":boy:",
    ":girl:",
    ":woman:",
    ":man:",
    ":baby:",
    ":older_woman:",
    ":older_man:",
    ":person_with_blond_hair:",
    ":man_with_gua_pi_mao:",
    ":man_with_turban:",
    ":construction_worker:",
    ":cop:",
    ":angel:",
    ":princess:",
    ":smiley_cat:",
    ":smile_cat:",
    ":heart_eyes_cat:",
    ":kissing_cat:",
    ":smirk_cat:",
    ":scream_cat:",
    ":crying_cat_face:",
    ":joy_cat:",
    ":pouting_cat:",
    ":japanese_ogre:",
    ":japanese_goblin:",
    ":see_no_evil:",
    ":hear_no_evil:",
    ":speak_no_evil:",
    ":guardsman:",
    ":skull:",
    ":feet:",
    ":lips:",
    ":kiss:",
    ":droplet:",
    ":ear:",
    ":eyes:",
    ":nose:",
    ":tongue:",
    ":love_letter:",
    ":bust_in_silhouette:",
    ":busts_in_silhouette:",
    ":speech_balloon:",
    ":thought_balloon:",
    ":feelsgood:",
    ":finnadie:",
    ":goberserk:",
    ":godmode:",
    ":hurtrealbad:",
    ":rage1:",
    ":rage2:",
    ":rage3:",
    ":rage4:",
    ":suspect:",
    ":trollface:",
    ":sunny:",
    ":umbrella:",
    ":cloud:",
    ":snowflake:",
    ":snowman:",
    ":zap:",
    ":cyclone:",
    ":foggy:",
    ":ocean:",
    ":cat:",
    ":dog:",
    ":mouse:",
    ":hamster:",
    ":rabbit:",
    ":wolf:",
    ":frog:",
    ":tiger:",
    ":koala:",
    ":bear:",
    ":pig:",
    ":pig_nose:",
    ":cow:",
    ":boar:",
    ":monkey_face:",
    ":monkey:",
    ":horse:",
    ":racehorse:",
    ":camel:",
    ":sheep:",
    ":elephant:",
    ":panda_face:",
    ":snake:",
    ":bird:",
    ":baby_chick:",
    ":hatched_chick:",
    ":hatching_chick:",
    ":chicken:",
    ":penguin:",
    ":turtle:",
    ":bug:",
    ":honeybee:",
    ":ant:",
    ":beetle:",
    ":snail:",
    ":octopus:",
    ":tropical_fish:",
    ":fish:",
    ":whale:",
    ":whale2:",
    ":dolphin:",
    ":cow2:",
    ":ram:",
    ":rat:",
    ":water_buffalo:",
    ":tiger2:",
    ":rabbit2:",
    ":dragon:",
    ":goat:",
    ":rooster:",
    ":dog2:",
    ":pig2:",
    ":mouse2:",
    ":ox:",
    ":dragon_face:",
    ":blowfish:",
    ":crocodile:",
    ":dromedary_camel:",
    ":leopard:",
    ":cat2:",
    ":poodle:",
    ":paw_prints:",
    ":bouquet:",
    ":cherry_blossom:",
    ":tulip:",
    ":four_leaf_clover:",
    ":rose:",
    ":sunflower:",
    ":hibiscus:",
    ":maple_leaf:",
    ":leaves:",
    ":fallen_leaf:",
    ":herb:",
    ":mushroom:",
    ":cactus:",
    ":palm_tree:",
    ":evergreen_tree:",
    ":deciduous_tree:",
    ":chestnut:",
    ":seedling:",
    ":blossom:",
    ":ear_of_rice:",
    ":shell:",
    ":globe_with_meridians:",
    ":sun_with_face:",
    ":full_moon_with_face:",
    ":new_moon_with_face:",
    ":new_moon:",
    ":waxing_crescent_moon:",
    ":first_quarter_moon:",
    ":waxing_gibbous_moon:",
    ":full_moon:",
    ":waning_gibbous_moon:",
    ":last_quarter_moon:",
    ":waning_crescent_moon:",
    ":last_quarter_moon_with_face:",
    ":first_quarter_moon_with_face:",
    ":crescent_moon:",
    ":earth_africa:",
    ":earth_americas:",
    ":earth_asia:",
    ":volcano:",
    ":milky_way:",
    ":partly_sunny:",
    ":octocat:",
    ":squirrel:",
    ":bamboo:",
    ":gift_heart:",
    ":dolls:",
    ":school_satchel:",
    ":mortar_board:",
    ":flags:",
    ":fireworks:",
    ":sparkler:",
    ":wind_chime:",
    ":rice_scene:",
    ":jack_o_lantern:",
    ":ghost:",
    ":santa:",
    ":christmas_tree:",
    ":gift:",
    ":bell:",
    ":no_bell:",
    ":tanabata_tree:",
    ":tada:",
    ":confetti_ball:",
    ":balloon:",
    ":crystal_ball:",
    ":cd:",
    ":dvd:",
    ":floppy_disk:",
    ":camera:",
    ":video_camera:",
    ":movie_camera:",
    ":computer:",
    ":tv:",
    ":iphone:",
    ":phone:",
    ":telephone:",
    ":telephone_receiver:",
    ":pager:",
    ":fax:",
    ":minidisc:",
    ":vhs:",
    ":sound:",
    ":speaker:",
    ":mute:",
    ":loudspeaker:",
    ":mega:",
    ":hourglass:",
    ":hourglass_flowing_sand:",
    ":alarm_clock:",
    ":watch:",
    ":radio:",
    ":satellite:",
    ":loop:",
    ":mag:",
    ":mag_right:",
    ":unlock:",
    ":lock:",
    ":lock_with_ink_pen:",
    ":closed_lock_with_key:",
    ":key:",
    ":bulb:",
    ":flashlight:",
    ":high_brightness:",
    ":low_brightness:",
    ":electric_plug:",
    ":battery:",
    ":calling:",
    ":email:",
    ":mailbox:",
    ":postbox:",
    ":bath:",
    ":bathtub:",
    ":shower:",
    ":toilet:",
    ":wrench:",
    ":nut_and_bolt:",
    ":hammer:",
    ":seat:",
    ":moneybag:",
    ":yen:",
    ":dollar:",
    ":pound:",
    ":euro:",
    ":credit_card:",
    ":money_with_wings:",
    ":e-mail:",
    ":inbox_tray:",
    ":outbox_tray:",
    ":envelope:",
    ":incoming_envelope:",
    ":postal_horn:",
    ":mailbox_closed:",
    ":mailbox_with_mail:",
    ":mailbox_with_no_mail:",
    ":package:",
    ":door:",
    ":smoking:",
    ":bomb:",
    ":gun:",
    ":hocho:",
    ":pill:",
    ":syringe:",
    ":page_facing_up:",
    ":page_with_curl:",
    ":bookmark_tabs:",
    ":bar_chart:",
    ":chart_with_upwards_trend:",
    ":chart_with_downwards_trend:",
    ":scroll:",
    ":clipboard:",
    ":calendar:",
    ":date:",
    ":card_index:",
    ":file_folder:",
    ":open_file_folder:",
    ":scissors:",
    ":pushpin:",
    ":paperclip:",
    ":black_nib:",
    ":pencil2:",
    ":straight_ruler:",
    ":triangular_ruler:",
    ":closed_book:",
    ":green_book:",
    ":blue_book:",
    ":orange_book:",
    ":notebook:",
    ":notebook_with_decorative_cover:",
    ":ledger:",
    ":books:",
    ":bookmark:",
    ":name_badge:",
    ":microscope:",
    ":telescope:",
    ":newspaper:",
    ":football:",
    ":basketball:",
    ":soccer:",
    ":baseball:",
    ":tennis:",
    ":8ball:",
    ":rugby_football:",
    ":bowling:",
    ":golf:",
    ":mountain_bicyclist:",
    ":bicyclist:",
    ":horse_racing:",
    ":snowboarder:",
    ":swimmer:",
    ":surfer:",
    ":ski:",
    ":spades:",
    ":hearts:",
    ":clubs:",
    ":diamonds:",
    ":gem:",
    ":ring:",
    ":trophy:",
    ":musical_score:",
    ":musical_keyboard:",
    ":violin:",
    ":space_invader:",
    ":video_game:",
    ":black_joker:",
    ":flower_playing_cards:",
    ":game_die:",
    ":dart:",
    ":mahjong:",
    ":clapper:",
    ":memo:",
    ":pencil:",
    ":book:",
    ":art:",
    ":microphone:",
    ":headphones:",
    ":trumpet:",
    ":saxophone:",
    ":guitar:",
    ":shoe:",
    ":sandal:",
    ":high_heel:",
    ":lipstick:",
    ":boot:",
    ":shirt:",
    ":tshirt:",
    ":necktie:",
    ":womans_clothes:",
    ":dress:",
    ":running_shirt_with_sash:",
    ":jeans:",
    ":kimono:",
    ":bikini:",
    ":ribbon:",
    ":tophat:",
    ":crown:",
    ":womans_hat:",
    ":mans_shoe:",
    ":closed_umbrella:",
    ":briefcase:",
    ":handbag:",
    ":pouch:",
    ":purse:",
    ":eyeglasses:",
    ":fishing_pole_and_fish:",
    ":coffee:",
    ":tea:",
    ":sake:",
    ":baby_bottle:",
    ":beer:",
    ":beers:",
    ":cocktail:",
    ":tropical_drink:",
    ":wine_glass:",
    ":fork_and_knife:",
    ":pizza:",
    ":hamburger:",
    ":fries:",
    ":poultry_leg:",
    ":meat_on_bone:",
    ":spaghetti:",
    ":curry:",
    ":fried_shrimp:",
    ":bento:",
    ":sushi:",
    ":fish_cake:",
    ":rice_ball:",
    ":rice_cracker:",
    ":rice:",
    ":ramen:",
    ":stew:",
    ":oden:",
    ":dango:",
    ":egg:",
    ":bread:",
    ":doughnut:",
    ":custard:",
    ":icecream:",
    ":ice_cream:",
    ":shaved_ice:",
    ":birthday:",
    ":cake:",
    ":cookie:",
    ":chocolate_bar:",
    ":candy:",
    ":lollipop:",
    ":honey_pot:",
    ":apple:",
    ":green_apple:",
    ":tangerine:",
    ":lemon:",
    ":cherries:",
    ":grapes:",
    ":watermelon:",
    ":strawberry:",
    ":peach:",
    ":melon:",
    ":banana:",
    ":pear:",
    ":pineapple:",
    ":sweet_potato:",
    ":eggplant:",
    ":tomato:",
    ":corn:",
    ":house:",
    ":house_with_garden:",
    ":school:",
    ":office:",
    ":post_office:",
    ":hospital:",
    ":bank:",
    ":convenience_store:",
    ":love_hotel:",
    ":hotel:",
    ":wedding:",
    ":mimesis:",
    ":department_store:",
    ":european_post_office:",
    ":city_sunrise:",
    ":city_sunset:",
    ":japanese_castle:",
    ":european_castle:",
    ":tent:",
    ":factory:",
    ":tokyo_tower:",
    ":japan:",
    ":mount_fuji:",
    ":sunrise_over_mountains:",
    ":sunrise:",
    ":stars:",
    ":statue_of_liberty:",
    ":bridge_at_night:",
    ":carousel_horse:",
    ":rainbow:",
    ":ferris_wheel:",
    ":fountain:",
    ":roller_coaster:",
    ":ship:",
    ":speedboat:",
    ":boat:",
    ":sailboat:",
    ":rowboat:",
    ":anchor:",
    ":rocket:",
    ":airplane:",
    ":helicopter:",
    ":steam_locomotive:",
    ":tram:",
    ":mountain_railway:",
    ":bike:",
    ":aerial_tramway:",
    ":suspension_railway:",
    ":mountain_cableway:",
    ":tractor:",
    ":blue_car:",
    ":oncoming_automobile:",
    ":car:",
    ":red_car:",
    ":taxi:",
    ":oncoming_taxi:",
    ":articulated_lorry:",
    ":bus:",
    ":oncoming_bus:",
    ":rotating_light:",
    ":police_car:",
    ":oncoming_police_car:",
    ":fire_engine:",
    ":ambulance:",
    ":minibus:",
    ":truck:",
    ":train:",
    ":station:",
    ":train2:",
    ":bullettrain_front:",
    ":bullettrain_side:",
    ":light_rail:",
    ":monorail:",
    ":railway_car:",
    ":trolleybus:",
    ":ticket:",
    ":fuelpump:",
    ":vertical_traffic_light:",
    ":traffic_light:",
    ":warning:",
    ":construction:",
    ":beginner:",
    ":atm:",
    ":slot_machine:",
    ":busstop:",
    ":barber:",
    ":hotsprings:",
    ":checkered_flag:",
    ":crossed_flags:",
    ":izakaya_lantern:",
    ":moyai:",
    ":circus_tent:",
    ":performing_arts:",
    ":round_pushpin:",
    ":triangular_flag_on_post:",
    ":jp:",
    ":kr:",
    ":cn:",
    ":us:",
    ":fr:",
    ":es:",
    ":it:",
    ":ru:",
    ":gb:",
    ":uk:",
    ":de:",
    ":one:",
    ":two:",
    ":three:",
    ":four:",
    ":five:",
    ":six:",
    ":seven:",
    ":eight:",
    ":nine:",
    ":keycap_ten:",
    ":1234:",
    ":zero:",
    ":hash:",
    ":symbols:",
    ":arrow_backward:",
    ":arrow_down:",
    ":arrow_forward:",
    ":arrow_left:",
    ":capital_abcd:",
    ":abcd:",
    ":abc:",
    ":arrow_lower_left:",
    ":arrow_lower_right:",
    ":arrow_right:",
    ":arrow_up:",
    ":arrow_upper_left:",
    ":arrow_upper_right:",
    ":arrow_double_down:",
    ":arrow_double_up:",
    ":arrow_down_small:",
    ":arrow_heading_down:",
    ":arrow_heading_up:",
    ":leftwards_arrow_with_hook:",
    ":arrow_right_hook:",
    ":left_right_arrow:",
    ":arrow_up_down:",
    ":arrow_up_small:",
    ":arrows_clockwise:",
    ":arrows_counterclockwise:",
    ":rewind:",
    ":fast_forward:",
    ":information_source:",
    ":ok:",
    ":twisted_rightwards_arrows:",
    ":repeat:",
    ":repeat_one:",
    ":new:",
    ":top:",
    ":up:",
    ":cool:",
    ":free:",
    ":ng:",
    ":cinema:",
    ":koko:",
    ":signal_strength:",
    ":u5272:",
    ":u5408:",
    ":u55b6:",
    ":u6307:",
    ":u6708:",
    ":u6709:",
    ":u6e80:",
    ":u7121:",
    ":u7533:",
    ":u7a7a:",
    ":u7981:",
    ":sa:",
    ":restroom:",
    ":mens:",
    ":womens:",
    ":baby_symbol:",
    ":no_smoking:",
    ":parking:",
    ":wheelchair:",
    ":metro:",
    ":baggage_claim:",
    ":accept:",
    ":wc:",
    ":potable_water:",
    ":put_litter_in_its_place:",
    ":secret:",
    ":congratulations:",
    ":m:",
    ":passport_control:",
    ":left_luggage:",
    ":customs:",
    ":ideograph_advantage:",
    ":cl:",
    ":sos:",
    ":id:",
    ":no_entry_sign:",
    ":underage:",
    ":no_mobile_phones:",
    ":do_not_litter:",
    ":non-potable_water:",
    ":no_bicycles:",
    ":no_pedestrians:",
    ":children_crossing:",
    ":no_entry:",
    ":eight_spoked_asterisk:",
    ":sparkle:",
    ":eight_pointed_black_star:",
    ":heart_decoration:",
    ":vs:",
    ":vibration_mode:",
    ":mobile_phone_off:",
    ":chart:",
    ":currency_exchange:",
    ":aries:",
    ":taurus:",
    ":gemini:",
    ":cancer:",
    ":leo:",
    ":virgo:",
    ":libra:",
    ":scorpius:",
    ":sagittarius:",
    ":capricorn:",
    ":aquarius:",
    ":pisces:",
    ":ophiuchus:",
    ":six_pointed_star:",
    ":negative_squared_cross_mark:",
    ":a:",
    ":b:",
    ":ab:",
    ":o2:",
    ":diamond_shape_with_a_dot_inside:",
    ":recycle:",
    ":end:",
    ":back:",
    ":on:",
    ":soon:",
    ":clock1:",
    ":clock130:",
    ":clock10:",
    ":clock1030:",
    ":clock11:",
    ":clock1130:",
    ":clock12:",
    ":clock1230:",
    ":clock2:",
    ":clock230:",
    ":clock3:",
    ":clock330:",
    ":clock4:",
    ":clock430:",
    ":clock5:",
    ":clock530:",
    ":clock6:",
    ":clock630:",
    ":clock7:",
    ":clock730:",
    ":clock8:",
    ":clock830:",
    ":clock9:",
    ":clock930:",
    ":heavy_dollar_sign:",
    ":copyright:",
    ":registered:",
    ":tm:",
    ":x:",
    ":heavy_exclamation_mark:",
    ":bangbang:",
    ":interrobang:",
    ":o:",
    ":heavy_multiplication_x:",
    ":heavy_plus_sign:",
    ":heavy_minus_sign:",
    ":heavy_division_sign:",
    ":white_flower:",
    ":100:",
    ":heavy_check_mark:",
    ":ballot_box_with_check:",
    ":radio_button:",
    ":link:",
    ":curly_loop:",
    ":wavy_dash:",
    ":part_alternation_mark:",
    ":trident:",
    ":black_small_square:",
    ":white_small_square:",
    ":black_medium_small_square:",
    ":white_medium_small_square:",
    ":black_medium_square:",
    ":white_medium_square:",
    ":black_large_square:",
    ":white_large_square:",
    ":white_check_mark:",
    ":black_square_button:",
    ":white_square_button:",
    ":black_circle:",
    ":white_circle:",
    ":red_circle:",
    ":large_blue_circle:",
    ":large_blue_diamond:",
    ":large_orange_diamond:",
    ":small_blue_diamond:",
    ":small_orange_diamond:",
    ":small_red_triangle:",
    ":small_red_triangle_down:",
    ":shipit:",
)

USER_AGENTS = [
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.0",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; de) Opera 8.02",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.0",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.02",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.52",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.53",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; en) Opera 8.54",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; pl) Opera 8.54",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; da) Opera 8.54",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 8.0",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 8.01",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 8.02",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 8.52",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 8.54",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; de) Opera 9.50",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 7.60",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.0",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.00",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.01",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.02",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.52",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.53",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 8.54",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.24",
    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.26",
]
