Ruby-Cogs/embedutils/editor.html
2025-04-02 22:56:57 -04:00

9766 lines
506 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
=================================================================================
* Embeds Builder by Glitchii
=================================================================================
* Licensed under MIT (https://github.com/Glitchii/embedbuilder/blob/main/LICENSE)
* Coded by Glitchii (https://github.com/Glitchii)
=================================================================================
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<link rel="icon" type="image/png" href="{{ variables["meta"]["icon"] }}" />
<title>
{{ variables["meta"]["title"] }} - {{ _("Third Party") }} {{ name }}{% if guild %} - {{ guild.name }}{% endif %}{% if page %} / {{ page|replace("_", " ")|replace("-", " ")|title }}{% endif %}
</title>
<!-- Meta tags -->
<meta property="og:site_name" content="{{ variables["meta"]["title"] }}" />
<meta property="og:title" content="{{ variables["meta"]["title"] }} - Embed Utils Editor" />
<meta name="description" property="og:description" content="{{ variables["meta"]["website_description"] }}" />
<meta property="og:image" content="{{ variables["meta"]["icon"] }}" />
<meta name="theme-color" content="{{ variables["meta"]["color"] }}" />
<meta name="language" content="fr" />
<script type="application/ld+json">
{
"@context" : "https://schema.org",
"@type" : "WebSite",
"name" : "{{ variables['meta']['title'] }}",
"url" : "{{ url_for('base_blueprint.index') }}"
}
</script>
<style>
@font-face {
font-family: DsWhitney;
src: local("Whitney"), url("https://raw.githubusercontent.com/Glitchii/embedbuilder/main/assets/fonts/whitney-300.woff");
font-style: normal;
font-weight: 300;
font-display: swap;
}
@font-face {
font-family: DsWhitney;
src: local("Whitney"), url("https://raw.githubusercontent.com/Glitchii/embedbuilder/main/assets/fonts/whitney-400.woff");
font-style: normal;
font-weight: 400;
font-display: swap;
}
@font-face {
font-family: DsWhitney;
src: local("Whitney"), url("https://raw.githubusercontent.com/Glitchii/embedbuilder/main/assets/fonts/whitney-500.woff");
font-style: normal;
font-weight: 500;
font-display: swap;
}
@font-face {
font-family: DsWhitney;
src: local("Whitney"), url("https://raw.githubusercontent.com/Glitchii/embedbuilder/main/assets/fonts/whitney-600.woff");
font-style: normal;
font-weight: 600;
font-display: swap;
}
@font-face {
font-family: DsWhitney;
src: local("Whitney"), url("https://raw.githubusercontent.com/Glitchii/embedbuilder/main/assets/fonts/whitney-700.woff");
font-style: normal;
font-weight: 700;
font-display: swap;
}
:root {
--link: #00b0f4;
--embedTextColor: #dcddde;
--embedTextColor2: #72767d;
--embedBackground: #2f3136;
--fullEmbedBackground: #36393f;
--side1Background: #2c2e33;
--side1Background: #2f3136;
--background-secondary: #2f3136;
--background-tertiary: #202225;
--header-secondary: #b9bbbe;
--interactive-muted: #4f545c;
}
* {
outline: none;
box-sizing: border-box;
}
html,
body {
height: 100%;
}
body {
line-height: 1;
margin: 0px;
padding: 0px;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
overflow: hidden;
background-color: var(--fullEmbedBackground);
color: #fff;
}
body.no-user .msgEmbed>.contents {
display: none;
}
.hidden,
.embed.emptyEmbed {
display: none;
}
.pointer {
cursor: pointer;
}
.main {
position: absolute;
width: 100%;
height: 100%;
display: grid;
}
body:not(.no-preview):not(.no-editor) .main {
grid-template-columns: 45% 55%;
}
.top pre>code .hltChars {
color: #b96a97;
color: #b36391;
}
.top pre>code .hltInt {
color: #a474e8;
color: #7658c8;
}
.top pre>code .hltBool {
color: #d679c6;
}
.top pre>code .hltStr1 {
color: #68b7c8;
}
.top pre>code .hltStr2 {
color: #b58900;
color: #aab060;
}
.main section {
min-height: 0;
padding-right: 0;
position: relative;
}
.main .side1 {
width: 100%;
height: 100%;
background-color: var(--side1Background);
border-right: 1px solid var(--background-tertiary);
padding: 20px;
}
.side1 .bottom .box {
background-color: #27282d;
}
.top {
width: 100%;
height: 55%;
border: none;
padding: 5px;
outline: none;
border-radius: 5px;
background-color: #292b2f;
color: rgb(228, 225, 225);
border: 1px solid var(--background-tertiary);
overflow: auto;
}
.side1 .item.top {
background-color: #292b2f;
width: 100%;
height: 94%;
border-radius: 5px;
transform: translateY(10px);
}
@media screen and (min-height: 910px) {
.side1 .item.top {
transform: translateY(20px);
}
}
.top,
.bottom {
margin: auto;
}
.main .side2 {
height: 100%;
justify-content: center;
vertical-align: center;
overflow: auto;
scrollbar-color: #26272d #36393f;
scrollbar-width: thin;
font-family: DsWhitney, "Helvetica Neue", Helvetica, Arial, sans-serif;
background-color: var(--fullEmbedBackground);
}
::-webkit-scrollbar {
width: 7px;
background: #36393f;
}
.main .side2::-webkit-scrollbar-thumb {
border-radius: 50px;
background: #26272d;
}
a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
ul,
var {
margin: 0px;
padding: 0px;
border: 0px;
font-weight: inherit;
font-style: inherit;
font-family: inherit;
font-size: 100%;
vertical-align: baseline;
}
.hljs-comment,
.hljs-quote {
color: var(--interactive-muted);
}
.hljs-addition,
.hljs-keyword,
.hljs-selector-tag {
color: #859900;
}
.hljs-doctag,
.hljs-literal,
.hljs-meta .hljs-meta-string,
.hljs-number,
.hljs-regexp,
.hljs-string {
color: #2aa198;
}
.hljs-name,
.hljs-section,
.hljs-selector-class,
.hljs-selector-id,
.hljs-title {
color: #268bd2;
}
.hljs-attr,
.hljs-attribute,
.hljs-class .hljs-title,
.hljs-template-variable,
.hljs-type,
.hljs-variable {
color: #b58900;
}
.hljs-bullet,
.hljs-link,
.hljs-meta,
.hljs-meta .hljs-keyword,
.hljs-selector-attr,
.hljs-selector-pseudo,
.hljs-subst,
.hljs-symbol {
color: #cb4b16;
}
.hljs-built_in,
.hljs-deletion {
color: #dc322f;
}
.hljs-formula {
background: #073642;
}
.hljs-emphasis {
font-style: italic;
}
.hljs-strong {
font-weight: 700;
}
.cm-string {
color: #92deea !important;
}
.cm-string~.cm-string {
color: #c3e88d !important;
}
.cm-number {
color: #d19a66 !important;
}
code,
[class^="cm-"] {
font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
font-size: 14px;
line-height: 16px;
}
a img {
border: none;
}
::-webkit-input-placeholder,
body,
button,
input,
select,
textarea {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
text-rendering: optimizelegibility;
}
::placeholder,
body,
button,
input,
select,
textarea {
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
text-rendering: optimizelegibility;
}
a,
button,
div,
input,
label,
select,
span,
strong,
textarea {
outline: 0px;
}
img[alt] {
text-indent: -9999px;
}
.\@ {
background-color: hsla(38, calc(var(--saturation-factor, 1)*95.7%), 54.1%, 0.1);
}
.\@::before {
content: "";
position: absolute;
display: block;
top: 0;
left: 0;
bottom: 0;
pointer-events: none;
width: 2px;
}
.mention {
background-color: hsla(235, calc(85.6%), 64.7%, 0.3);
transition: background-color 50ms ease-out, color 50ms ease-out;
border-radius: 3px;
padding: 0 2px;
font-weight: 500;
position: relative;
}
.mention.channel::before {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='hsl(236,calc(83.3%),92.9%)' fill-rule='evenodd' clip-rule='evenodd' d='M5.88657 21C5.57547 21 5.3399 20.7189 5.39427 20.4126L6.00001 17H2.59511C2.28449 17 2.04905 16.7198 2.10259 16.4138L2.27759 15.4138C2.31946 15.1746 2.52722 15 2.77011 15H6.35001L7.41001 9H4.00511C3.69449 9 3.45905 8.71977 3.51259 8.41381L3.68759 7.41381C3.72946 7.17456 3.93722 7 4.18011 7H7.76001L8.39677 3.41262C8.43914 3.17391 8.64664 3 8.88907 3H9.87344C10.1845 3 10.4201 3.28107 10.3657 3.58738L9.76001 7H15.76L16.3968 3.41262C16.4391 3.17391 16.6466 3 16.8891 3H17.8734C18.1845 3 18.4201 3.28107 18.3657 3.58738L17.76 7H21.1649C21.4755 7 21.711 7.28023 21.6574 7.58619L21.4824 8.58619C21.4406 8.82544 21.2328 9 20.9899 9H17.41L16.35 15H19.7549C20.0655 15 20.301 15.2802 20.2474 15.5862L20.0724 16.5862C20.0306 16.8254 19.8228 17 19.5799 17H16L15.3632 20.5874C15.3209 20.8261 15.1134 21 14.8709 21H13.8866C13.5755 21 13.3399 20.7189 13.3943 20.4126L14 17H8.00001L7.36325 20.5874C7.32088 20.8261 7.11337 21 6.87094 21H5.88657ZM9.41045 9L8.35045 15H14.3504L15.4104 9H9.41045Z'%3E%3C/path%3E%3C/svg%3E");
width: 1.05rem;
height: 1.3rem;
-o-object-fit: contain;
object-fit: contain;
position: relative;
left: .125rem;
top: 3px;
display: inline-block;
margin-right: .125rem;
color: hsl(236, calc(83.3%), 92.9%);
}
.mention.interactive:hover {
color: #fff;
cursor: pointer;
background-color: hsl(235, calc(85.6%), 64.7%);
}
.msgEmbed {
min-height: 2.75rem;
position: absolute;
overflow-wrap: break-word;
user-select: text;
width: 100%;
margin: 10px 0 0 0;
padding: calc(0.125rem + 10px) 20px 20px 92px;
}
body.no-user .msgEmbed {
padding-left: 35px;
}
.msgEmbed:hover {
background-color: #04040512;
}
.embedTitle>* {
line-height: 1.375rem;
}
.botTagVerified {
display: none;
}
.contents {
position: static;
margin-left: 0px;
padding-left: 0px;
text-indent: 0px;
}
.contents.verified .botTag {
padding-left: 0;
}
.contents.verified .botTagVerified {
display: block;
}
.avatar {
position: absolute;
left: 36px;
margin-top: calc(4px - 0.125rem);
width: 40px;
height: 40px;
border-radius: 50%;
overflow: hidden;
cursor: pointer;
user-select: none;
flex: 0 0 auto;
z-index: 1;
}
.timeText {
font-size: 0.75rem;
line-height: 1.375rem;
color: var(--embedTextColor2);
vertical-align: baseline;
margin-left: 0.25rem;
display: inline-block;
height: 1.25rem;
cursor: default;
pointer-events: none;
font-weight: 500;
}
.botTag {
height: 0.9375rem;
padding: 0px 0.275rem;
margin-top: 0.075em;
border-radius: 0.1875rem;
background: #5961ec;
font-size: 0.625rem;
text-transform: uppercase;
vertical-align: top;
display: inline-flex;
align-items: center;
flex-shrink: 0;
text-indent: 0px;
position: relative;
top: 0.1rem;
margin-left: 0.25rem;
line-height: 1.375rem;
white-space: break-spaces;
overflow-wrap: break-word;
}
.botText {
position: relative;
font-size: 10px;
line-height: 15px;
text-transform: uppercase;
text-indent: 0px;
color: rgb(255, 255, 255);
font-weight: 500;
}
.username {
cursor: pointer;
font-size: 1rem;
font-weight: 500;
line-height: 1.375rem;
color: #fff;
display: inline;
vertical-align: baseline;
position: relative;
}
.imageWrapper {
display: block;
position: relative;
user-select: text;
overflow: hidden;
border-radius: 3px;
}
.imageWrapper img {
/* position: absolute; */
width: 100%;
height: 100%;
}
.clickable {
cursor: pointer;
}
.embed {
position: relative;
display: grid;
max-width: 520px;
box-sizing: border-box;
border-radius: 4px;
border-left: 4px solid var(--fullEmbedBackground);
background: var(--embedBackground);
border-color: #1e2327;
}
.embedAuthorName,
.embedAuthorNameLink,
.embedDescription,
.embedFieldName,
.embedFieldValue,
.embedFooterText,
.embedLink,
.embedProvider-3k5pfl,
.embedTitle,
.embedTitleLink-1Zla9e {
unicode-bidi: plaintext;
text-align: left;
}
.emoji {
object-fit: contain;
width: 1.375em;
height: 1.375em;
vertical-align: bottom;
}
.embed .emoji {
width: 18px;
height: 18px;
}
.embedGrid {
overflow: hidden;
max-width: 520px;
padding: 0.5rem 1rem 1rem 0.75rem;
display: inline-grid;
grid-template-columns: auto;
grid-template-rows: auto;
grid-template-columns: auto min-content;
}
.embedMargin {
margin-top: 8px;
}
.embedLink {
text-decoration: none;
cursor: pointer;
}
.embedAuthor {
display: flex;
align-items: center;
grid-column: 1 / 1;
}
.embedAuthorName {
font-size: 0.875rem;
font-weight: 600;
}
.embedAuthorIcon {
margin-right: 8px;
width: 24px;
height: 24px;
object-fit: contain;
border-radius: 50%;
}
.embedTitle {
font-size: 1rem;
font-weight: 600;
display: inline-block;
grid-column: 1 / 1;
}
.embedDescription {
font-size: 0.875rem;
line-height: 1.125rem;
font-weight: 400;
white-space: pre-line;
grid-column: 1 / 1;
}
.embedImage {
margin-top: 16px;
grid-column: 1 / 1;
border-radius: 4px;
contain: paint;
grid-column: 1 / 3;
max-width: 100%;
}
/* .embedImage, .embedThumbnail {
display: block;
object-fit: fill;
}
.embedImage, .embedThumbnail {
display: block;
border-radius: 4px;
}
.embedThumbnail {
width: 80px;
height: 80px;
}
.embedThumbnail {
grid-area: 1 / 2 / 8 / 2;
margin-left: 16px;
margin-top: 8px;
flex-shrink: 0;
justify-self: end;
width: 80px;
height: 80px;
} */
.embedImage img,
.embedThumbnail img {
display: block;
object-fit: fill;
border-radius: 4px;
}
.embedThumbnail {
grid-area: 1 / 2 / 8 / 2;
margin-left: 16px;
margin-top: 8px;
flex-shrink: 0;
justify-self: end;
/* <> */
width: 80px;
height: 80px;
/* <> */
}
.embedFooter {
display: flex;
align-items: center;
grid-area: auto / 1 / auto / 1;
}
.embedFooter {
grid-column: 1 / 3;
}
.embedFooterText {
font-size: 0.75rem;
line-height: 1rem;
font-weight: 500;
color: var(--embedTextColor);
}
.embedFooterSeparator {
font-weight: 500;
color: var(--embedTextColor);
display: inline-block;
margin: 0px 4px;
}
.embedFooterIcon {
margin-right: 8px;
width: 20px;
height: 20px;
object-fit: contain;
border-radius: 50%;
}
.embedFields {
display: grid;
grid-column: 1 / 1;
margin-top: 8px;
gap: 8px;
min-width: 0px;
grid-gap: 8px;
}
.embedField {
font-weight: 400;
font-size: 0.875rem;
line-height: 1.125rem;
min-width: 0px;
}
.embedFieldName {
font-weight: 600;
margin-bottom: 2px;
}
.embedFieldValue {
font-size: 0.875rem;
line-height: 1.125rem;
font-weight: 400;
white-space: pre-line;
min-width: 0px;
}
.embedDescription,
.embedFieldValue {
color: var(--embedTextColor);
}
.embedAuthorName,
.embedFieldName,
.embedTitle {
color: #fff;
}
.embedGrid>* {
display: none;
}
.messageContent {
user-select: text;
margin-left: -72px;
padding-left: 72px;
}
.messageContent.markup {
font-size: 1rem;
line-height: 1.375rem;
white-space: pre-wrap;
white-space: break-spaces;
word-wrap: break-word;
user-select: text;
font-weight: 400;
}
strong {
font-weight: 600;
}
u {
text-decoration: underline;
}
.markup em {
font-style: italic;
}
.markup strong {
font-weight: 700;
}
.markup {
font-size: 1rem;
line-height: 1.375rem;
user-select: text;
color: var(--embedTextColor);
font-weight: 400;
}
.markup a {
word-break: break-word;
text-decoration: none;
cursor: pointer;
}
.anchor {
color: var(--link);
}
.markup a:hover {
text-decoration: underline;
}
.markup code {
font-size: 0.875rem;
line-height: 1.125rem;
text-indent: 0;
white-space: pre-wrap;
scrollbar-width: thin;
scrollbar-color: var(--background-tertiary) var(--background-secondary);
background: #2f3136;
border: 1px solid #202225;
}
.markup pre>code {
display: block;
overflow-x: auto;
padding: .5em;
border-radius: 4px;
color: var(--header-secondary);
text-size-adjust: none;
}
.embedMargin {
word-break: break-all;
}
.embed blockquote {
max-width: 100%;
}
.blockquote {
display: flex;
display: -webkit-box;
}
.blockquote blockquote {
padding: 0 8px 0 12px;
box-sizing: border-box;
text-indent: 0;
}
.blockquote .blockquoteDivider {
width: 4px;
border-radius: 4px;
}
.blockquoteDivider {
background-color: var(--interactive-muted);
}
.container {
display: grid;
grid-auto-flow: row;
row-gap: 0.25rem;
text-indent: 0px;
min-height: 0px;
min-width: 0px;
padding-top: 0.125rem;
padding-bottom: 0.125rem;
}
.container>* {
place-self: start;
}
.markup code {
font-size: 0.875rem;
line-height: 1.125rem;
text-indent: 0;
white-space: pre-wrap;
background: var(--background-secondary);
border: 1px solid var(--background-tertiary);
}
.markup code.inline {
width: auto;
height: auto;
padding: .2em;
margin: -.2em 0;
border-radius: 3px;
font-size: 85%;
font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
text-indent: 0;
border: none;
white-space: pre-wrap;
}
.markup>blockquote,
.markup pre {
max-width: 90%;
}
.embed {
max-width: 100%;
}
/* Spinner */
.spinner-container {
position: relative;
width: 80px;
height: 80px;
background-color: #2d2f34;
transform: translate(-50%, -50%);
top: -50%;
left: 50%;
display: none;
}
.embedImage>.spinner-container {
background: none;
}
.spinner-container .spinner {
display: -webkit-box;
display: flex;
justify-content: center;
align-items: center;
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}
.spinner-container .spinner .inner {
position: relative;
display: inline-block;
width: 32px;
height: 32px;
contain: paint;
}
@keyframes spinner-wandering-cubes {
25% {
transform: translateX(22px) rotate(-90deg) scale(.5);
}
50% {
transform: translateX(22px) translateY(22px) rotate(-180deg);
}
75% {
transform: translateX(0) translateY(22px) rotate(-270deg) scale(.5);
}
to {
transform: rotate(-1turn);
}
}
.spinner-container .spinner .inner .wanderingCubesItem {
background-color: #7981f0;
width: 10px;
height: 10px;
position: absolute;
top: 0;
left: 0;
animation: spinner-wandering-cubes 1.8s ease-in-out infinite;
}
.spinner-container .spinner .inner span:last-child {
animation-delay: -.9s;
}
.markup pre {
border-radius: 4px;
padding: 0;
font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
font-size: 0.75rem;
line-height: 1rem;
margin-top: 6px;
white-space: pre-wrap;
background-clip: border-box;
}
.embed code {
border: none;
background: var(--background-tertiary);
}
.CodeMirror {
background-color: #212121;
color: #eff;
width: 100% !important;
height: 100% !important;
background-color: inherit !important;
}
.CodeMirror-lint-marker-error,
.CodeMirror-lint-message-error {
background-image: none !important;
}
.CodeMirror-lint-marker-error:after,
.CodeMirror-lint-message-error:before {
content: "!";
color: #f45711;
font-size: 20px;
position: relative;
left: 10px;
top: -3px;
}
.CodeMirror-lint-message-error:before {
content: "!";
color: #f45711;
font-size: 20px;
position: relative;
left: -15px !important;
top: 1px !important;
}
.CodeMirror-lint-tooltip {
box-shadow: 1px 10px 15px rgb(0 0 0 / 17%);
background-color: #202225 !important;
border: 1px solid #373a40 !important;
color: #cacaca !important;
}
.CodeMirror-lint-message {
padding: 5px 5px 10px 18px;
}
.CodeMirror-code .CodeMirror-gutter-wrapper .CodeMirror-gutter-elt {
left: 0px !important;
}
.CodeMirror-gutters {
background: #292b2f !important;
display: none;
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
padding: 0 12px;
}
.CodeMirror-lint-marker.CodeMirror-lint-marker-error {
left: 15px !important;
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
padding: 0 15px !important;
}
.CodeMirror-foldmarker {
color: #e5ecff !important;
text-shadow: none !important;
font-size: 20px;
}
.CodeMirror-cursor {
border-left: 2px solid #6ba6ff !important;
height: 17px !important;
}
.CodeMirror-scrollbar-filler {
display: none !important;
}
.CodeMirror-overlayscroll-horizontal div,
.CodeMirror-overlayscroll-vertical div {
background: #202225 !important;
}
.cm-s-material-darker .cm-comment {
color: #5d616b !important;
}
.cm-s-material-darker .CodeMirror-matchingbracket {
text-decoration: none !important;
background-color: rgb(173 192 212 / 3%) !important;
color: #b9c3d6 !important;
border-bottom: 1px solid #c2d6ff !important;
/* border: 1px solid #bacdf347; */
}
.notification {
position: relative;
bottom: 0;
left: 50%;
transform: translateX(-50%);
text-align: center;
position: fixed;
bottom: 0px;
}
.notification .inline {
width: auto;
height: auto;
border-radius: 3px;
font-size: 85%;
font-family: Consolas, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Monaco, Courier New, Courier, monospace;
text-indent: 0;
border: none;
overflow: hidden;
white-space: pre-wrap;
color: white;
color: inherit;
/* border: 1px dashed; */
padding: .3em 0em;
border-radius: 2px;
margin: -.2em 5px;
}
@keyframes notifAn {
0% {
opacity: var(--startOpacity, 0);
bottom: var(--startY, -50px);
}
10% {
opacity: 1;
bottom: 0px;
}
90% {
opacity: 1;
bottom: 0px;
}
100% {
opacity: 0;
bottom: -50px;
}
}
.notification {
margin-top: 5px;
animation: notifAn var(--time, 10s) ease forwards;
background-color: #202225;
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding: 10px;
color: #8c4949;
display: none;
width: 100%;
z-index: 6;
}
.col.cm-string.cm-property::before {
content: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' viewBox='0 0 512 512' xml:space='preserve'%3E%3Cpath style='fill:%23D8D8DA;' d='M256,0C114.615,0,0,114.615,0,256s114.615,256,256,256s256-114.615,256-256S397.385,0,256,0z M256,336.842c-44.648,0-80.842-36.194-80.842-80.842s36.194-80.842,80.842-80.842s80.842,36.194,80.842,80.842 S300.648,336.842,256,336.842z'/%3E%3Cpath style='fill:%23D4B6E6;' d='M282.947,188.632h220.076C485.09,122.726,441.507,67.394,383.64,34.044L229.053,188.632H282.947z'/%3E%3Cpath style='fill:%23EBAFD1;/*! fill: %23e592bf; */' d='M229.053,188.632L383.639,34.044C346.068,12.39,302.482,0,256,0c-23.319,0-45.899,3.135-67.368,8.978 v220.075L229.053,188.632z'/%3E%3Cpath style='fill:%23E07188;' d='M188.632,229.053V8.978C122.726,26.91,67.394,70.493,34.045,128.36l154.586,154.588V229.053z'/%3E%3Cg%3E%3Cpolygon style='fill:%23D8D8DA;' points='188.632,229.053 229.053,188.633 282.947,188.633 282.947,188.632 229.053,188.632 '/%3E%3Cpolygon style='fill:%23D8D8DA;' points='229.053,323.367 188.632,282.947 229.053,323.368 282.947,323.368 323.368,282.947 282.947,323.367 '/%3E%3C/g%3E%3Cpath style='fill:%23B4D8F1;' d='M503.024,188.632H282.947v0.001h0.958l39.463,40.42L477.955,383.64 C499.611,346.068,512,302.482,512,256C512,232.681,508.865,210.099,503.024,188.632z'/%3E%3Cpath style='fill:%23ACFFF4;' d='M323.368,282.947v220.075c65.905-17.932,121.238-61.517,154.586-119.382L323.368,229.053V282.947z'/%3E%3Cpath style='fill:%2395D5A7;' d='M282.947,323.368L128.361,477.956C165.932,499.61,209.518,512,256,512 c23.319,0,45.899-3.135,67.368-8.977V282.947L282.947,323.368z'/%3E%3Cpath style='fill:%23F8E99B;' d='M229.053,323.368H8.976C26.91,389.274,70.493,444.606,128.36,477.956l154.588-154.588H229.053z'/%3E%3Cpath style='fill:%23EFC27B;' d='M188.632,282.947L34.045,128.36C12.389,165.932,0,209.518,0,256c0,23.319,3.135,45.901,8.976,67.368 h220.076L188.632,282.947z'/%3E%3Cpolygon style='fill:%23E3E3E3;' points='283.905,188.633 282.947,188.633 323.368,229.053 '/%3E%3Cpath style='fill:%23B681D5;' d='M503.024,188.632C485.09,122.726,441.507,67.394,383.64,34.044L256,161.684v26.947h26.947H503.024z'/%3E%3Cpath style='fill:%23E592BF;' d='M383.639,34.044C346.068,12.39,302.482,0,256,0v161.684L383.639,34.044z'/%3E%3Cpath style='fill:%2380CB93;' d='M256,350.316V512c23.319,0,45.899-3.135,67.368-8.977V282.947l-40.421,40.421L256,350.316z'/%3E%3Cpolygon style='fill:%23F6E27D;' points='282.947,323.368 256,323.368 256,350.316 '/%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3Cg%3E%3C/g%3E%3C/svg%3E");
width: 15px;
height: 100px;
display: block;
background-repeat: no-repeat;
position: absolute;
top: 0;
left: 40px;
cursor: pointer;
opacity: .5;
transition: 1s ease;
}
.CodeMirror:hover .col.cm-string.cm-property::before {
opacity: 1;
}
body.gui .side1 .item.top {
max-width: 90%;
height: 75%;
border-radius: 15px;
}
body.no-preview.gui .side1 .item.top {
max-width: 100%;
}
body.no-preview.gui .bottom .colors {
left: 0;
margin-left: 20px;
}
body.no-preview.gui .bottom .sending {
left: 0;
margin-left: 120px;
}
@media screen and (min-width: 1015px) {
body.no-preview.gui .top>.gui :is(.item, .item ~ .edit) {
width: 95%;
}
}
body.gui .top>.CodeMirror {
display: none;
}
.top>.gui {
height: 100%;
width: 100%;
background: #292b2f;
border-radius: 5px;
overflow-y: scroll;
overflow-x: hidden;
scrollbar-color: #202225 #292b2f;
scrollbar-width: thin;
scrollbar-width: 7px;
padding-top: 15px;
padding-bottom: 20px;
transition: .5s ease;
}
@media screen and (min-height: 850px) {
.top>.gui:not(:hover)::-webkit-scrollbar-thumb {
background: #22242700;
}
}
.top>.gui::-webkit-scrollbar-thumb {
background: #2224279a;
}
.top>.gui::-webkit-scrollbar-thumb:hover {
background: #222427;
}
.top>.gui * {
scrollbar-color: #292b2f #202225;
}
.top>.gui * ::-webkit-scrollbar {
background: #202225 !important;
}
.top>.gui * ::-webkit-scrollbar-thumb {
border-radius: 50px;
background: #292b2f !important;
}
body:not(.gui) .top>.gui,
body:not(.gui) .bottom,
body:not(.gui) .pickerToggle {
display: none;
}
.chooser {
display: flex;
height: 40px;
width: 100px;
border-radius: 5px;
margin-bottom: 10px;
padding: 7px;
background: #1b1c2061;
box-shadow: -2px -2px 10px 0px #0000;
}
.chooser>.opt {
width: 50px;
cursor: pointer;
background: #292b2f;
border-radius: 4px;
}
.chooser>.opt p {
display: flex;
justify-content: center;
font-size: 10px;
position: relative;
top: 50%;
transform: translateY(-50%);
pointer-events: none;
}
/* body.gui .chooser>.gui {
background: #41444a;
}
body:not(.gui) .chooser>.json {
background: #41444a;
} */
.chooser>.back {
position: absolute;
height: 26px;
width: 43px;
border-radius: 4px;
background: #41444a;
transition: .5s ease-out;
pointer-events: none;
}
body:not(.gui) .chooser>.back {
transform: translateX(43px);
}
.bottom {
/* margin: 40px auto auto auto!important; */
max-width: 90%;
}
@keyframes colorsAn {
0% {
transform: translateX(-200px);
opacity: 0;
}
}
.bottom .colors, .bottom .sending {
z-index: 5;
animation: colorsAn .25s ease-out;
background: #212226;
border-radius: 10px;
width: 250px;
height: 130px;
position: absolute;
bottom: 10px;
box-shadow: -3px 3px 5px 0px #00000029;
display: grid;
grid-template-columns: 27% 73%;
grid-template-columns: 5% 27.5% 67.5%;
}
.bottom .sending {
width: 330px;
margin-left: 277px;
}
.bottom .colors .color {
background: #41f097;
}
.bottom .colors.display {
display: grid;
}
.colLeft {
border-radius: 15px;
}
.colLeft .picker {
background: #292b2f;
border: 1px solid #ffffff24;
}
.colLeft .picker>svg {
top: 7px;
right: 10px;
width: 16px;
height: 16px;
position: absolute;
}
.col.colLeft>* {
border-radius: 8px;
cursor: pointer;
}
.colRight {
margin: 0 10px;
}
.cTop {
width: 100%;
}
.cTop>h2 {
font-weight: 900;
margin-top: 10px;
}
.cTop .embedText>span {
opacity: 1;
transition: .5s ease;
}
.cTop .embedText>span:hover {
opacity: .6;
padding: 0 5px;
}
.cTop .desc {
font-size: 12px;
opacity: .6;
margin-top: 5px;
}
.col {
display: grid;
grid-template-rows: 45% 45%;
gap: 10px;
height: 80%;
transform: translateY(-50%);
top: 50%;
position: relative;
}
.pallets {
width: 100%;
display: grid;
/* grid-template-columns: repeat(8, 1fr); */
grid-template-columns: repeat(6, minmax(25px, 1fr));
gap: 5px 0px;
/* opacity: .7; */
transition: .5s;
}
.colors:hover .pallets {
opacity: 1;
}
.pallets>* {
background: black;
width: 17px;
height: 17px;
margin-left: 5px;
border-radius: 2px;
cursor: pointer;
}
.color-picker {
transform: none;
width: 100%;
height: 100%;
top: 0 !important;
left: 0 !important;
border-radius: 10px;
overflow: hidden;
}
.color-picker>div {
height: 100% !important;
}
.colors.picking .colRight .cTop>*:not(.color-picker),
.colors.picking .colRight .pallets,
.colors:not(.picking) .colRight .colBack,
.colors:not(.picking) .hex>div {
display: none;
}
.color-picker\:a {
display: none !important;
}
@keyframes colBackAn {
from {
right: 50px;
}
}
.colBack {
animation: colBackAn .2s ease-out;
position: absolute;
right: 0;
transform: translateX(40px);
z-index: 1000;
cursor: pointer;
}
.colBack svg {
width: 20px;
height: 20px;
opacity: .6;
}
.top {
scrollbar-color: #202225 #292b2f;
scrollbar-width: thin;
overflow: hidden;
}
.top>.gui .item {
cursor: pointer;
background: #212226;
height: 40px;
width: 90%;
margin: 8px auto;
border-radius: 7px;
background: linear-gradient(90deg, #212226, #21222600);
background: #2122269c;
position: relative;
z-index: 2;
}
.top>.gui .item.active .ttle::after {
transform: scale(.8) rotate(180deg);
}
.top>.gui .item.active .ttle::after {
transform: scale(.8) rotate(180deg);
}
.top>.gui .item.inlineField.active .ttle,
.top>.gui .item:not(.active) .ttle~input {
display: none;
}
.ttle,
.ttle~input {
font-size: 12px;
font-weight: 900;
text-transform: uppercase;
position: relative;
top: 50%;
transform: translateY(-50%);
margin-left: 15px;
}
.top>.gui .item.active .ttle~input:not(:placeholder-shown) {
font-weight: normal;
text-transform: none;
font-size: 12px;
}
input,
textarea {
background: transparent;
border: none;
color: inherit;
}
.ttle~input {
width: 100%;
}
.ttle::after {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' viewBox='0 0 24 24' height='30'%3E%3Cpath clip-rule='evenodd' fill='%23fff' d='M16.59 8.59004L12 13.17L7.41 8.59004L6 10L12 16L18 10L16.59 8.59004Z'%3E%3C/path%3E%3C/svg%3E");
position: absolute;
right: 0;
top: -12px;
transform: scale(.8);
opacity: .1;
pointer-events: none;
transition: .2s ease;
}
@keyframes editAn {
from {
opacity: 0;
transform: translateY(-40px);
}
}
.top>.gui .item~.edit {
animation: editAn .3s ease;
height: 40px;
width: 90%;
margin: 8px auto;
position: relative;
border-bottom-left-radius: 7px;
border-bottom-right-radius: 7px;
margin-top: 0;
background: #212226;
}
.top>.gui .item~.edit input {
align-self: start;
font-size: 13px;
position: relative;
margin-left: 15px;
transform: translateY(2px);
z-index: 1;
}
.top>.gui .item:not(.active)+.edit {
display: none;
}
.top>.gui .item:not(.inlineField):not(.guiEmbedName).active {
margin-bottom: 0;
background: #212226;
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
}
.edit {
padding-left: 15px;
}
.item:not(.rows2)+.edit {
display: flex;
}
.editIcon {
display: flex;
}
.editIcon,
.editName,
.editIcon input,
.editName input {
width: 100%;
overflow: hidden;
}
.editIcon .imgParent {
width: 24px;
height: 24px;
object-fit: contain;
border-radius: 50%;
}
.editIcon>* {
display: inline-flex;
}
.pickerToggle {
display: none;
bottom: 15px;
left: 15px;
position: absolute;
cursor: pointer;
z-index: 5;
}
.pickerToggle>svg {
width: 20px;
height: 100%;
}
textarea {
font-size: 13px;
min-width: 100%;
max-width: 100% !important;
height: 75px;
max-height: 200px;
}
.top>.gui .item.description+.edit,
.top>.gui .item.content+.edit {
height: auto;
}
.top>.gui .item.content+.edit textarea {
height: 80px;
}
.browse, .footerDate {
margin-top: 25px;
font-size: 13px;
display: flex;
cursor: pointer;
position: absolute;
opacity: .5;
}
:is(.browse, .footerDate):hover {
opacity: 1;
}
:is(.browse, .footerDate)>svg {
width: 20px;
position: relative;
z-index: 6;
height: 20px;
transform: translateY(-5px);
margin-right: 5px;
}
.browse>p::after {
content: "Browse";
}
.footerDate {
right: 19px;
}
.footerDate>p::after {
content: "Timestamp";
}
.footerDate input#timestamp {
all: unset;
/* transform: translateX(10px); */
}
.footerDate:is(:hover, :focus-within)>p,
.footerDate:not(:hover):not(:focus-within)>p+input#timestamp {
display: none;
}
.footerDate>svg {
width: 16px;
position: relative;
z-index: 6;
height: 16px;
top: 2px;
}
.footerDate>svg text {
font-size: 8px;
}
input#timestamp::-webkit-calendar-picker-indicator {
display: none;
}
.browse.loading>svg:first-of-type,
.browse:not(.loading)>svg:last-of-type,
.browse.error>svg {
display: none;
}
.browse.loading>p::after {
content: "Loading...";
}
.browse.error>p::after {
color: #ee9191;
content: attr(data-error);
}
.linkName {
display: flex;
}
.linkName,
.linkName .txtCol,
.linkName .txtCol>input[type="text"] {
width: 93%;
text-overflow: ellipsis;
}
.txtCol>input[type="text"] {
overflow: auto;
}
.top>.gui .item.rows2+.edit {
height: 80px;
}
input[type="file"],
button[type="submit"] {
display: none;
}
.largeImg+.edit .editIcon .imgParent {
width: 80px;
height: 80px;
border-radius: 4px;
object-fit: fill;
margin-top: 0;
margin-bottom: 15px;
}
.top>.gui .largeImg+.edit input {
transform: none;
}
.largeImg+.edit .browse {
margin-top: 40px;
font-size: 13px;
display: flex;
cursor: pointer;
position: relative;
opacity: .5;
margin-left: 15px;
}
.largeImg.image+.edit .browse {
margin-top: 35px;
}
.largeImg+.edit .editIcon>* {
display: block;
}
.largeImg+.edit {
height: auto !important;
}
.largeImg.image+.edit .editIcon .imgParent {
width: 130px;
object-fit: contain;
border-radius: 4px;
object-fit: cover;
}
.top>.gui .item.fields+.edit input {
margin-left: 0;
}
.top>.gui .item.fields+.edit input[type="text"] {
width: 100%;
}
.top>.gui .item.fields+.edit {
height: auto;
padding-bottom: 15px;
}
.top>.gui .item.fields.active+.edit {
display: block;
}
.designerFieldName {
width: 95%;
min-height: 30px;
border-radius: 5px;
}
.designerFieldValue textarea {
padding: 5px 10px;
}
.designerFieldName {
width: 100%;
min-height: 30px;
padding: 5px 10px;
margin-bottom: 2px;
}
.designerFieldName>input[type="text"] {
font-weight: 700;
}
.field~.field {
margin-top: 10px;
}
.field .fieldInner {
width: 95%;
height: 100%;
border-radius: 4px;
background: #292b2f;
border-radius: 5px;
margin-bottom: 2px;
transition: .3s ease;
}
@keyframes lastFieldSlide {
from {
opacity: 0;
transform: translateY(100px);
}
}
.gui .item.fields+.edit .field {
animation: lastFieldSlide .5s ease;
}
.fields+.edit .fieldInner .designerFieldName {
background: #2d2e33;
}
body {
counter-reset: fieldCount;
}
.fieldNumber {
position: absolute;
}
.fields+.edit {
z-index: 2;
}
@keyframes fieldNumberFadeInAn {
from {
opacity: 0;
transition: opacity 1s ease;
}
}
.fieldNumber::before {
animation: fieldNumberFadeInAn .2s ease-in;
counter-increment: fieldCount;
content: counter(fieldCount);
position: relative;
font-size: 18px;
right: 41px;
top: 22px;
z-index: -2;
opacity: .15;
transition: .5s ease;
}
@media screen and (max-width: 1600px) {
.fieldNumber::before {
right: 35px;
}
}
@media screen and (max-width: 600px) {
.fieldNumber::before {
font-size: 15px;
}
}
@media screen and (max-width: 500px) {
.fieldNumber::before {
right: 30px;
}
}
.inlineCheck,
.removeBtn {
font-size: 11px;
font-weight: bold;
text-transform: uppercase;
cursor: pointer;
display: inline-block;
margin-top: 3px;
}
#inlineCheck,
[for="inlineCheck"] {
cursor: pointer;
}
.removeBtn {
margin-left: 20PX;
}
.removeBtn>svg {
width: 10px;
height: 10px;
transition: .5s ease;
}
.removeBtn>span {
margin-left: 3px;
position: relative;
top: -1px;
transition: .5s ease;
}
.removeBtn:hover>span,
.removeBtn:hover>svg path {
color: #ff9191;
fill: #ff9191;
}
.inlineCheck input[type="checkbox"] {
scale: .8;
cursor: pointer;
}
.inlineCheck input[type="checkbox"]+span {
cursor: pointer;
}
.sep {
width: 100%;
height: 2px;
background: linear-gradient(to right, #2f313600, #2f3136, #2f313600);
}
.imgParent {
border-radius: 4px;
object-fit: fill;
margin-top: 0;
content: url("data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0' y='0' width='1400' height='780' viewBox='0, 0, 1400, 780'%3E%3Cg id='Background'%3E%3Crect x='0' y='0' width='1400' height='780' style='fill: %23212226;' fill='%23363A3E'/%3E%3C/g%3E%3Cg id='Background'/%3E%3Cg id='Background'%3E%3Cg%3E%3Cpath d='M463.326,212.495 L936.674,212.495 L936.674,567.505 L463.326,567.505 z' fill-opacity='0' stroke='%2343474B' stroke-width='30' stroke-miterlimit='10' style='stroke: %23888789;fill: %23888789;'/%3E%3Cpath d='M605.33,309.136 C605.33,328.961 589.259,345.032 569.435,345.032 C549.61,345.032 533.539,328.961 533.539,309.136 C533.539,289.312 549.61,273.241 569.435,273.241 C589.259,273.241 605.33,289.312 605.33,309.136 z' fill='%2343474B' style='fill: %23888789;'/%3E%3Cpath d='M878.689,507.548 L523.284,507.548 L570.618,406.173 L600.597,450.352 L700.789,298.092 L772.58,405.778 L806.503,368.699 z' fill='%2343474B' style='fill: %23888789;'/%3E%3C/g%3E%3C/g%3E%3Cstyle xmlns='http://www.w3.org/1999/xhtml' type='text/css'%3E%3C/style%3E%3C/svg%3E");
}
.largeImg+.edit .imgParent {
margin-bottom: 15px;
}
.item:not(.largeImg)+.edit .imgParent[style*="content"] {
transform: scale(1);
}
.item:not(.largeImg)+.edit .imgParent {
transform: scale(2);
}
@keyframes addFieldFade {
0% {
opacity: 0;
}
50% {
opacity: 0;
}
}
@keyframes hexAn {
0% {
opacity: 0;
transform: translateY(40px);
}
50% {
opacity: 0;
transform: translateY(40px);
}
}
.colors .hex>div {
position: absolute;
top: -35px;
background: #212226;
border-radius: 5px;
animation: hexAn .4s ease-in-out;
box-shadow: 0px -2px 10px 0px #0000001f;
right: 0px;
/* right: 50px; */
width: 50%;
}
.colors .hex>div>span {
padding: 6px 6px 6px 10px;
display: flex;
}
.colors .hex>div>span>span {
user-select: none;
padding: 0;
margin: 0;
font-size: 100%;
position: relative;
bottom: -1px;
opacity: .6;
margin-right: 2px;
}
.colors .hex>div>span input {
width: 100%;
opacity: .8;
}
.colors .hex.incorrect>div {
background: #262121;
}
.addField {
animation: addFieldFade .5s ease;
font-size: 13px;
display: flex;
cursor: pointer;
opacity: .5;
padding-top: 20px;
transition: .5s ease;
}
.addField>* {
pointer-events: none;
}
.addField>svg {
width: 16px;
position: relative;
z-index: 6;
height: 100%;
transform: translateY(-3px);
margin-left: 5px;
opacity: .8;
}
.addField:hover,
.addField:hover>svg {
opacity: 1;
}
.top-btn {
--bgc: #222328;
--bgc: #25262b;
--bgc: #27282e;
left: 190px;
position: absolute;
z-index: 5;
transform: translate(0, -5px);
padding: 8.5px;
border-radius: 100%;
background: var(--bgc);
width: 35px;
height: 35px;
transition: .5s ease;
}
.top-btn:not(.active) {
cursor: pointer;
}
.top-btn.copy {
left: 240px;
}
.top-btn.copy>svg {
width: 15px;
left: 1px;
top: -.5px;
}
.top-btn.copy>svg.mark {
width: 18px;
left: -1px;
}
.top-btn.copy>svg * {
fill: var(#fff);
transition: all .3s ease;
}
.top-btn>svg {
width: 20px;
height: 100%;
position: relative;
left: -2.5px;
top: -2px;
}
.top-btn.menu {
left: auto;
right: 20px;
background: transparent;
}
.top-btn.menu:hover {
background: var(--bgc);
}
.top-btn.menu>svg {
left: -1.5px;
transition: transform .2s ease;
}
.top-btn.menu>.box {
display: none;
padding: 13px;
min-width: 160px;
/* height: 200px; */
background: var(--bgc);
margin: 15px 0 0 0;
border-radius: 10px;
position: absolute;
right: 0;
box-shadow: #00000026 0px 7px 29px 0px;
width: max-content;
}
.top-btn.menu>.box .item {
padding: 5px;
border-radius: 5px;
margin-bottom: 5px;
font-size: 13px;
transition: .5s ease;
display: flex;
gap: 10px;
text-align: center;
align-content: center;
max-width: none;
}
.top-btn.menu>.box .item.normal:hover {
background: #35373f;
cursor: pointer;
}
.vs {
background: linear-gradient(to left, #3b3c4400, #44444d, #3b3c4400);
margin: 10px 0;
width: 100%;
height: 1px;
left: 50%;
position: relative;
transform: translateX(-50%);
}
.top-btn.menu>.box .item.normal> :is(*, *>svg) {
display: flex;
align-self: flex-end;
margin: 0;
}
.item.toggle {
display: block;
}
.item.toggle .inner .toggles {
display: flex;
gap: 2em;
}
.item.toggle .inner .toggles .item {
align-items: center;
background: #35363e;
padding: 5px 10px;
}
.item.toggle .inner .toggles .item * {
pointer-events: none;
}
.item.section .inner .title {
text-align: left;
margin: 10px 0;
opacity: .5;
text-transform: uppercase;
font-size: 79%;
font-weight: bold;
pointer-events: none;
}
.item.section .inner.more a {
all: unset;
cursor: pointer;
color: #939396fc;
/* color: #767d91; */
}
.item.section .inner.more a:hover {
color: #b7c6d3;
color: #919bb7;
}
/* .item.section .inner.more {
display: none;
} */
.item.toggle .item.toggle .item.toggle .item.toggle .top-btn.menu>.box .item>input {
pointer-events: none;
}
.top-btn.menu>.box .item>.icon::after {
display: none;
position: absolute;
content: "";
width: 4px;
height: 4px;
background: #00bb9c;
z-index: 1000000;
border-radius: 100%;
left: 7px;
transform: translateY(7px);
}
body.autoUpdateURL .top-btn.menu>.box .item.auto>.icon::after,
body.no-user .top-btn.menu>.box .item.noUser>.icon::after,
body:not(.single) .top-btn.menu>.box .item.multi>.icon::after,
body.reversed .top-btn.menu>.box .item.reverse>.icon::after {
display: block;
}
.top-btn.menu.active {
background: var(--bgc);
}
.top-btn.menu.active>.box {
display: block;
}
.top-btn.menu.active>svg {
transform: rotate(90deg);
}
@keyframes emptyTxtAn {
from {
opacity: 0;
}
}
.emptyTxt {
animation: emptyTxtAn 1s ease;
font-weight: 600;
text-transform: uppercase;
font-size: 30px;
line-height: 16px;
color: #41444a;
font-family: var(--font2);
padding: 10px 0;
top: 50%;
position: absolute;
left: 50%;
transform: translate(-50%, -50%);
pointer-events: none;
}
.noDisplay {
display: none !important;
}
@keyframes clearAn {
0% {
transform: rotate(10deg);
}
25% {
transform: rotate(-10deg);
}
50% {
transform: rotate(10deg);
}
75% {
transform: rotate(-13deg);
}
}
.top-btn.clear:hover>svg {
animation: clearAn 1s ease-in-out forwards;
transform-origin: top right;
}
body.emptyContent .messageContent,
body.emptyEmbed .messageContent+.container,
body.emptyEmbed .messageContent+.container,
body.emptyContent .messageContent,
.emptyTxt {
display: none;
}
body.emptyEmbed.emptyContent .emptyTxt {
display: block;
position: absolute;
top: 800%;
}
body.no-editor.no-preview .side1 .chooser {
background: transparent;
}
body.no-editor .side1 :not(.needed):not(.needed *) {
display: none !important;
}
body.no-editor .main .side1,
body.no-preview .main .side2 {
height: auto;
padding-bottom: 5px;
background: transparent;
}
body:is(.no-preview, .no-editor) .main {
display: flex;
flex-direction: column;
}
body.no-editor .side1 .chooser :is(.back, .opt) {
/* display: none; */
opacity: .25;
pointer-events: none;
}
body.no-editor .side1 .chooser.needed> :not(.menu) {
display: none !important;
}
body.no-editor .side1 {
position: absolute;
}
/* body.no-editor .side1 .chooser {
background: transparent;
} */
/* body.no-editor .side1 {
display: none !important;
} */
body.no-preview .side2 {
display: none !important;
}
/* body.no-editor .bottom .colors {
left: 20px;
top: 90px;
bottom: 0;
} */
body.no-editor .bottom .colors {
left: 20px;
top: 90px;
bottom: 0;
display: none;
}
body.no-editor .pickerToggle {
display: block;
position: absolute;
cursor: pointer;
z-index: 5;
left: 226px;
border-left: 2px solid #4c5057;
padding-left: 15px;
bottom: auto;
margin-left: 15px;
}
body.no-editor .pickerToggle>svg {
width: 17px;
transform: translateY(2px);
}
body.no-editor .main .side1 {
border-right: none;
}
body.no-editor .side1 .item.top {
padding-top: 10px;
transform: translateY(10px);
}
body.no-editor .bottom .colors.display {
display: grid;
}
/** Send button and components */
.done {
position: fixed;
right: -40px;
bottom: 30px;
z-index: 5;
transition: right .50s ease-out;
}
body.toHook .done {
right: -150px;
}
.done:not(.sent):hover {
right: 10px;
transition: right .30s ease-in;
}
.done.position {
right: 30px;
}
.done:not(.sent).position:hover {
right: 75px;
}
.done .in {
position: relative;
border-radius: 3px;
background: linear-gradient(30deg, #202225, #202225);
padding: 10px 20px;
box-shadow: 0px 0px 20px 0px #0000002b;
display: flex;
cursor: pointer;
width: 105px;
max-width: 150px;
/* transition: max-width .50s ease-out; */
overflow: hidden;
color: #dcdddec7;
}
.done:not(.sent):hover .in {
width: auto;
max-width: 500px;
transition: max-width .30 ease-in;
}
.done .in span {
font-family: var(--font2);
pointer-events: none;
transition: .5s ease-in-out;
color: #dcdddec7;
}
.done .in svg {
width: 16px;
height: 100%;
margin-left: 10px;
pointer-events: none;
}
.done .in svg path {
transition: .5s ease-in-out;
fill: #dcdddec7;
}
.done .item {
position: relative;
background: linear-gradient(30deg, #202225, #202225);
box-shadow: 0px 0px 20px 0px #0000002b;
color: #dcddde;
border-top-right-radius: 4px;
border-top-left-radius: 4px;
max-height: 0;
transition: 0s ease-out;
overflow: hidden;
}
.done .item:not(.hidden) {
display: flex;
}
.done:not(.sent):hover .item {
max-height: 500px;
transition: max-height .50s ease-in;
scrollbar-color: #36393f #202225;
scrollbar-color: #2c2d33 #202225;
}
.done * ::-webkit-scrollbar {
background: #202225 !important;
}
.done * ::-webkit-scrollbar-thumb {
background: #2c2d33 !important;
}
.selectOptions>* {
padding: 7px 12px;
}
.done:not(.sent):hover .in span {
color: #dcddde;
}
.done:not(.sent):hover .in svg path {
fill: #dcdddeea;
}
.done .channels .selectOptions {
padding: 5px 0;
}
h5.title {
font-weight: 600;
text-transform: uppercase;
font-size: 13px;
line-height: 16px;
color: #8e9297ad;
padding-bottom: 5px;
font-family: var(--font2);
}
.done .channels .selectOptions .channel {
min-width: 220px;
max-width: 250px;
cursor: pointer;
display: flex;
padding: 5px 22px 5px 22px;
}
.done .channels .selectOptions .hook {
min-width: 220px;
max-width: 250px;
/* cursor: pointer; */
/* display: flex; */
/* margin-top: 5px; */
/* margin-bottom: 5px; */
margin: 5px 10px 5px 10px;
padding: 0;
}
body.toHook .done .channels .selectOptions .hook input {
width: 100%;
}
body.toHook .done .channels .selectOptions .hook {
width: 320px;
max-width: 320px;
margin: 10px 10px 10px 10px;
}
.done .channels .selectOptions .hook input {
/* background: #26292d; */
padding: 10px 22px 10px 11px;
/* border-radius: 4px; */
border-bottom: 1px solid #44464a;
border-top-right-radius: 4px;
border-top-left-radius: 4px;
padding-left: 2px;
}
.done .channels .selectOptions .channel:hover {
background-color: #2c2f33;
border-radius: 4px;
}
.done .channels .selectOptions .channel img {
width: 16px;
filter: contrast(.3);
position: relative;
top: -4px;
pointer-events: none;
transform: translateY(3.5px);
}
.done .channels .selectOptions .channel span {
padding-left: 6px;
pointer-events: none;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.selectOptions {
overflow: auto;
overflow-x: hidden;
}
.done .in>span::after {
content: "Send";
}
.done:not(.sent):hover .in>span::after {
content: "Send to";
}
.done.sent .in>span::after {
content: "Embed sent";
color: #44ee95;
}
.done.sent .in {
max-width: 200px;
background: transparent;
box-shadow: none;
width: auto;
transform: translateX(-15px);
}
.done.sent .in svg {
display: none;
}
.done.sent .channels {
background: transparent;
box-shadow: none;
opacity: .5;
}
.done:not(.sent):hover .in {
border-radius: 0;
border-bottom-right-radius: 4px;
border-bottom-left-radius: 4px;
width: 100%;
}
.done:not(.sent):hover .in>svg {
width: 16px;
height: 100%;
margin-left: 10px;
transition: .5s ease;
transform: rotate(-90deg);
}
@media screen and (max-width: 1015px) {
.done {
right: -100px;
}
}
/* Send button and components **/
.invisible {
display: none !important;
}
::-webkit-scrollbar {
width: 7px;
background: #292b2f00;
}
::-webkit-scrollbar-thumb {
border-radius: 50px;
background: #202225;
}
@media screen and (max-width: 1015px) {
section.low .top>.gui {
opacity: .6;
filter: blur(2px) brightness(.99);
pointer-events: none !important;
}
section.low {
height: 50% !important;
transition: .4s ease;
}
section {
transition: .5s ease;
}
body.emptyEmbed.emptyContent section.side1:not(.low) {
height: 300%;
}
.top-btn {
position: absolute;
cursor: pointer;
z-index: 5;
left: 135px;
}
.main {
display: flex;
flex-direction: column;
}
.side1 .item.top {
height: 100%;
}
.notification .inline {
margin-top: 5px;
background-color: #20222500;
border: none;
}
.bottom .colors, .bottom .sending {
bottom: 40px;
top: 100px;
top: 90px;
left: 20px;
display: none;
animation: colorsAn .1s ease-out;
box-shadow: 0px 5px 15px 0px #0000004f;
}
body.reversed .bottom .colors {
left: 50%;
transform: translateX(-50%);
}
body.gui .side1 .item.top {
height: 85%;
max-width: 100%;
width: 100%;
}
body:not(.no-editor) section>.bottom {
margin: 40px 0 0 0 !important;
}
.pickerToggle {
display: block;
position: absolute;
cursor: pointer;
z-index: 5;
left: 226px;
border-left: 2px solid #4c5057;
padding-left: 15px;
bottom: auto;
margin-left: 15px;
}
.pickerToggle>svg {
width: 17px;
transform: translateY(2px);
}
.main .side1 {
border-right: none;
}
.side1 .item.top {
padding-top: 10px;
transform: translateY(10px);
}
}
@media screen and (max-height: 830px) {
.bottom .colors, .bottom .sending {
bottom: 10px;
}
body.gui .side1 .item.top {
max-width: 100%;
width: 100%;
}
body:not(.no-editor) section>.bottom {
margin: 40px 0 0 0 !important;
}
}
@media screen and (max-height: 830px) and (min-width: 1015px) {
body.gui .side1 .item.top {
height: 72%;
}
}
@media screen and (max-height: 750px) and (min-width: 1015px) {
body.gui .side1 .item.top {
height: 69%;
}
}
@media screen and (max-width: 530px) {
.main .side1 {
padding: 10px;
padding-bottom: 25px;
}
.top>.gui {
margin-top: 5px;
}
.emptyTxt {
display: none !important;
}
.msgEmbed {
margin: 20px 0 10px 0;
padding: 0.125rem 10px 20px 65px;
}
body.no-user .msgEmbed {
padding-left: 25px;
margin-top: 13px;
}
.avatar {
left: 10px;
}
}
@media screen and (max-width: 490px) {
.markup>blockquote,
.markup pre {
max-width: 99%;
}
}
.top>.gui .item.guiEmbedName {
background: none;
height: auto;
font-size: 13px;
/* margin: 18px auto 18px auto; */
left: 19px;
/* padding: 18px 0; */
margin: auto;
padding: 10px 0 10px 0;
z-index: 1;
}
.top>.gui .item.guiEmbedName::before {
content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' viewBox='0 0 24 24' height='30'%3E%3Cpath clip-rule='evenodd' fill='%23fff' d='M16.59 8.59004L12 13.17L7.41 8.59004L6 10L12 16L18 10L16.59 8.59004Z'%3E%3C/path%3E%3C/svg%3E");
position: absolute;
/* transform: scale(.8) translate(-40px, -13px); */
transform: scale(.7) translate(-40px, -13.5px) rotate(-90deg);
opacity: .5;
pointer-events: none;
transition: .2s ease;
}
/* Move icon a bit up for gecko based browsers */
@supports (-moz-appearance: none) {
.top>.gui .item.guiEmbedName::before {
transform: scale(.7) translate(-40px, -16.5px) rotate(-90deg);
}
}
.top>.gui .item.guiEmbedName.active::before {
transform: scale(.7) translate(-40px, -15.5px);
}
body:not(.single) .top>.gui .item.guiEmbedName:not(.active)+.guiEmbed,
body.single .guiEmbedAdd,
body.single .top>.gui .item.guiEmbedName {
display: none;
}
.top>.gui .item.guiEmbedName .text span {
opacity: .5;
}
@keyframes guiEmbedNameEmptyAn {
0% {
opacity: 0;
}
50% {
opacity: .5;
}
}
.top>.gui .item.guiEmbedName.empty .text::after {
content: var(--text, "no content");
opacity: 0;
margin-left: 7px;
font-style: italic;
animation: guiEmbedNameEmptyAn 3s ease
/*forwards*/
;
position: absolute;
transform: translateY(-1px);
}
.top>.gui .item.guiEmbedName .icon {
position: absolute;
right: 19px;
top: 7px;
transition: .5s ease;
opacity: .1;
}
.top>.gui .item.guiEmbedName:not(:hover) .icon {
opacity: 0;
pointer-events: none;
}
.top>.gui .item.guiEmbedName .icon:hover {
opacity: 1;
}
.guiEmbed {
z-index: 2;
position: relative;
background: #292b2f;
}
.guiEmbedAdd {
font-size: .8rem;
display: inline-flex;
position: absolute;
bottom: 5px;
left: 50%;
transform: translateX(-50%);
align-items: center;
z-index: 2;
}
.guiEmbedAdd .icon {
margin-right: 7px;
}
</style>
<script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.4.1/highlight.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/twemoji@14.0.2/dist/twemoji.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/codemirror.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/codemirror.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/mode/javascript/javascript.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/theme/material-darker.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/scroll/simplescrollbars.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/scroll/simplescrollbars.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/edit/matchbrackets.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/fold/brace-fold.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/fold/foldgutter.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/fold/foldgutter.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/fold/foldcode.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/lint/json-lint.min.js"></script>
<script src="https://unpkg.com/jsonlint@1.6.3/web/jsonlint.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/lint/lint.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.58.3/addon/lint/lint.min.js"></script>
<script>
/*!
* ==============================================================
* COLOR PICKER 2.1.6
* ==============================================================
* Author: Taufik Nurrohman <https://github.com/taufik-nurrohman>
* License: MIT
* --------------------------------------------------------------
*/
((e, t, n) => {
let r = t.documentElement,
i = "HEX",
o = "top",
u = "right",
c = "left",
l = "px",
f = e.setTimeout,
s = ["touchstart", "mousedown"],
a = ["touchmove", "mousemove"],
d = ["orientationchange", "resize"],
h = ["touchend", "mouseup"];
function p(e) {
let t,
n,
r,
i,
o,
u,
c,
l,
f = +e[0],
s = +e[1],
a = +e[2];
switch (((u = a * (1 - s)), (c = a * (1 - (o = 6 * f - (i = Math.floor(6 * f))) * s)), (l = a * (1 - (1 - o) * s)), (i = i || 0), (c = c || 0), (l = l || 0), i % 6)) {
case 0:
(t = a), (n = l), (r = u);
break;
case 1:
(t = c), (n = a), (r = u);
break;
case 2:
(t = u), (n = a), (r = l);
break;
case 3:
(t = u), (n = c), (r = a);
break;
case 4:
(t = l), (n = u), (r = a);
break;
case 5:
(t = a), (n = u), (r = c);
}
return [L(255 * t), L(255 * n), L(255 * r), w(e[3]) ? +e[3] : 1];
}
function g(e) {
let t,
n,
r = +e[0] / 255,
i = +e[1] / 255,
o = +e[2] / 255,
u = Math.max(r, i, o),
c = Math.min(r, i, o),
l = u,
f = u - c;
if (((n = 0 === u ? 0 : f / u), u === c)) t = 0;
else {
switch (u) {
case r:
t = (i - o) / f + (i < o ? 6 : 0);
break;
case i:
t = (o - r) / f + 2;
break;
case o:
t = (r - i) / f + 4;
}
t /= 6;
}
return [t, n, l, w(e[3]) ? +e[3] : 1];
}
function v(e, t) {
let n = t.touches ? t.touches[0].clientX : t.clientX,
r = t.touches ? t.touches[0].clientY : t.clientY,
i = E(e);
return [n - i[0], r - i[1]];
}
function b(e, t) {
if (e === t) return e;
for (; (e = e.parentElement) && e !== t; );
return e;
}
function m(e) {
e && e.preventDefault();
}
function C(e, t, n) {
for (let r = 0, i = t.length; r < i; ++r) e.removeEventListener(t[r], n, !1);
}
function k(e, t, n) {
for (let r = 0, i = t.length; r < i; ++r) e.addEventListener(t[r], n, !1);
}
function y(e) {
return "function" == typeof e;
}
function w(e) {
return void 0 !== e && null !== e;
}
function x(e) {
return "string" == typeof e;
}
function E(t) {
let n, i, o;
return t === e ? ((n = e.pageXOffset || r.scrollLeft), (i = e.pageYOffset || r.scrollTop)) : ((n = (o = t.getBoundingClientRect()).left), (i = o.top)), [n, i];
}
function P(t) {
return t === e ? [e.innerWidth, e.innerHeight] : [t.offsetWidth, t.offsetHeight];
}
function H(e, t, n) {
e.style[t] = n;
}
function M(e, t) {
return e < t[0] ? t[0] : e > t[1] ? t[1] : e;
}
function O(e, t) {
return parseInt(e, t || 10);
}
function X(e, n, r) {
return (e = t.createElement(e)), n && n.appendChild(e), r && (e.className = r), e;
}
function L(e) {
return Math.round(e);
}
function Y(e, t) {
return e.toString(t);
}
((e) => {
(e[i] = (e) => {
if (x(e)) {
let t = (e = e.trim()).length;
if ((4 !== t && 7 !== t) || "#" !== e[0]) {
if ((5 === t || 9 === t) && "#" === e[0] && /^#([a-f\d]{3,4}){1,2}$/i.test(e))
return 5 === t ? [O(e[1] + e[1], 16), O(e[2] + e[2], 16), O(e[3] + e[3], 16), O(e[4] + e[4], 16) / 255] : [O(e[1] + e[2], 16), O(e[3] + e[4], 16), O(e[5] + e[6], 16), O(e[7] + e[8], 16) / 255];
} else if (/^#([a-f\d]{3}){1,2}$/i.test(e)) return 4 === t ? [O(e[1] + e[1], 16), O(e[2] + e[2], 16), O(e[3] + e[3], 16), 1] : [O(e[1] + e[2], 16), O(e[3] + e[4], 16), O(e[5] + e[6], 16), 1];
return [0, 0, 0, 1];
}
return "#" + ("000000" + Y(+e[2] | (+e[1] << 8) | (+e[0] << 16), 16)).slice(-6) + (w(e[3]) && e[3] < 1 ? Y(L(255 * e[3]) + 65536, 16).substr(-2) : "");
}),
(e.instances = {}),
(e.state = { class: "color-picker", color: i, parent: null }),
(e.version = "2.1.6");
})(
(e.CP = function (n, O) {
if (!n) return;
let L = this,
Y = e.CP,
I = {},
N = Object.assign({}, Y.state, x(O) ? { color: O } : O || {}),
T = N.class,
W = X("div", 0, T);
if (n.CP) return L;
if (!(L instanceof Y)) return new Y(n, O);
(Y.instances[n.id || n.name || Object.keys(Y.instances).length] = L), (n.CP = 1), (L.visible = !1);
let $,
z,
B,
D,
R = t.body,
S = le(),
q = g(S),
A = X("div", W),
F = X("div", A, T + ":sv"),
G = X("div", A, T + ":h"),
J = X("div", A, T + ":a"),
K = X("div", F),
Q = (X("div", F), X("div", F), X("i", F)),
U = (X("div", G), X("i", G)),
V = X("div", J),
Z = (X("div", J), X("i", J)),
_ = 0,
ee = 0,
te = 0,
ne = 0,
re = 0,
ie = 0;
function oe(e) {
if (I.focus) ue("focus", S);
else {
let t = e.target;
n === b(t, n) ? !ce() && $(N.parent) : z();
}
}
function ue(e, t) {
if (!w(I[e])) return L;
for (let n = 0, r = I[e].length; n < r; ++n) I[e][n].apply(L, t);
return L;
}
function ce() {
return W.parentNode;
}
function le(e) {
let t,
r = Y[y(Y[N.color]) ? N.color : i];
return (t = n.dataset.color) ? (w(e) ? (n.dataset.color = r(t)) : r(t)) : (t = n.value) ? (w(e) ? (n.value = r(t)) : r(t)) : (t = n.textContent) ? (w(e) ? (n.textContent = r(t)) : r(t)) : w(e) ? void 0 : [0, 0, 0, 1];
}
!(function i(y, x) {
(q = g((S = le()))),
y || ((x || N.parent || R).appendChild(W), (L.visible = !0)),
($ = (e) => (i(0, e), ue("enter", S), L)),
(z = () => {
let n = ce();
return n && (n.removeChild(W), (L.current = null), (L.visible = !1)), C(F, s, ge), C(G, s, ve), C(J, s, be), C(t, a, he), C(t, h, pe), C(e, d, D), ue("exit", S), L;
}),
(B = (t) => {
let i = P(e),
u = P(r),
f = i[0] - u[0],
s = i[1] - r.clientHeight,
a = E(e),
d = E(n),
h = P(W),
p = h[0],
g = h[1],
v = d[0] + a[0],
b = d[1] + a[1] + P(n)[1];
if ("object" == typeof t) w(t[0]) && (v = t[0]), w(t[1]) && (b = t[1]);
else {
let e = a[0],
t = a[1],
n = a[0] + i[0] - p - f,
r = a[1] + i[1] - g - s;
(v = M(v, [e, n]) >> 0), (b = M(b, [t, r]) >> 0);
}
return H(W, c, v + l), H(W, o, b + l), ue("fit", S), L;
}),
(D = () => B());
let j = P(F),
O = j[0],
X = j[1],
Y = P(Q),
T = Y[0],
A = Y[1],
fe = P(G)[1],
se = P(U)[1],
ae = P(J)[1],
de = P(Z)[1];
function he(e) {
ne &&
(function (e) {
let t = v(F, e),
n = M(t[0], [0, O]),
r = M(t[1], [0, X]);
(q[1] = 1 - (O - n) / O), (q[2] = (X - r) / X), me();
})(e),
re &&
(function (e) {
(q[0] = (fe - M(v(G, e)[1], [0, fe])) / fe), me();
})(e),
ie &&
(function (e) {
(q[3] = (ae - M(v(J, e)[1], [0, ae])) / ae), me();
})(e),
(S = p(q)),
(ne || re || ie) && (ue(_ || ee || te ? "start" : "drag", S), ue("change", S)),
(_ = ee = te = 0);
}
function pe(e) {
S = p(q);
let t = e.target,
r = n === b(t, n),
i = W === b(t, W);
(L.current = null), r || i ? i && (ne || re || ie) && ue("stop", S) : I.blur ? ue("blur", S) : ce() && z(), (ne = re = ie = 0);
}
function ge(e) {
(L.current = F), (_ = ne = 1), he(e), m(e);
}
function ve(e) {
(L.current = G), (ee = re = 1), he(e), m(e);
}
function be(e) {
(L.current = J), (te = ie = 1), he(e), m(e);
}
function me() {
var e;
w((e = q)[1]) && H(Q, u, O - T / 2 - O * +e[1] + l), w(e[2]) && H(Q, o, X - A / 2 - X * +e[2] + l), w(e[0]) && H(U, o, fe - se / 2 - fe * +e[0] + l), w(e[3]) && H(Z, o, ae - de / 2 - ae * +e[3] + l);
let t = p(q),
n = p([q[0], 1, 1]);
H(K, "backgroundColor", "rgb(" + n[0] + "," + n[1] + "," + n[2] + ")"), H(V, "backgroundImage", "linear-gradient(rgb(" + t[0] + "," + t[1] + "," + t[2] + "),transparent)");
}
y
? (k(n, s, oe),
f(() => {
ue("change", S);
}, 1))
: (k(F, s, ge), k(G, s, ve), k(J, s, be), k(t, a, he), k(t, h, pe), k(e, d, D), B()),
(L.get = () => le()),
(L.set = (e, t, n, r) => ((q = g([e, t, n, r])), me(), L)),
me();
})(1),
(L.color = (e, t, n, r) => Y[y(Y[N.color]) ? N.color : i]([e, t, n, r])),
(L.current = null),
(L.enter = $),
(L.exit = z),
(L.fire = ue),
(L.fit = B),
(L.hooks = I),
(L.off = function (e, t) {
if (!w(e)) return (I = {}), L;
if (w(I[e]))
if (w(t)) {
for (let n = 0, r = I[e].length; n < r; ++n) t === I[e][n] && I[e].splice(n, 1);
0 === j && delete I[e];
} else delete I[e];
return L;
}),
(L.on = function (e, t) {
return w(I[e]) || (I[e] = []), w(t) && I[e].push(t), L;
}),
(L.pop = () => (n.CP ? (delete n.CP, C(n, s, oe), z(), ue("pop", S)) : L)),
(L.self = W),
(L.source = n),
(L.state = N),
(L.value = (e, t, n, r) => (L.set(e, t, n, r), ue("change", [e, t, n, r])));
})
);
})(window, document);
</script>
<style>
.color-picker,
.color-picker *,
.color-picker ::after,
.color-picker ::before,
.color-picker::after,
.color-picker::before {
box-sizing: border-box;
}
.color-picker {
position: absolute;
top: 0;
left: 0;
z-index: 9999;
box-shadow: 1px 3px 6px rgba(0, 0, 0, 0.5);
}
.color-picker > div {
display: flex;
height: 10em;
border: 1px solid #000;
color: #000;
}
.color-picker > div * {
border-color: inherit;
color: inherit;
}
.color-picker i {
font: inherit;
font-size: 12px;
}
.color-picker\:a,
.color-picker\:h,
.color-picker\:sv {
background-size: 100% 100%;
position: relative;
}
.color-picker\:a,
.color-picker\:h {
width: 1.5em;
border-left: 1px solid;
cursor: ns-resize;
overflow: hidden;
}
.color-picker\:a div,
.color-picker\:h div,
.color-picker\:sv div {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.color-picker\:a i,
.color-picker\:h i {
display: block;
height: 0.5em;
position: absolute;
top: -0.25em;
right: 0;
left: 0;
z-index: 2;
}
.color-picker\:a i::before,
.color-picker\:h i::before {
display: block;
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 0.25em solid;
border-top-color: transparent;
border-bottom-color: transparent;
}
.color-picker\:sv {
width: 10em;
cursor: crosshair;
overflow: hidden;
}
.color-picker\:sv i {
display: block;
width: 0.75em;
height: 0.75em;
position: absolute;
top: -0.375em;
right: -0.375em;
z-index: 2;
}
.color-picker\:sv i::before {
display: block;
content: "";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border: 1px solid #fff;
border-radius: 100%;
box-shadow: 0 0 2px #000;
}
.color-picker\:a div {
z-index: 2;
}
.color-picker\:a div + div {
background-image: linear-gradient(45deg, #ddd 25%, transparent 25%, transparent 75%, #ddd 75%, #ddd 100%), linear-gradient(45deg, #ddd 25%, #fff 25%, #fff 75%, #ddd 75%, #ddd 100%);
background-size: 0.5em 0.5em;
background-position: 0 0, 0.25em 0.25em;
z-index: 1;
}
.color-picker\:h div {
background-image: linear-gradient(to top, red 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, red 100%);
}
.color-picker\:sv div + div {
background-image: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
}
.color-picker\:sv div + div + div {
background-image: linear-gradient(to top, #000, rgba(0, 0, 0, 0));
}
.color-picker\:a,
.color-picker\:h,
.color-picker\:sv {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: transparent;
}
</style>
<script>
var emojis = {
"open_hands": "👐",
"open_hands_tone1": "👐🏻",
"open_hands_tone2": "👐🏼",
"open_hands_tone3": "👐🏽",
"open_hands_tone4": "👐🏾",
"open_hands_tone5": "👐🏿",
"raised_hands": "🙌",
"raised_hands_tone1": "🙌🏻",
"raised_hands_tone2": "🙌🏼",
"raised_hands_tone3": "🙌🏽",
"raised_hands_tone4": "🙌🏾",
"raised_hands_tone5": "🙌🏿",
"clap": "👏",
"clap_tone1": "👏🏻",
"clap_tone2": "👏🏼",
"clap_tone3": "👏🏽",
"clap_tone4": "👏🏾",
"clap_tone5": "👏🏿",
"handshake": "🤝",
"shaking_hands": "🤝",
"thumbsup": "👍",
"+1": "👍",
"thumbup": "👍",
"thumbsup_tone1": "👍🏻",
"+1_tone1": "👍🏻",
"thumbup_tone1": "👍🏻",
"thumbsup_tone2": "👍🏼",
"+1_tone2": "👍🏼",
"thumbup_tone2": "👍🏼",
"thumbsup_tone3": "👍🏽",
"+1_tone3": "👍🏽",
"thumbup_tone3": "👍🏽",
"thumbsup_tone4": "👍🏾",
"+1_tone4": "👍🏾",
"thumbup_tone4": "👍🏾",
"thumbsup_tone5": "👍🏿",
"+1_tone5": "👍🏿",
"thumbup_tone5": "👍🏿",
"thumbsdown": "👎",
"-1": "👎",
"thumbdown": "👎",
"thumbsdown_tone1": "👎🏻",
"_1_tone1": "👎🏻",
"thumbdown_tone1": "👎🏻",
"thumbsdown_tone2": "👎🏼",
"_1_tone2": "👎🏼",
"thumbdown_tone2": "👎🏼",
"thumbsdown_tone3": "👎🏽",
"_1_tone3": "👎🏽",
"thumbdown_tone3": "👎🏽",
"thumbsdown_tone4": "👎🏾",
"_1_tone4": "👎🏾",
"thumbdown_tone4": "👎🏾",
"thumbsdown_tone5": "👎🏿",
"_1_tone5": "👎🏿",
"thumbdown_tone5": "👎🏿",
"punch": "👊",
"punch_tone1": "👊🏻",
"punch_tone2": "👊🏼",
"punch_tone3": "👊🏽",
"punch_tone4": "👊🏾",
"punch_tone5": "👊🏿",
"fist": "✊",
"fist_tone1": "✊🏻",
"fist_tone2": "✊🏼",
"fist_tone3": "✊🏽",
"fist_tone4": "✊🏾",
"fist_tone5": "✊🏿",
"left_facing_fist": "🤛",
"left_fist": "🤛",
"left_facing_fist_tone1": "🤛🏻",
"left_fist_tone1": "🤛🏻",
"left_facing_fist_tone2": "🤛🏼",
"left_fist_tone2": "🤛🏼",
"left_facing_fist_tone3": "🤛🏽",
"left_fist_tone3": "🤛🏽",
"left_facing_fist_tone4": "🤛🏾",
"left_fist_tone4": "🤛🏾",
"left_facing_fist_tone5": "🤛🏿",
"left_fist_tone5": "🤛🏿",
"right_facing_fist": "🤜",
"right_fist": "🤜",
"right_facing_fist_tone1": "🤜🏻",
"right_fist_tone1": "🤜🏻",
"right_facing_fist_tone2": "🤜🏼",
"right_fist_tone2": "🤜🏼",
"right_facing_fist_tone3": "🤜🏽",
"right_fist_tone3": "🤜🏽",
"right_facing_fist_tone4": "🤜🏾",
"right_fist_tone4": "🤜🏾",
"right_facing_fist_tone5": "🤜🏿",
"right_fist_tone5": "🤜🏿",
"fingers_crossed": "🤞",
"hand_with_index_and_middle_finger_crossed": "🤞",
"fingers_crossed_tone1": "🤞🏻",
"hand_with_index_and_middle_fingers_crossed_tone1": "🤞🏻",
"fingers_crossed_tone2": "🤞🏼",
"hand_with_index_and_middle_fingers_crossed_tone2": "🤞🏼",
"fingers_crossed_tone3": "🤞🏽",
"hand_with_index_and_middle_fingers_crossed_tone3": "🤞🏽",
"fingers_crossed_tone4": "🤞🏾",
"hand_with_index_and_middle_fingers_crossed_tone4": "🤞🏾",
"fingers_crossed_tone5": "🤞🏿",
"hand_with_index_and_middle_fingers_crossed_tone5": "🤞🏿",
"v": "✌️",
"v_tone1": "✌🏻",
"v_tone2": "✌🏼",
"v_tone3": "✌🏽",
"v_tone4": "✌🏾",
"v_tone5": "✌🏿",
"love_you_gesture": "🤟",
"love_you_gesture_tone1": "🤟🏻",
"love_you_gesture_light_skin_tone": "🤟🏻",
"love_you_gesture_tone2": "🤟🏼",
"love_you_gesture_medium_light_skin_tone": "🤟🏼",
"love_you_gesture_tone3": "🤟🏽",
"love_you_gesture_medium_skin_tone": "🤟🏽",
"love_you_gesture_tone4": "🤟🏾",
"love_you_gesture_medium_dark_skin_tone": "🤟🏾",
"love_you_gesture_tone5": "🤟🏿",
"love_you_gesture_dark_skin_tone": "🤟🏿",
"metal": "🤘",
"sign_of_the_horns": "🤘",
"metal_tone1": "🤘🏻",
"sign_of_the_horns_tone1": "🤘🏻",
"metal_tone2": "🤘🏼",
"sign_of_the_horns_tone2": "🤘🏼",
"metal_tone3": "🤘🏽",
"sign_of_the_horns_tone3": "🤘🏽",
"metal_tone4": "🤘🏾",
"sign_of_the_horns_tone4": "🤘🏾",
"metal_tone5": "🤘🏿",
"sign_of_the_horns_tone5": "🤘🏿",
"ok_hand": "👌",
"ok_hand_tone1": "👌🏻",
"ok_hand_tone2": "👌🏼",
"ok_hand_tone3": "👌🏽",
"ok_hand_tone4": "👌🏾",
"ok_hand_tone5": "👌🏿",
"pinching_hand": "🤏",
"pinching_hand_tone1": "🤏🏻",
"pinching_hand_light_skin_tone": "🤏🏻",
"pinching_hand_tone2": "🤏🏼",
"pinching_hand_medium_light_skin_tone": "🤏🏼",
"pinching_hand_tone3": "🤏🏽",
"pinching_hand_medium_skin_tone": "🤏🏽",
"pinching_hand_tone4": "🤏🏾",
"pinching_hand_medium_dark_skin_tone": "🤏🏾",
"pinching_hand_tone5": "🤏🏿",
"pinching_hand_dark_skin_tone": "🤏🏿",
"pinched_fingers": "🤌",
"pinched_fingers_tone2": "🤌🏼",
"pinched_fingers_medium_light_skin_tone": "🤌🏼",
"pinched_fingers_tone1": "🤌🏻",
"pinched_fingers_light_skin_tone": "🤌🏻",
"pinched_fingers_tone3": "🤌🏽",
"pinched_fingers_medium_skin_tone": "🤌🏽",
"pinched_fingers_tone4": "🤌🏾",
"pinched_fingers_medium_dark_skin_tone": "🤌🏾",
"pinched_fingers_tone5": "🤌🏿",
"pinched_fingers_dark_skin_tone": "🤌🏿",
"point_left": "👈",
"point_left_tone1": "👈🏻",
"point_left_tone2": "👈🏼",
"point_left_tone3": "👈🏽",
"point_left_tone4": "👈🏾",
"point_left_tone5": "👈🏿",
"point_right": "👉",
"point_right_tone1": "👉🏻",
"point_right_tone2": "👉🏼",
"point_right_tone3": "👉🏽",
"point_right_tone4": "👉🏾",
"point_right_tone5": "👉🏿",
"point_up_2": "👆",
"point_up_2_tone1": "👆🏻",
"point_up_2_tone2": "👆🏼",
"point_up_2_tone3": "👆🏽",
"point_up_2_tone4": "👆🏾",
"point_up_2_tone5": "👆🏿",
"point_down": "👇",
"point_down_tone1": "👇🏻",
"point_down_tone2": "👇🏼",
"point_down_tone3": "👇🏽",
"point_down_tone4": "👇🏾",
"point_down_tone5": "👇🏿",
"point_up": "☝️",
"point_up_tone1": "☝🏻",
"point_up_tone2": "☝🏼",
"point_up_tone3": "☝🏽",
"point_up_tone4": "☝🏾",
"point_up_tone5": "☝🏿",
"raised_hand": "✋",
"raised_hand_tone1": "✋🏻",
"raised_hand_tone2": "✋🏼",
"raised_hand_tone3": "✋🏽",
"raised_hand_tone4": "✋🏾",
"raised_hand_tone5": "✋🏿",
"raised_back_of_hand": "🤚",
"back_of_hand": "🤚",
"raised_back_of_hand_tone1": "🤚🏻",
"back_of_hand_tone1": "🤚🏻",
"raised_back_of_hand_tone2": "🤚🏼",
"back_of_hand_tone2": "🤚🏼",
"raised_back_of_hand_tone3": "🤚🏽",
"back_of_hand_tone3": "🤚🏽",
"raised_back_of_hand_tone4": "🤚🏾",
"back_of_hand_tone4": "🤚🏾",
"raised_back_of_hand_tone5": "🤚🏿",
"back_of_hand_tone5": "🤚🏿",
"hand_splayed": "🖐️",
"raised_hand_with_fingers_splayed": "🖐️",
"hand_splayed_tone1": "🖐🏻",
"raised_hand_with_fingers_splayed_tone1": "🖐🏻",
"hand_splayed_tone2": "🖐🏼",
"raised_hand_with_fingers_splayed_tone2": "🖐🏼",
"hand_splayed_tone3": "🖐🏽",
"raised_hand_with_fingers_splayed_tone3": "🖐🏽",
"hand_splayed_tone4": "🖐🏾",
"raised_hand_with_fingers_splayed_tone4": "🖐🏾",
"hand_splayed_tone5": "🖐🏿",
"raised_hand_with_fingers_splayed_tone5": "🖐🏿",
"vulcan": "🖖",
"raised_hand_with_part_between_middle_and_ring_fingers": "🖖",
"vulcan_tone1": "🖖🏻",
"raised_hand_with_part_between_middle_and_ring_fingers_tone1": "🖖🏻",
"vulcan_tone2": "🖖🏼",
"raised_hand_with_part_between_middle_and_ring_fingers_tone2": "🖖🏼",
"vulcan_tone3": "🖖🏽",
"raised_hand_with_part_between_middle_and_ring_fingers_tone3": "🖖🏽",
"vulcan_tone4": "🖖🏾",
"raised_hand_with_part_between_middle_and_ring_fingers_tone4": "🖖🏾",
"vulcan_tone5": "🖖🏿",
"raised_hand_with_part_between_middle_and_ring_fingers_tone5": "🖖🏿",
"wave": "👋",
"wave_tone1": "👋🏻",
"wave_tone2": "👋🏼",
"wave_tone3": "👋🏽",
"wave_tone4": "👋🏾",
"wave_tone5": "👋🏿",
"call_me": "🤙",
"call_me_hand": "🤙",
"call_me_tone1": "🤙🏻",
"call_me_hand_tone1": "🤙🏻",
"call_me_tone2": "🤙🏼",
"call_me_hand_tone2": "🤙🏼",
"call_me_tone3": "🤙🏽",
"call_me_hand_tone3": "🤙🏽",
"call_me_tone4": "🤙🏾",
"call_me_hand_tone4": "🤙🏾",
"call_me_tone5": "🤙🏿",
"call_me_hand_tone5": "🤙🏿",
"muscle": "💪",
"muscle_tone1": "💪🏻",
"muscle_tone2": "💪🏼",
"muscle_tone3": "💪🏽",
"muscle_tone4": "💪🏾",
"muscle_tone5": "💪🏿",
"mechanical_arm": "🦾",
"middle_finger": "🖕",
"reversed_hand_with_middle_finger_extended": "🖕",
"middle_finger_tone1": "🖕🏻",
"reversed_hand_with_middle_finger_extended_tone1": "🖕🏻",
"middle_finger_tone2": "🖕🏼",
"reversed_hand_with_middle_finger_extended_tone2": "🖕🏼",
"middle_finger_tone3": "🖕🏽",
"reversed_hand_with_middle_finger_extended_tone3": "🖕🏽",
"middle_finger_tone4": "🖕🏾",
"reversed_hand_with_middle_finger_extended_tone4": "🖕🏾",
"middle_finger_tone5": "🖕🏿",
"reversed_hand_with_middle_finger_extended_tone5": "🖕🏿",
"writing_hand": "✍️",
"writing_hand_tone1": "✍🏻",
"writing_hand_tone2": "✍🏼",
"writing_hand_tone3": "✍🏽",
"writing_hand_tone4": "✍🏾",
"writing_hand_tone5": "✍🏿",
"pray": "🙏",
"pray_tone1": "🙏🏻",
"pray_tone2": "🙏🏼",
"pray_tone3": "🙏🏽",
"pray_tone4": "🙏🏾",
"pray_tone5": "🙏🏿",
"foot": "🦶",
"foot_tone1": "🦶🏻",
"foot_light_skin_tone": "🦶🏻",
"foot_tone2": "🦶🏼",
"foot_medium_light_skin_tone": "🦶🏼",
"foot_tone3": "🦶🏽",
"foot_medium_skin_tone": "🦶🏽",
"foot_tone4": "🦶🏾",
"foot_medium_dark_skin_tone": "🦶🏾",
"foot_tone5": "🦶🏿",
"foot_dark_skin_tone": "🦶🏿",
"leg": "🦵",
"leg_tone1": "🦵🏻",
"leg_light_skin_tone": "🦵🏻",
"leg_tone2": "🦵🏼",
"leg_medium_light_skin_tone": "🦵🏼",
"leg_tone3": "🦵🏽",
"leg_medium_skin_tone": "🦵🏽",
"leg_tone4": "🦵🏾",
"leg_medium_dark_skin_tone": "🦵🏾",
"leg_tone5": "🦵🏿",
"leg_dark_skin_tone": "🦵🏿",
"mechanical_leg": "🦿",
"lipstick": "💄",
"kiss": "💋",
"lips": "👄",
"tooth": "🦷",
"bone": "🦴",
"tongue": "👅",
"ear": "👂",
"ear_tone1": "👂🏻",
"ear_tone2": "👂🏼",
"ear_tone3": "👂🏽",
"ear_tone4": "👂🏾",
"ear_tone5": "👂🏿",
"ear_with_hearing_aid": "🦻",
"ear_with_hearing_aid_tone1": "🦻🏻",
"ear_with_hearing_aid_light_skin_tone": "🦻🏻",
"ear_with_hearing_aid_tone2": "🦻🏼",
"ear_with_hearing_aid_medium_light_skin_tone": "🦻🏼",
"ear_with_hearing_aid_tone3": "🦻🏽",
"ear_with_hearing_aid_medium_skin_tone": "🦻🏽",
"ear_with_hearing_aid_tone4": "🦻🏾",
"ear_with_hearing_aid_medium_dark_skin_tone": "🦻🏾",
"ear_with_hearing_aid_tone5": "🦻🏿",
"ear_with_hearing_aid_dark_skin_tone": "🦻🏿",
"nose": "👃",
"nose_tone1": "👃🏻",
"nose_tone2": "👃🏼",
"nose_tone3": "👃🏽",
"nose_tone4": "👃🏾",
"nose_tone5": "👃🏿",
"footprints": "👣",
"eye": "👁️",
"eyes": "👀",
"brain": "🧠",
"anatomical_heart": "🫀",
"lungs": "🫁",
"speaking_head": "🗣️",
"speaking_head_in_silhouette": "🗣️",
"bust_in_silhouette": "👤",
"busts_in_silhouette": "👥",
"people_hugging": "🫂",
"baby": "👶",
"baby_tone1": "👶🏻",
"baby_tone2": "👶🏼",
"baby_tone3": "👶🏽",
"baby_tone4": "👶🏾",
"baby_tone5": "👶🏿",
"girl": "👧",
"girl_tone1": "👧🏻",
"girl_tone2": "👧🏼",
"girl_tone3": "👧🏽",
"girl_tone4": "👧🏾",
"girl_tone5": "👧🏿",
"child": "🧒",
"child_tone1": "🧒🏻",
"child_light_skin_tone": "🧒🏻",
"child_tone2": "🧒🏼",
"child_medium_light_skin_tone": "🧒🏼",
"child_tone3": "🧒🏽",
"child_medium_skin_tone": "🧒🏽",
"child_tone4": "🧒🏾",
"child_medium_dark_skin_tone": "🧒🏾",
"child_tone5": "🧒🏿",
"child_dark_skin_tone": "🧒🏿",
"boy": "👦",
"boy_tone1": "👦🏻",
"boy_tone2": "👦🏼",
"boy_tone3": "👦🏽",
"boy_tone4": "👦🏾",
"boy_tone5": "👦🏿",
"woman": "👩",
"woman_tone1": "👩🏻",
"woman_tone2": "👩🏼",
"woman_tone3": "👩🏽",
"woman_tone4": "👩🏾",
"woman_tone5": "👩🏿",
"adult": "🧑",
"adult_tone1": "🧑🏻",
"adult_light_skin_tone": "🧑🏻",
"adult_tone2": "🧑🏼",
"adult_medium_light_skin_tone": "🧑🏼",
"adult_tone3": "🧑🏽",
"adult_medium_skin_tone": "🧑🏽",
"adult_tone4": "🧑🏾",
"adult_medium_dark_skin_tone": "🧑🏾",
"adult_tone5": "🧑🏿",
"adult_dark_skin_tone": "🧑🏿",
"man": "👨",
"man_tone1": "👨🏻",
"man_tone2": "👨🏼",
"man_tone3": "👨🏽",
"man_tone4": "👨🏾",
"man_tone5": "👨🏿",
"person_curly_hair": "🧑‍🦱",
"person_tone1_curly_hair": "🧑🏻‍🦱",
"person_light_skin_tone_curly_hair": "🧑🏻‍🦱",
"person_tone2_curly_hair": "🧑🏼‍🦱",
"person_medium_light_skin_tone_curly_hair": "🧑🏼‍🦱",
"person_tone3_curly_hair": "🧑🏽‍🦱",
"person_medium_skin_tone_curly_hair": "🧑🏽‍🦱",
"person_tone4_curly_hair": "🧑🏾‍🦱",
"person_medium_dark_skin_tone_curly_hair": "🧑🏾‍🦱",
"person_tone5_curly_hair": "🧑🏿‍🦱",
"person_dark_skin_tone_curly_hair": "🧑🏿‍🦱",
"woman_curly_haired": "👩‍🦱",
"woman_curly_haired_tone1": "👩🏻‍🦱",
"woman_curly_haired_light_skin_tone": "👩🏻‍🦱",
"woman_curly_haired_tone2": "👩🏼‍🦱",
"woman_curly_haired_medium_light_skin_tone": "👩🏼‍🦱",
"woman_curly_haired_tone3": "👩🏽‍🦱",
"woman_curly_haired_medium_skin_tone": "👩🏽‍🦱",
"woman_curly_haired_tone4": "👩🏾‍🦱",
"woman_curly_haired_medium_dark_skin_tone": "👩🏾‍🦱",
"woman_curly_haired_tone5": "👩🏿‍🦱",
"woman_curly_haired_dark_skin_tone": "👩🏿‍🦱",
"man_curly_haired": "👨‍🦱",
"man_curly_haired_tone1": "👨🏻‍🦱",
"man_curly_haired_light_skin_tone": "👨🏻‍🦱",
"man_curly_haired_tone2": "👨🏼‍🦱",
"man_curly_haired_medium_light_skin_tone": "👨🏼‍🦱",
"man_curly_haired_tone3": "👨🏽‍🦱",
"man_curly_haired_medium_skin_tone": "👨🏽‍🦱",
"man_curly_haired_tone4": "👨🏾‍🦱",
"man_curly_haired_medium_dark_skin_tone": "👨🏾‍🦱",
"man_curly_haired_tone5": "👨🏿‍🦱",
"man_curly_haired_dark_skin_tone": "👨🏿‍🦱",
"person_red_hair": "🧑‍🦰",
"person_tone1_red_hair": "🧑🏻‍🦰",
"person_light_skin_tone_red_hair": "🧑🏻‍🦰",
"person_tone2_red_hair": "🧑🏼‍🦰",
"person_medium_light_skin_tone_red_hair": "🧑🏼‍🦰",
"person_tone3_red_hair": "🧑🏽‍🦰",
"person_medium_skin_tone_red_hair": "🧑🏽‍🦰",
"person_tone4_red_hair": "🧑🏾‍🦰",
"person_medium_dark_skin_tone_red_hair": "🧑🏾‍🦰",
"person_tone5_red_hair": "🧑🏿‍🦰",
"person_dark_skin_tone_red_hair": "🧑🏿‍🦰",
"woman_red_haired": "👩‍🦰",
"woman_red_haired_tone1": "👩🏻‍🦰",
"woman_red_haired_light_skin_tone": "👩🏻‍🦰",
"woman_red_haired_tone2": "👩🏼‍🦰",
"woman_red_haired_medium_light_skin_tone": "👩🏼‍🦰",
"woman_red_haired_tone3": "👩🏽‍🦰",
"woman_red_haired_medium_skin_tone": "👩🏽‍🦰",
"woman_red_haired_tone4": "👩🏾‍🦰",
"woman_red_haired_medium_dark_skin_tone": "👩🏾‍🦰",
"woman_red_haired_tone5": "👩🏿‍🦰",
"woman_red_haired_dark_skin_tone": "👩🏿‍🦰",
"man_red_haired": "👨‍🦰",
"man_red_haired_tone1": "👨🏻‍🦰",
"man_red_haired_light_skin_tone": "👨🏻‍🦰",
"man_red_haired_tone2": "👨🏼‍🦰",
"man_red_haired_medium_light_skin_tone": "👨🏼‍🦰",
"man_red_haired_tone3": "👨🏽‍🦰",
"man_red_haired_medium_skin_tone": "👨🏽‍🦰",
"man_red_haired_tone4": "👨🏾‍🦰",
"man_red_haired_medium_dark_skin_tone": "👨🏾‍🦰",
"man_red_haired_tone5": "👨🏿‍🦰",
"man_red_haired_dark_skin_tone": "👨🏿‍🦰",
"blond_haired_woman": "👱‍♀️",
"blond_haired_woman_tone1": "👱🏻‍♀️",
"blond_haired_woman_light_skin_tone": "👱🏻‍♀️",
"blond_haired_woman_tone2": "👱🏼‍♀️",
"blond_haired_woman_medium_light_skin_tone": "👱🏼‍♀️",
"blond_haired_woman_tone3": "👱🏽‍♀️",
"blond_haired_woman_medium_skin_tone": "👱🏽‍♀️",
"blond_haired_woman_tone4": "👱🏾‍♀️",
"blond_haired_woman_medium_dark_skin_tone": "👱🏾‍♀️",
"blond_haired_woman_tone5": "👱🏿‍♀️",
"blond_haired_woman_dark_skin_tone": "👱🏿‍♀️",
"blond_haired_person": "👱",
"person_with_blond_hair": "👱",
"blond_haired_person_tone1": "👱🏻",
"person_with_blond_hair_tone1": "👱🏻",
"blond_haired_person_tone2": "👱🏼",
"person_with_blond_hair_tone2": "👱🏼",
"blond_haired_person_tone3": "👱🏽",
"person_with_blond_hair_tone3": "👱🏽",
"blond_haired_person_tone4": "👱🏾",
"person_with_blond_hair_tone4": "👱🏾",
"blond_haired_person_tone5": "👱🏿",
"person_with_blond_hair_tone5": "👱🏿",
"blond_haired_man": "👱‍♂️",
"blond_haired_man_tone1": "👱🏻‍♂️",
"blond_haired_man_light_skin_tone": "👱🏻‍♂️",
"blond_haired_man_tone2": "👱🏼‍♂️",
"blond_haired_man_medium_light_skin_tone": "👱🏼‍♂️",
"blond_haired_man_tone3": "👱🏽‍♂️",
"blond_haired_man_medium_skin_tone": "👱🏽‍♂️",
"blond_haired_man_tone4": "👱🏾‍♂️",
"blond_haired_man_medium_dark_skin_tone": "👱🏾‍♂️",
"blond_haired_man_tone5": "👱🏿‍♂️",
"blond_haired_man_dark_skin_tone": "👱🏿‍♂️",
"person_white_hair": "🧑‍🦳",
"person_tone1_white_hair": "🧑🏻‍🦳",
"person_light_skin_tone_white_hair": "🧑🏻‍🦳",
"person_tone2_white_hair": "🧑🏼‍🦳",
"person_medium_light_skin_tone_white_hair": "🧑🏼‍🦳",
"person_tone3_white_hair": "🧑🏽‍🦳",
"person_medium_skin_tone_white_hair": "🧑🏽‍🦳",
"person_tone4_white_hair": "🧑🏾‍🦳",
"person_medium_dark_skin_tone_white_hair": "🧑🏾‍🦳",
"person_tone5_white_hair": "🧑🏿‍🦳",
"person_dark_skin_tone_white_hair": "🧑🏿‍🦳",
"woman_white_haired": "👩‍🦳",
"woman_white_haired_tone1": "👩🏻‍🦳",
"woman_white_haired_light_skin_tone": "👩🏻‍🦳",
"woman_white_haired_tone2": "👩🏼‍🦳",
"woman_white_haired_medium_light_skin_tone": "👩🏼‍🦳",
"woman_white_haired_tone3": "👩🏽‍🦳",
"woman_white_haired_medium_skin_tone": "👩🏽‍🦳",
"woman_white_haired_tone4": "👩🏾‍🦳",
"woman_white_haired_medium_dark_skin_tone": "👩🏾‍🦳",
"woman_white_haired_tone5": "👩🏿‍🦳",
"woman_white_haired_dark_skin_tone": "👩🏿‍🦳",
"man_white_haired": "👨‍🦳",
"man_white_haired_tone1": "👨🏻‍🦳",
"man_white_haired_light_skin_tone": "👨🏻‍🦳",
"man_white_haired_tone2": "👨🏼‍🦳",
"man_white_haired_medium_light_skin_tone": "👨🏼‍🦳",
"man_white_haired_tone3": "👨🏽‍🦳",
"man_white_haired_medium_skin_tone": "👨🏽‍🦳",
"man_white_haired_tone4": "👨🏾‍🦳",
"man_white_haired_medium_dark_skin_tone": "👨🏾‍🦳",
"man_white_haired_tone5": "👨🏿‍🦳",
"man_white_haired_dark_skin_tone": "👨🏿‍🦳",
"person_bald": "🧑‍🦲",
"person_tone1_bald": "🧑🏻‍🦲",
"person_light_skin_tone_bald": "🧑🏻‍🦲",
"person_tone2_bald": "🧑🏼‍🦲",
"person_medium_light_skin_tone_bald": "🧑🏼‍🦲",
"person_tone3_bald": "🧑🏽‍🦲",
"person_medium_skin_tone_bald": "🧑🏽‍🦲",
"person_tone4_bald": "🧑🏾‍🦲",
"person_medium_dark_skin_tone_bald": "🧑🏾‍🦲",
"person_tone5_bald": "🧑🏿‍🦲",
"person_dark_skin_tone_bald": "🧑🏿‍🦲",
"woman_bald": "👩‍🦲",
"woman_bald_tone1": "👩🏻‍🦲",
"woman_bald_light_skin_tone": "👩🏻‍🦲",
"woman_bald_tone2": "👩🏼‍🦲",
"woman_bald_medium_light_skin_tone": "👩🏼‍🦲",
"woman_bald_tone3": "👩🏽‍🦲",
"woman_bald_medium_skin_tone": "👩🏽‍🦲",
"woman_bald_tone4": "👩🏾‍🦲",
"woman_bald_medium_dark_skin_tone": "👩🏾‍🦲",
"woman_bald_tone5": "👩🏿‍🦲",
"woman_bald_dark_skin_tone": "👩🏿‍🦲",
"man_bald": "👨‍🦲",
"man_bald_tone1": "👨🏻‍🦲",
"man_bald_light_skin_tone": "👨🏻‍🦲",
"man_bald_tone2": "👨🏼‍🦲",
"man_bald_medium_light_skin_tone": "👨🏼‍🦲",
"man_bald_tone3": "👨🏽‍🦲",
"man_bald_medium_skin_tone": "👨🏽‍🦲",
"man_bald_tone4": "👨🏾‍🦲",
"man_bald_medium_dark_skin_tone": "👨🏾‍🦲",
"man_bald_tone5": "👨🏿‍🦲",
"man_bald_dark_skin_tone": "👨🏿‍🦲",
"bearded_person": "🧔",
"bearded_person_tone1": "🧔🏻",
"bearded_person_light_skin_tone": "🧔🏻",
"bearded_person_tone2": "🧔🏼",
"bearded_person_medium_light_skin_tone": "🧔🏼",
"bearded_person_tone3": "🧔🏽",
"bearded_person_medium_skin_tone": "🧔🏽",
"bearded_person_tone4": "🧔🏾",
"bearded_person_medium_dark_skin_tone": "🧔🏾",
"bearded_person_tone5": "🧔🏿",
"bearded_person_dark_skin_tone": "🧔🏿",
"older_woman": "👵",
"grandma": "👵",
"older_woman_tone1": "👵🏻",
"grandma_tone1": "👵🏻",
"older_woman_tone2": "👵🏼",
"grandma_tone2": "👵🏼",
"older_woman_tone3": "👵🏽",
"grandma_tone3": "👵🏽",
"older_woman_tone4": "👵🏾",
"grandma_tone4": "👵🏾",
"older_woman_tone5": "👵🏿",
"grandma_tone5": "👵🏿",
"older_adult": "🧓",
"older_adult_tone1": "🧓🏻",
"older_adult_light_skin_tone": "🧓🏻",
"older_adult_tone2": "🧓🏼",
"older_adult_medium_light_skin_tone": "🧓🏼",
"older_adult_tone3": "🧓🏽",
"older_adult_medium_skin_tone": "🧓🏽",
"older_adult_tone4": "🧓🏾",
"older_adult_medium_dark_skin_tone": "🧓🏾",
"older_adult_tone5": "🧓🏿",
"older_adult_dark_skin_tone": "🧓🏿",
"older_man": "👴",
"older_man_tone1": "👴🏻",
"older_man_tone2": "👴🏼",
"older_man_tone3": "👴🏽",
"older_man_tone4": "👴🏾",
"older_man_tone5": "👴🏿",
"man_with_chinese_cap": "👲",
"man_with_gua_pi_mao": "👲",
"man_with_chinese_cap_tone1": "👲🏻",
"man_with_gua_pi_mao_tone1": "👲🏻",
"man_with_chinese_cap_tone2": "👲🏼",
"man_with_gua_pi_mao_tone2": "👲🏼",
"man_with_chinese_cap_tone3": "👲🏽",
"man_with_gua_pi_mao_tone3": "👲🏽",
"man_with_chinese_cap_tone4": "👲🏾",
"man_with_gua_pi_mao_tone4": "👲🏾",
"man_with_chinese_cap_tone5": "👲🏿",
"man_with_gua_pi_mao_tone5": "👲🏿",
"person_wearing_turban": "👳",
"man_with_turban": "👳",
"person_wearing_turban_tone1": "👳🏻",
"man_with_turban_tone1": "👳🏻",
"person_wearing_turban_tone2": "👳🏼",
"man_with_turban_tone2": "👳🏼",
"person_wearing_turban_tone3": "👳🏽",
"man_with_turban_tone3": "👳🏽",
"person_wearing_turban_tone4": "👳🏾",
"man_with_turban_tone4": "👳🏾",
"person_wearing_turban_tone5": "👳🏿",
"man_with_turban_tone5": "👳🏿",
"woman_wearing_turban": "👳‍♀️",
"woman_wearing_turban_tone1": "👳🏻‍♀️",
"woman_wearing_turban_light_skin_tone": "👳🏻‍♀️",
"woman_wearing_turban_tone2": "👳🏼‍♀️",
"woman_wearing_turban_medium_light_skin_tone": "👳🏼‍♀️",
"woman_wearing_turban_tone3": "👳🏽‍♀️",
"woman_wearing_turban_medium_skin_tone": "👳🏽‍♀️",
"woman_wearing_turban_tone4": "👳🏾‍♀️",
"woman_wearing_turban_medium_dark_skin_tone": "👳🏾‍♀️",
"woman_wearing_turban_tone5": "👳🏿‍♀️",
"woman_wearing_turban_dark_skin_tone": "👳🏿‍♀️",
"man_wearing_turban": "👳‍♂️",
"man_wearing_turban_tone1": "👳🏻‍♂️",
"man_wearing_turban_light_skin_tone": "👳🏻‍♂️",
"man_wearing_turban_tone2": "👳🏼‍♂️",
"man_wearing_turban_medium_light_skin_tone": "👳🏼‍♂️",
"man_wearing_turban_tone3": "👳🏽‍♂️",
"man_wearing_turban_medium_skin_tone": "👳🏽‍♂️",
"man_wearing_turban_tone4": "👳🏾‍♂️",
"man_wearing_turban_medium_dark_skin_tone": "👳🏾‍♂️",
"man_wearing_turban_tone5": "👳🏿‍♂️",
"man_wearing_turban_dark_skin_tone": "👳🏿‍♂️",
"woman_with_headscarf": "🧕",
"woman_with_headscarf_tone1": "🧕🏻",
"woman_with_headscarf_light_skin_tone": "🧕🏻",
"woman_with_headscarf_tone2": "🧕🏼",
"woman_with_headscarf_medium_light_skin_tone": "🧕🏼",
"woman_with_headscarf_tone3": "🧕🏽",
"woman_with_headscarf_medium_skin_tone": "🧕🏽",
"woman_with_headscarf_tone4": "🧕🏾",
"woman_with_headscarf_medium_dark_skin_tone": "🧕🏾",
"woman_with_headscarf_tone5": "🧕🏿",
"woman_with_headscarf_dark_skin_tone": "🧕🏿",
"police_officer": "👮",
"cop": "👮",
"police_officer_tone1": "👮🏻",
"cop_tone1": "👮🏻",
"police_officer_tone2": "👮🏼",
"cop_tone2": "👮🏼",
"police_officer_tone3": "👮🏽",
"cop_tone3": "👮🏽",
"police_officer_tone4": "👮🏾",
"cop_tone4": "👮🏾",
"police_officer_tone5": "👮🏿",
"cop_tone5": "👮🏿",
"woman_police_officer": "👮‍♀️",
"woman_police_officer_tone1": "👮🏻‍♀️",
"woman_police_officer_light_skin_tone": "👮🏻‍♀️",
"woman_police_officer_tone2": "👮🏼‍♀️",
"woman_police_officer_medium_light_skin_tone": "👮🏼‍♀️",
"woman_police_officer_tone3": "👮🏽‍♀️",
"woman_police_officer_medium_skin_tone": "👮🏽‍♀️",
"woman_police_officer_tone4": "👮🏾‍♀️",
"woman_police_officer_medium_dark_skin_tone": "👮🏾‍♀️",
"woman_police_officer_tone5": "👮🏿‍♀️",
"woman_police_officer_dark_skin_tone": "👮🏿‍♀️",
"man_police_officer": "👮‍♂️",
"man_police_officer_tone1": "👮🏻‍♂️",
"man_police_officer_light_skin_tone": "👮🏻‍♂️",
"man_police_officer_tone2": "👮🏼‍♂️",
"man_police_officer_medium_light_skin_tone": "👮🏼‍♂️",
"man_police_officer_tone3": "👮🏽‍♂️",
"man_police_officer_medium_skin_tone": "👮🏽‍♂️",
"man_police_officer_tone4": "👮🏾‍♂️",
"man_police_officer_medium_dark_skin_tone": "👮🏾‍♂️",
"man_police_officer_tone5": "👮🏿‍♂️",
"man_police_officer_dark_skin_tone": "👮🏿‍♂️",
"construction_worker": "👷",
"construction_worker_tone1": "👷🏻",
"construction_worker_tone2": "👷🏼",
"construction_worker_tone3": "👷🏽",
"construction_worker_tone4": "👷🏾",
"construction_worker_tone5": "👷🏿",
"woman_construction_worker": "👷‍♀️",
"woman_construction_worker_tone1": "👷🏻‍♀️",
"woman_construction_worker_light_skin_tone": "👷🏻‍♀️",
"woman_construction_worker_tone2": "👷🏼‍♀️",
"woman_construction_worker_medium_light_skin_tone": "👷🏼‍♀️",
"woman_construction_worker_tone3": "👷🏽‍♀️",
"woman_construction_worker_medium_skin_tone": "👷🏽‍♀️",
"woman_construction_worker_tone4": "👷🏾‍♀️",
"woman_construction_worker_medium_dark_skin_tone": "👷🏾‍♀️",
"woman_construction_worker_tone5": "👷🏿‍♀️",
"woman_construction_worker_dark_skin_tone": "👷🏿‍♀️",
"man_construction_worker": "👷‍♂️",
"man_construction_worker_tone1": "👷🏻‍♂️",
"man_construction_worker_light_skin_tone": "👷🏻‍♂️",
"man_construction_worker_tone2": "👷🏼‍♂️",
"man_construction_worker_medium_light_skin_tone": "👷🏼‍♂️",
"man_construction_worker_tone3": "👷🏽‍♂️",
"man_construction_worker_medium_skin_tone": "👷🏽‍♂️",
"man_construction_worker_tone4": "👷🏾‍♂️",
"man_construction_worker_medium_dark_skin_tone": "👷🏾‍♂️",
"man_construction_worker_tone5": "👷🏿‍♂️",
"man_construction_worker_dark_skin_tone": "👷🏿‍♂️",
"guard": "💂",
"guardsman": "💂",
"guard_tone1": "💂🏻",
"guardsman_tone1": "💂🏻",
"guard_tone2": "💂🏼",
"guardsman_tone2": "💂🏼",
"guard_tone3": "💂🏽",
"guardsman_tone3": "💂🏽",
"guard_tone4": "💂🏾",
"guardsman_tone4": "💂🏾",
"guard_tone5": "💂🏿",
"guardsman_tone5": "💂🏿",
"woman_guard": "💂‍♀️",
"woman_guard_tone1": "💂🏻‍♀️",
"woman_guard_light_skin_tone": "💂🏻‍♀️",
"woman_guard_tone2": "💂🏼‍♀️",
"woman_guard_medium_light_skin_tone": "💂🏼‍♀️",
"woman_guard_tone3": "💂🏽‍♀️",
"woman_guard_medium_skin_tone": "💂🏽‍♀️",
"woman_guard_tone4": "💂🏾‍♀️",
"woman_guard_medium_dark_skin_tone": "💂🏾‍♀️",
"woman_guard_tone5": "💂🏿‍♀️",
"woman_guard_dark_skin_tone": "💂🏿‍♀️",
"man_guard": "💂‍♂️",
"man_guard_tone1": "💂🏻‍♂️",
"man_guard_light_skin_tone": "💂🏻‍♂️",
"man_guard_tone2": "💂🏼‍♂️",
"man_guard_medium_light_skin_tone": "💂🏼‍♂️",
"man_guard_tone3": "💂🏽‍♂️",
"man_guard_medium_skin_tone": "💂🏽‍♂️",
"man_guard_tone4": "💂🏾‍♂️",
"man_guard_medium_dark_skin_tone": "💂🏾‍♂️",
"man_guard_tone5": "💂🏿‍♂️",
"man_guard_dark_skin_tone": "💂🏿‍♂️",
"detective": "🕵️",
"spy": "🕵️",
"sleuth_or_spy": "🕵️",
"detective_tone1": "🕵🏻",
"spy_tone1": "🕵🏻",
"sleuth_or_spy_tone1": "🕵🏻",
"detective_tone2": "🕵🏼",
"spy_tone2": "🕵🏼",
"sleuth_or_spy_tone2": "🕵🏼",
"detective_tone3": "🕵🏽",
"spy_tone3": "🕵🏽",
"sleuth_or_spy_tone3": "🕵🏽",
"detective_tone4": "🕵🏾",
"spy_tone4": "🕵🏾",
"sleuth_or_spy_tone4": "🕵🏾",
"detective_tone5": "🕵🏿",
"spy_tone5": "🕵🏿",
"sleuth_or_spy_tone5": "🕵🏿",
"woman_detective": "🕵️‍♀️",
"woman_detective_tone1": "🕵🏻‍♀️",
"woman_detective_light_skin_tone": "🕵🏻‍♀️",
"woman_detective_tone2": "🕵🏼‍♀️",
"woman_detective_medium_light_skin_tone": "🕵🏼‍♀️",
"woman_detective_tone3": "🕵🏽‍♀️",
"woman_detective_medium_skin_tone": "🕵🏽‍♀️",
"woman_detective_tone4": "🕵🏾‍♀️",
"woman_detective_medium_dark_skin_tone": "🕵🏾‍♀️",
"woman_detective_tone5": "🕵🏿‍♀️",
"woman_detective_dark_skin_tone": "🕵🏿‍♀️",
"man_detective": "🕵️‍♂️",
"man_detective_tone1": "🕵🏻‍♂️",
"man_detective_light_skin_tone": "🕵🏻‍♂️",
"man_detective_tone2": "🕵🏼‍♂️",
"man_detective_medium_light_skin_tone": "🕵🏼‍♂️",
"man_detective_tone3": "🕵🏽‍♂️",
"man_detective_medium_skin_tone": "🕵🏽‍♂️",
"man_detective_tone4": "🕵🏾‍♂️",
"man_detective_medium_dark_skin_tone": "🕵🏾‍♂️",
"man_detective_tone5": "🕵🏿‍♂️",
"man_detective_dark_skin_tone": "🕵🏿‍♂️",
"health_worker": "🧑‍⚕️",
"health_worker_tone1": "🧑🏻‍⚕️",
"health_worker_light_skin_tone": "🧑🏻‍⚕️",
"health_worker_tone2": "🧑🏼‍⚕️",
"health_worker_medium_light_skin_tone": "🧑🏼‍⚕️",
"health_worker_tone3": "🧑🏽‍⚕️",
"health_worker_medium_skin_tone": "🧑🏽‍⚕️",
"health_worker_tone4": "🧑🏾‍⚕️",
"health_worker_medium_dark_skin_tone": "🧑🏾‍⚕️",
"health_worker_tone5": "🧑🏿‍⚕️",
"health_worker_dark_skin_tone": "🧑🏿‍⚕️",
"woman_health_worker": "👩‍⚕️",
"woman_health_worker_tone1": "👩🏻‍⚕️",
"woman_health_worker_light_skin_tone": "👩🏻‍⚕️",
"woman_health_worker_tone2": "👩🏼‍⚕️",
"woman_health_worker_medium_light_skin_tone": "👩🏼‍⚕️",
"woman_health_worker_tone3": "👩🏽‍⚕️",
"woman_health_worker_medium_skin_tone": "👩🏽‍⚕️",
"woman_health_worker_tone4": "👩🏾‍⚕️",
"woman_health_worker_medium_dark_skin_tone": "👩🏾‍⚕️",
"woman_health_worker_tone5": "👩🏿‍⚕️",
"woman_health_worker_dark_skin_tone": "👩🏿‍⚕️",
"man_health_worker": "👨‍⚕️",
"man_health_worker_tone1": "👨🏻‍⚕️",
"man_health_worker_light_skin_tone": "👨🏻‍⚕️",
"man_health_worker_tone2": "👨🏼‍⚕️",
"man_health_worker_medium_light_skin_tone": "👨🏼‍⚕️",
"man_health_worker_tone3": "👨🏽‍⚕️",
"man_health_worker_medium_skin_tone": "👨🏽‍⚕️",
"man_health_worker_tone4": "👨🏾‍⚕️",
"man_health_worker_medium_dark_skin_tone": "👨🏾‍⚕️",
"man_health_worker_tone5": "👨🏿‍⚕️",
"man_health_worker_dark_skin_tone": "👨🏿‍⚕️",
"farmer": "🧑‍🌾",
"farmer_tone1": "🧑🏻‍🌾",
"farmer_light_skin_tone": "🧑🏻‍🌾",
"farmer_tone2": "🧑🏼‍🌾",
"farmer_medium_light_skin_tone": "🧑🏼‍🌾",
"farmer_tone3": "🧑🏽‍🌾",
"farmer_medium_skin_tone": "🧑🏽‍🌾",
"farmer_tone4": "🧑🏾‍🌾",
"farmer_medium_dark_skin_tone": "🧑🏾‍🌾",
"farmer_tone5": "🧑🏿‍🌾",
"farmer_dark_skin_tone": "🧑🏿‍🌾",
"woman_farmer": "👩‍🌾",
"woman_farmer_tone1": "👩🏻‍🌾",
"woman_farmer_light_skin_tone": "👩🏻‍🌾",
"woman_farmer_tone2": "👩🏼‍🌾",
"woman_farmer_medium_light_skin_tone": "👩🏼‍🌾",
"woman_farmer_tone3": "👩🏽‍🌾",
"woman_farmer_medium_skin_tone": "👩🏽‍🌾",
"woman_farmer_tone4": "👩🏾‍🌾",
"woman_farmer_medium_dark_skin_tone": "👩🏾‍🌾",
"woman_farmer_tone5": "👩🏿‍🌾",
"woman_farmer_dark_skin_tone": "👩🏿‍🌾",
"man_farmer": "👨‍🌾",
"man_farmer_tone1": "👨🏻‍🌾",
"man_farmer_light_skin_tone": "👨🏻‍🌾",
"man_farmer_tone2": "👨🏼‍🌾",
"man_farmer_medium_light_skin_tone": "👨🏼‍🌾",
"man_farmer_tone3": "👨🏽‍🌾",
"man_farmer_medium_skin_tone": "👨🏽‍🌾",
"man_farmer_tone4": "👨🏾‍🌾",
"man_farmer_medium_dark_skin_tone": "👨🏾‍🌾",
"man_farmer_tone5": "👨🏿‍🌾",
"man_farmer_dark_skin_tone": "👨🏿‍🌾",
"cook": "🧑‍🍳",
"cook_tone1": "🧑🏻‍🍳",
"cook_light_skin_tone": "🧑🏻‍🍳",
"cook_tone2": "🧑🏼‍🍳",
"cook_medium_light_skin_tone": "🧑🏼‍🍳",
"cook_tone3": "🧑🏽‍🍳",
"cook_medium_skin_tone": "🧑🏽‍🍳",
"cook_tone4": "🧑🏾‍🍳",
"cook_medium_dark_skin_tone": "🧑🏾‍🍳",
"cook_tone5": "🧑🏿‍🍳",
"cook_dark_skin_tone": "🧑🏿‍🍳",
"woman_cook": "👩‍🍳",
"woman_cook_tone1": "👩🏻‍🍳",
"woman_cook_light_skin_tone": "👩🏻‍🍳",
"woman_cook_tone2": "👩🏼‍🍳",
"woman_cook_medium_light_skin_tone": "👩🏼‍🍳",
"woman_cook_tone3": "👩🏽‍🍳",
"woman_cook_medium_skin_tone": "👩🏽‍🍳",
"woman_cook_tone4": "👩🏾‍🍳",
"woman_cook_medium_dark_skin_tone": "👩🏾‍🍳",
"woman_cook_tone5": "👩🏿‍🍳",
"woman_cook_dark_skin_tone": "👩🏿‍🍳",
"man_cook": "👨‍🍳",
"man_cook_tone1": "👨🏻‍🍳",
"man_cook_light_skin_tone": "👨🏻‍🍳",
"man_cook_tone2": "👨🏼‍🍳",
"man_cook_medium_light_skin_tone": "👨🏼‍🍳",
"man_cook_tone3": "👨🏽‍🍳",
"man_cook_medium_skin_tone": "👨🏽‍🍳",
"man_cook_tone4": "👨🏾‍🍳",
"man_cook_medium_dark_skin_tone": "👨🏾‍🍳",
"man_cook_tone5": "👨🏿‍🍳",
"man_cook_dark_skin_tone": "👨🏿‍🍳",
"student": "🧑‍🎓",
"student_tone1": "🧑🏻‍🎓",
"student_light_skin_tone": "🧑🏻‍🎓",
"student_tone2": "🧑🏼‍🎓",
"student_medium_light_skin_tone": "🧑🏼‍🎓",
"student_tone3": "🧑🏽‍🎓",
"student_medium_skin_tone": "🧑🏽‍🎓",
"student_tone4": "🧑🏾‍🎓",
"student_medium_dark_skin_tone": "🧑🏾‍🎓",
"student_tone5": "🧑🏿‍🎓",
"student_dark_skin_tone": "🧑🏿‍🎓",
"woman_student": "👩‍🎓",
"woman_student_tone1": "👩🏻‍🎓",
"woman_student_light_skin_tone": "👩🏻‍🎓",
"woman_student_tone2": "👩🏼‍🎓",
"woman_student_medium_light_skin_tone": "👩🏼‍🎓",
"woman_student_tone3": "👩🏽‍🎓",
"woman_student_medium_skin_tone": "👩🏽‍🎓",
"woman_student_tone4": "👩🏾‍🎓",
"woman_student_medium_dark_skin_tone": "👩🏾‍🎓",
"woman_student_tone5": "👩🏿‍🎓",
"woman_student_dark_skin_tone": "👩🏿‍🎓",
"man_student": "👨‍🎓",
"man_student_tone1": "👨🏻‍🎓",
"man_student_light_skin_tone": "👨🏻‍🎓",
"man_student_tone2": "👨🏼‍🎓",
"man_student_medium_light_skin_tone": "👨🏼‍🎓",
"man_student_tone3": "👨🏽‍🎓",
"man_student_medium_skin_tone": "👨🏽‍🎓",
"man_student_tone4": "👨🏾‍🎓",
"man_student_medium_dark_skin_tone": "👨🏾‍🎓",
"man_student_tone5": "👨🏿‍🎓",
"man_student_dark_skin_tone": "👨🏿‍🎓",
"singer": "🧑‍🎤",
"singer_tone1": "🧑🏻‍🎤",
"singer_light_skin_tone": "🧑🏻‍🎤",
"singer_tone2": "🧑🏼‍🎤",
"singer_medium_light_skin_tone": "🧑🏼‍🎤",
"singer_tone3": "🧑🏽‍🎤",
"singer_medium_skin_tone": "🧑🏽‍🎤",
"singer_tone4": "🧑🏾‍🎤",
"singer_medium_dark_skin_tone": "🧑🏾‍🎤",
"singer_tone5": "🧑🏿‍🎤",
"singer_dark_skin_tone": "🧑🏿‍🎤",
"woman_singer": "👩‍🎤",
"woman_singer_tone1": "👩🏻‍🎤",
"woman_singer_light_skin_tone": "👩🏻‍🎤",
"woman_singer_tone2": "👩🏼‍🎤",
"woman_singer_medium_light_skin_tone": "👩🏼‍🎤",
"woman_singer_tone3": "👩🏽‍🎤",
"woman_singer_medium_skin_tone": "👩🏽‍🎤",
"woman_singer_tone4": "👩🏾‍🎤",
"woman_singer_medium_dark_skin_tone": "👩🏾‍🎤",
"woman_singer_tone5": "👩🏿‍🎤",
"woman_singer_dark_skin_tone": "👩🏿‍🎤",
"man_singer": "👨‍🎤",
"man_singer_tone1": "👨🏻‍🎤",
"man_singer_light_skin_tone": "👨🏻‍🎤",
"man_singer_tone2": "👨🏼‍🎤",
"man_singer_medium_light_skin_tone": "👨🏼‍🎤",
"man_singer_tone3": "👨🏽‍🎤",
"man_singer_medium_skin_tone": "👨🏽‍🎤",
"man_singer_tone4": "👨🏾‍🎤",
"man_singer_medium_dark_skin_tone": "👨🏾‍🎤",
"man_singer_tone5": "👨🏿‍🎤",
"man_singer_dark_skin_tone": "👨🏿‍🎤",
"teacher": "🧑‍🏫",
"teacher_tone1": "🧑🏻‍🏫",
"teacher_light_skin_tone": "🧑🏻‍🏫",
"teacher_tone2": "🧑🏼‍🏫",
"teacher_medium_light_skin_tone": "🧑🏼‍🏫",
"teacher_tone3": "🧑🏽‍🏫",
"teacher_medium_skin_tone": "🧑🏽‍🏫",
"teacher_tone4": "🧑🏾‍🏫",
"teacher_medium_dark_skin_tone": "🧑🏾‍🏫",
"teacher_tone5": "🧑🏿‍🏫",
"teacher_dark_skin_tone": "🧑🏿‍🏫",
"woman_teacher": "👩‍🏫",
"woman_teacher_tone1": "👩🏻‍🏫",
"woman_teacher_light_skin_tone": "👩🏻‍🏫",
"woman_teacher_tone2": "👩🏼‍🏫",
"woman_teacher_medium_light_skin_tone": "👩🏼‍🏫",
"woman_teacher_tone3": "👩🏽‍🏫",
"woman_teacher_medium_skin_tone": "👩🏽‍🏫",
"woman_teacher_tone4": "👩🏾‍🏫",
"woman_teacher_medium_dark_skin_tone": "👩🏾‍🏫",
"woman_teacher_tone5": "👩🏿‍🏫",
"woman_teacher_dark_skin_tone": "👩🏿‍🏫",
"man_teacher": "👨‍🏫",
"man_teacher_tone1": "👨🏻‍🏫",
"man_teacher_light_skin_tone": "👨🏻‍🏫",
"man_teacher_tone2": "👨🏼‍🏫",
"man_teacher_medium_light_skin_tone": "👨🏼‍🏫",
"man_teacher_tone3": "👨🏽‍🏫",
"man_teacher_medium_skin_tone": "👨🏽‍🏫",
"man_teacher_tone4": "👨🏾‍🏫",
"man_teacher_medium_dark_skin_tone": "👨🏾‍🏫",
"man_teacher_tone5": "👨🏿‍🏫",
"man_teacher_dark_skin_tone": "👨🏿‍🏫",
"factory_worker": "🧑‍🏭",
"factory_worker_tone1": "🧑🏻‍🏭",
"factory_worker_light_skin_tone": "🧑🏻‍🏭",
"factory_worker_tone2": "🧑🏼‍🏭",
"factory_worker_medium_light_skin_tone": "🧑🏼‍🏭",
"factory_worker_tone3": "🧑🏽‍🏭",
"factory_worker_medium_skin_tone": "🧑🏽‍🏭",
"factory_worker_tone4": "🧑🏾‍🏭",
"factory_worker_medium_dark_skin_tone": "🧑🏾‍🏭",
"factory_worker_tone5": "🧑🏿‍🏭",
"factory_worker_dark_skin_tone": "🧑🏿‍🏭",
"woman_factory_worker": "👩‍🏭",
"woman_factory_worker_tone1": "👩🏻‍🏭",
"woman_factory_worker_light_skin_tone": "👩🏻‍🏭",
"woman_factory_worker_tone2": "👩🏼‍🏭",
"woman_factory_worker_medium_light_skin_tone": "👩🏼‍🏭",
"woman_factory_worker_tone3": "👩🏽‍🏭",
"woman_factory_worker_medium_skin_tone": "👩🏽‍🏭",
"woman_factory_worker_tone4": "👩🏾‍🏭",
"woman_factory_worker_medium_dark_skin_tone": "👩🏾‍🏭",
"woman_factory_worker_tone5": "👩🏿‍🏭",
"woman_factory_worker_dark_skin_tone": "👩🏿‍🏭",
"man_factory_worker": "👨‍🏭",
"man_factory_worker_tone1": "👨🏻‍🏭",
"man_factory_worker_light_skin_tone": "👨🏻‍🏭",
"man_factory_worker_tone2": "👨🏼‍🏭",
"man_factory_worker_medium_light_skin_tone": "👨🏼‍🏭",
"man_factory_worker_tone3": "👨🏽‍🏭",
"man_factory_worker_medium_skin_tone": "👨🏽‍🏭",
"man_factory_worker_tone4": "👨🏾‍🏭",
"man_factory_worker_medium_dark_skin_tone": "👨🏾‍🏭",
"man_factory_worker_tone5": "👨🏿‍🏭",
"man_factory_worker_dark_skin_tone": "👨🏿‍🏭",
"technologist": "🧑‍💻",
"technologist_tone1": "🧑🏻‍💻",
"technologist_light_skin_tone": "🧑🏻‍💻",
"technologist_tone2": "🧑🏼‍💻",
"technologist_medium_light_skin_tone": "🧑🏼‍💻",
"technologist_tone3": "🧑🏽‍💻",
"technologist_medium_skin_tone": "🧑🏽‍💻",
"technologist_tone4": "🧑🏾‍💻",
"technologist_medium_dark_skin_tone": "🧑🏾‍💻",
"technologist_tone5": "🧑🏿‍💻",
"technologist_dark_skin_tone": "🧑🏿‍💻",
"woman_technologist": "👩‍💻",
"woman_technologist_tone1": "👩🏻‍💻",
"woman_technologist_light_skin_tone": "👩🏻‍💻",
"woman_technologist_tone2": "👩🏼‍💻",
"woman_technologist_medium_light_skin_tone": "👩🏼‍💻",
"woman_technologist_tone3": "👩🏽‍💻",
"woman_technologist_medium_skin_tone": "👩🏽‍💻",
"woman_technologist_tone4": "👩🏾‍💻",
"woman_technologist_medium_dark_skin_tone": "👩🏾‍💻",
"woman_technologist_tone5": "👩🏿‍💻",
"woman_technologist_dark_skin_tone": "👩🏿‍💻",
"man_technologist": "👨‍💻",
"man_technologist_tone1": "👨🏻‍💻",
"man_technologist_light_skin_tone": "👨🏻‍💻",
"man_technologist_tone2": "👨🏼‍💻",
"man_technologist_medium_light_skin_tone": "👨🏼‍💻",
"man_technologist_tone3": "👨🏽‍💻",
"man_technologist_medium_skin_tone": "👨🏽‍💻",
"man_technologist_tone4": "👨🏾‍💻",
"man_technologist_medium_dark_skin_tone": "👨🏾‍💻",
"man_technologist_tone5": "👨🏿‍💻",
"man_technologist_dark_skin_tone": "👨🏿‍💻",
"office_worker": "🧑‍💼",
"office_worker_tone1": "🧑🏻‍💼",
"office_worker_light_skin_tone": "🧑🏻‍💼",
"office_worker_tone2": "🧑🏼‍💼",
"office_worker_medium_light_skin_tone": "🧑🏼‍💼",
"office_worker_tone3": "🧑🏽‍💼",
"office_worker_medium_skin_tone": "🧑🏽‍💼",
"office_worker_tone4": "🧑🏾‍💼",
"office_worker_medium_dark_skin_tone": "🧑🏾‍💼",
"office_worker_tone5": "🧑🏿‍💼",
"office_worker_dark_skin_tone": "🧑🏿‍💼",
"woman_office_worker": "👩‍💼",
"woman_office_worker_tone1": "👩🏻‍💼",
"woman_office_worker_light_skin_tone": "👩🏻‍💼",
"woman_office_worker_tone2": "👩🏼‍💼",
"woman_office_worker_medium_light_skin_tone": "👩🏼‍💼",
"woman_office_worker_tone3": "👩🏽‍💼",
"woman_office_worker_medium_skin_tone": "👩🏽‍💼",
"woman_office_worker_tone4": "👩🏾‍💼",
"woman_office_worker_medium_dark_skin_tone": "👩🏾‍💼",
"woman_office_worker_tone5": "👩🏿‍💼",
"woman_office_worker_dark_skin_tone": "👩🏿‍💼",
"man_office_worker": "👨‍💼",
"man_office_worker_tone1": "👨🏻‍💼",
"man_office_worker_light_skin_tone": "👨🏻‍💼",
"man_office_worker_tone2": "👨🏼‍💼",
"man_office_worker_medium_light_skin_tone": "👨🏼‍💼",
"man_office_worker_tone3": "👨🏽‍💼",
"man_office_worker_medium_skin_tone": "👨🏽‍💼",
"man_office_worker_tone4": "👨🏾‍💼",
"man_office_worker_medium_dark_skin_tone": "👨🏾‍💼",
"man_office_worker_tone5": "👨🏿‍💼",
"man_office_worker_dark_skin_tone": "👨🏿‍💼",
"mechanic": "🧑‍🔧",
"mechanic_tone1": "🧑🏻‍🔧",
"mechanic_light_skin_tone": "🧑🏻‍🔧",
"mechanic_tone2": "🧑🏼‍🔧",
"mechanic_medium_light_skin_tone": "🧑🏼‍🔧",
"mechanic_tone3": "🧑🏽‍🔧",
"mechanic_medium_skin_tone": "🧑🏽‍🔧",
"mechanic_tone4": "🧑🏾‍🔧",
"mechanic_medium_dark_skin_tone": "🧑🏾‍🔧",
"mechanic_tone5": "🧑🏿‍🔧",
"mechanic_dark_skin_tone": "🧑🏿‍🔧",
"woman_mechanic": "👩‍🔧",
"woman_mechanic_tone1": "👩🏻‍🔧",
"woman_mechanic_light_skin_tone": "👩🏻‍🔧",
"woman_mechanic_tone2": "👩🏼‍🔧",
"woman_mechanic_medium_light_skin_tone": "👩🏼‍🔧",
"woman_mechanic_tone3": "👩🏽‍🔧",
"woman_mechanic_medium_skin_tone": "👩🏽‍🔧",
"woman_mechanic_tone4": "👩🏾‍🔧",
"woman_mechanic_medium_dark_skin_tone": "👩🏾‍🔧",
"woman_mechanic_tone5": "👩🏿‍🔧",
"woman_mechanic_dark_skin_tone": "👩🏿‍🔧",
"man_mechanic": "👨‍🔧",
"man_mechanic_tone1": "👨🏻‍🔧",
"man_mechanic_light_skin_tone": "👨🏻‍🔧",
"man_mechanic_tone2": "👨🏼‍🔧",
"man_mechanic_medium_light_skin_tone": "👨🏼‍🔧",
"man_mechanic_tone3": "👨🏽‍🔧",
"man_mechanic_medium_skin_tone": "👨🏽‍🔧",
"man_mechanic_tone4": "👨🏾‍🔧",
"man_mechanic_medium_dark_skin_tone": "👨🏾‍🔧",
"man_mechanic_tone5": "👨🏿‍🔧",
"man_mechanic_dark_skin_tone": "👨🏿‍🔧",
"scientist": "🧑‍🔬",
"scientist_tone1": "🧑🏻‍🔬",
"scientist_light_skin_tone": "🧑🏻‍🔬",
"scientist_tone2": "🧑🏼‍🔬",
"scientist_medium_light_skin_tone": "🧑🏼‍🔬",
"scientist_tone3": "🧑🏽‍🔬",
"scientist_medium_skin_tone": "🧑🏽‍🔬",
"scientist_tone4": "🧑🏾‍🔬",
"scientist_medium_dark_skin_tone": "🧑🏾‍🔬",
"scientist_tone5": "🧑🏿‍🔬",
"scientist_dark_skin_tone": "🧑🏿‍🔬",
"woman_scientist": "👩‍🔬",
"woman_scientist_tone1": "👩🏻‍🔬",
"woman_scientist_light_skin_tone": "👩🏻‍🔬",
"woman_scientist_tone2": "👩🏼‍🔬",
"woman_scientist_medium_light_skin_tone": "👩🏼‍🔬",
"woman_scientist_tone3": "👩🏽‍🔬",
"woman_scientist_medium_skin_tone": "👩🏽‍🔬",
"woman_scientist_tone4": "👩🏾‍🔬",
"woman_scientist_medium_dark_skin_tone": "👩🏾‍🔬",
"woman_scientist_tone5": "👩🏿‍🔬",
"woman_scientist_dark_skin_tone": "👩🏿‍🔬",
"man_scientist": "👨‍🔬",
"man_scientist_tone1": "👨🏻‍🔬",
"man_scientist_light_skin_tone": "👨🏻‍🔬",
"man_scientist_tone2": "👨🏼‍🔬",
"man_scientist_medium_light_skin_tone": "👨🏼‍🔬",
"man_scientist_tone3": "👨🏽‍🔬",
"man_scientist_medium_skin_tone": "👨🏽‍🔬",
"man_scientist_tone4": "👨🏾‍🔬",
"man_scientist_medium_dark_skin_tone": "👨🏾‍🔬",
"man_scientist_tone5": "👨🏿‍🔬",
"man_scientist_dark_skin_tone": "👨🏿‍🔬",
"artist": "🧑‍🎨",
"artist_tone1": "🧑🏻‍🎨",
"artist_light_skin_tone": "🧑🏻‍🎨",
"artist_tone2": "🧑🏼‍🎨",
"artist_medium_light_skin_tone": "🧑🏼‍🎨",
"artist_tone3": "🧑🏽‍🎨",
"artist_medium_skin_tone": "🧑🏽‍🎨",
"artist_tone4": "🧑🏾‍🎨",
"artist_medium_dark_skin_tone": "🧑🏾‍🎨",
"artist_tone5": "🧑🏿‍🎨",
"artist_dark_skin_tone": "🧑🏿‍🎨",
"woman_artist": "👩‍🎨",
"woman_artist_tone1": "👩🏻‍🎨",
"woman_artist_light_skin_tone": "👩🏻‍🎨",
"woman_artist_tone2": "👩🏼‍🎨",
"woman_artist_medium_light_skin_tone": "👩🏼‍🎨",
"woman_artist_tone3": "👩🏽‍🎨",
"woman_artist_medium_skin_tone": "👩🏽‍🎨",
"woman_artist_tone4": "👩🏾‍🎨",
"woman_artist_medium_dark_skin_tone": "👩🏾‍🎨",
"woman_artist_tone5": "👩🏿‍🎨",
"woman_artist_dark_skin_tone": "👩🏿‍🎨",
"man_artist": "👨‍🎨",
"man_artist_tone1": "👨🏻‍🎨",
"man_artist_light_skin_tone": "👨🏻‍🎨",
"man_artist_tone2": "👨🏼‍🎨",
"man_artist_medium_light_skin_tone": "👨🏼‍🎨",
"man_artist_tone3": "👨🏽‍🎨",
"man_artist_medium_skin_tone": "👨🏽‍🎨",
"man_artist_tone4": "👨🏾‍🎨",
"man_artist_medium_dark_skin_tone": "👨🏾‍🎨",
"man_artist_tone5": "👨🏿‍🎨",
"man_artist_dark_skin_tone": "👨🏿‍🎨",
"firefighter": "🧑‍🚒",
"firefighter_tone1": "🧑🏻‍🚒",
"firefighter_light_skin_tone": "🧑🏻‍🚒",
"firefighter_tone2": "🧑🏼‍🚒",
"firefighter_medium_light_skin_tone": "🧑🏼‍🚒",
"firefighter_tone3": "🧑🏽‍🚒",
"firefighter_medium_skin_tone": "🧑🏽‍🚒",
"firefighter_tone4": "🧑🏾‍🚒",
"firefighter_medium_dark_skin_tone": "🧑🏾‍🚒",
"firefighter_tone5": "🧑🏿‍🚒",
"firefighter_dark_skin_tone": "🧑🏿‍🚒",
"woman_firefighter": "👩‍🚒",
"woman_firefighter_tone1": "👩🏻‍🚒",
"woman_firefighter_light_skin_tone": "👩🏻‍🚒",
"woman_firefighter_tone2": "👩🏼‍🚒",
"woman_firefighter_medium_light_skin_tone": "👩🏼‍🚒",
"woman_firefighter_tone3": "👩🏽‍🚒",
"woman_firefighter_medium_skin_tone": "👩🏽‍🚒",
"woman_firefighter_tone4": "👩🏾‍🚒",
"woman_firefighter_medium_dark_skin_tone": "👩🏾‍🚒",
"woman_firefighter_tone5": "👩🏿‍🚒",
"woman_firefighter_dark_skin_tone": "👩🏿‍🚒",
"man_firefighter": "👨‍🚒",
"man_firefighter_tone1": "👨🏻‍🚒",
"man_firefighter_light_skin_tone": "👨🏻‍🚒",
"man_firefighter_tone2": "👨🏼‍🚒",
"man_firefighter_medium_light_skin_tone": "👨🏼‍🚒",
"man_firefighter_tone3": "👨🏽‍🚒",
"man_firefighter_medium_skin_tone": "👨🏽‍🚒",
"man_firefighter_tone4": "👨🏾‍🚒",
"man_firefighter_medium_dark_skin_tone": "👨🏾‍🚒",
"man_firefighter_tone5": "👨🏿‍🚒",
"man_firefighter_dark_skin_tone": "👨🏿‍🚒",
"pilot": "🧑‍✈️",
"pilot_tone1": "🧑🏻‍✈️",
"pilot_light_skin_tone": "🧑🏻‍✈️",
"pilot_tone2": "🧑🏼‍✈️",
"pilot_medium_light_skin_tone": "🧑🏼‍✈️",
"pilot_tone3": "🧑🏽‍✈️",
"pilot_medium_skin_tone": "🧑🏽‍✈️",
"pilot_tone4": "🧑🏾‍✈️",
"pilot_medium_dark_skin_tone": "🧑🏾‍✈️",
"pilot_tone5": "🧑🏿‍✈️",
"pilot_dark_skin_tone": "🧑🏿‍✈️",
"woman_pilot": "👩‍✈️",
"woman_pilot_tone1": "👩🏻‍✈️",
"woman_pilot_light_skin_tone": "👩🏻‍✈️",
"woman_pilot_tone2": "👩🏼‍✈️",
"woman_pilot_medium_light_skin_tone": "👩🏼‍✈️",
"woman_pilot_tone3": "👩🏽‍✈️",
"woman_pilot_medium_skin_tone": "👩🏽‍✈️",
"woman_pilot_tone4": "👩🏾‍✈️",
"woman_pilot_medium_dark_skin_tone": "👩🏾‍✈️",
"woman_pilot_tone5": "👩🏿‍✈️",
"woman_pilot_dark_skin_tone": "👩🏿‍✈️",
"man_pilot": "👨‍✈️",
"man_pilot_tone1": "👨🏻‍✈️",
"man_pilot_light_skin_tone": "👨🏻‍✈️",
"man_pilot_tone2": "👨🏼‍✈️",
"man_pilot_medium_light_skin_tone": "👨🏼‍✈️",
"man_pilot_tone3": "👨🏽‍✈️",
"man_pilot_medium_skin_tone": "👨🏽‍✈️",
"man_pilot_tone4": "👨🏾‍✈️",
"man_pilot_medium_dark_skin_tone": "👨🏾‍✈️",
"man_pilot_tone5": "👨🏿‍✈️",
"man_pilot_dark_skin_tone": "👨🏿‍✈️",
"astronaut": "🧑‍🚀",
"astronaut_tone1": "🧑🏻‍🚀",
"astronaut_light_skin_tone": "🧑🏻‍🚀",
"astronaut_tone2": "🧑🏼‍🚀",
"astronaut_medium_light_skin_tone": "🧑🏼‍🚀",
"astronaut_tone3": "🧑🏽‍🚀",
"astronaut_medium_skin_tone": "🧑🏽‍🚀",
"astronaut_tone4": "🧑🏾‍🚀",
"astronaut_medium_dark_skin_tone": "🧑🏾‍🚀",
"astronaut_tone5": "🧑🏿‍🚀",
"astronaut_dark_skin_tone": "🧑🏿‍🚀",
"woman_astronaut": "👩‍🚀",
"woman_astronaut_tone1": "👩🏻‍🚀",
"woman_astronaut_light_skin_tone": "👩🏻‍🚀",
"woman_astronaut_tone2": "👩🏼‍🚀",
"woman_astronaut_medium_light_skin_tone": "👩🏼‍🚀",
"woman_astronaut_tone3": "👩🏽‍🚀",
"woman_astronaut_medium_skin_tone": "👩🏽‍🚀",
"woman_astronaut_tone4": "👩🏾‍🚀",
"woman_astronaut_medium_dark_skin_tone": "👩🏾‍🚀",
"woman_astronaut_tone5": "👩🏿‍🚀",
"woman_astronaut_dark_skin_tone": "👩🏿‍🚀",
"man_astronaut": "👨‍🚀",
"man_astronaut_tone1": "👨🏻‍🚀",
"man_astronaut_light_skin_tone": "👨🏻‍🚀",
"man_astronaut_tone2": "👨🏼‍🚀",
"man_astronaut_medium_light_skin_tone": "👨🏼‍🚀",
"man_astronaut_tone3": "👨🏽‍🚀",
"man_astronaut_medium_skin_tone": "👨🏽‍🚀",
"man_astronaut_tone4": "👨🏾‍🚀",
"man_astronaut_medium_dark_skin_tone": "👨🏾‍🚀",
"man_astronaut_tone5": "👨🏿‍🚀",
"man_astronaut_dark_skin_tone": "👨🏿‍🚀",
"judge": "🧑‍⚖️",
"judge_tone1": "🧑🏻‍⚖️",
"judge_light_skin_tone": "🧑🏻‍⚖️",
"judge_tone2": "🧑🏼‍⚖️",
"judge_medium_light_skin_tone": "🧑🏼‍⚖️",
"judge_tone3": "🧑🏽‍⚖️",
"judge_medium_skin_tone": "🧑🏽‍⚖️",
"judge_tone4": "🧑🏾‍⚖️",
"judge_medium_dark_skin_tone": "🧑🏾‍⚖️",
"judge_tone5": "🧑🏿‍⚖️",
"judge_dark_skin_tone": "🧑🏿‍⚖️",
"woman_judge": "👩‍⚖️",
"woman_judge_tone1": "👩🏻‍⚖️",
"woman_judge_light_skin_tone": "👩🏻‍⚖️",
"woman_judge_tone2": "👩🏼‍⚖️",
"woman_judge_medium_light_skin_tone": "👩🏼‍⚖️",
"woman_judge_tone3": "👩🏽‍⚖️",
"woman_judge_medium_skin_tone": "👩🏽‍⚖️",
"woman_judge_tone4": "👩🏾‍⚖️",
"woman_judge_medium_dark_skin_tone": "👩🏾‍⚖️",
"woman_judge_tone5": "👩🏿‍⚖️",
"woman_judge_dark_skin_tone": "👩🏿‍⚖️",
"man_judge": "👨‍⚖️",
"man_judge_tone1": "👨🏻‍⚖️",
"man_judge_light_skin_tone": "👨🏻‍⚖️",
"man_judge_tone2": "👨🏼‍⚖️",
"man_judge_medium_light_skin_tone": "👨🏼‍⚖️",
"man_judge_tone3": "👨🏽‍⚖️",
"man_judge_medium_skin_tone": "👨🏽‍⚖️",
"man_judge_tone4": "👨🏾‍⚖️",
"man_judge_medium_dark_skin_tone": "👨🏾‍⚖️",
"man_judge_tone5": "👨🏿‍⚖️",
"man_judge_dark_skin_tone": "👨🏿‍⚖️",
"person_with_veil": "👰",
"person_with_veil_tone1": "👰🏻",
"person_with_veil_tone2": "👰🏼",
"person_with_veil_tone3": "👰🏽",
"person_with_veil_tone4": "👰🏾",
"person_with_veil_tone5": "👰🏿",
"woman_with_veil": "👰‍♀️",
"bride_with_veil": "👰‍♀️",
"woman_with_veil_tone1": "👰🏻‍♀️",
"woman_with_veil_light_skin_tone": "👰🏻‍♀️",
"woman_with_veil_tone2": "👰🏼‍♀️",
"woman_with_veil_medium_light_skin_tone": "👰🏼‍♀️",
"woman_with_veil_tone3": "👰🏽‍♀️",
"woman_with_veil_medium_skin_tone": "👰🏽‍♀️",
"woman_with_veil_tone4": "👰🏾‍♀️",
"woman_with_veil_medium_dark_skin_tone": "👰🏾‍♀️",
"woman_with_veil_tone5": "👰🏿‍♀️",
"woman_with_veil_dark_skin_tone": "👰🏿‍♀️",
"man_with_veil": "👰‍♂️",
"man_with_veil_tone1": "👰🏻‍♂️",
"man_with_veil_light_skin_tone": "👰🏻‍♂️",
"man_with_veil_tone2": "👰🏼‍♂️",
"man_with_veil_medium_light_skin_tone": "👰🏼‍♂️",
"man_with_veil_tone3": "👰🏽‍♂️",
"man_with_veil_medium_skin_tone": "👰🏽‍♂️",
"man_with_veil_tone4": "👰🏾‍♂️",
"man_with_veil_medium_dark_skin_tone": "👰🏾‍♂️",
"man_with_veil_tone5": "👰🏿‍♂️",
"man_with_veil_dark_skin_tone": "👰🏿‍♂️",
"person_in_tuxedo": "🤵",
"person_in_tuxedo_tone1": "🤵🏻",
"tuxedo_tone1": "🤵🏻",
"person_in_tuxedo_tone2": "🤵🏼",
"tuxedo_tone2": "🤵🏼",
"person_in_tuxedo_tone3": "🤵🏽",
"tuxedo_tone3": "🤵🏽",
"person_in_tuxedo_tone4": "🤵🏾",
"tuxedo_tone4": "🤵🏾",
"person_in_tuxedo_tone5": "🤵🏿",
"tuxedo_tone5": "🤵🏿",
"woman_in_tuxedo": "🤵‍♀️",
"woman_in_tuxedo_tone1": "🤵🏻‍♀️",
"woman_in_tuxedo_light_skin_tone": "🤵🏻‍♀️",
"woman_in_tuxedo_tone2": "🤵🏼‍♀️",
"woman_in_tuxedo_medium_light_skin_tone": "🤵🏼‍♀️",
"woman_in_tuxedo_tone3": "🤵🏽‍♀️",
"woman_in_tuxedo_medium_skin_tone": "🤵🏽‍♀️",
"woman_in_tuxedo_tone4": "🤵🏾‍♀️",
"woman_in_tuxedo_medium_dark_skin_tone": "🤵🏾‍♀️",
"woman_in_tuxedo_tone5": "🤵🏿‍♀️",
"woman_in_tuxedo_dark_skin_tone": "🤵🏿‍♀️",
"man_in_tuxedo": "🤵‍♂️",
"man_in_tuxedo_tone1": "🤵🏻‍♂️",
"man_in_tuxedo_light_skin_tone": "🤵🏻‍♂️",
"man_in_tuxedo_tone2": "🤵🏼‍♂️",
"man_in_tuxedo_medium_light_skin_tone": "🤵🏼‍♂️",
"man_in_tuxedo_tone3": "🤵🏽‍♂️",
"man_in_tuxedo_medium_skin_tone": "🤵🏽‍♂️",
"man_in_tuxedo_tone4": "🤵🏾‍♂️",
"man_in_tuxedo_medium_dark_skin_tone": "🤵🏾‍♂️",
"man_in_tuxedo_tone5": "🤵🏿‍♂️",
"man_in_tuxedo_dark_skin_tone": "🤵🏿‍♂️",
"princess": "👸",
"princess_tone1": "👸🏻",
"princess_tone2": "👸🏼",
"princess_tone3": "👸🏽",
"princess_tone4": "👸🏾",
"princess_tone5": "👸🏿",
"prince": "🤴",
"prince_tone1": "🤴🏻",
"prince_tone2": "🤴🏼",
"prince_tone3": "🤴🏽",
"prince_tone4": "🤴🏾",
"prince_tone5": "🤴🏿",
"superhero": "🦸",
"superhero_tone1": "🦸🏻",
"superhero_light_skin_tone": "🦸🏻",
"superhero_tone2": "🦸🏼",
"superhero_medium_light_skin_tone": "🦸🏼",
"superhero_tone3": "🦸🏽",
"superhero_medium_skin_tone": "🦸🏽",
"superhero_tone4": "🦸🏾",
"superhero_medium_dark_skin_tone": "🦸🏾",
"superhero_tone5": "🦸🏿",
"superhero_dark_skin_tone": "🦸🏿",
"woman_superhero": "🦸‍♀️",
"woman_superhero_tone1": "🦸🏻‍♀️",
"woman_superhero_light_skin_tone": "🦸🏻‍♀️",
"woman_superhero_tone2": "🦸🏼‍♀️",
"woman_superhero_medium_light_skin_tone": "🦸🏼‍♀️",
"woman_superhero_tone3": "🦸🏽‍♀️",
"woman_superhero_medium_skin_tone": "🦸🏽‍♀️",
"woman_superhero_tone4": "🦸🏾‍♀️",
"woman_superhero_medium_dark_skin_tone": "🦸🏾‍♀️",
"woman_superhero_tone5": "🦸🏿‍♀️",
"woman_superhero_dark_skin_tone": "🦸🏿‍♀️",
"man_superhero": "🦸‍♂️",
"man_superhero_tone1": "🦸🏻‍♂️",
"man_superhero_light_skin_tone": "🦸🏻‍♂️",
"man_superhero_tone2": "🦸🏼‍♂️",
"man_superhero_medium_light_skin_tone": "🦸🏼‍♂️",
"man_superhero_tone3": "🦸🏽‍♂️",
"man_superhero_medium_skin_tone": "🦸🏽‍♂️",
"man_superhero_tone4": "🦸🏾‍♂️",
"man_superhero_medium_dark_skin_tone": "🦸🏾‍♂️",
"man_superhero_tone5": "🦸🏿‍♂️",
"man_superhero_dark_skin_tone": "🦸🏿‍♂️",
"supervillain": "🦹",
"supervillain_tone1": "🦹🏻",
"supervillain_light_skin_tone": "🦹🏻",
"supervillain_tone2": "🦹🏼",
"supervillain_medium_light_skin_tone": "🦹🏼",
"supervillain_tone3": "🦹🏽",
"supervillain_medium_skin_tone": "🦹🏽",
"supervillain_tone4": "🦹🏾",
"supervillain_medium_dark_skin_tone": "🦹🏾",
"supervillain_tone5": "🦹🏿",
"supervillain_dark_skin_tone": "🦹🏿",
"woman_supervillain": "🦹‍♀️",
"woman_supervillain_tone1": "🦹🏻‍♀️",
"woman_supervillain_light_skin_tone": "🦹🏻‍♀️",
"woman_supervillain_tone2": "🦹🏼‍♀️",
"woman_supervillain_medium_light_skin_tone": "🦹🏼‍♀️",
"woman_supervillain_tone3": "🦹🏽‍♀️",
"woman_supervillain_medium_skin_tone": "🦹🏽‍♀️",
"woman_supervillain_tone4": "🦹🏾‍♀️",
"woman_supervillain_medium_dark_skin_tone": "🦹🏾‍♀️",
"woman_supervillain_tone5": "🦹🏿‍♀️",
"woman_supervillain_dark_skin_tone": "🦹🏿‍♀️",
"man_supervillain": "🦹‍♂️",
"man_supervillain_tone1": "🦹🏻‍♂️",
"man_supervillain_light_skin_tone": "🦹🏻‍♂️",
"man_supervillain_tone2": "🦹🏼‍♂️",
"man_supervillain_medium_light_skin_tone": "🦹🏼‍♂️",
"man_supervillain_tone3": "🦹🏽‍♂️",
"man_supervillain_medium_skin_tone": "🦹🏽‍♂️",
"man_supervillain_tone4": "🦹🏾‍♂️",
"man_supervillain_medium_dark_skin_tone": "🦹🏾‍♂️",
"man_supervillain_tone5": "🦹🏿‍♂️",
"man_supervillain_dark_skin_tone": "🦹🏿‍♂️",
"ninja": "🥷",
"ninja_tone1": "🥷🏻",
"ninja_light_skin_tone": "🥷🏻",
"ninja_tone2": "🥷🏼",
"ninja_medium_light_skin_tone": "🥷🏼",
"ninja_tone3": "🥷🏽",
"ninja_medium_skin_tone": "🥷🏽",
"ninja_tone4": "🥷🏾",
"ninja_medium_dark_skin_tone": "🥷🏾",
"ninja_tone5": "🥷🏿",
"ninja_dark_skin_tone": "🥷🏿",
"mx_claus": "🧑‍🎄",
"mx_claus_tone1": "🧑🏻‍🎄",
"mx_claus_light_skin_tone": "🧑🏻‍🎄",
"mx_claus_tone2": "🧑🏼‍🎄",
"mx_claus_medium_light_skin_tone": "🧑🏼‍🎄",
"mx_claus_tone3": "🧑🏽‍🎄",
"mx_claus_medium_skin_tone": "🧑🏽‍🎄",
"mx_claus_tone4": "🧑🏾‍🎄",
"mx_claus_medium_dark_skin_tone": "🧑🏾‍🎄",
"mx_claus_tone5": "🧑🏿‍🎄",
"mx_claus_dark_skin_tone": "🧑🏿‍🎄",
"mrs_claus": "🤶",
"mother_christmas": "🤶",
"mrs_claus_tone1": "🤶🏻",
"mother_christmas_tone1": "🤶🏻",
"mrs_claus_tone2": "🤶🏼",
"mother_christmas_tone2": "🤶🏼",
"mrs_claus_tone3": "🤶🏽",
"mother_christmas_tone3": "🤶🏽",
"mrs_claus_tone4": "🤶🏾",
"mother_christmas_tone4": "🤶🏾",
"mrs_claus_tone5": "🤶🏿",
"mother_christmas_tone5": "🤶🏿",
"santa": "🎅",
"santa_tone1": "🎅🏻",
"santa_tone2": "🎅🏼",
"santa_tone3": "🎅🏽",
"santa_tone4": "🎅🏾",
"santa_tone5": "🎅🏿",
"mage": "🧙",
"mage_tone1": "🧙🏻",
"mage_light_skin_tone": "🧙🏻",
"mage_tone2": "🧙🏼",
"mage_medium_light_skin_tone": "🧙🏼",
"mage_tone3": "🧙🏽",
"mage_medium_skin_tone": "🧙🏽",
"mage_tone4": "🧙🏾",
"mage_medium_dark_skin_tone": "🧙🏾",
"mage_tone5": "🧙🏿",
"mage_dark_skin_tone": "🧙🏿",
"woman_mage": "🧙‍♀️",
"woman_mage_tone1": "🧙🏻‍♀️",
"woman_mage_light_skin_tone": "🧙🏻‍♀️",
"woman_mage_tone2": "🧙🏼‍♀️",
"woman_mage_medium_light_skin_tone": "🧙🏼‍♀️",
"woman_mage_tone3": "🧙🏽‍♀️",
"woman_mage_medium_skin_tone": "🧙🏽‍♀️",
"woman_mage_tone4": "🧙🏾‍♀️",
"woman_mage_medium_dark_skin_tone": "🧙🏾‍♀️",
"woman_mage_tone5": "🧙🏿‍♀️",
"woman_mage_dark_skin_tone": "🧙🏿‍♀️",
"man_mage": "🧙‍♂️",
"man_mage_tone1": "🧙🏻‍♂️",
"man_mage_light_skin_tone": "🧙🏻‍♂️",
"man_mage_tone2": "🧙🏼‍♂️",
"man_mage_medium_light_skin_tone": "🧙🏼‍♂️",
"man_mage_tone3": "🧙🏽‍♂️",
"man_mage_medium_skin_tone": "🧙🏽‍♂️",
"man_mage_tone4": "🧙🏾‍♂️",
"man_mage_medium_dark_skin_tone": "🧙🏾‍♂️",
"man_mage_tone5": "🧙🏿‍♂️",
"man_mage_dark_skin_tone": "🧙🏿‍♂️",
"elf": "🧝",
"elf_tone1": "🧝🏻",
"elf_light_skin_tone": "🧝🏻",
"elf_tone2": "🧝🏼",
"elf_medium_light_skin_tone": "🧝🏼",
"elf_tone3": "🧝🏽",
"elf_medium_skin_tone": "🧝🏽",
"elf_tone4": "🧝🏾",
"elf_medium_dark_skin_tone": "🧝🏾",
"elf_tone5": "🧝🏿",
"elf_dark_skin_tone": "🧝🏿",
"woman_elf": "🧝‍♀️",
"woman_elf_tone1": "🧝🏻‍♀️",
"woman_elf_light_skin_tone": "🧝🏻‍♀️",
"woman_elf_tone2": "🧝🏼‍♀️",
"woman_elf_medium_light_skin_tone": "🧝🏼‍♀️",
"woman_elf_tone3": "🧝🏽‍♀️",
"woman_elf_medium_skin_tone": "🧝🏽‍♀️",
"woman_elf_tone4": "🧝🏾‍♀️",
"woman_elf_medium_dark_skin_tone": "🧝🏾‍♀️",
"woman_elf_tone5": "🧝🏿‍♀️",
"woman_elf_dark_skin_tone": "🧝🏿‍♀️",
"man_elf": "🧝‍♂️",
"man_elf_tone1": "🧝🏻‍♂️",
"man_elf_light_skin_tone": "🧝🏻‍♂️",
"man_elf_tone2": "🧝🏼‍♂️",
"man_elf_medium_light_skin_tone": "🧝🏼‍♂️",
"man_elf_tone3": "🧝🏽‍♂️",
"man_elf_medium_skin_tone": "🧝🏽‍♂️",
"man_elf_tone4": "🧝🏾‍♂️",
"man_elf_medium_dark_skin_tone": "🧝🏾‍♂️",
"man_elf_tone5": "🧝🏿‍♂️",
"man_elf_dark_skin_tone": "🧝🏿‍♂️",
"vampire": "🧛",
"vampire_tone1": "🧛🏻",
"vampire_light_skin_tone": "🧛🏻",
"vampire_tone2": "🧛🏼",
"vampire_medium_light_skin_tone": "🧛🏼",
"vampire_tone3": "🧛🏽",
"vampire_medium_skin_tone": "🧛🏽",
"vampire_tone4": "🧛🏾",
"vampire_medium_dark_skin_tone": "🧛🏾",
"vampire_tone5": "🧛🏿",
"vampire_dark_skin_tone": "🧛🏿",
"woman_vampire": "🧛‍♀️",
"woman_vampire_tone1": "🧛🏻‍♀️",
"woman_vampire_light_skin_tone": "🧛🏻‍♀️",
"woman_vampire_tone2": "🧛🏼‍♀️",
"woman_vampire_medium_light_skin_tone": "🧛🏼‍♀️",
"woman_vampire_tone3": "🧛🏽‍♀️",
"woman_vampire_medium_skin_tone": "🧛🏽‍♀️",
"woman_vampire_tone4": "🧛🏾‍♀️",
"woman_vampire_medium_dark_skin_tone": "🧛🏾‍♀️",
"woman_vampire_tone5": "🧛🏿‍♀️",
"woman_vampire_dark_skin_tone": "🧛🏿‍♀️",
"man_vampire": "🧛‍♂️",
"man_vampire_tone1": "🧛🏻‍♂️",
"man_vampire_light_skin_tone": "🧛🏻‍♂️",
"man_vampire_tone2": "🧛🏼‍♂️",
"man_vampire_medium_light_skin_tone": "🧛🏼‍♂️",
"man_vampire_tone3": "🧛🏽‍♂️",
"man_vampire_medium_skin_tone": "🧛🏽‍♂️",
"man_vampire_tone4": "🧛🏾‍♂️",
"man_vampire_medium_dark_skin_tone": "🧛🏾‍♂️",
"man_vampire_tone5": "🧛🏿‍♂️",
"man_vampire_dark_skin_tone": "🧛🏿‍♂️",
"zombie": "🧟",
"woman_zombie": "🧟‍♀️",
"man_zombie": "🧟‍♂️",
"genie": "🧞",
"woman_genie": "🧞‍♀️",
"man_genie": "🧞‍♂️",
"merperson": "🧜",
"merperson_tone1": "🧜🏻",
"merperson_light_skin_tone": "🧜🏻",
"merperson_tone2": "🧜🏼",
"merperson_medium_light_skin_tone": "🧜🏼",
"merperson_tone3": "🧜🏽",
"merperson_medium_skin_tone": "🧜🏽",
"merperson_tone4": "🧜🏾",
"merperson_medium_dark_skin_tone": "🧜🏾",
"merperson_tone5": "🧜🏿",
"merperson_dark_skin_tone": "🧜🏿",
"mermaid": "🧜‍♀️",
"mermaid_tone1": "🧜🏻‍♀️",
"mermaid_light_skin_tone": "🧜🏻‍♀️",
"mermaid_tone2": "🧜🏼‍♀️",
"mermaid_medium_light_skin_tone": "🧜🏼‍♀️",
"mermaid_tone3": "🧜🏽‍♀️",
"mermaid_medium_skin_tone": "🧜🏽‍♀️",
"mermaid_tone4": "🧜🏾‍♀️",
"mermaid_medium_dark_skin_tone": "🧜🏾‍♀️",
"mermaid_tone5": "🧜🏿‍♀️",
"mermaid_dark_skin_tone": "🧜🏿‍♀️",
"merman": "🧜‍♂️",
"merman_tone1": "🧜🏻‍♂️",
"merman_light_skin_tone": "🧜🏻‍♂️",
"merman_tone2": "🧜🏼‍♂️",
"merman_medium_light_skin_tone": "🧜🏼‍♂️",
"merman_tone3": "🧜🏽‍♂️",
"merman_medium_skin_tone": "🧜🏽‍♂️",
"merman_tone4": "🧜🏾‍♂️",
"merman_medium_dark_skin_tone": "🧜🏾‍♂️",
"merman_tone5": "🧜🏿‍♂️",
"merman_dark_skin_tone": "🧜🏿‍♂️",
"fairy": "🧚",
"fairy_tone1": "🧚🏻",
"fairy_light_skin_tone": "🧚🏻",
"fairy_tone2": "🧚🏼",
"fairy_medium_light_skin_tone": "🧚🏼",
"fairy_tone3": "🧚🏽",
"fairy_medium_skin_tone": "🧚🏽",
"fairy_tone4": "🧚🏾",
"fairy_medium_dark_skin_tone": "🧚🏾",
"fairy_tone5": "🧚🏿",
"fairy_dark_skin_tone": "🧚🏿",
"woman_fairy": "🧚‍♀️",
"woman_fairy_tone1": "🧚🏻‍♀️",
"woman_fairy_light_skin_tone": "🧚🏻‍♀️",
"woman_fairy_tone2": "🧚🏼‍♀️",
"woman_fairy_medium_light_skin_tone": "🧚🏼‍♀️",
"woman_fairy_tone3": "🧚🏽‍♀️",
"woman_fairy_medium_skin_tone": "🧚🏽‍♀️",
"woman_fairy_tone4": "🧚🏾‍♀️",
"woman_fairy_medium_dark_skin_tone": "🧚🏾‍♀️",
"woman_fairy_tone5": "🧚🏿‍♀️",
"woman_fairy_dark_skin_tone": "🧚🏿‍♀️",
"man_fairy": "🧚‍♂️",
"man_fairy_tone1": "🧚🏻‍♂️",
"man_fairy_light_skin_tone": "🧚🏻‍♂️",
"man_fairy_tone2": "🧚🏼‍♂️",
"man_fairy_medium_light_skin_tone": "🧚🏼‍♂️",
"man_fairy_tone3": "🧚🏽‍♂️",
"man_fairy_medium_skin_tone": "🧚🏽‍♂️",
"man_fairy_tone4": "🧚🏾‍♂️",
"man_fairy_medium_dark_skin_tone": "🧚🏾‍♂️",
"man_fairy_tone5": "🧚🏿‍♂️",
"man_fairy_dark_skin_tone": "🧚🏿‍♂️",
"angel": "👼",
"angel_tone1": "👼🏻",
"angel_tone2": "👼🏼",
"angel_tone3": "👼🏽",
"angel_tone4": "👼🏾",
"angel_tone5": "👼🏿",
"pregnant_woman": "🤰",
"expecting_woman": "🤰",
"pregnant_woman_tone1": "🤰🏻",
"expecting_woman_tone1": "🤰🏻",
"pregnant_woman_tone2": "🤰🏼",
"expecting_woman_tone2": "🤰🏼",
"pregnant_woman_tone3": "🤰🏽",
"expecting_woman_tone3": "🤰🏽",
"pregnant_woman_tone4": "🤰🏾",
"expecting_woman_tone4": "🤰🏾",
"pregnant_woman_tone5": "🤰🏿",
"expecting_woman_tone5": "🤰🏿",
"breast_feeding": "🤱",
"breast_feeding_tone1": "🤱🏻",
"breast_feeding_light_skin_tone": "🤱🏻",
"breast_feeding_tone2": "🤱🏼",
"breast_feeding_medium_light_skin_tone": "🤱🏼",
"breast_feeding_tone3": "🤱🏽",
"breast_feeding_medium_skin_tone": "🤱🏽",
"breast_feeding_tone4": "🤱🏾",
"breast_feeding_medium_dark_skin_tone": "🤱🏾",
"breast_feeding_tone5": "🤱🏿",
"breast_feeding_dark_skin_tone": "🤱🏿",
"person_feeding_baby": "🧑‍🍼",
"person_feeding_baby_tone1": "🧑🏻‍🍼",
"person_feeding_baby_light_skin_tone": "🧑🏻‍🍼",
"person_feeding_baby_tone2": "🧑🏼‍🍼",
"person_feeding_baby_medium_light_skin_tone": "🧑🏼‍🍼",
"person_feeding_baby_tone3": "🧑🏽‍🍼",
"person_feeding_baby_medium_skin_tone": "🧑🏽‍🍼",
"person_feeding_baby_tone4": "🧑🏾‍🍼",
"person_feeding_baby_medium_dark_skin_tone": "🧑🏾‍🍼",
"person_feeding_baby_tone5": "🧑🏿‍🍼",
"person_feeding_baby_dark_skin_tone": "🧑🏿‍🍼",
"woman_feeding_baby": "👩‍🍼",
"woman_feeding_baby_tone1": "👩🏻‍🍼",
"woman_feeding_baby_light_skin_tone": "👩🏻‍🍼",
"woman_feeding_baby_tone2": "👩🏼‍🍼",
"woman_feeding_baby_medium_light_skin_tone": "👩🏼‍🍼",
"woman_feeding_baby_tone3": "👩🏽‍🍼",
"woman_feeding_baby_medium_skin_tone": "👩🏽‍🍼",
"woman_feeding_baby_tone4": "👩🏾‍🍼",
"woman_feeding_baby_medium_dark_skin_tone": "👩🏾‍🍼",
"woman_feeding_baby_tone5": "👩🏿‍🍼",
"woman_feeding_baby_dark_skin_tone": "👩🏿‍🍼",
"man_feeding_baby": "👨‍🍼",
"man_feeding_baby_tone1": "👨🏻‍🍼",
"man_feeding_baby_light_skin_tone": "👨🏻‍🍼",
"man_feeding_baby_tone2": "👨🏼‍🍼",
"man_feeding_baby_medium_light_skin_tone": "👨🏼‍🍼",
"man_feeding_baby_tone3": "👨🏽‍🍼",
"man_feeding_baby_medium_skin_tone": "👨🏽‍🍼",
"man_feeding_baby_tone4": "👨🏾‍🍼",
"man_feeding_baby_medium_dark_skin_tone": "👨🏾‍🍼",
"man_feeding_baby_tone5": "👨🏿‍🍼",
"man_feeding_baby_dark_skin_tone": "👨🏿‍🍼",
"person_bowing": "🙇",
"bow": "🙇",
"person_bowing_tone1": "🙇🏻",
"bow_tone1": "🙇🏻",
"person_bowing_tone2": "🙇🏼",
"bow_tone2": "🙇🏼",
"person_bowing_tone3": "🙇🏽",
"bow_tone3": "🙇🏽",
"person_bowing_tone4": "🙇🏾",
"bow_tone4": "🙇🏾",
"person_bowing_tone5": "🙇🏿",
"bow_tone5": "🙇🏿",
"woman_bowing": "🙇‍♀️",
"woman_bowing_tone1": "🙇🏻‍♀️",
"woman_bowing_light_skin_tone": "🙇🏻‍♀️",
"woman_bowing_tone2": "🙇🏼‍♀️",
"woman_bowing_medium_light_skin_tone": "🙇🏼‍♀️",
"woman_bowing_tone3": "🙇🏽‍♀️",
"woman_bowing_medium_skin_tone": "🙇🏽‍♀️",
"woman_bowing_tone4": "🙇🏾‍♀️",
"woman_bowing_medium_dark_skin_tone": "🙇🏾‍♀️",
"woman_bowing_tone5": "🙇🏿‍♀️",
"woman_bowing_dark_skin_tone": "🙇🏿‍♀️",
"man_bowing": "🙇‍♂️",
"man_bowing_tone1": "🙇🏻‍♂️",
"man_bowing_light_skin_tone": "🙇🏻‍♂️",
"man_bowing_tone2": "🙇🏼‍♂️",
"man_bowing_medium_light_skin_tone": "🙇🏼‍♂️",
"man_bowing_tone3": "🙇🏽‍♂️",
"man_bowing_medium_skin_tone": "🙇🏽‍♂️",
"man_bowing_tone4": "🙇🏾‍♂️",
"man_bowing_medium_dark_skin_tone": "🙇🏾‍♂️",
"man_bowing_tone5": "🙇🏿‍♂️",
"man_bowing_dark_skin_tone": "🙇🏿‍♂️",
"person_tipping_hand": "💁",
"information_desk_person": "💁",
"person_tipping_hand_tone1": "💁🏻",
"information_desk_person_tone1": "💁🏻",
"person_tipping_hand_tone2": "💁🏼",
"information_desk_person_tone2": "💁🏼",
"person_tipping_hand_tone3": "💁🏽",
"information_desk_person_tone3": "💁🏽",
"person_tipping_hand_tone4": "💁🏾",
"information_desk_person_tone4": "💁🏾",
"person_tipping_hand_tone5": "💁🏿",
"information_desk_person_tone5": "💁🏿",
"woman_tipping_hand": "💁‍♀️",
"woman_tipping_hand_tone1": "💁🏻‍♀️",
"woman_tipping_hand_light_skin_tone": "💁🏻‍♀️",
"woman_tipping_hand_tone2": "💁🏼‍♀️",
"woman_tipping_hand_medium_light_skin_tone": "💁🏼‍♀️",
"woman_tipping_hand_tone3": "💁🏽‍♀️",
"woman_tipping_hand_medium_skin_tone": "💁🏽‍♀️",
"woman_tipping_hand_tone4": "💁🏾‍♀️",
"woman_tipping_hand_medium_dark_skin_tone": "💁🏾‍♀️",
"woman_tipping_hand_tone5": "💁🏿‍♀️",
"woman_tipping_hand_dark_skin_tone": "💁🏿‍♀️",
"man_tipping_hand": "💁‍♂️",
"man_tipping_hand_tone1": "💁🏻‍♂️",
"man_tipping_hand_light_skin_tone": "💁🏻‍♂️",
"man_tipping_hand_tone2": "💁🏼‍♂️",
"man_tipping_hand_medium_light_skin_tone": "💁🏼‍♂️",
"man_tipping_hand_tone3": "💁🏽‍♂️",
"man_tipping_hand_medium_skin_tone": "💁🏽‍♂️",
"man_tipping_hand_tone4": "💁🏾‍♂️",
"man_tipping_hand_medium_dark_skin_tone": "💁🏾‍♂️",
"man_tipping_hand_tone5": "💁🏿‍♂️",
"man_tipping_hand_dark_skin_tone": "💁🏿‍♂️",
"person_gesturing_no": "🙅",
"no_good": "🙅",
"person_gesturing_no_tone1": "🙅🏻",
"no_good_tone1": "🙅🏻",
"person_gesturing_no_tone2": "🙅🏼",
"no_good_tone2": "🙅🏼",
"person_gesturing_no_tone3": "🙅🏽",
"no_good_tone3": "🙅🏽",
"person_gesturing_no_tone4": "🙅🏾",
"no_good_tone4": "🙅🏾",
"person_gesturing_no_tone5": "🙅🏿",
"no_good_tone5": "🙅🏿",
"woman_gesturing_no": "🙅‍♀️",
"woman_gesturing_no_tone1": "🙅🏻‍♀️",
"woman_gesturing_no_light_skin_tone": "🙅🏻‍♀️",
"woman_gesturing_no_tone2": "🙅🏼‍♀️",
"woman_gesturing_no_medium_light_skin_tone": "🙅🏼‍♀️",
"woman_gesturing_no_tone3": "🙅🏽‍♀️",
"woman_gesturing_no_medium_skin_tone": "🙅🏽‍♀️",
"woman_gesturing_no_tone4": "🙅🏾‍♀️",
"woman_gesturing_no_medium_dark_skin_tone": "🙅🏾‍♀️",
"woman_gesturing_no_tone5": "🙅🏿‍♀️",
"woman_gesturing_no_dark_skin_tone": "🙅🏿‍♀️",
"man_gesturing_no": "🙅‍♂️",
"man_gesturing_no_tone1": "🙅🏻‍♂️",
"man_gesturing_no_light_skin_tone": "🙅🏻‍♂️",
"man_gesturing_no_tone2": "🙅🏼‍♂️",
"man_gesturing_no_medium_light_skin_tone": "🙅🏼‍♂️",
"man_gesturing_no_tone3": "🙅🏽‍♂️",
"man_gesturing_no_medium_skin_tone": "🙅🏽‍♂️",
"man_gesturing_no_tone4": "🙅🏾‍♂️",
"man_gesturing_no_medium_dark_skin_tone": "🙅🏾‍♂️",
"man_gesturing_no_tone5": "🙅🏿‍♂️",
"man_gesturing_no_dark_skin_tone": "🙅🏿‍♂️",
"person_gesturing_ok": "🙆",
"ok_woman": "🙆",
"person_gesturing_ok_tone1": "🙆🏻",
"ok_woman_tone1": "🙆🏻",
"person_gesturing_ok_tone2": "🙆🏼",
"ok_woman_tone2": "🙆🏼",
"person_gesturing_ok_tone3": "🙆🏽",
"ok_woman_tone3": "🙆🏽",
"person_gesturing_ok_tone4": "🙆🏾",
"ok_woman_tone4": "🙆🏾",
"person_gesturing_ok_tone5": "🙆🏿",
"ok_woman_tone5": "🙆🏿",
"woman_gesturing_ok": "🙆‍♀️",
"woman_gesturing_ok_tone1": "🙆🏻‍♀️",
"woman_gesturing_ok_light_skin_tone": "🙆🏻‍♀️",
"woman_gesturing_ok_tone2": "🙆🏼‍♀️",
"woman_gesturing_ok_medium_light_skin_tone": "🙆🏼‍♀️",
"woman_gesturing_ok_tone3": "🙆🏽‍♀️",
"woman_gesturing_ok_medium_skin_tone": "🙆🏽‍♀️",
"woman_gesturing_ok_tone4": "🙆🏾‍♀️",
"woman_gesturing_ok_medium_dark_skin_tone": "🙆🏾‍♀️",
"woman_gesturing_ok_tone5": "🙆🏿‍♀️",
"woman_gesturing_ok_dark_skin_tone": "🙆🏿‍♀️",
"man_gesturing_ok": "🙆‍♂️",
"man_gesturing_ok_tone1": "🙆🏻‍♂️",
"man_gesturing_ok_light_skin_tone": "🙆🏻‍♂️",
"man_gesturing_ok_tone2": "🙆🏼‍♂️",
"man_gesturing_ok_medium_light_skin_tone": "🙆🏼‍♂️",
"man_gesturing_ok_tone3": "🙆🏽‍♂️",
"man_gesturing_ok_medium_skin_tone": "🙆🏽‍♂️",
"man_gesturing_ok_tone4": "🙆🏾‍♂️",
"man_gesturing_ok_medium_dark_skin_tone": "🙆🏾‍♂️",
"man_gesturing_ok_tone5": "🙆🏿‍♂️",
"man_gesturing_ok_dark_skin_tone": "🙆🏿‍♂️",
"person_raising_hand": "🙋",
"raising_hand": "🙋",
"person_raising_hand_tone1": "🙋🏻",
"raising_hand_tone1": "🙋🏻",
"person_raising_hand_tone2": "🙋🏼",
"raising_hand_tone2": "🙋🏼",
"person_raising_hand_tone3": "🙋🏽",
"raising_hand_tone3": "🙋🏽",
"person_raising_hand_tone4": "🙋🏾",
"raising_hand_tone4": "🙋🏾",
"person_raising_hand_tone5": "🙋🏿",
"raising_hand_tone5": "🙋🏿",
"woman_raising_hand": "🙋‍♀️",
"woman_raising_hand_tone1": "🙋🏻‍♀️",
"woman_raising_hand_light_skin_tone": "🙋🏻‍♀️",
"woman_raising_hand_tone2": "🙋🏼‍♀️",
"woman_raising_hand_medium_light_skin_tone": "🙋🏼‍♀️",
"woman_raising_hand_tone3": "🙋🏽‍♀️",
"woman_raising_hand_medium_skin_tone": "🙋🏽‍♀️",
"woman_raising_hand_tone4": "🙋🏾‍♀️",
"woman_raising_hand_medium_dark_skin_tone": "🙋🏾‍♀️",
"woman_raising_hand_tone5": "🙋🏿‍♀️",
"woman_raising_hand_dark_skin_tone": "🙋🏿‍♀️",
"man_raising_hand": "🙋‍♂️",
"man_raising_hand_tone1": "🙋🏻‍♂️",
"man_raising_hand_light_skin_tone": "🙋🏻‍♂️",
"man_raising_hand_tone2": "🙋🏼‍♂️",
"man_raising_hand_medium_light_skin_tone": "🙋🏼‍♂️",
"man_raising_hand_tone3": "🙋🏽‍♂️",
"man_raising_hand_medium_skin_tone": "🙋🏽‍♂️",
"man_raising_hand_tone4": "🙋🏾‍♂️",
"man_raising_hand_medium_dark_skin_tone": "🙋🏾‍♂️",
"man_raising_hand_tone5": "🙋🏿‍♂️",
"man_raising_hand_dark_skin_tone": "🙋🏿‍♂️",
"deaf_person": "🧏",
"deaf_person_tone1": "🧏🏻",
"deaf_person_light_skin_tone": "🧏🏻",
"deaf_person_tone2": "🧏🏼",
"deaf_person_medium_light_skin_tone": "🧏🏼",
"deaf_person_tone3": "🧏🏽",
"deaf_person_medium_skin_tone": "🧏🏽",
"deaf_person_tone4": "🧏🏾",
"deaf_person_medium_dark_skin_tone": "🧏🏾",
"deaf_person_tone5": "🧏🏿",
"deaf_person_dark_skin_tone": "🧏🏿",
"deaf_woman": "🧏‍♀️",
"deaf_woman_tone1": "🧏🏻‍♀️",
"deaf_woman_light_skin_tone": "🧏🏻‍♀️",
"deaf_woman_tone2": "🧏🏼‍♀️",
"deaf_woman_medium_light_skin_tone": "🧏🏼‍♀️",
"deaf_woman_tone3": "🧏🏽‍♀️",
"deaf_woman_medium_skin_tone": "🧏🏽‍♀️",
"deaf_woman_tone4": "🧏🏾‍♀️",
"deaf_woman_medium_dark_skin_tone": "🧏🏾‍♀️",
"deaf_woman_tone5": "🧏🏿‍♀️",
"deaf_woman_dark_skin_tone": "🧏🏿‍♀️",
"deaf_man": "🧏‍♂️",
"deaf_man_tone1": "🧏🏻‍♂️",
"deaf_man_light_skin_tone": "🧏🏻‍♂️",
"deaf_man_tone2": "🧏🏼‍♂️",
"deaf_man_medium_light_skin_tone": "🧏🏼‍♂️",
"deaf_man_tone3": "🧏🏽‍♂️",
"deaf_man_medium_skin_tone": "🧏🏽‍♂️",
"deaf_man_tone4": "🧏🏾‍♂️",
"deaf_man_medium_dark_skin_tone": "🧏🏾‍♂️",
"deaf_man_tone5": "🧏🏿‍♂️",
"deaf_man_dark_skin_tone": "🧏🏿‍♂️",
"person_facepalming": "🤦",
"face_palm": "🤦",
"facepalm": "🤦",
"person_facepalming_tone1": "🤦🏻",
"face_palm_tone1": "🤦🏻",
"facepalm_tone1": "🤦🏻",
"person_facepalming_tone2": "🤦🏼",
"face_palm_tone2": "🤦🏼",
"facepalm_tone2": "🤦🏼",
"person_facepalming_tone3": "🤦🏽",
"face_palm_tone3": "🤦🏽",
"facepalm_tone3": "🤦🏽",
"person_facepalming_tone4": "🤦🏾",
"face_palm_tone4": "🤦🏾",
"facepalm_tone4": "🤦🏾",
"person_facepalming_tone5": "🤦🏿",
"face_palm_tone5": "🤦🏿",
"facepalm_tone5": "🤦🏿",
"woman_facepalming": "🤦‍♀️",
"woman_facepalming_tone1": "🤦🏻‍♀️",
"woman_facepalming_light_skin_tone": "🤦🏻‍♀️",
"woman_facepalming_tone2": "🤦🏼‍♀️",
"woman_facepalming_medium_light_skin_tone": "🤦🏼‍♀️",
"woman_facepalming_tone3": "🤦🏽‍♀️",
"woman_facepalming_medium_skin_tone": "🤦🏽‍♀️",
"woman_facepalming_tone4": "🤦🏾‍♀️",
"woman_facepalming_medium_dark_skin_tone": "🤦🏾‍♀️",
"woman_facepalming_tone5": "🤦🏿‍♀️",
"woman_facepalming_dark_skin_tone": "🤦🏿‍♀️",
"man_facepalming": "🤦‍♂️",
"man_facepalming_tone1": "🤦🏻‍♂️",
"man_facepalming_light_skin_tone": "🤦🏻‍♂️",
"man_facepalming_tone2": "🤦🏼‍♂️",
"man_facepalming_medium_light_skin_tone": "🤦🏼‍♂️",
"man_facepalming_tone3": "🤦🏽‍♂️",
"man_facepalming_medium_skin_tone": "🤦🏽‍♂️",
"man_facepalming_tone4": "🤦🏾‍♂️",
"man_facepalming_medium_dark_skin_tone": "🤦🏾‍♂️",
"man_facepalming_tone5": "🤦🏿‍♂️",
"man_facepalming_dark_skin_tone": "🤦🏿‍♂️",
"person_shrugging": "🤷",
"shrug": "🤷",
"person_shrugging_tone1": "🤷🏻",
"shrug_tone1": "🤷🏻",
"person_shrugging_tone2": "🤷🏼",
"shrug_tone2": "🤷🏼",
"person_shrugging_tone3": "🤷🏽",
"shrug_tone3": "🤷🏽",
"person_shrugging_tone4": "🤷🏾",
"shrug_tone4": "🤷🏾",
"person_shrugging_tone5": "🤷🏿",
"shrug_tone5": "🤷🏿",
"woman_shrugging": "🤷‍♀️",
"woman_shrugging_tone1": "🤷🏻‍♀️",
"woman_shrugging_light_skin_tone": "🤷🏻‍♀️",
"woman_shrugging_tone2": "🤷🏼‍♀️",
"woman_shrugging_medium_light_skin_tone": "🤷🏼‍♀️",
"woman_shrugging_tone3": "🤷🏽‍♀️",
"woman_shrugging_medium_skin_tone": "🤷🏽‍♀️",
"woman_shrugging_tone4": "🤷🏾‍♀️",
"woman_shrugging_medium_dark_skin_tone": "🤷🏾‍♀️",
"woman_shrugging_tone5": "🤷🏿‍♀️",
"woman_shrugging_dark_skin_tone": "🤷🏿‍♀️",
"man_shrugging": "🤷‍♂️",
"man_shrugging_tone1": "🤷🏻‍♂️",
"man_shrugging_light_skin_tone": "🤷🏻‍♂️",
"man_shrugging_tone2": "🤷🏼‍♂️",
"man_shrugging_medium_light_skin_tone": "🤷🏼‍♂️",
"man_shrugging_tone3": "🤷🏽‍♂️",
"man_shrugging_medium_skin_tone": "🤷🏽‍♂️",
"man_shrugging_tone4": "🤷🏾‍♂️",
"man_shrugging_medium_dark_skin_tone": "🤷🏾‍♂️",
"man_shrugging_tone5": "🤷🏿‍♂️",
"man_shrugging_dark_skin_tone": "🤷🏿‍♂️",
"person_pouting": "🙎",
"person_with_pouting_face": "🙎",
"person_pouting_tone1": "🙎🏻",
"person_with_pouting_face_tone1": "🙎🏻",
"person_pouting_tone2": "🙎🏼",
"person_with_pouting_face_tone2": "🙎🏼",
"person_pouting_tone3": "🙎🏽",
"person_with_pouting_face_tone3": "🙎🏽",
"person_pouting_tone4": "🙎🏾",
"person_with_pouting_face_tone4": "🙎🏾",
"person_pouting_tone5": "🙎🏿",
"person_with_pouting_face_tone5": "🙎🏿",
"woman_pouting": "🙎‍♀️",
"woman_pouting_tone1": "🙎🏻‍♀️",
"woman_pouting_light_skin_tone": "🙎🏻‍♀️",
"woman_pouting_tone2": "🙎🏼‍♀️",
"woman_pouting_medium_light_skin_tone": "🙎🏼‍♀️",
"woman_pouting_tone3": "🙎🏽‍♀️",
"woman_pouting_medium_skin_tone": "🙎🏽‍♀️",
"woman_pouting_tone4": "🙎🏾‍♀️",
"woman_pouting_medium_dark_skin_tone": "🙎🏾‍♀️",
"woman_pouting_tone5": "🙎🏿‍♀️",
"woman_pouting_dark_skin_tone": "🙎🏿‍♀️",
"man_pouting": "🙎‍♂️",
"man_pouting_tone1": "🙎🏻‍♂️",
"man_pouting_light_skin_tone": "🙎🏻‍♂️",
"man_pouting_tone2": "🙎🏼‍♂️",
"man_pouting_medium_light_skin_tone": "🙎🏼‍♂️",
"man_pouting_tone3": "🙎🏽‍♂️",
"man_pouting_medium_skin_tone": "🙎🏽‍♂️",
"man_pouting_tone4": "🙎🏾‍♂️",
"man_pouting_medium_dark_skin_tone": "🙎🏾‍♂️",
"man_pouting_tone5": "🙎🏿‍♂️",
"man_pouting_dark_skin_tone": "🙎🏿‍♂️",
"person_frowning": "🙍",
"person_frowning_tone1": "🙍🏻",
"person_frowning_tone2": "🙍🏼",
"person_frowning_tone3": "🙍🏽",
"person_frowning_tone4": "🙍🏾",
"person_frowning_tone5": "🙍🏿",
"woman_frowning": "🙍‍♀️",
"woman_frowning_tone1": "🙍🏻‍♀️",
"woman_frowning_light_skin_tone": "🙍🏻‍♀️",
"woman_frowning_tone2": "🙍🏼‍♀️",
"woman_frowning_medium_light_skin_tone": "🙍🏼‍♀️",
"woman_frowning_tone3": "🙍🏽‍♀️",
"woman_frowning_medium_skin_tone": "🙍🏽‍♀️",
"woman_frowning_tone4": "🙍🏾‍♀️",
"woman_frowning_medium_dark_skin_tone": "🙍🏾‍♀️",
"woman_frowning_tone5": "🙍🏿‍♀️",
"woman_frowning_dark_skin_tone": "🙍🏿‍♀️",
"man_frowning": "🙍‍♂️",
"man_frowning_tone1": "🙍🏻‍♂️",
"man_frowning_light_skin_tone": "🙍🏻‍♂️",
"man_frowning_tone2": "🙍🏼‍♂️",
"man_frowning_medium_light_skin_tone": "🙍🏼‍♂️",
"man_frowning_tone3": "🙍🏽‍♂️",
"man_frowning_medium_skin_tone": "🙍🏽‍♂️",
"man_frowning_tone4": "🙍🏾‍♂️",
"man_frowning_medium_dark_skin_tone": "🙍🏾‍♂️",
"man_frowning_tone5": "🙍🏿‍♂️",
"man_frowning_dark_skin_tone": "🙍🏿‍♂️",
"person_getting_haircut": "💇",
"haircut": "💇",
"person_getting_haircut_tone1": "💇🏻",
"haircut_tone1": "💇🏻",
"person_getting_haircut_tone2": "💇🏼",
"haircut_tone2": "💇🏼",
"person_getting_haircut_tone3": "💇🏽",
"haircut_tone3": "💇🏽",
"person_getting_haircut_tone4": "💇🏾",
"haircut_tone4": "💇🏾",
"person_getting_haircut_tone5": "💇🏿",
"haircut_tone5": "💇🏿",
"woman_getting_haircut": "💇‍♀️",
"woman_getting_haircut_tone1": "💇🏻‍♀️",
"woman_getting_haircut_light_skin_tone": "💇🏻‍♀️",
"woman_getting_haircut_tone2": "💇🏼‍♀️",
"woman_getting_haircut_medium_light_skin_tone": "💇🏼‍♀️",
"woman_getting_haircut_tone3": "💇🏽‍♀️",
"woman_getting_haircut_medium_skin_tone": "💇🏽‍♀️",
"woman_getting_haircut_tone4": "💇🏾‍♀️",
"woman_getting_haircut_medium_dark_skin_tone": "💇🏾‍♀️",
"woman_getting_haircut_tone5": "💇🏿‍♀️",
"woman_getting_haircut_dark_skin_tone": "💇🏿‍♀️",
"man_getting_haircut": "💇‍♂️",
"man_getting_haircut_tone1": "💇🏻‍♂️",
"man_getting_haircut_light_skin_tone": "💇🏻‍♂️",
"man_getting_haircut_tone2": "💇🏼‍♂️",
"man_getting_haircut_medium_light_skin_tone": "💇🏼‍♂️",
"man_getting_haircut_tone3": "💇🏽‍♂️",
"man_getting_haircut_medium_skin_tone": "💇🏽‍♂️",
"man_getting_haircut_tone4": "💇🏾‍♂️",
"man_getting_haircut_medium_dark_skin_tone": "💇🏾‍♂️",
"man_getting_haircut_tone5": "💇🏿‍♂️",
"man_getting_haircut_dark_skin_tone": "💇🏿‍♂️",
"person_getting_massage": "💆",
"massage": "💆",
"person_getting_massage_tone1": "💆🏻",
"massage_tone1": "💆🏻",
"person_getting_massage_tone2": "💆🏼",
"massage_tone2": "💆🏼",
"person_getting_massage_tone3": "💆🏽",
"massage_tone3": "💆🏽",
"person_getting_massage_tone4": "💆🏾",
"massage_tone4": "💆🏾",
"person_getting_massage_tone5": "💆🏿",
"massage_tone5": "💆🏿",
"woman_getting_face_massage": "💆‍♀️",
"woman_getting_face_massage_tone1": "💆🏻‍♀️",
"woman_getting_face_massage_light_skin_tone": "💆🏻‍♀️",
"woman_getting_face_massage_tone2": "💆🏼‍♀️",
"woman_getting_face_massage_medium_light_skin_tone": "💆🏼‍♀️",
"woman_getting_face_massage_tone3": "💆🏽‍♀️",
"woman_getting_face_massage_medium_skin_tone": "💆🏽‍♀️",
"woman_getting_face_massage_tone4": "💆🏾‍♀️",
"woman_getting_face_massage_medium_dark_skin_tone": "💆🏾‍♀️",
"woman_getting_face_massage_tone5": "💆🏿‍♀️",
"woman_getting_face_massage_dark_skin_tone": "💆🏿‍♀️",
"man_getting_face_massage": "💆‍♂️",
"man_getting_face_massage_tone1": "💆🏻‍♂️",
"man_getting_face_massage_light_skin_tone": "💆🏻‍♂️",
"man_getting_face_massage_tone2": "💆🏼‍♂️",
"man_getting_face_massage_medium_light_skin_tone": "💆🏼‍♂️",
"man_getting_face_massage_tone3": "💆🏽‍♂️",
"man_getting_face_massage_medium_skin_tone": "💆🏽‍♂️",
"man_getting_face_massage_tone4": "💆🏾‍♂️",
"man_getting_face_massage_medium_dark_skin_tone": "💆🏾‍♂️",
"man_getting_face_massage_tone5": "💆🏿‍♂️",
"man_getting_face_massage_dark_skin_tone": "💆🏿‍♂️",
"person_in_steamy_room": "🧖",
"person_in_steamy_room_tone1": "🧖🏻",
"person_in_steamy_room_light_skin_tone": "🧖🏻",
"person_in_steamy_room_tone2": "🧖🏼",
"person_in_steamy_room_medium_light_skin_tone": "🧖🏼",
"person_in_steamy_room_tone3": "🧖🏽",
"person_in_steamy_room_medium_skin_tone": "🧖🏽",
"person_in_steamy_room_tone4": "🧖🏾",
"person_in_steamy_room_medium_dark_skin_tone": "🧖🏾",
"person_in_steamy_room_tone5": "🧖🏿",
"person_in_steamy_room_dark_skin_tone": "🧖🏿",
"woman_in_steamy_room": "🧖‍♀️",
"woman_in_steamy_room_tone1": "🧖🏻‍♀️",
"woman_in_steamy_room_light_skin_tone": "🧖🏻‍♀️",
"woman_in_steamy_room_tone2": "🧖🏼‍♀️",
"woman_in_steamy_room_medium_light_skin_tone": "🧖🏼‍♀️",
"woman_in_steamy_room_tone3": "🧖🏽‍♀️",
"woman_in_steamy_room_medium_skin_tone": "🧖🏽‍♀️",
"woman_in_steamy_room_tone4": "🧖🏾‍♀️",
"woman_in_steamy_room_medium_dark_skin_tone": "🧖🏾‍♀️",
"woman_in_steamy_room_tone5": "🧖🏿‍♀️",
"woman_in_steamy_room_dark_skin_tone": "🧖🏿‍♀️",
"man_in_steamy_room": "🧖‍♂️",
"man_in_steamy_room_tone1": "🧖🏻‍♂️",
"man_in_steamy_room_light_skin_tone": "🧖🏻‍♂️",
"man_in_steamy_room_tone2": "🧖🏼‍♂️",
"man_in_steamy_room_medium_light_skin_tone": "🧖🏼‍♂️",
"man_in_steamy_room_tone3": "🧖🏽‍♂️",
"man_in_steamy_room_medium_skin_tone": "🧖🏽‍♂️",
"man_in_steamy_room_tone4": "🧖🏾‍♂️",
"man_in_steamy_room_medium_dark_skin_tone": "🧖🏾‍♂️",
"man_in_steamy_room_tone5": "🧖🏿‍♂️",
"man_in_steamy_room_dark_skin_tone": "🧖🏿‍♂️",
"nail_care": "💅",
"nail_care_tone1": "💅🏻",
"nail_care_tone2": "💅🏼",
"nail_care_tone3": "💅🏽",
"nail_care_tone4": "💅🏾",
"nail_care_tone5": "💅🏿",
"selfie": "🤳",
"selfie_tone1": "🤳🏻",
"selfie_tone2": "🤳🏼",
"selfie_tone3": "🤳🏽",
"selfie_tone4": "🤳🏾",
"selfie_tone5": "🤳🏿",
"dancer": "💃",
"dancer_tone1": "💃🏻",
"dancer_tone2": "💃🏼",
"dancer_tone3": "💃🏽",
"dancer_tone4": "💃🏾",
"dancer_tone5": "💃🏿",
"man_dancing": "🕺",
"male_dancer": "🕺",
"man_dancing_tone1": "🕺🏻",
"male_dancer_tone1": "🕺🏻",
"man_dancing_tone2": "🕺🏼",
"male_dancer_tone2": "🕺🏼",
"man_dancing_tone3": "🕺🏽",
"male_dancer_tone3": "🕺🏽",
"man_dancing_tone5": "🕺🏿",
"male_dancer_tone5": "🕺🏿",
"man_dancing_tone4": "🕺🏾",
"male_dancer_tone4": "🕺🏾",
"people_with_bunny_ears_partying": "👯",
"dancers": "👯",
"women_with_bunny_ears_partying": "👯‍♀️",
"men_with_bunny_ears_partying": "👯‍♂️",
"levitate": "🕴️",
"man_in_business_suit_levitating": "🕴️",
"levitate_tone1": "🕴🏻",
"man_in_business_suit_levitating_tone1": "🕴🏻",
"man_in_business_suit_levitating_light_skin_tone": "🕴🏻",
"levitate_tone2": "🕴🏼",
"man_in_business_suit_levitating_tone2": "🕴🏼",
"man_in_business_suit_levitating_medium_light_skin_tone": "🕴🏼",
"levitate_tone3": "🕴🏽",
"man_in_business_suit_levitating_tone3": "🕴🏽",
"man_in_business_suit_levitating_medium_skin_tone": "🕴🏽",
"levitate_tone4": "🕴🏾",
"man_in_business_suit_levitating_tone4": "🕴🏾",
"man_in_business_suit_levitating_medium_dark_skin_tone": "🕴🏾",
"levitate_tone5": "🕴🏿",
"man_in_business_suit_levitating_tone5": "🕴🏿",
"man_in_business_suit_levitating_dark_skin_tone": "🕴🏿",
"person_in_manual_wheelchair": "🧑‍🦽",
"person_in_manual_wheelchair_tone1": "🧑🏻‍🦽",
"person_in_manual_wheelchair_light_skin_tone": "🧑🏻‍🦽",
"person_in_manual_wheelchair_tone2": "🧑🏼‍🦽",
"person_in_manual_wheelchair_medium_light_skin_tone": "🧑🏼‍🦽",
"person_in_manual_wheelchair_tone3": "🧑🏽‍🦽",
"person_in_manual_wheelchair_medium_skin_tone": "🧑🏽‍🦽",
"person_in_manual_wheelchair_tone4": "🧑🏾‍🦽",
"person_in_manual_wheelchair_medium_dark_skin_tone": "🧑🏾‍🦽",
"person_in_manual_wheelchair_tone5": "🧑🏿‍🦽",
"person_in_manual_wheelchair_dark_skin_tone": "🧑🏿‍🦽",
"woman_in_manual_wheelchair": "👩‍🦽",
"woman_in_manual_wheelchair_tone1": "👩🏻‍🦽",
"woman_in_manual_wheelchair_light_skin_tone": "👩🏻‍🦽",
"woman_in_manual_wheelchair_tone2": "👩🏼‍🦽",
"woman_in_manual_wheelchair_medium_light_skin_tone": "👩🏼‍🦽",
"woman_in_manual_wheelchair_tone3": "👩🏽‍🦽",
"woman_in_manual_wheelchair_medium_skin_tone": "👩🏽‍🦽",
"woman_in_manual_wheelchair_tone4": "👩🏾‍🦽",
"woman_in_manual_wheelchair_medium_dark_skin_tone": "👩🏾‍🦽",
"woman_in_manual_wheelchair_tone5": "👩🏿‍🦽",
"woman_in_manual_wheelchair_dark_skin_tone": "👩🏿‍🦽",
"man_in_manual_wheelchair": "👨‍🦽",
"man_in_manual_wheelchair_tone1": "👨🏻‍🦽",
"man_in_manual_wheelchair_light_skin_tone": "👨🏻‍🦽",
"man_in_manual_wheelchair_tone2": "👨🏼‍🦽",
"man_in_manual_wheelchair_medium_light_skin_tone": "👨🏼‍🦽",
"man_in_manual_wheelchair_tone3": "👨🏽‍🦽",
"man_in_manual_wheelchair_medium_skin_tone": "👨🏽‍🦽",
"man_in_manual_wheelchair_tone4": "👨🏾‍🦽",
"man_in_manual_wheelchair_medium_dark_skin_tone": "👨🏾‍🦽",
"man_in_manual_wheelchair_tone5": "👨🏿‍🦽",
"man_in_manual_wheelchair_dark_skin_tone": "👨🏿‍🦽",
"person_in_motorized_wheelchair": "🧑‍🦼",
"person_in_motorized_wheelchair_tone1": "🧑🏻‍🦼",
"person_in_motorized_wheelchair_light_skin_tone": "🧑🏻‍🦼",
"person_in_motorized_wheelchair_tone2": "🧑🏼‍🦼",
"person_in_motorized_wheelchair_medium_light_skin_tone": "🧑🏼‍🦼",
"person_in_motorized_wheelchair_tone3": "🧑🏽‍🦼",
"person_in_motorized_wheelchair_medium_skin_tone": "🧑🏽‍🦼",
"person_in_motorized_wheelchair_tone4": "🧑🏾‍🦼",
"person_in_motorized_wheelchair_medium_dark_skin_tone": "🧑🏾‍🦼",
"person_in_motorized_wheelchair_tone5": "🧑🏿‍🦼",
"person_in_motorized_wheelchair_dark_skin_tone": "🧑🏿‍🦼",
"woman_in_motorized_wheelchair": "👩‍🦼",
"woman_in_motorized_wheelchair_tone1": "👩🏻‍🦼",
"woman_in_motorized_wheelchair_light_skin_tone": "👩🏻‍🦼",
"woman_in_motorized_wheelchair_tone2": "👩🏼‍🦼",
"woman_in_motorized_wheelchair_medium_light_skin_tone": "👩🏼‍🦼",
"woman_in_motorized_wheelchair_tone3": "👩🏽‍🦼",
"woman_in_motorized_wheelchair_medium_skin_tone": "👩🏽‍🦼",
"woman_in_motorized_wheelchair_tone4": "👩🏾‍🦼",
"woman_in_motorized_wheelchair_medium_dark_skin_tone": "👩🏾‍🦼",
"woman_in_motorized_wheelchair_tone5": "👩🏿‍🦼",
"woman_in_motorized_wheelchair_dark_skin_tone": "👩🏿‍🦼",
"man_in_motorized_wheelchair": "👨‍🦼",
"man_in_motorized_wheelchair_tone1": "👨🏻‍🦼",
"man_in_motorized_wheelchair_light_skin_tone": "👨🏻‍🦼",
"man_in_motorized_wheelchair_tone2": "👨🏼‍🦼",
"man_in_motorized_wheelchair_medium_light_skin_tone": "👨🏼‍🦼",
"man_in_motorized_wheelchair_tone3": "👨🏽‍🦼",
"man_in_motorized_wheelchair_medium_skin_tone": "👨🏽‍🦼",
"man_in_motorized_wheelchair_tone4": "👨🏾‍🦼",
"man_in_motorized_wheelchair_medium_dark_skin_tone": "👨🏾‍🦼",
"man_in_motorized_wheelchair_tone5": "👨🏿‍🦼",
"man_in_motorized_wheelchair_dark_skin_tone": "👨🏿‍🦼",
"person_walking": "🚶",
"walking": "🚶",
"person_walking_tone1": "🚶🏻",
"walking_tone1": "🚶🏻",
"person_walking_tone2": "🚶🏼",
"walking_tone2": "🚶🏼",
"person_walking_tone3": "🚶🏽",
"walking_tone3": "🚶🏽",
"person_walking_tone4": "🚶🏾",
"walking_tone4": "🚶🏾",
"person_walking_tone5": "🚶🏿",
"walking_tone5": "🚶🏿",
"woman_walking": "🚶‍♀️",
"woman_walking_tone1": "🚶🏻‍♀️",
"woman_walking_light_skin_tone": "🚶🏻‍♀️",
"woman_walking_tone2": "🚶🏼‍♀️",
"woman_walking_medium_light_skin_tone": "🚶🏼‍♀️",
"woman_walking_tone3": "🚶🏽‍♀️",
"woman_walking_medium_skin_tone": "🚶🏽‍♀️",
"woman_walking_tone4": "🚶🏾‍♀️",
"woman_walking_medium_dark_skin_tone": "🚶🏾‍♀️",
"woman_walking_tone5": "🚶🏿‍♀️",
"woman_walking_dark_skin_tone": "🚶🏿‍♀️",
"man_walking": "🚶‍♂️",
"man_walking_tone1": "🚶🏻‍♂️",
"man_walking_light_skin_tone": "🚶🏻‍♂️",
"man_walking_tone2": "🚶🏼‍♂️",
"man_walking_medium_light_skin_tone": "🚶🏼‍♂️",
"man_walking_tone3": "🚶🏽‍♂️",
"man_walking_medium_skin_tone": "🚶🏽‍♂️",
"man_walking_tone4": "🚶🏾‍♂️",
"man_walking_medium_dark_skin_tone": "🚶🏾‍♂️",
"man_walking_tone5": "🚶🏿‍♂️",
"man_walking_dark_skin_tone": "🚶🏿‍♂️",
"person_with_probing_cane": "🧑‍🦯",
"person_with_probing_cane_tone1": "🧑🏻‍🦯",
"person_with_probing_cane_light_skin_tone": "🧑🏻‍🦯",
"person_with_probing_cane_tone2": "🧑🏼‍🦯",
"person_with_probing_cane_medium_light_skin_tone": "🧑🏼‍🦯",
"person_with_probing_cane_tone3": "🧑🏽‍🦯",
"person_with_probing_cane_medium_skin_tone": "🧑🏽‍🦯",
"person_with_probing_cane_tone4": "🧑🏾‍🦯",
"person_with_probing_cane_medium_dark_skin_tone": "🧑🏾‍🦯",
"person_with_probing_cane_tone5": "🧑🏿‍🦯",
"person_with_probing_cane_dark_skin_tone": "🧑🏿‍🦯",
"woman_with_probing_cane": "👩‍🦯",
"woman_with_probing_cane_tone1": "👩🏻‍🦯",
"woman_with_probing_cane_light_skin_tone": "👩🏻‍🦯",
"woman_with_probing_cane_tone2": "👩🏼‍🦯",
"woman_with_probing_cane_medium_light_skin_tone": "👩🏼‍🦯",
"woman_with_probing_cane_tone3": "👩🏽‍🦯",
"woman_with_probing_cane_medium_skin_tone": "👩🏽‍🦯",
"woman_with_probing_cane_tone4": "👩🏾‍🦯",
"woman_with_probing_cane_medium_dark_skin_tone": "👩🏾‍🦯",
"woman_with_probing_cane_tone5": "👩🏿‍🦯",
"woman_with_probing_cane_dark_skin_tone": "👩🏿‍🦯",
"man_with_probing_cane": "👨‍🦯",
"man_with_probing_cane_tone1": "👨🏻‍🦯",
"man_with_probing_cane_light_skin_tone": "👨🏻‍🦯",
"man_with_probing_cane_tone3": "👨🏽‍🦯",
"man_with_probing_cane_medium_skin_tone": "👨🏽‍🦯",
"man_with_probing_cane_tone2": "👨🏼‍🦯",
"man_with_probing_cane_medium_light_skin_tone": "👨🏼‍🦯",
"man_with_probing_cane_tone4": "👨🏾‍🦯",
"man_with_probing_cane_medium_dark_skin_tone": "👨🏾‍🦯",
"man_with_probing_cane_tone5": "👨🏿‍🦯",
"man_with_probing_cane_dark_skin_tone": "👨🏿‍🦯",
"person_kneeling": "🧎",
"person_kneeling_tone1": "🧎🏻",
"person_kneeling_light_skin_tone": "🧎🏻",
"person_kneeling_tone2": "🧎🏼",
"person_kneeling_medium_light_skin_tone": "🧎🏼",
"person_kneeling_tone3": "🧎🏽",
"person_kneeling_medium_skin_tone": "🧎🏽",
"person_kneeling_tone4": "🧎🏾",
"person_kneeling_medium_dark_skin_tone": "🧎🏾",
"person_kneeling_tone5": "🧎🏿",
"person_kneeling_dark_skin_tone": "🧎🏿",
"woman_kneeling": "🧎‍♀️",
"woman_kneeling_tone1": "🧎🏻‍♀️",
"woman_kneeling_light_skin_tone": "🧎🏻‍♀️",
"woman_kneeling_tone2": "🧎🏼‍♀️",
"woman_kneeling_medium_light_skin_tone": "🧎🏼‍♀️",
"woman_kneeling_tone3": "🧎🏽‍♀️",
"woman_kneeling_medium_skin_tone": "🧎🏽‍♀️",
"woman_kneeling_tone4": "🧎🏾‍♀️",
"woman_kneeling_medium_dark_skin_tone": "🧎🏾‍♀️",
"woman_kneeling_tone5": "🧎🏿‍♀️",
"woman_kneeling_dark_skin_tone": "🧎🏿‍♀️",
"man_kneeling": "🧎‍♂️",
"man_kneeling_tone1": "🧎🏻‍♂️",
"man_kneeling_light_skin_tone": "🧎🏻‍♂️",
"man_kneeling_tone2": "🧎🏼‍♂️",
"man_kneeling_medium_light_skin_tone": "🧎🏼‍♂️",
"man_kneeling_tone3": "🧎🏽‍♂️",
"man_kneeling_medium_skin_tone": "🧎🏽‍♂️",
"man_kneeling_tone4": "🧎🏾‍♂️",
"man_kneeling_medium_dark_skin_tone": "🧎🏾‍♂️",
"man_kneeling_tone5": "🧎🏿‍♂️",
"man_kneeling_dark_skin_tone": "🧎🏿‍♂️",
"person_running": "🏃",
"runner": "🏃",
"person_running_tone1": "🏃🏻",
"runner_tone1": "🏃🏻",
"person_running_tone2": "🏃🏼",
"runner_tone2": "🏃🏼",
"person_running_tone3": "🏃🏽",
"runner_tone3": "🏃🏽",
"person_running_tone4": "🏃🏾",
"runner_tone4": "🏃🏾",
"person_running_tone5": "🏃🏿",
"runner_tone5": "🏃🏿",
"woman_running": "🏃‍♀️",
"woman_running_tone1": "🏃🏻‍♀️",
"woman_running_light_skin_tone": "🏃🏻‍♀️",
"woman_running_tone2": "🏃🏼‍♀️",
"woman_running_medium_light_skin_tone": "🏃🏼‍♀️",
"woman_running_tone3": "🏃🏽‍♀️",
"woman_running_medium_skin_tone": "🏃🏽‍♀️",
"woman_running_tone4": "🏃🏾‍♀️",
"woman_running_medium_dark_skin_tone": "🏃🏾‍♀️",
"woman_running_tone5": "🏃🏿‍♀️",
"woman_running_dark_skin_tone": "🏃🏿‍♀️",
"man_running": "🏃‍♂️",
"man_running_tone1": "🏃🏻‍♂️",
"man_running_light_skin_tone": "🏃🏻‍♂️",
"man_running_tone2": "🏃🏼‍♂️",
"man_running_medium_light_skin_tone": "🏃🏼‍♂️",
"man_running_tone3": "🏃🏽‍♂️",
"man_running_medium_skin_tone": "🏃🏽‍♂️",
"man_running_tone4": "🏃🏾‍♂️",
"man_running_medium_dark_skin_tone": "🏃🏾‍♂️",
"man_running_tone5": "🏃🏿‍♂️",
"man_running_dark_skin_tone": "🏃🏿‍♂️",
"person_standing": "🧍",
"person_standing_tone1": "🧍🏻",
"person_standing_light_skin_tone": "🧍🏻",
"person_standing_tone2": "🧍🏼",
"person_standing_medium_light_skin_tone": "🧍🏼",
"person_standing_tone3": "🧍🏽",
"person_standing_medium_skin_tone": "🧍🏽",
"person_standing_tone4": "🧍🏾",
"person_standing_medium_dark_skin_tone": "🧍🏾",
"person_standing_tone5": "🧍🏿",
"person_standing_dark_skin_tone": "🧍🏿",
"woman_standing": "🧍‍♀️",
"woman_standing_tone1": "🧍🏻‍♀️",
"woman_standing_light_skin_tone": "🧍🏻‍♀️",
"woman_standing_tone2": "🧍🏼‍♀️",
"woman_standing_medium_light_skin_tone": "🧍🏼‍♀️",
"woman_standing_tone3": "🧍🏽‍♀️",
"woman_standing_medium_skin_tone": "🧍🏽‍♀️",
"woman_standing_tone4": "🧍🏾‍♀️",
"woman_standing_medium_dark_skin_tone": "🧍🏾‍♀️",
"woman_standing_tone5": "🧍🏿‍♀️",
"woman_standing_dark_skin_tone": "🧍🏿‍♀️",
"man_standing": "🧍‍♂️",
"man_standing_tone1": "🧍🏻‍♂️",
"man_standing_light_skin_tone": "🧍🏻‍♂️",
"man_standing_tone2": "🧍🏼‍♂️",
"man_standing_medium_light_skin_tone": "🧍🏼‍♂️",
"man_standing_tone3": "🧍🏽‍♂️",
"man_standing_medium_skin_tone": "🧍🏽‍♂️",
"man_standing_tone4": "🧍🏾‍♂️",
"man_standing_medium_dark_skin_tone": "🧍🏾‍♂️",
"man_standing_tone5": "🧍🏿‍♂️",
"man_standing_dark_skin_tone": "🧍🏿‍♂️",
"people_holding_hands": "🧑‍🤝‍🧑",
"people_holding_hands_tone1": "🧑🏻‍🤝‍🧑🏻",
"people_holding_hands_light_skin_tone": "🧑🏻‍🤝‍🧑🏻",
"people_holding_hands_tone1_tone2": "🧑🏻‍🤝‍🧑🏼",
"people_holding_hands_light_skin_tone_medium_light_skin_tone": "🧑🏻‍🤝‍🧑🏼",
"people_holding_hands_tone1_tone3": "🧑🏻‍🤝‍🧑🏽",
"people_holding_hands_light_skin_tone_medium_skin_tone": "🧑🏻‍🤝‍🧑🏽",
"people_holding_hands_tone1_tone4": "🧑🏻‍🤝‍🧑🏾",
"people_holding_hands_light_skin_tone_medium_dark_skin_tone": "🧑🏻‍🤝‍🧑🏾",
"people_holding_hands_tone1_tone5": "🧑🏻‍🤝‍🧑🏿",
"people_holding_hands_light_skin_tone_dark_skin_tone": "🧑🏻‍🤝‍🧑🏿",
"people_holding_hands_tone2_tone1": "🧑🏼‍🤝‍🧑🏻",
"people_holding_hands_medium_light_skin_tone_light_skin_tone": "🧑🏼‍🤝‍🧑🏻",
"people_holding_hands_tone2": "🧑🏼‍🤝‍🧑🏼",
"people_holding_hands_medium_light_skin_tone": "🧑🏼‍🤝‍🧑🏼",
"people_holding_hands_tone2_tone3": "🧑🏼‍🤝‍🧑🏽",
"people_holding_hands_medium_light_skin_tone_medium_skin_tone": "🧑🏼‍🤝‍🧑🏽",
"people_holding_hands_tone2_tone4": "🧑🏼‍🤝‍🧑🏾",
"people_holding_hands_medium_light_skin_tone_medium_dark_skin_tone": "🧑🏼‍🤝‍🧑🏾",
"people_holding_hands_tone2_tone5": "🧑🏼‍🤝‍🧑🏿",
"people_holding_hands_medium_light_skin_tone_dark_skin_tone": "🧑🏼‍🤝‍🧑🏿",
"people_holding_hands_tone3_tone1": "🧑🏽‍🤝‍🧑🏻",
"people_holding_hands_medium_skin_tone_light_skin_tone": "🧑🏽‍🤝‍🧑🏻",
"people_holding_hands_tone3_tone2": "🧑🏽‍🤝‍🧑🏼",
"people_holding_hands_medium_skin_tone_medium_light_skin_tone": "🧑🏽‍🤝‍🧑🏼",
"people_holding_hands_tone3": "🧑🏽‍🤝‍🧑🏽",
"people_holding_hands_medium_skin_tone": "🧑🏽‍🤝‍🧑🏽",
"people_holding_hands_tone3_tone4": "🧑🏽‍🤝‍🧑🏾",
"people_holding_hands_medium_skin_tone_medium_dark_skin_tone": "🧑🏽‍🤝‍🧑🏾",
"people_holding_hands_tone3_tone5": "🧑🏽‍🤝‍🧑🏿",
"people_holding_hands_medium_skin_tone_dark_skin_tone": "🧑🏽‍🤝‍🧑🏿",
"people_holding_hands_tone4_tone1": "🧑🏾‍🤝‍🧑🏻",
"people_holding_hands_medium_dark_skin_tone_light_skin_tone": "🧑🏾‍🤝‍🧑🏻",
"people_holding_hands_tone4_tone2": "🧑🏾‍🤝‍🧑🏼",
"people_holding_hands_medium_dark_skin_tone_medium_light_skin_tone": "🧑🏾‍🤝‍🧑🏼",
"people_holding_hands_tone4_tone3": "🧑🏾‍🤝‍🧑🏽",
"people_holding_hands_medium_dark_skin_tone_medium_skin_tone": "🧑🏾‍🤝‍🧑🏽",
"people_holding_hands_tone4": "🧑🏾‍🤝‍🧑🏾",
"people_holding_hands_medium_dark_skin_tone": "🧑🏾‍🤝‍🧑🏾",
"people_holding_hands_tone4_tone5": "🧑🏾‍🤝‍🧑🏿",
"people_holding_hands_medium_dark_skin_tone_dark_skin_tone": "🧑🏾‍🤝‍🧑🏿",
"people_holding_hands_tone5_tone1": "🧑🏿‍🤝‍🧑🏻",
"people_holding_hands_dark_skin_tone_light_skin_tone": "🧑🏿‍🤝‍🧑🏻",
"people_holding_hands_tone5_tone2": "🧑🏿‍🤝‍🧑🏼",
"people_holding_hands_dark_skin_tone_medium_light_skin_tone": "🧑🏿‍🤝‍🧑🏼",
"people_holding_hands_tone5_tone3": "🧑🏿‍🤝‍🧑🏽",
"people_holding_hands_dark_skin_tone_medium_skin_tone": "🧑🏿‍🤝‍🧑🏽",
"people_holding_hands_tone5_tone4": "🧑🏿‍🤝‍🧑🏾",
"people_holding_hands_dark_skin_tone_medium_dark_skin_tone": "🧑🏿‍🤝‍🧑🏾",
"people_holding_hands_tone5": "🧑🏿‍🤝‍🧑🏿",
"people_holding_hands_dark_skin_tone": "🧑🏿‍🤝‍🧑🏿",
"couple": "👫",
"woman_and_man_holding_hands_tone1": "👫🏻",
"woman_and_man_holding_hands_light_skin_tone": "👫🏻",
"woman_and_man_holding_hands_tone1_tone2": "👩🏻‍🤝‍👨🏼",
"woman_and_man_holding_hands_light_skin_tone_medium_light_skin_tone": "👩🏻‍🤝‍👨🏼",
"woman_and_man_holding_hands_tone1_tone3": "👩🏻‍🤝‍👨🏽",
"woman_and_man_holding_hands_light_skin_tone_medium_skin_tone": "👩🏻‍🤝‍👨🏽",
"woman_and_man_holding_hands_tone1_tone4": "👩🏻‍🤝‍👨🏾",
"woman_and_man_holding_hands_light_skin_tone_medium_dark_skin_tone": "👩🏻‍🤝‍👨🏾",
"woman_and_man_holding_hands_tone1_tone5": "👩🏻‍🤝‍👨🏿",
"woman_and_man_holding_hands_light_skin_tone_dark_skin_tone": "👩🏻‍🤝‍👨🏿",
"woman_and_man_holding_hands_tone2_tone1": "👩🏼‍🤝‍👨🏻",
"woman_and_man_holding_hands_medium_light_skin_tone_light_skin_tone": "👩🏼‍🤝‍👨🏻",
"woman_and_man_holding_hands_tone2": "👫🏼",
"woman_and_man_holding_hands_medium_light_skin_tone": "👫🏼",
"woman_and_man_holding_hands_tone2_tone3": "👩🏼‍🤝‍👨🏽",
"woman_and_man_holding_hands_medium_light_skin_tone_medium_skin_tone": "👩🏼‍🤝‍👨🏽",
"woman_and_man_holding_hands_tone2_tone4": "👩🏼‍🤝‍👨🏾",
"woman_and_man_holding_hands_medium_light_skin_tone_medium_dark_skin_tone": "👩🏼‍🤝‍👨🏾",
"woman_and_man_holding_hands_tone2_tone5": "👩🏼‍🤝‍👨🏿",
"woman_and_man_holding_hands_medium_light_skin_tone_dark_skin_tone": "👩🏼‍🤝‍👨🏿",
"woman_and_man_holding_hands_tone3_tone1": "👩🏽‍🤝‍👨🏻",
"woman_and_man_holding_hands_medium_skin_tone_light_skin_tone": "👩🏽‍🤝‍👨🏻",
"woman_and_man_holding_hands_tone3_tone2": "👩🏽‍🤝‍👨🏼",
"woman_and_man_holding_hands_medium_skin_tone_medium_light_skin_tone": "👩🏽‍🤝‍👨🏼",
"woman_and_man_holding_hands_tone3": "👫🏽",
"woman_and_man_holding_hands_medium_skin_tone": "👫🏽",
"woman_and_man_holding_hands_tone3_tone4": "👩🏽‍🤝‍👨🏾",
"woman_and_man_holding_hands_medium_skin_tone_medium_dark_skin_tone": "👩🏽‍🤝‍👨🏾",
"woman_and_man_holding_hands_tone3_tone5": "👩🏽‍🤝‍👨🏿",
"woman_and_man_holding_hands_medium_skin_tone_dark_skin_tone": "👩🏽‍🤝‍👨🏿",
"woman_and_man_holding_hands_tone4_tone1": "👩🏾‍🤝‍👨🏻",
"woman_and_man_holding_hands_medium_dark_skin_tone_light_skin_tone": "👩🏾‍🤝‍👨🏻",
"woman_and_man_holding_hands_tone4_tone2": "👩🏾‍🤝‍👨🏼",
"woman_and_man_holding_hands_medium_dark_skin_tone_medium_light_skin_tone": "👩🏾‍🤝‍👨🏼",
"woman_and_man_holding_hands_tone4_tone3": "👩🏾‍🤝‍👨🏽",
"woman_and_man_holding_hands_medium_dark_skin_tone_medium_skin_tone": "👩🏾‍🤝‍👨🏽",
"woman_and_man_holding_hands_tone4": "👫🏾",
"woman_and_man_holding_hands_medium_dark_skin_tone": "👫🏾",
"woman_and_man_holding_hands_tone4_tone5": "👩🏾‍🤝‍👨🏿",
"woman_and_man_holding_hands_medium_dark_skin_tone_dark_skin_tone": "👩🏾‍🤝‍👨🏿",
"woman_and_man_holding_hands_tone5_tone1": "👩🏿‍🤝‍👨🏻",
"woman_and_man_holding_hands_dark_skin_tone_light_skin_tone": "👩🏿‍🤝‍👨🏻",
"woman_and_man_holding_hands_tone5_tone2": "👩🏿‍🤝‍👨🏼",
"woman_and_man_holding_hands_dark_skin_tone_medium_light_skin_tone": "👩🏿‍🤝‍👨🏼",
"woman_and_man_holding_hands_tone5_tone3": "👩🏿‍🤝‍👨🏽",
"woman_and_man_holding_hands_dark_skin_tone_medium_skin_tone": "👩🏿‍🤝‍👨🏽",
"woman_and_man_holding_hands_tone5_tone4": "👩🏿‍🤝‍👨🏾",
"woman_and_man_holding_hands_dark_skin_tone_medium_dark_skin_tone": "👩🏿‍🤝‍👨🏾",
"woman_and_man_holding_hands_tone5": "👫🏿",
"woman_and_man_holding_hands_dark_skin_tone": "👫🏿",
"two_women_holding_hands": "👭",
"women_holding_hands_tone1": "👭🏻",
"women_holding_hands_light_skin_tone": "👭🏻",
"women_holding_hands_tone1_tone2": "👩🏻‍🤝‍👩🏼",
"women_holding_hands_light_skin_tone_medium_light_skin_tone": "👩🏻‍🤝‍👩🏼",
"women_holding_hands_tone1_tone3": "👩🏻‍🤝‍👩🏽",
"women_holding_hands_light_skin_tone_medium_skin_tone": "👩🏻‍🤝‍👩🏽",
"women_holding_hands_tone1_tone4": "👩🏻‍🤝‍👩🏾",
"women_holding_hands_light_skin_tone_medium_dark_skin_tone": "👩🏻‍🤝‍👩🏾",
"women_holding_hands_tone1_tone5": "👩🏻‍🤝‍👩🏿",
"women_holding_hands_light_skin_tone_dark_skin_tone": "👩🏻‍🤝‍👩🏿",
"women_holding_hands_tone2_tone1": "👩🏼‍🤝‍👩🏻",
"women_holding_hands_medium_light_skin_tone_light_skin_tone": "👩🏼‍🤝‍👩🏻",
"women_holding_hands_tone2": "👭🏼",
"women_holding_hands_medium_light_skin_tone": "👭🏼",
"women_holding_hands_tone2_tone3": "👩🏼‍🤝‍👩🏽",
"women_holding_hands_medium_light_skin_tone_medium_skin_tone": "👩🏼‍🤝‍👩🏽",
"women_holding_hands_tone2_tone4": "👩🏼‍🤝‍👩🏾",
"women_holding_hands_medium_light_skin_tone_medium_dark_skin_tone": "👩🏼‍🤝‍👩🏾",
"women_holding_hands_tone2_tone5": "👩🏼‍🤝‍👩🏿",
"women_holding_hands_medium_light_skin_tone_dark_skin_tone": "👩🏼‍🤝‍👩🏿",
"women_holding_hands_tone3_tone1": "👩🏽‍🤝‍👩🏻",
"women_holding_hands_medium_skin_tone_light_skin_tone": "👩🏽‍🤝‍👩🏻",
"women_holding_hands_tone3_tone2": "👩🏽‍🤝‍👩🏼",
"women_holding_hands_medium_skin_tone_medium_light_skin_tone": "👩🏽‍🤝‍👩🏼",
"women_holding_hands_tone3": "👭🏽",
"women_holding_hands_medium_skin_tone": "👭🏽",
"women_holding_hands_tone3_tone4": "👩🏽‍🤝‍👩🏾",
"women_holding_hands_medium_skin_tone_medium_dark_skin_tone": "👩🏽‍🤝‍👩🏾",
"women_holding_hands_tone3_tone5": "👩🏽‍🤝‍👩🏿",
"women_holding_hands_medium_skin_tone_dark_skin_tone": "👩🏽‍🤝‍👩🏿",
"women_holding_hands_tone4_tone1": "👩🏾‍🤝‍👩🏻",
"women_holding_hands_medium_dark_skin_tone_light_skin_tone": "👩🏾‍🤝‍👩🏻",
"women_holding_hands_tone4_tone2": "👩🏾‍🤝‍👩🏼",
"women_holding_hands_medium_dark_skin_tone_medium_light_skin_tone": "👩🏾‍🤝‍👩🏼",
"women_holding_hands_tone4_tone3": "👩🏾‍🤝‍👩🏽",
"women_holding_hands_medium_dark_skin_tone_medium_skin_tone": "👩🏾‍🤝‍👩🏽",
"women_holding_hands_tone4": "👭🏾",
"women_holding_hands_medium_dark_skin_tone": "👭🏾",
"women_holding_hands_tone4_tone5": "👩🏾‍🤝‍👩🏿",
"women_holding_hands_medium_dark_skin_tone_dark_skin_tone": "👩🏾‍🤝‍👩🏿",
"women_holding_hands_tone5_tone1": "👩🏿‍🤝‍👩🏻",
"women_holding_hands_dark_skin_tone_light_skin_tone": "👩🏿‍🤝‍👩🏻",
"women_holding_hands_tone5_tone2": "👩🏿‍🤝‍👩🏼",
"women_holding_hands_dark_skin_tone_medium_light_skin_tone": "👩🏿‍🤝‍👩🏼",
"women_holding_hands_tone5_tone3": "👩🏿‍🤝‍👩🏽",
"women_holding_hands_dark_skin_tone_medium_skin_tone": "👩🏿‍🤝‍👩🏽",
"women_holding_hands_tone5_tone4": "👩🏿‍🤝‍👩🏾",
"women_holding_hands_dark_skin_tone_medium_dark_skin_tone": "👩🏿‍🤝‍👩🏾",
"women_holding_hands_tone5": "👭🏿",
"women_holding_hands_dark_skin_tone": "👭🏿",
"two_men_holding_hands": "👬",
"men_holding_hands_tone1": "👬🏻",
"men_holding_hands_light_skin_tone": "👬🏻",
"men_holding_hands_tone1_tone2": "👨🏻‍🤝‍👨🏼",
"men_holding_hands_light_skin_tone_medium_light_skin_tone": "👨🏻‍🤝‍👨🏼",
"men_holding_hands_tone1_tone3": "👨🏻‍🤝‍👨🏽",
"men_holding_hands_light_skin_tone_medium_skin_tone": "👨🏻‍🤝‍👨🏽",
"men_holding_hands_tone1_tone4": "👨🏻‍🤝‍👨🏾",
"men_holding_hands_light_skin_tone_medium_dark_skin_tone": "👨🏻‍🤝‍👨🏾",
"men_holding_hands_tone1_tone5": "👨🏻‍🤝‍👨🏿",
"men_holding_hands_light_skin_tone_dark_skin_tone": "👨🏻‍🤝‍👨🏿",
"men_holding_hands_tone2_tone1": "👨🏼‍🤝‍👨🏻",
"men_holding_hands_medium_light_skin_tone_light_skin_tone": "👨🏼‍🤝‍👨🏻",
"men_holding_hands_tone2": "👬🏼",
"men_holding_hands_medium_light_skin_tone": "👬🏼",
"men_holding_hands_tone2_tone3": "👨🏼‍🤝‍👨🏽",
"men_holding_hands_medium_light_skin_tone_medium_skin_tone": "👨🏼‍🤝‍👨🏽",
"men_holding_hands_tone2_tone4": "👨🏼‍🤝‍👨🏾",
"men_holding_hands_medium_light_skin_tone_medium_dark_skin_tone": "👨🏼‍🤝‍👨🏾",
"men_holding_hands_tone2_tone5": "👨🏼‍🤝‍👨🏿",
"men_holding_hands_medium_light_skin_tone_dark_skin_tone": "👨🏼‍🤝‍👨🏿",
"men_holding_hands_tone3_tone1": "👨🏽‍🤝‍👨🏻",
"men_holding_hands_medium_skin_tone_light_skin_tone": "👨🏽‍🤝‍👨🏻",
"men_holding_hands_tone3_tone2": "👨🏽‍🤝‍👨🏼",
"men_holding_hands_medium_skin_tone_medium_light_skin_tone": "👨🏽‍🤝‍👨🏼",
"men_holding_hands_tone3": "👬🏽",
"men_holding_hands_medium_skin_tone": "👬🏽",
"men_holding_hands_tone3_tone4": "👨🏽‍🤝‍👨🏾",
"men_holding_hands_medium_skin_tone_medium_dark_skin_tone": "👨🏽‍🤝‍👨🏾",
"men_holding_hands_tone3_tone5": "👨🏽‍🤝‍👨🏿",
"men_holding_hands_medium_skin_tone_dark_skin_tone": "👨🏽‍🤝‍👨🏿",
"men_holding_hands_tone4_tone1": "👨🏾‍🤝‍👨🏻",
"men_holding_hands_medium_dark_skin_tone_light_skin_tone": "👨🏾‍🤝‍👨🏻",
"men_holding_hands_tone4_tone2": "👨🏾‍🤝‍👨🏼",
"men_holding_hands_medium_dark_skin_tone_medium_light_skin_tone": "👨🏾‍🤝‍👨🏼",
"men_holding_hands_tone4_tone3": "👨🏾‍🤝‍👨🏽",
"men_holding_hands_medium_dark_skin_tone_medium_skin_tone": "👨🏾‍🤝‍👨🏽",
"men_holding_hands_tone4": "👬🏾",
"men_holding_hands_medium_dark_skin_tone": "👬🏾",
"men_holding_hands_tone4_tone5": "👨🏾‍🤝‍👨🏿",
"men_holding_hands_medium_dark_skin_tone_dark_skin_tone": "👨🏾‍🤝‍👨🏿",
"men_holding_hands_tone5_tone1": "👨🏿‍🤝‍👨🏻",
"men_holding_hands_dark_skin_tone_light_skin_tone": "👨🏿‍🤝‍👨🏻",
"men_holding_hands_tone5_tone2": "👨🏿‍🤝‍👨🏼",
"men_holding_hands_dark_skin_tone_medium_light_skin_tone": "👨🏿‍🤝‍👨🏼",
"men_holding_hands_tone5_tone3": "👨🏿‍🤝‍👨🏽",
"men_holding_hands_dark_skin_tone_medium_skin_tone": "👨🏿‍🤝‍👨🏽",
"men_holding_hands_tone5_tone4": "👨🏿‍🤝‍👨🏾",
"men_holding_hands_dark_skin_tone_medium_dark_skin_tone": "👨🏿‍🤝‍👨🏾",
"men_holding_hands_tone5": "👬🏿",
"men_holding_hands_dark_skin_tone": "👬🏿",
"couple_with_heart": "💑",
"couple_with_heart_woman_man": "👩‍❤️‍👨",
"couple_ww": "👩‍❤️‍👩",
"couple_with_heart_ww": "👩‍❤️‍👩",
"couple_mm": "👨‍❤️‍👨",
"couple_with_heart_mm": "👨‍❤️‍👨",
"couplekiss": "💏",
"kiss_woman_man": "👩‍❤️‍💋‍👨",
"kiss_ww": "👩‍❤️‍💋‍👩",
"couplekiss_ww": "👩‍❤️‍💋‍👩",
"kiss_mm": "👨‍❤️‍💋‍👨",
"couplekiss_mm": "👨‍❤️‍💋‍👨",
"family": "👪",
"family_man_woman_boy": "👨‍👩‍👦",
"family_mwg": "👨‍👩‍👧",
"family_mwgb": "👨‍👩‍👧‍👦",
"family_mwbb": "👨‍👩‍👦‍👦",
"family_mwgg": "👨‍👩‍👧‍👧",
"family_wwb": "👩‍👩‍👦",
"family_wwg": "👩‍👩‍👧",
"family_wwgb": "👩‍👩‍👧‍👦",
"family_wwbb": "👩‍👩‍👦‍👦",
"family_wwgg": "👩‍👩‍👧‍👧",
"family_mmb": "👨‍👨‍👦",
"family_mmg": "👨‍👨‍👧",
"family_mmgb": "👨‍👨‍👧‍👦",
"family_mmbb": "👨‍👨‍👦‍👦",
"family_mmgg": "👨‍👨‍👧‍👧",
"family_woman_boy": "👩‍👦",
"family_woman_girl": "👩‍👧",
"family_woman_girl_boy": "👩‍👧‍👦",
"family_woman_boy_boy": "👩‍👦‍👦",
"family_woman_girl_girl": "👩‍👧‍👧",
"family_man_boy": "👨‍👦",
"family_man_girl": "👨‍👧",
"family_man_girl_boy": "👨‍👧‍👦",
"family_man_boy_boy": "👨‍👦‍👦",
"family_man_girl_girl": "👨‍👧‍👧",
"yarn": "🧶",
"thread": "🧵",
"coat": "🧥",
"lab_coat": "🥼",
"safety_vest": "🦺",
"womans_clothes": "👚",
"shirt": "👕",
"jeans": "👖",
"briefs": "🩲",
"shorts": "🩳",
"necktie": "👔",
"dress": "👗",
"bikini": "👙",
"one_piece_swimsuit": "🩱",
"kimono": "👘",
"sari": "🥻",
"womans_flat_shoe": "🥿",
"high_heel": "👠",
"sandal": "👡",
"boot": "👢",
"mans_shoe": "👞",
"athletic_shoe": "👟",
"hiking_boot": "🥾",
"thong_sandal": "🩴",
"socks": "🧦",
"gloves": "🧤",
"scarf": "🧣",
"tophat": "🎩",
"billed_cap": "🧢",
"womans_hat": "👒",
"mortar_board": "🎓",
"helmet_with_cross": "⛑️",
"helmet_with_white_cross": "⛑️",
"military_helmet": "🪖",
"crown": "👑",
"ring": "💍",
"pouch": "👝",
"purse": "👛",
"handbag": "👜",
"briefcase": "💼",
"school_satchel": "🎒",
"luggage": "🧳",
"eyeglasses": "👓",
"dark_sunglasses": "🕶️",
"goggles": "🥽",
"closed_umbrella": "🌂",
"dog": "🐶",
"cat": "🐱",
"mouse": "🐭",
"hamster": "🐹",
"rabbit": "🐰",
"fox": "🦊",
"fox_face": "🦊",
"bear": "🐻",
"panda_face": "🐼",
"polar_bear": "🐻‍❄️",
"koala": "🐨",
"tiger": "🐯",
"lion_face": "🦁",
"lion": "🦁",
"cow": "🐮",
"pig": "🐷",
"pig_nose": "🐽",
"frog": "🐸",
"monkey_face": "🐵",
"see_no_evil": "🙈",
"hear_no_evil": "🙉",
"speak_no_evil": "🙊",
"monkey": "🐒",
"chicken": "🐔",
"penguin": "🐧",
"bird": "🐦",
"baby_chick": "🐤",
"hatching_chick": "🐣",
"hatched_chick": "🐥",
"duck": "🦆",
"dodo": "🦤",
"eagle": "🦅",
"owl": "🦉",
"bat": "🦇",
"wolf": "🐺",
"boar": "🐗",
"horse": "🐴",
"unicorn": "🦄",
"unicorn_face": "🦄",
"bee": "🐝",
"bug": "🐛",
"butterfly": "🦋",
"snail": "🐌",
"worm": "🪱",
"lady_beetle": "🐞",
"ant": "🐜",
"fly": "🪰",
"mosquito": "🦟",
"cockroach": "🪳",
"beetle": "🪲",
"cricket": "🦗",
"spider": "🕷️",
"spider_web": "🕸️",
"scorpion": "🦂",
"turtle": "🐢",
"snake": "🐍",
"lizard": "🦎",
"t_rex": "🦖",
"sauropod": "🦕",
"octopus": "🐙",
"squid": "🦑",
"shrimp": "🦐",
"lobster": "🦞",
"crab": "🦀",
"blowfish": "🐡",
"tropical_fish": "🐠",
"fish": "🐟",
"seal": "🦭",
"dolphin": "🐬",
"whale": "🐳",
"whale2": "🐋",
"shark": "🦈",
"crocodile": "🐊",
"tiger2": "🐅",
"leopard": "🐆",
"zebra": "🦓",
"gorilla": "🦍",
"orangutan": "🦧",
"elephant": "🐘",
"mammoth": "🦣",
"bison": "🦬",
"hippopotamus": "🦛",
"rhino": "🦏",
"rhinoceros": "🦏",
"dromedary_camel": "🐪",
"camel": "🐫",
"giraffe": "🦒",
"kangaroo": "🦘",
"water_buffalo": "🐃",
"ox": "🐂",
"cow2": "🐄",
"racehorse": "🐎",
"pig2": "🐖",
"ram": "🐏",
"sheep": "🐑",
"llama": "🦙",
"goat": "🐐",
"deer": "🦌",
"dog2": "🐕",
"poodle": "🐩",
"guide_dog": "🦮",
"service_dog": "🐕‍🦺",
"cat2": "🐈",
"black_cat": "🐈‍⬛",
"rooster": "🐓",
"turkey": "🦃",
"peacock": "🦚",
"parrot": "🦜",
"swan": "🦢",
"flamingo": "🦩",
"dove": "🕊️",
"dove_of_peace": "🕊️",
"rabbit2": "🐇",
"raccoon": "🦝",
"skunk": "🦨",
"badger": "🦡",
"beaver": "🦫",
"otter": "🦦",
"sloth": "🦥",
"mouse2": "🐁",
"rat": "🐀",
"chipmunk": "🐿️",
"hedgehog": "🦔",
"feet": "🐾",
"paw_prints": "🐾",
"dragon": "🐉",
"dragon_face": "🐲",
"cactus": "🌵",
"christmas_tree": "🎄",
"evergreen_tree": "🌲",
"deciduous_tree": "🌳",
"palm_tree": "🌴",
"seedling": "🌱",
"herb": "🌿",
"shamrock": "☘️",
"four_leaf_clover": "🍀",
"bamboo": "🎍",
"tanabata_tree": "🎋",
"leaves": "🍃",
"fallen_leaf": "🍂",
"maple_leaf": "🍁",
"feather": "🪶",
"mushroom": "🍄",
"shell": "🐚",
"rock": "🪨",
"wood": "🪵",
"ear_of_rice": "🌾",
"potted_plant": "🪴",
"bouquet": "💐",
"tulip": "🌷",
"rose": "🌹",
"wilted_rose": "🥀",
"wilted_flower": "🥀",
"wink": "😉",
"unamused": "😒",
"sweat_smile": "😅",
"sweat": "😓",
"sunglasses": "😎",
"stuck_out_tongue": "😛",
"sob": "😭",
"smiling_imp": "😈",
"slight_smile": "🙂",
"pensive": "😔",
"angry": "😠",
"blush": "😊",
"confused": "😕",
"cry": "😢",
"frowning": "😦",
"frowning2": "☹️",
"imp": "👿",
"innocent": "😇",
"joy": "😂",
"kissing": "😗",
"laughing": "😆",
"neutral_face": "😐",
"open_mouth": "😮",
"rage": "😡",
"smile": "😄",
"stuck_out_tongue_winking_eye": "😜",
"hibiscus": "🌺",
"cherry_blossom": "🌸",
"blossom": "🌼",
"sunflower": "🌻",
"sun_with_face": "🌞",
"full_moon_with_face": "🌝",
"first_quarter_moon_with_face": "🌛",
"last_quarter_moon_with_face": "🌜",
"new_moon_with_face": "🌚",
"full_moon": "🌕",
"waning_gibbous_moon": "🌖",
"last_quarter_moon": "🌗",
"waning_crescent_moon": "🌘",
"new_moon": "🌑",
"waxing_crescent_moon": "🌒",
"first_quarter_moon": "🌓",
"waxing_gibbous_moon": "🌔",
"crescent_moon": "🌙",
"earth_americas": "🌎",
"earth_africa": "🌍",
"earth_asia": "🌏",
"ringed_planet": "🪐",
"dizzy": "💫",
"star": "⭐",
"star2": "🌟",
"sparkles": "✨",
"zap": "⚡",
"comet": "☄️",
"boom": "💥",
"fire": "🔥",
"flame": "🔥",
"cloud_tornado": "🌪️",
"cloud_with_tornado": "🌪️",
"rainbow": "🌈",
"sunny": "☀️",
"white_sun_small_cloud": "🌤️",
"white_sun_with_small_cloud": "🌤️",
"partly_sunny": "⛅",
"white_sun_cloud": "🌥️",
"white_sun_behind_cloud": "🌥️",
"cloud": "☁️",
"white_sun_rain_cloud": "🌦️",
"white_sun_behind_cloud_with_rain": "🌦️",
"cloud_rain": "🌧️",
"cloud_with_rain": "🌧️",
"thunder_cloud_rain": "⛈️",
"thunder_cloud_and_rain": "⛈️",
"cloud_lightning": "🌩️",
"cloud_with_lightning": "🌩️",
"cloud_snow": "🌨️",
"cloud_with_snow": "🌨️",
"snowflake": "❄️",
"snowman2": "☃️",
"snowman": "⛄",
"wind_blowing_face": "🌬️",
"dash": "💨",
"droplet": "💧",
"sweat_drops": "💦",
"umbrella": "☔",
"umbrella2": "☂️",
"ocean": "🌊",
"fog": "🌫️",
"green_apple": "🍏",
"apple": "🍎",
"pear": "🍐",
"tangerine": "🍊",
"lemon": "🍋",
"banana": "🍌",
"watermelon": "🍉",
"grapes": "🍇",
"blueberries": "🫐",
"strawberry": "🍓",
"melon": "🍈",
"cherries": "🍒",
"peach": "🍑",
"mango": "🥭",
"pineapple": "🍍",
"coconut": "🥥",
"kiwi": "🥝",
"kiwifruit": "🥝",
"tomato": "🍅",
"eggplant": "🍆",
"avocado": "🥑",
"olive": "🫒",
"broccoli": "🥦",
"leafy_green": "🥬",
"bell_pepper": "🫑",
"cucumber": "🥒",
"hot_pepper": "🌶️",
"corn": "🌽",
"carrot": "🥕",
"garlic": "🧄",
"onion": "🧅",
"potato": "🥔",
"sweet_potato": "🍠",
"croissant": "🥐",
"bagel": "🥯",
"bread": "🍞",
"french_bread": "🥖",
"baguette_bread": "🥖",
"flatbread": "🫓",
"pretzel": "🥨",
"cheese": "🧀",
"cheese_wedge": "🧀",
"egg": "🥚",
"cooking": "🍳",
"butter": "🧈",
"pancakes": "🥞",
"waffle": "🧇",
"bacon": "🥓",
"cut_of_meat": "🥩",
"poultry_leg": "🍗",
"meat_on_bone": "🍖",
"hotdog": "🌭",
"hot_dog": "🌭",
"hamburger": "🍔",
"fries": "🍟",
"pizza": "🍕",
"sandwich": "🥪",
"stuffed_flatbread": "🥙",
"stuffed_pita": "🥙",
"falafel": "🧆",
"taco": "🌮",
"burrito": "🌯",
"tamale": "🫔",
"salad": "🥗",
"green_salad": "🥗",
"shallow_pan_of_food": "🥘",
"paella": "🥘",
"fondue": "🫕",
"canned_food": "🥫",
"spaghetti": "🍝",
"ramen": "🍜",
"stew": "🍲",
"curry": "🍛",
"sushi": "🍣",
"bento": "🍱",
"dumpling": "🥟",
"oyster": "🦪",
"fried_shrimp": "🍤",
"rice_ball": "🍙",
"rice": "🍚",
"rice_cracker": "🍘",
"fish_cake": "🍥",
"fortune_cookie": "🥠",
"moon_cake": "🥮",
"oden": "🍢",
"dango": "🍡",
"shaved_ice": "🍧",
"ice_cream": "🍨",
"icecream": "🍦",
"pie": "🥧",
"cupcake": "🧁",
"cake": "🍰",
"birthday": "🎂",
"custard": "🍮",
"pudding": "🍮",
"flan": "🍮",
"lollipop": "🍭",
"candy": "🍬",
"chocolate_bar": "🍫",
"popcorn": "🍿",
"doughnut": "🍩",
"cookie": "🍪",
"chestnut": "🌰",
"peanuts": "🥜",
"shelled_peanut": "🥜",
"honey_pot": "🍯",
"milk": "🥛",
"glass_of_milk": "🥛",
"baby_bottle": "🍼",
"coffee": "☕",
"tea": "🍵",
"teapot": "🫖",
"mate": "🧉",
"bubble_tea": "🧋",
"beverage_box": "🧃",
"cup_with_straw": "🥤",
"sake": "🍶",
"beer": "🍺",
"beers": "🍻",
"champagne_glass": "🥂",
"clinking_glass": "🥂",
"wine_glass": "🍷",
"tumbler_glass": "🥃",
"whisky": "🥃",
"cocktail": "🍸",
"tropical_drink": "🍹",
"champagne": "🍾",
"bottle_with_popping_cork": "🍾",
"ice_cube": "🧊",
"spoon": "🥄",
"fork_and_knife": "🍴",
"fork_knife_plate": "🍽️",
"fork_and_knife_with_plate": "🍽️",
"bowl_with_spoon": "🥣",
"takeout_box": "🥡",
"chopsticks": "🥢",
"salt": "🧂",
"soccer": "⚽",
"basketball": "🏀",
"football": "🏈",
"baseball": "⚾",
"softball": "🥎",
"tennis": "🎾",
"volleyball": "🏐",
"rugby_football": "🏉",
"flying_disc": "🥏",
"boomerang": "🪃",
"8ball": "🎱",
"yo_yo": "🪀",
"ping_pong": "🏓",
"table_tennis": "🏓",
"badminton": "🏸",
"hockey": "🏒",
"field_hockey": "🏑",
"lacrosse": "🥍",
"cricket_game": "🏏",
"cricket_bat_ball": "🏏",
"goal": "🥅",
"goal_net": "🥅",
"golf": "⛳",
"kite": "🪁",
"bow_and_arrow": "🏹",
"archery": "🏹",
"fishing_pole_and_fish": "🎣",
"diving_mask": "🤿",
"boxing_glove": "🥊",
"boxing_gloves": "🥊",
"martial_arts_uniform": "🥋",
"karate_uniform": "🥋",
"running_shirt_with_sash": "🎽",
"skateboard": "🛹",
"roller_skate": "🛼",
"sled": "🛷",
"ice_skate": "⛸️",
"curling_stone": "🥌",
"ski": "🎿",
"skier": "⛷️",
"snowboarder": "🏂",
"snowboarder_tone1": "🏂🏻",
"snowboarder_light_skin_tone": "🏂🏻",
"snowboarder_tone2": "🏂🏼",
"snowboarder_medium_light_skin_tone": "🏂🏼",
"snowboarder_tone3": "🏂🏽",
"snowboarder_medium_skin_tone": "🏂🏽",
"snowboarder_tone4": "🏂🏾",
"snowboarder_medium_dark_skin_tone": "🏂🏾",
"snowboarder_tone5": "🏂🏿",
"snowboarder_dark_skin_tone": "🏂🏿",
"parachute": "🪂",
"person_lifting_weights": "🏋️",
"lifter": "🏋️",
"weight_lifter": "🏋️",
"person_lifting_weights_tone1": "🏋🏻",
"lifter_tone1": "🏋🏻",
"weight_lifter_tone1": "🏋🏻",
"person_lifting_weights_tone2": "🏋🏼",
"lifter_tone2": "🏋🏼",
"weight_lifter_tone2": "🏋🏼",
"person_lifting_weights_tone3": "🏋🏽",
"lifter_tone3": "🏋🏽",
"weight_lifter_tone3": "🏋🏽",
"person_lifting_weights_tone4": "🏋🏾",
"lifter_tone4": "🏋🏾",
"weight_lifter_tone4": "🏋🏾",
"person_lifting_weights_tone5": "🏋🏿",
"lifter_tone5": "🏋🏿",
"weight_lifter_tone5": "🏋🏿",
"woman_lifting_weights": "🏋️‍♀️",
"woman_lifting_weights_tone1": "🏋🏻‍♀️",
"woman_lifting_weights_light_skin_tone": "🏋🏻‍♀️",
"woman_lifting_weights_tone2": "🏋🏼‍♀️",
"woman_lifting_weights_medium_light_skin_tone": "🏋🏼‍♀️",
"woman_lifting_weights_tone3": "🏋🏽‍♀️",
"woman_lifting_weights_medium_skin_tone": "🏋🏽‍♀️",
"woman_lifting_weights_tone4": "🏋🏾‍♀️",
"woman_lifting_weights_medium_dark_skin_tone": "🏋🏾‍♀️",
"woman_lifting_weights_tone5": "🏋🏿‍♀️",
"woman_lifting_weights_dark_skin_tone": "🏋🏿‍♀️",
"man_lifting_weights": "🏋️‍♂️",
"man_lifting_weights_tone1": "🏋🏻‍♂️",
"man_lifting_weights_light_skin_tone": "🏋🏻‍♂️",
"man_lifting_weights_tone2": "🏋🏼‍♂️",
"man_lifting_weights_medium_light_skin_tone": "🏋🏼‍♂️",
"man_lifting_weights_tone3": "🏋🏽‍♂️",
"man_lifting_weights_medium_skin_tone": "🏋🏽‍♂️",
"man_lifting_weights_tone4": "🏋🏾‍♂️",
"man_lifting_weights_medium_dark_skin_tone": "🏋🏾‍♂️",
"man_lifting_weights_tone5": "🏋🏿‍♂️",
"man_lifting_weights_dark_skin_tone": "🏋🏿‍♂️",
"people_wrestling": "🤼",
"wrestlers": "🤼",
"wrestling": "🤼",
"women_wrestling": "🤼‍♀️",
"men_wrestling": "🤼‍♂️",
"person_doing_cartwheel": "🤸",
"cartwheel": "🤸",
"person_doing_cartwheel_tone1": "🤸🏻",
"cartwheel_tone1": "🤸🏻",
"person_doing_cartwheel_tone2": "🤸🏼",
"cartwheel_tone2": "🤸🏼",
"person_doing_cartwheel_tone3": "🤸🏽",
"cartwheel_tone3": "🤸🏽",
"person_doing_cartwheel_tone4": "🤸🏾",
"cartwheel_tone4": "🤸🏾",
"person_doing_cartwheel_tone5": "🤸🏿",
"cartwheel_tone5": "🤸🏿",
"woman_cartwheeling": "🤸‍♀️",
"woman_cartwheeling_tone1": "🤸🏻‍♀️",
"woman_cartwheeling_light_skin_tone": "🤸🏻‍♀️",
"woman_cartwheeling_tone2": "🤸🏼‍♀️",
"woman_cartwheeling_medium_light_skin_tone": "🤸🏼‍♀️",
"woman_cartwheeling_tone3": "🤸🏽‍♀️",
"woman_cartwheeling_medium_skin_tone": "🤸🏽‍♀️",
"woman_cartwheeling_tone4": "🤸🏾‍♀️",
"woman_cartwheeling_medium_dark_skin_tone": "🤸🏾‍♀️",
"woman_cartwheeling_tone5": "🤸🏿‍♀️",
"woman_cartwheeling_dark_skin_tone": "🤸🏿‍♀️",
"man_cartwheeling": "🤸‍♂️",
"man_cartwheeling_tone1": "🤸🏻‍♂️",
"man_cartwheeling_light_skin_tone": "🤸🏻‍♂️",
"man_cartwheeling_tone2": "🤸🏼‍♂️",
"man_cartwheeling_medium_light_skin_tone": "🤸🏼‍♂️",
"man_cartwheeling_tone3": "🤸🏽‍♂️",
"man_cartwheeling_medium_skin_tone": "🤸🏽‍♂️",
"man_cartwheeling_tone4": "🤸🏾‍♂️",
"man_cartwheeling_medium_dark_skin_tone": "🤸🏾‍♂️",
"man_cartwheeling_tone5": "🤸🏿‍♂️",
"man_cartwheeling_dark_skin_tone": "🤸🏿‍♂️",
"person_bouncing_ball": "⛹️",
"basketball_player": "⛹️",
"person_with_ball": "⛹️",
"person_bouncing_ball_tone1": "⛹🏻",
"basketball_player_tone1": "⛹🏻",
"person_with_ball_tone1": "⛹🏻",
"person_bouncing_ball_tone2": "⛹🏼",
"basketball_player_tone2": "⛹🏼",
"person_with_ball_tone2": "⛹🏼",
"person_bouncing_ball_tone3": "⛹🏽",
"basketball_player_tone3": "⛹🏽",
"person_with_ball_tone3": "⛹🏽",
"person_bouncing_ball_tone4": "⛹🏾",
"basketball_player_tone4": "⛹🏾",
"person_with_ball_tone4": "⛹🏾",
"person_bouncing_ball_tone5": "⛹🏿",
"basketball_player_tone5": "⛹🏿",
"person_with_ball_tone5": "⛹🏿",
"woman_bouncing_ball": "⛹️‍♀️",
"woman_bouncing_ball_tone1": "⛹🏻‍♀️",
"woman_bouncing_ball_light_skin_tone": "⛹🏻‍♀️",
"woman_bouncing_ball_tone2": "⛹🏼‍♀️",
"woman_bouncing_ball_medium_light_skin_tone": "⛹🏼‍♀️",
"woman_bouncing_ball_tone3": "⛹🏽‍♀️",
"woman_bouncing_ball_medium_skin_tone": "⛹🏽‍♀️",
"woman_bouncing_ball_tone4": "⛹🏾‍♀️",
"woman_bouncing_ball_medium_dark_skin_tone": "⛹🏾‍♀️",
"woman_bouncing_ball_tone5": "⛹🏿‍♀️",
"woman_bouncing_ball_dark_skin_tone": "⛹🏿‍♀️",
"man_bouncing_ball": "⛹️‍♂️",
"man_bouncing_ball_tone1": "⛹🏻‍♂️",
"man_bouncing_ball_light_skin_tone": "⛹🏻‍♂️",
"man_bouncing_ball_tone2": "⛹🏼‍♂️",
"man_bouncing_ball_medium_light_skin_tone": "⛹🏼‍♂️",
"man_bouncing_ball_tone3": "⛹🏽‍♂️",
"man_bouncing_ball_medium_skin_tone": "⛹🏽‍♂️",
"man_bouncing_ball_tone4": "⛹🏾‍♂️",
"man_bouncing_ball_medium_dark_skin_tone": "⛹🏾‍♂️",
"man_bouncing_ball_tone5": "⛹🏿‍♂️",
"man_bouncing_ball_dark_skin_tone": "⛹🏿‍♂️",
"person_fencing": "🤺",
"fencer": "🤺",
"fencing": "🤺",
"person_playing_handball": "🤾",
"handball": "🤾",
"person_playing_handball_tone1": "🤾🏻",
"handball_tone1": "🤾🏻",
"person_playing_handball_tone2": "🤾🏼",
"handball_tone2": "🤾🏼",
"person_playing_handball_tone3": "🤾🏽",
"handball_tone3": "🤾🏽",
"person_playing_handball_tone4": "🤾🏾",
"handball_tone4": "🤾🏾",
"person_playing_handball_tone5": "🤾🏿",
"handball_tone5": "🤾🏿",
"woman_playing_handball": "🤾‍♀️",
"woman_playing_handball_tone1": "🤾🏻‍♀️",
"woman_playing_handball_light_skin_tone": "🤾🏻‍♀️",
"woman_playing_handball_tone2": "🤾🏼‍♀️",
"woman_playing_handball_medium_light_skin_tone": "🤾🏼‍♀️",
"woman_playing_handball_tone3": "🤾🏽‍♀️",
"woman_playing_handball_medium_skin_tone": "🤾🏽‍♀️",
"woman_playing_handball_tone4": "🤾🏾‍♀️",
"woman_playing_handball_medium_dark_skin_tone": "🤾🏾‍♀️",
"woman_playing_handball_tone5": "🤾🏿‍♀️",
"woman_playing_handball_dark_skin_tone": "🤾🏿‍♀️",
"man_playing_handball": "🤾‍♂️",
"man_playing_handball_tone1": "🤾🏻‍♂️",
"man_playing_handball_light_skin_tone": "🤾🏻‍♂️",
"man_playing_handball_tone2": "🤾🏼‍♂️",
"man_playing_handball_medium_light_skin_tone": "🤾🏼‍♂️",
"man_playing_handball_tone3": "🤾🏽‍♂️",
"man_playing_handball_medium_skin_tone": "🤾🏽‍♂️",
"man_playing_handball_tone4": "🤾🏾‍♂️",
"man_playing_handball_medium_dark_skin_tone": "🤾🏾‍♂️",
"man_playing_handball_tone5": "🤾🏿‍♂️",
"man_playing_handball_dark_skin_tone": "🤾🏿‍♂️",
"person_golfing": "🏌️",
"golfer": "🏌️",
"person_golfing_tone1": "🏌🏻",
"person_golfing_light_skin_tone": "🏌🏻",
"person_golfing_tone2": "🏌🏼",
"person_golfing_medium_light_skin_tone": "🏌🏼",
"person_golfing_tone3": "🏌🏽",
"person_golfing_medium_skin_tone": "🏌🏽",
"person_golfing_tone4": "🏌🏾",
"person_golfing_medium_dark_skin_tone": "🏌🏾",
"person_golfing_tone5": "🏌🏿",
"person_golfing_dark_skin_tone": "🏌🏿",
"woman_golfing": "🏌️‍♀️",
"woman_golfing_tone1": "🏌🏻‍♀️",
"woman_golfing_light_skin_tone": "🏌🏻‍♀️",
"woman_golfing_tone2": "🏌🏼‍♀️",
"woman_golfing_medium_light_skin_tone": "🏌🏼‍♀️",
"woman_golfing_tone3": "🏌🏽‍♀️",
"woman_golfing_medium_skin_tone": "🏌🏽‍♀️",
"woman_golfing_tone4": "🏌🏾‍♀️",
"woman_golfing_medium_dark_skin_tone": "🏌🏾‍♀️",
"woman_golfing_tone5": "🏌🏿‍♀️",
"woman_golfing_dark_skin_tone": "🏌🏿‍♀️",
"man_golfing": "🏌️‍♂️",
"man_golfing_tone1": "🏌🏻‍♂️",
"man_golfing_light_skin_tone": "🏌🏻‍♂️",
"man_golfing_tone2": "🏌🏼‍♂️",
"man_golfing_medium_light_skin_tone": "🏌🏼‍♂️",
"man_golfing_tone3": "🏌🏽‍♂️",
"man_golfing_medium_skin_tone": "🏌🏽‍♂️",
"man_golfing_tone4": "🏌🏾‍♂️",
"man_golfing_medium_dark_skin_tone": "🏌🏾‍♂️",
"man_golfing_tone5": "🏌🏿‍♂️",
"man_golfing_dark_skin_tone": "🏌🏿‍♂️",
"horse_racing": "🏇",
"horse_racing_tone1": "🏇🏻",
"horse_racing_tone2": "🏇🏼",
"horse_racing_tone3": "🏇🏽",
"horse_racing_tone4": "🏇🏾",
"horse_racing_tone5": "🏇🏿",
"person_in_lotus_position": "🧘",
"person_in_lotus_position_tone1": "🧘🏻",
"person_in_lotus_position_light_skin_tone": "🧘🏻",
"person_in_lotus_position_tone2": "🧘🏼",
"person_in_lotus_position_medium_light_skin_tone": "🧘🏼",
"person_in_lotus_position_tone3": "🧘🏽",
"person_in_lotus_position_medium_skin_tone": "🧘🏽",
"person_in_lotus_position_tone4": "🧘🏾",
"person_in_lotus_position_medium_dark_skin_tone": "🧘🏾",
"person_in_lotus_position_tone5": "🧘🏿",
"person_in_lotus_position_dark_skin_tone": "🧘🏿",
"woman_in_lotus_position": "🧘‍♀️",
"woman_in_lotus_position_tone1": "🧘🏻‍♀️",
"woman_in_lotus_position_light_skin_tone": "🧘🏻‍♀️",
"woman_in_lotus_position_tone2": "🧘🏼‍♀️",
"woman_in_lotus_position_medium_light_skin_tone": "🧘🏼‍♀️",
"woman_in_lotus_position_tone3": "🧘🏽‍♀️",
"woman_in_lotus_position_medium_skin_tone": "🧘🏽‍♀️",
"woman_in_lotus_position_tone4": "🧘🏾‍♀️",
"woman_in_lotus_position_medium_dark_skin_tone": "🧘🏾‍♀️",
"woman_in_lotus_position_tone5": "🧘🏿‍♀️",
"woman_in_lotus_position_dark_skin_tone": "🧘🏿‍♀️",
"man_in_lotus_position": "🧘‍♂️",
"man_in_lotus_position_tone1": "🧘🏻‍♂️",
"man_in_lotus_position_light_skin_tone": "🧘🏻‍♂️",
"man_in_lotus_position_tone2": "🧘🏼‍♂️",
"man_in_lotus_position_medium_light_skin_tone": "🧘🏼‍♂️",
"man_in_lotus_position_tone3": "🧘🏽‍♂️",
"man_in_lotus_position_medium_skin_tone": "🧘🏽‍♂️",
"man_in_lotus_position_tone4": "🧘🏾‍♂️",
"man_in_lotus_position_medium_dark_skin_tone": "🧘🏾‍♂️",
"man_in_lotus_position_tone5": "🧘🏿‍♂️",
"man_in_lotus_position_dark_skin_tone": "🧘🏿‍♂️",
"person_surfing": "🏄",
"surfer": "🏄",
"person_surfing_tone1": "🏄🏻",
"surfer_tone1": "🏄🏻",
"person_surfing_tone2": "🏄🏼",
"surfer_tone2": "🏄🏼",
"person_surfing_tone3": "🏄🏽",
"surfer_tone3": "🏄🏽",
"person_surfing_tone4": "🏄🏾",
"surfer_tone4": "🏄🏾",
"person_surfing_tone5": "🏄🏿",
"surfer_tone5": "🏄🏿",
"woman_surfing": "🏄‍♀️",
"woman_surfing_tone1": "🏄🏻‍♀️",
"woman_surfing_light_skin_tone": "🏄🏻‍♀️",
"woman_surfing_tone2": "🏄🏼‍♀️",
"woman_surfing_medium_light_skin_tone": "🏄🏼‍♀️",
"woman_surfing_tone3": "🏄🏽‍♀️",
"woman_surfing_medium_skin_tone": "🏄🏽‍♀️",
"woman_surfing_tone4": "🏄🏾‍♀️",
"woman_surfing_medium_dark_skin_tone": "🏄🏾‍♀️",
"woman_surfing_tone5": "🏄🏿‍♀️",
"woman_surfing_dark_skin_tone": "🏄🏿‍♀️",
"man_surfing": "🏄‍♂️",
"man_surfing_tone1": "🏄🏻‍♂️",
"man_surfing_light_skin_tone": "🏄🏻‍♂️",
"man_surfing_tone2": "🏄🏼‍♂️",
"man_surfing_medium_light_skin_tone": "🏄🏼‍♂️",
"man_surfing_tone3": "🏄🏽‍♂️",
"man_surfing_medium_skin_tone": "🏄🏽‍♂️",
"man_surfing_tone4": "🏄🏾‍♂️",
"man_surfing_medium_dark_skin_tone": "🏄🏾‍♂️",
"man_surfing_tone5": "🏄🏿‍♂️",
"man_surfing_dark_skin_tone": "🏄🏿‍♂️",
"person_swimming": "🏊",
"swimmer": "🏊",
"person_swimming_tone1": "🏊🏻",
"swimmer_tone1": "🏊🏻",
"person_swimming_tone2": "🏊🏼",
"swimmer_tone2": "🏊🏼",
"person_swimming_tone3": "🏊🏽",
"swimmer_tone3": "🏊🏽",
"person_swimming_tone4": "🏊🏾",
"swimmer_tone4": "🏊🏾",
"person_swimming_tone5": "🏊🏿",
"swimmer_tone5": "🏊🏿",
"woman_swimming": "🏊‍♀️",
"woman_swimming_tone1": "🏊🏻‍♀️",
"woman_swimming_light_skin_tone": "🏊🏻‍♀️",
"woman_swimming_tone2": "🏊🏼‍♀️",
"woman_swimming_medium_light_skin_tone": "🏊🏼‍♀️",
"woman_swimming_tone3": "🏊🏽‍♀️",
"woman_swimming_medium_skin_tone": "🏊🏽‍♀️",
"woman_swimming_tone4": "🏊🏾‍♀️",
"woman_swimming_medium_dark_skin_tone": "🏊🏾‍♀️",
"woman_swimming_tone5": "🏊🏿‍♀️",
"woman_swimming_dark_skin_tone": "🏊🏿‍♀️",
"man_swimming": "🏊‍♂️",
"man_swimming_tone1": "🏊🏻‍♂️",
"man_swimming_light_skin_tone": "🏊🏻‍♂️",
"man_swimming_tone2": "🏊🏼‍♂️",
"man_swimming_medium_light_skin_tone": "🏊🏼‍♂️",
"man_swimming_tone3": "🏊🏽‍♂️",
"man_swimming_medium_skin_tone": "🏊🏽‍♂️",
"man_swimming_tone4": "🏊🏾‍♂️",
"man_swimming_medium_dark_skin_tone": "🏊🏾‍♂️",
"man_swimming_tone5": "🏊🏿‍♂️",
"man_swimming_dark_skin_tone": "🏊🏿‍♂️",
"person_playing_water_polo": "🤽",
"water_polo": "🤽",
"person_playing_water_polo_tone1": "🤽🏻",
"water_polo_tone1": "🤽🏻",
"person_playing_water_polo_tone2": "🤽🏼",
"water_polo_tone2": "🤽🏼",
"person_playing_water_polo_tone3": "🤽🏽",
"water_polo_tone3": "🤽🏽",
"person_playing_water_polo_tone4": "🤽🏾",
"water_polo_tone4": "🤽🏾",
"person_playing_water_polo_tone5": "🤽🏿",
"water_polo_tone5": "🤽🏿",
"woman_playing_water_polo": "🤽‍♀️",
"woman_playing_water_polo_tone1": "🤽🏻‍♀️",
"woman_playing_water_polo_light_skin_tone": "🤽🏻‍♀️",
"woman_playing_water_polo_tone2": "🤽🏼‍♀️",
"woman_playing_water_polo_medium_light_skin_tone": "🤽🏼‍♀️",
"woman_playing_water_polo_tone3": "🤽🏽‍♀️",
"woman_playing_water_polo_medium_skin_tone": "🤽🏽‍♀️",
"woman_playing_water_polo_tone4": "🤽🏾‍♀️",
"woman_playing_water_polo_medium_dark_skin_tone": "🤽🏾‍♀️",
"woman_playing_water_polo_tone5": "🤽🏿‍♀️",
"woman_playing_water_polo_dark_skin_tone": "🤽🏿‍♀️",
"man_playing_water_polo": "🤽‍♂️",
"man_playing_water_polo_tone1": "🤽🏻‍♂️",
"man_playing_water_polo_light_skin_tone": "🤽🏻‍♂️",
"man_playing_water_polo_tone2": "🤽🏼‍♂️",
"man_playing_water_polo_medium_light_skin_tone": "🤽🏼‍♂️",
"man_playing_water_polo_tone3": "🤽🏽‍♂️",
"man_playing_water_polo_medium_skin_tone": "🤽🏽‍♂️",
"man_playing_water_polo_tone4": "🤽🏾‍♂️",
"man_playing_water_polo_medium_dark_skin_tone": "🤽🏾‍♂️",
"man_playing_water_polo_tone5": "🤽🏿‍♂️",
"man_playing_water_polo_dark_skin_tone": "🤽🏿‍♂️",
"person_rowing_boat": "🚣",
"rowboat": "🚣",
"person_rowing_boat_tone1": "🚣🏻",
"rowboat_tone1": "🚣🏻",
"person_rowing_boat_tone2": "🚣🏼",
"rowboat_tone2": "🚣🏼",
"person_rowing_boat_tone3": "🚣🏽",
"rowboat_tone3": "🚣🏽",
"person_rowing_boat_tone4": "🚣🏾",
"rowboat_tone4": "🚣🏾",
"person_rowing_boat_tone5": "🚣🏿",
"rowboat_tone5": "🚣🏿",
"woman_rowing_boat": "🚣‍♀️",
"woman_rowing_boat_tone1": "🚣🏻‍♀️",
"woman_rowing_boat_light_skin_tone": "🚣🏻‍♀️",
"woman_rowing_boat_tone2": "🚣🏼‍♀️",
"woman_rowing_boat_medium_light_skin_tone": "🚣🏼‍♀️",
"woman_rowing_boat_tone3": "🚣🏽‍♀️",
"woman_rowing_boat_medium_skin_tone": "🚣🏽‍♀️",
"woman_rowing_boat_tone4": "🚣🏾‍♀️",
"woman_rowing_boat_medium_dark_skin_tone": "🚣🏾‍♀️",
"woman_rowing_boat_tone5": "🚣🏿‍♀️",
"woman_rowing_boat_dark_skin_tone": "🚣🏿‍♀️",
"man_rowing_boat": "🚣‍♂️",
"man_rowing_boat_tone1": "🚣🏻‍♂️",
"man_rowing_boat_light_skin_tone": "🚣🏻‍♂️",
"man_rowing_boat_tone2": "🚣🏼‍♂️",
"man_rowing_boat_medium_light_skin_tone": "🚣🏼‍♂️",
"man_rowing_boat_tone3": "🚣🏽‍♂️",
"man_rowing_boat_medium_skin_tone": "🚣🏽‍♂️",
"man_rowing_boat_tone4": "🚣🏾‍♂️",
"man_rowing_boat_medium_dark_skin_tone": "🚣🏾‍♂️",
"man_rowing_boat_tone5": "🚣🏿‍♂️",
"man_rowing_boat_dark_skin_tone": "🚣🏿‍♂️",
"person_climbing": "🧗",
"person_climbing_tone1": "🧗🏻",
"person_climbing_light_skin_tone": "🧗🏻",
"person_climbing_tone2": "🧗🏼",
"person_climbing_medium_light_skin_tone": "🧗🏼",
"person_climbing_tone3": "🧗🏽",
"person_climbing_medium_skin_tone": "🧗🏽",
"person_climbing_tone4": "🧗🏾",
"person_climbing_medium_dark_skin_tone": "🧗🏾",
"person_climbing_tone5": "🧗🏿",
"person_climbing_dark_skin_tone": "🧗🏿",
"woman_climbing": "🧗‍♀️",
"woman_climbing_tone1": "🧗🏻‍♀️",
"woman_climbing_light_skin_tone": "🧗🏻‍♀️",
"woman_climbing_tone2": "🧗🏼‍♀️",
"woman_climbing_medium_light_skin_tone": "🧗🏼‍♀️",
"woman_climbing_tone3": "🧗🏽‍♀️",
"woman_climbing_medium_skin_tone": "🧗🏽‍♀️",
"woman_climbing_tone4": "🧗🏾‍♀️",
"woman_climbing_medium_dark_skin_tone": "🧗🏾‍♀️",
"woman_climbing_tone5": "🧗🏿‍♀️",
"woman_climbing_dark_skin_tone": "🧗🏿‍♀️",
"man_climbing": "🧗‍♂️",
"man_climbing_tone1": "🧗🏻‍♂️",
"man_climbing_light_skin_tone": "🧗🏻‍♂️",
"man_climbing_tone2": "🧗🏼‍♂️",
"man_climbing_medium_light_skin_tone": "🧗🏼‍♂️",
"man_climbing_tone3": "🧗🏽‍♂️",
"man_climbing_medium_skin_tone": "🧗🏽‍♂️",
"man_climbing_tone4": "🧗🏾‍♂️",
"man_climbing_medium_dark_skin_tone": "🧗🏾‍♂️",
"man_climbing_tone5": "🧗🏿‍♂️",
"man_climbing_dark_skin_tone": "🧗🏿‍♂️",
"person_mountain_biking": "🚵",
"mountain_bicyclist": "🚵",
"person_mountain_biking_tone1": "🚵🏻",
"mountain_bicyclist_tone1": "🚵🏻",
"person_mountain_biking_tone2": "🚵🏼",
"mountain_bicyclist_tone2": "🚵🏼",
"person_mountain_biking_tone3": "🚵🏽",
"mountain_bicyclist_tone3": "🚵🏽",
"person_mountain_biking_tone4": "🚵🏾",
"mountain_bicyclist_tone4": "🚵🏾",
"person_mountain_biking_tone5": "🚵🏿",
"mountain_bicyclist_tone5": "🚵🏿",
"woman_mountain_biking": "🚵‍♀️",
"woman_mountain_biking_tone1": "🚵🏻‍♀️",
"woman_mountain_biking_light_skin_tone": "🚵🏻‍♀️",
"woman_mountain_biking_tone2": "🚵🏼‍♀️",
"woman_mountain_biking_medium_light_skin_tone": "🚵🏼‍♀️",
"woman_mountain_biking_tone3": "🚵🏽‍♀️",
"woman_mountain_biking_medium_skin_tone": "🚵🏽‍♀️",
"woman_mountain_biking_tone4": "🚵🏾‍♀️",
"woman_mountain_biking_medium_dark_skin_tone": "🚵🏾‍♀️",
"woman_mountain_biking_tone5": "🚵🏿‍♀️",
"woman_mountain_biking_dark_skin_tone": "🚵🏿‍♀️",
"man_mountain_biking": "🚵‍♂️",
"man_mountain_biking_tone1": "🚵🏻‍♂️",
"man_mountain_biking_light_skin_tone": "🚵🏻‍♂️",
"man_mountain_biking_tone2": "🚵🏼‍♂️",
"man_mountain_biking_medium_light_skin_tone": "🚵🏼‍♂️",
"man_mountain_biking_tone3": "🚵🏽‍♂️",
"man_mountain_biking_medium_skin_tone": "🚵🏽‍♂️",
"man_mountain_biking_tone4": "🚵🏾‍♂️",
"man_mountain_biking_medium_dark_skin_tone": "🚵🏾‍♂️",
"man_mountain_biking_tone5": "🚵🏿‍♂️",
"man_mountain_biking_dark_skin_tone": "🚵🏿‍♂️",
"person_biking": "🚴",
"bicyclist": "🚴",
"person_biking_tone1": "🚴🏻",
"bicyclist_tone1": "🚴🏻",
"person_biking_tone2": "🚴🏼",
"bicyclist_tone2": "🚴🏼",
"person_biking_tone3": "🚴🏽",
"bicyclist_tone3": "🚴🏽",
"person_biking_tone4": "🚴🏾",
"bicyclist_tone4": "🚴🏾",
"person_biking_tone5": "🚴🏿",
"bicyclist_tone5": "🚴🏿",
"woman_biking": "🚴‍♀️",
"woman_biking_tone1": "🚴🏻‍♀️",
"woman_biking_light_skin_tone": "🚴🏻‍♀️",
"woman_biking_tone2": "🚴🏼‍♀️",
"woman_biking_medium_light_skin_tone": "🚴🏼‍♀️",
"woman_biking_tone3": "🚴🏽‍♀️",
"woman_biking_medium_skin_tone": "🚴🏽‍♀️",
"woman_biking_tone4": "🚴🏾‍♀️",
"woman_biking_medium_dark_skin_tone": "🚴🏾‍♀️",
"woman_biking_tone5": "🚴🏿‍♀️",
"woman_biking_dark_skin_tone": "🚴🏿‍♀️",
"man_biking": "🚴‍♂️",
"man_biking_tone1": "🚴🏻‍♂️",
"man_biking_light_skin_tone": "🚴🏻‍♂️",
"man_biking_tone2": "🚴🏼‍♂️",
"man_biking_medium_light_skin_tone": "🚴🏼‍♂️",
"man_biking_tone3": "🚴🏽‍♂️",
"man_biking_medium_skin_tone": "🚴🏽‍♂️",
"man_biking_tone4": "🚴🏾‍♂️",
"man_biking_medium_dark_skin_tone": "🚴🏾‍♂️",
"man_biking_tone5": "🚴🏿‍♂️",
"man_biking_dark_skin_tone": "🚴🏿‍♂️",
"trophy": "🏆",
"first_place": "🥇",
"first_place_medal": "🥇",
"second_place": "🥈",
"second_place_medal": "🥈",
"third_place": "🥉",
"third_place_medal": "🥉",
"medal": "🏅",
"sports_medal": "🏅",
"military_medal": "🎖️",
"rosette": "🏵️",
"reminder_ribbon": "🎗️",
"ticket": "🎫",
"tickets": "🎟️",
"admission_tickets": "🎟️",
"circus_tent": "🎪",
"person_juggling": "🤹",
"juggling": "🤹",
"juggler": "🤹",
"person_juggling_tone1": "🤹🏻",
"juggling_tone1": "🤹🏻",
"juggler_tone1": "🤹🏻",
"person_juggling_tone2": "🤹🏼",
"juggling_tone2": "🤹🏼",
"juggler_tone2": "🤹🏼",
"person_juggling_tone3": "🤹🏽",
"juggling_tone3": "🤹🏽",
"juggler_tone3": "🤹🏽",
"person_juggling_tone4": "🤹🏾",
"juggling_tone4": "🤹🏾",
"juggler_tone4": "🤹🏾",
"person_juggling_tone5": "🤹🏿",
"juggling_tone5": "🤹🏿",
"juggler_tone5": "🤹🏿",
"woman_juggling": "🤹‍♀️",
"woman_juggling_tone1": "🤹🏻‍♀️",
"woman_juggling_light_skin_tone": "🤹🏻‍♀️",
"woman_juggling_tone2": "🤹🏼‍♀️",
"woman_juggling_medium_light_skin_tone": "🤹🏼‍♀️",
"woman_juggling_tone3": "🤹🏽‍♀️",
"woman_juggling_medium_skin_tone": "🤹🏽‍♀️",
"woman_juggling_tone4": "🤹🏾‍♀️",
"woman_juggling_medium_dark_skin_tone": "🤹🏾‍♀️",
"woman_juggling_tone5": "🤹🏿‍♀️",
"woman_juggling_dark_skin_tone": "🤹🏿‍♀️",
"man_juggling": "🤹‍♂️",
"man_juggling_tone1": "🤹🏻‍♂️",
"man_juggling_light_skin_tone": "🤹🏻‍♂️",
"man_juggling_tone2": "🤹🏼‍♂️",
"man_juggling_medium_light_skin_tone": "🤹🏼‍♂️",
"man_juggling_tone3": "🤹🏽‍♂️",
"man_juggling_medium_skin_tone": "🤹🏽‍♂️",
"man_juggling_tone4": "🤹🏾‍♂️",
"man_juggling_medium_dark_skin_tone": "🤹🏾‍♂️",
"man_juggling_tone5": "🤹🏿‍♂️",
"man_juggling_dark_skin_tone": "🤹🏿‍♂️",
"performing_arts": "🎭",
"ballet_shoes": "🩰",
"art": "🎨",
"clapper": "🎬",
"microphone": "🎤",
"headphones": "🎧",
"musical_score": "🎼",
"musical_keyboard": "🎹",
"drum": "🥁",
"drum_with_drumsticks": "🥁",
"long_drum": "🪘",
"saxophone": "🎷",
"trumpet": "🎺",
"guitar": "🎸",
"banjo": "🪕",
"violin": "🎻",
"accordion": "🪗",
"game_die": "🎲",
"chess_pawn": "♟️",
"dart": "🎯",
"bowling": "🎳",
"video_game": "🎮",
"slot_machine": "🎰",
"jigsaw": "🧩",
"red_car": "🚗",
"taxi": "🚕",
"blue_car": "🚙",
"pickup_truck": "🛻",
"bus": "🚌",
"trolleybus": "🚎",
"race_car": "🏎️",
"racing_car": "🏎️",
"police_car": "🚓",
"ambulance": "🚑",
"fire_engine": "🚒",
"minibus": "🚐",
"truck": "🚚",
"articulated_lorry": "🚛",
"tractor": "🚜",
"probing_cane": "🦯",
"manual_wheelchair": "🦽",
"motorized_wheelchair": "🦼",
"scooter": "🛴",
"bike": "🚲",
"motor_scooter": "🛵",
"motorbike": "🛵",
"motorcycle": "🏍️",
"racing_motorcycle": "🏍️",
"auto_rickshaw": "🛺",
"rotating_light": "🚨",
"oncoming_police_car": "🚔",
"oncoming_bus": "🚍",
"oncoming_automobile": "🚘",
"oncoming_taxi": "🚖",
"aerial_tramway": "🚡",
"mountain_cableway": "🚠",
"suspension_railway": "🚟",
"railway_car": "🚃",
"train": "🚋",
"mountain_railway": "🚞",
"monorail": "🚝",
"bullettrain_side": "🚄",
"bullettrain_front": "🚅",
"light_rail": "🚈",
"steam_locomotive": "🚂",
"train2": "🚆",
"metro": "🚇",
"tram": "🚊",
"station": "🚉",
"airplane": "✈️",
"airplane_departure": "🛫",
"airplane_arriving": "🛬",
"airplane_small": "🛩️",
"small_airplane": "🛩️",
"seat": "💺",
"satellite_orbital": "🛰️",
"rocket": "🚀",
"flying_saucer": "🛸",
"helicopter": "🚁",
"canoe": "🛶",
"kayak": "🛶",
"sailboat": "⛵",
"speedboat": "🚤",
"motorboat": "🛥️",
"cruise_ship": "🛳️",
"passenger_ship": "🛳️",
"ferry": "⛴️",
"ship": "🚢",
"anchor": "⚓",
"fuelpump": "⛽",
"construction": "🚧",
"vertical_traffic_light": "🚦",
"traffic_light": "🚥",
"busstop": "🚏",
"map": "🗺️",
"world_map": "🗺️",
"moyai": "🗿",
"statue_of_liberty": "🗽",
"tokyo_tower": "🗼",
"european_castle": "🏰",
"japanese_castle": "🏯",
"stadium": "🏟️",
"ferris_wheel": "🎡",
"roller_coaster": "🎢",
"carousel_horse": "🎠",
"fountain": "⛲",
"beach_umbrella": "⛱️",
"umbrella_on_ground": "⛱️",
"beach": "🏖️",
"beach_with_umbrella": "🏖️",
"island": "🏝️",
"desert_island": "🏝️",
"desert": "🏜️",
"volcano": "🌋",
"mountain": "⛰️",
"mountain_snow": "🏔️",
"snow_capped_mountain": "🏔️",
"mount_fuji": "🗻",
"camping": "🏕️",
"tent": "⛺",
"house": "🏠",
"house_with_garden": "🏡",
"homes": "🏘️",
"house_buildings": "🏘️",
"house_abandoned": "🏚️",
"derelict_house_building": "🏚️",
"hut": "🛖",
"construction_site": "🏗️",
"building_construction": "🏗️",
"factory": "🏭",
"office": "🏢",
"department_store": "🏬",
"post_office": "🏣",
"european_post_office": "🏤",
"hospital": "🏥",
"bank": "🏦",
"hotel": "🏨",
"convenience_store": "🏪",
"school": "🏫",
"love_hotel": "🏩",
"wedding": "💒",
"classical_building": "🏛️",
"church": "⛪",
"mosque": "🕌",
"synagogue": "🕍",
"hindu_temple": "🛕",
"kaaba": "🕋",
"shinto_shrine": "⛩️",
"railway_track": "🛤️",
"railroad_track": "🛤️",
"motorway": "🛣️",
"japan": "🗾",
"rice_scene": "🎑",
"park": "🏞️",
"national_park": "🏞️",
"sunrise": "🌅",
"sunrise_over_mountains": "🌄",
"stars": "🌠",
"sparkler": "🎇",
"fireworks": "🎆",
"city_sunset": "🌇",
"city_sunrise": "🌇",
"city_dusk": "🌆",
"cityscape": "🏙️",
"night_with_stars": "🌃",
"milky_way": "🌌",
"bridge_at_night": "🌉",
"foggy": "🌁",
"watch": "⌚",
"mobile_phone": "📱",
"iphone": "📱",
"calling": "📲",
"computer": "💻",
"keyboard": "⌨️",
"desktop": "🖥️",
"desktop_computer": "🖥️",
"printer": "🖨️",
"mouse_three_button": "🖱️",
"three_button_mouse": "🖱️",
"trackball": "🖲️",
"joystick": "🕹️",
"compression": "🗜️",
"minidisc": "💽",
"floppy_disk": "💾",
"cd": "💿",
"dvd": "📀",
"vhs": "📼",
"camera": "📷",
"camera_with_flash": "📸",
"video_camera": "📹",
"movie_camera": "🎥",
"projector": "📽️",
"film_projector": "📽️",
"film_frames": "🎞️",
"telephone_receiver": "📞",
"telephone": "☎️",
"pager": "📟",
"fax": "📠",
"tv": "📺",
"radio": "📻",
"microphone2": "🎙️",
"studio_microphone": "🎙️",
"level_slider": "🎚️",
"control_knobs": "🎛️",
"compass": "🧭",
"stopwatch": "⏱️",
"timer": "⏲️",
"timer_clock": "⏲️",
"alarm_clock": "⏰",
"clock": "🕰️",
"mantlepiece_clock": "🕰️",
"hourglass": "⌛",
"hourglass_flowing_sand": "⏳",
"satellite": "📡",
"battery": "🔋",
"electric_plug": "🔌",
"bulb": "💡",
"flashlight": "🔦",
"candle": "🕯️",
"diya_lamp": "🪔",
"fire_extinguisher": "🧯",
"oil": "🛢️",
"oil_drum": "🛢️",
"money_with_wings": "💸",
"dollar": "💵",
"yen": "💴",
"euro": "💶",
"pound": "💷",
"coin": "🪙",
"moneybag": "💰",
"credit_card": "💳",
"gem": "💎",
"scales": "⚖️",
"ladder": "🪜",
"toolbox": "🧰",
"screwdriver": "🪛",
"wrench": "🔧",
"hammer": "🔨",
"hammer_pick": "⚒️",
"hammer_and_pick": "⚒️",
"tools": "🛠️",
"hammer_and_wrench": "🛠️",
"pick": "⛏️",
"nut_and_bolt": "🔩",
"gear": "⚙️",
"bricks": "🧱",
"chains": "⛓️",
"hook": "🪝",
"knot": "🪢",
"magnet": "🧲",
"gun": "🔫",
"bomb": "💣",
"firecracker": "🧨",
"axe": "🪓",
"carpentry_saw": "🪚",
"knife": "🔪",
"dagger": "🗡️",
"dagger_knife": "🗡️",
"crossed_swords": "⚔️",
"shield": "🛡️",
"smoking": "🚬",
"coffin": "⚰️",
"headstone": "🪦",
"urn": "⚱️",
"funeral_urn": "⚱️",
"amphora": "🏺",
"magic_wand": "🪄",
"crystal_ball": "🔮",
"prayer_beads": "📿",
"nazar_amulet": "🧿",
"barber": "💈",
"alembic": "⚗️",
"telescope": "🔭",
"microscope": "🔬",
"hole": "🕳️",
"window": "🪟",
"adhesive_bandage": "🩹",
"stethoscope": "🩺",
"pill": "💊",
"syringe": "💉",
"drop_of_blood": "🩸",
"dna": "🧬",
"microbe": "🦠",
"petri_dish": "🧫",
"test_tube": "🧪",
"thermometer": "🌡️",
"mouse_trap": "🪤",
"broom": "🧹",
"basket": "🧺",
"sewing_needle": "🪡",
"roll_of_paper": "🧻",
"toilet": "🚽",
"plunger": "🪠",
"bucket": "🪣",
"potable_water": "🚰",
"shower": "🚿",
"bathtub": "🛁",
"bath": "🛀",
"bath_tone1": "🛀🏻",
"bath_tone2": "🛀🏼",
"bath_tone3": "🛀🏽",
"bath_tone4": "🛀🏾",
"bath_tone5": "🛀🏿",
"toothbrush": "🪥",
"soap": "🧼",
"razor": "🪒",
"sponge": "🧽",
"squeeze_bottle": "🧴",
"bellhop": "🛎️",
"bellhop_bell": "🛎️",
"key": "🔑",
"key2": "🗝️",
"old_key": "🗝️",
"door": "🚪",
"chair": "🪑",
"mirror": "🪞",
"couch": "🛋️",
"couch_and_lamp": "🛋️",
"bed": "🛏️",
"sleeping_accommodation": "🛌",
"person_in_bed_tone1": "🛌🏻",
"person_in_bed_light_skin_tone": "🛌🏻",
"person_in_bed_tone2": "🛌🏼",
"person_in_bed_medium_light_skin_tone": "🛌🏼",
"person_in_bed_tone3": "🛌🏽",
"person_in_bed_medium_skin_tone": "🛌🏽",
"person_in_bed_tone4": "🛌🏾",
"person_in_bed_medium_dark_skin_tone": "🛌🏾",
"person_in_bed_tone5": "🛌🏿",
"person_in_bed_dark_skin_tone": "🛌🏿",
"teddy_bear": "🧸",
"frame_photo": "🖼️",
"frame_with_picture": "🖼️",
"shopping_bags": "🛍️",
"shopping_cart": "🛒",
"shopping_trolley": "🛒",
"gift": "🎁",
"balloon": "🎈",
"flags": "🎏",
"ribbon": "🎀",
"confetti_ball": "🎊",
"tada": "🎉",
"piñata": "🪅",
"nesting_dolls": "🪆",
"dolls": "🎎",
"izakaya_lantern": "🏮",
"wind_chime": "🎐",
"red_envelope": "🧧",
"envelope": "✉️",
"envelope_with_arrow": "📩",
"incoming_envelope": "📨",
"e_mail": "📧",
"email": "📧",
"love_letter": "💌",
"inbox_tray": "📥",
"outbox_tray": "📤",
"package": "📦",
"label": "🏷️",
"mailbox_closed": "📪",
"mailbox": "📫",
"mailbox_with_mail": "📬",
"mailbox_with_no_mail": "📭",
"postbox": "📮",
"postal_horn": "📯",
"placard": "🪧",
"scroll": "📜",
"page_with_curl": "📃",
"page_facing_up": "📄",
"bookmark_tabs": "📑",
"receipt": "🧾",
"bar_chart": "📊",
"chart_with_upwards_trend": "📈",
"chart_with_downwards_trend": "📉",
"notepad_spiral": "🗒️",
"spiral_note_pad": "🗒️",
"calendar_spiral": "🗓️",
"spiral_calendar_pad": "🗓️",
"calendar": "📆",
"date": "📅",
"wastebasket": "🗑️",
"card_index": "📇",
"card_box": "🗃️",
"card_file_box": "🗃️",
"ballot_box": "🗳️",
"ballot_box_with_ballot": "🗳️",
"file_cabinet": "🗄️",
"clipboard": "📋",
"file_folder": "📁",
"open_file_folder": "📂",
"dividers": "🗂️",
"card_index_dividers": "🗂️",
"newspaper2": "🗞️",
"rolled_up_newspaper": "🗞️",
"newspaper": "📰",
"notebook": "📓",
"notebook_with_decorative_cover": "📔",
"ledger": "📒",
"closed_book": "📕",
"green_book": "📗",
"blue_book": "📘",
"orange_book": "📙",
"books": "📚",
"book": "📖",
"bookmark": "🔖",
"safety_pin": "🧷",
"link": "🔗",
"paperclip": "📎",
"paperclips": "🖇️",
"linked_paperclips": "🖇️",
"triangular_ruler": "📐",
"straight_ruler": "📏",
"abacus": "🧮",
"pushpin": "📌",
"round_pushpin": "📍",
"scissors": "✂️",
"pen_ballpoint": "🖊️",
"lower_left_ballpoint_pen": "🖊️",
"pen_fountain": "🖋️",
"lower_left_fountain_pen": "🖋️",
"black_nib": "✒️",
"paintbrush": "🖌️",
"lower_left_paintbrush": "🖌️",
"crayon": "🖍️",
"lower_left_crayon": "🖍️",
"pencil": "📝",
"memo": "📝",
"pencil2": "✏️",
"mag": "🔍",
"mag_right": "🔎",
"lock_with_ink_pen": "🔏",
"closed_lock_with_key": "🔐",
"lock": "🔒",
"unlock": "🔓",
"heart": "❤️",
"orange_heart": "🧡",
"yellow_heart": "💛",
"green_heart": "💚",
"blue_heart": "💙",
"purple_heart": "💜",
"black_heart": "🖤",
"brown_heart": "🤎",
"white_heart": "🤍",
"broken_heart": "💔",
"heart_exclamation": "❣️",
"heavy_heart_exclamation_mark_ornament": "❣️",
"two_hearts": "💕",
"revolving_hearts": "💞",
"heartbeat": "💓",
"heartpulse": "💗",
"sparkling_heart": "💖",
"cupid": "💘",
"gift_heart": "💝",
"heart_decoration": "💟",
"peace": "☮️",
"peace_symbol": "☮️",
"cross": "✝️",
"latin_cross": "✝️",
"star_and_crescent": "☪️",
"om_symbol": "🕉️",
"wheel_of_dharma": "☸️",
"star_of_david": "✡️",
"six_pointed_star": "🔯",
"menorah": "🕎",
"yin_yang": "☯️",
"orthodox_cross": "☦️",
"place_of_worship": "🛐",
"worship_symbol": "🛐",
"ophiuchus": "⛎",
"aries": "♈",
"taurus": "♉",
"gemini": "♊",
"cancer": "♋",
"leo": "♌",
"virgo": "♍",
"libra": "♎",
"scorpius": "♏",
"sagittarius": "♐",
"capricorn": "♑",
"aquarius": "♒",
"pisces": "♓",
"id": "🆔",
"atom": "⚛️",
"atom_symbol": "⚛️",
"accept": "🉑",
"radioactive": "☢️",
"radioactive_sign": "☢️",
"biohazard": "☣️",
"biohazard_sign": "☣️",
"mobile_phone_off": "📴",
"vibration_mode": "📳",
"u6709": "🈶",
"u7121": "🈚",
"u7533": "🈸",
"u55b6": "🈺",
"u6708": "🈷️",
"eight_pointed_black_star": "✴️",
"vs": "🆚",
"white_flower": "💮",
"ideograph_advantage": "🉐",
"secret": "㊙️",
"congratulations": "㊗️",
"u5408": "🈴",
"u6e80": "🈵",
"u5272": "🈹",
"u7981": "🈲",
"a": "🅰️",
"b": "🅱️",
"ab": "🆎",
"cl": "🆑",
"o2": "🅾️",
"sos": "🆘",
"x": "❌",
"o": "⭕",
"octagonal_sign": "🛑",
"stop_sign": "🛑",
"no_entry": "⛔",
"name_badge": "📛",
"no_entry_sign": "🚫",
"100": "💯",
"anger": "💢",
"hotsprings": "♨️",
"no_pedestrians": "🚷",
"do_not_litter": "🚯",
"no_bicycles": "🚳",
"non_potable_water": "🚱",
"underage": "🔞",
"no_mobile_phones": "📵",
"no_smoking": "🚭",
"exclamation": "❗",
"grey_exclamation": "❕",
"question": "❓",
"grey_question": "❔",
"bangbang": "‼️",
"interrobang": "⁉️",
"low_brightness": "🔅",
"high_brightness": "🔆",
"part_alternation_mark": "〽️",
"warning": "⚠️",
"children_crossing": "🚸",
"trident": "🔱",
"fleur_de_lis": "⚜️",
"beginner": "🔰",
"recycle": "♻️",
"white_check_mark": "✅",
"u6307": "🈯",
"chart": "💹",
"sparkle": "❇️",
"eight_spoked_asterisk": "✳️",
"negative_squared_cross_mark": "❎",
"globe_with_meridians": "🌐",
"diamond_shape_with_a_dot_inside": "💠",
"m": "Ⓜ️",
"cyclone": "🌀",
"zzz": "💤",
"atm": "🏧",
"wc": "🚾",
"wheelchair": "♿",
"parking": "🅿️",
"u7a7a": "🈳",
"sa": "🈂️",
"passport_control": "🛂",
"customs": "🛃",
"baggage_claim": "🛄",
"left_luggage": "🛅",
"elevator": "🛗",
"mens": "🚹",
"womens": "🚺",
"baby_symbol": "🚼",
"restroom": "🚻",
"put_litter_in_its_place": "🚮",
"cinema": "🎦",
"signal_strength": "📶",
"koko": "🈁",
"symbols": "🔣",
"information_source": "",
"abc": "🔤",
"abcd": "🔡",
"capital_abcd": "🔠",
"ng": "🆖",
"ok": "🆗",
"up": "🆙",
"cool": "🆒",
"new": "🆕",
"free": "🆓",
"zero": "0⃣",
"one": "1⃣",
"two": "2⃣",
"three": "3⃣",
"four": "4⃣",
"five": "5⃣",
"six": "6⃣",
"seven": "7⃣",
"eight": "8⃣",
"nine": "9⃣",
"keycap_ten": "🔟",
"1234": "🔢",
"hash": "#️⃣",
"asterisk": "*️⃣",
"keycap_asterisk": "*️⃣",
"eject": "⏏️",
"eject_symbol": "⏏️",
"arrow_forward": "▶️",
"pause_button": "⏸️",
"double_vertical_bar": "⏸️",
"play_pause": "⏯️",
"stop_button": "⏹️",
"record_button": "⏺️",
"track_next": "⏭️",
"next_track": "⏭️",
"track_previous": "⏮️",
"previous_track": "⏮️",
"fast_forward": "⏩",
"rewind": "⏪",
"arrow_double_up": "⏫",
"arrow_double_down": "⏬",
"arrow_backward": "◀️",
"arrow_up_small": "🔼",
"arrow_down_small": "🔽",
"arrow_right": "➡️",
"arrow_left": "⬅️",
"arrow_up": "⬆️",
"arrow_down": "⬇️",
"arrow_upper_right": "↗️",
"arrow_lower_right": "↘️",
"arrow_lower_left": "↙️",
"arrow_upper_left": "↖️",
"arrow_up_down": "↕️",
"left_right_arrow": "↔️",
"arrow_right_hook": "↪️",
"leftwards_arrow_with_hook": "↩️",
"arrow_heading_up": "⤴️",
"arrow_heading_down": "⤵️",
"twisted_rightwards_arrows": "🔀",
"repeat": "🔁",
"repeat_one": "🔂",
"arrows_counterclockwise": "🔄",
"arrows_clockwise": "🔃",
"musical_note": "🎵",
"notes": "🎶",
"heavy_plus_sign": "",
"heavy_minus_sign": "",
"heavy_division_sign": "➗",
"heavy_multiplication_x": "✖️",
"infinity": "♾️",
"heavy_dollar_sign": "💲",
"currency_exchange": "💱",
"tm": "™️",
"copyright": "©️",
"registered": "®️",
"wavy_dash": "〰️",
"curly_loop": "➰",
"loop": "➿",
"end": "🔚",
"back": "🔙",
"on": "🔛",
"top": "🔝",
"soon": "🔜",
"heavy_check_mark": "✔️",
"ballot_box_with_check": "☑️",
"radio_button": "🔘",
"white_circle": "⚪",
"black_circle": "⚫",
"red_circle": "🔴",
"blue_circle": "🔵",
"brown_circle": "🟤",
"purple_circle": "🟣",
"green_circle": "🟢",
"yellow_circle": "🟡",
"orange_circle": "🟠",
"small_red_triangle": "🔺",
"small_red_triangle_down": "🔻",
"small_orange_diamond": "🔸",
"small_blue_diamond": "🔹",
"large_orange_diamond": "🔶",
"large_blue_diamond": "🔷",
"white_square_button": "🔳",
"black_square_button": "🔲",
"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": "⬜",
"orange_square": "🟧",
"blue_square": "🟦",
"red_square": "🟥",
"brown_square": "🟫",
"purple_square": "🟪",
"green_square": "🟩",
"yellow_square": "🟨",
"speaker": "🔈",
"mute": "🔇",
"sound": "🔉",
"loud_sound": "🔊",
"bell": "🔔",
"no_bell": "🔕",
"mega": "📣",
"loudspeaker": "📢",
"speech_left": "🗨️",
"left_speech_bubble": "🗨️",
"eye_in_speech_bubble": "👁‍🗨",
"speech_balloon": "💬",
"thought_balloon": "💭",
"anger_right": "🗯️",
"right_anger_bubble": "🗯️",
"spades": "♠️",
"clubs": "♣️",
"hearts": "♥️",
"diamonds": "♦️",
"black_joker": "🃏",
"flower_playing_cards": "🎴",
"mahjong": "🀄",
"clock1": "🕐",
"clock2": "🕑",
"clock3": "🕒",
"clock4": "🕓",
"clock5": "🕔",
"clock6": "🕕",
"clock7": "🕖",
"clock8": "🕗",
"clock9": "🕘",
"clock10": "🕙",
"clock11": "🕚",
"clock12": "🕛",
"clock130": "🕜",
"clock230": "🕝",
"clock330": "🕞",
"clock430": "🕟",
"clock530": "🕠",
"clock630": "🕡",
"clock730": "🕢",
"clock830": "🕣",
"clock930": "🕤",
"clock1030": "🕥",
"clock1130": "🕦",
"clock1230": "🕧",
"female_sign": "♀️",
"male_sign": "♂️",
"transgender_symbol": "⚧",
"medical_symbol": "⚕️",
"regional_indicator_z": "🇿",
"regional_indicator_y": "🇾",
"regional_indicator_x": "🇽",
"regional_indicator_w": "🇼",
"regional_indicator_v": "🇻",
"regional_indicator_u": "🇺",
"regional_indicator_t": "🇹",
"regional_indicator_s": "🇸",
"regional_indicator_r": "🇷",
"regional_indicator_q": "🇶",
"regional_indicator_p": "🇵",
"regional_indicator_o": "🇴",
"regional_indicator_n": "🇳",
"regional_indicator_m": "🇲",
"regional_indicator_l": "🇱",
"regional_indicator_k": "🇰",
"regional_indicator_j": "🇯",
"regional_indicator_i": "🇮",
"regional_indicator_h": "🇭",
"regional_indicator_g": "🇬",
"regional_indicator_f": "🇫",
"regional_indicator_e": "🇪",
"regional_indicator_d": "🇩",
"regional_indicator_c": "🇨",
"regional_indicator_b": "🇧",
"regional_indicator_a": "🇦",
"flag_white": "🏳️",
"flag_black": "🏴",
"checkered_flag": "🏁",
"triangular_flag_on_post": "🚩",
"rainbow_flag": "🏳️‍🌈",
"gay_pride_flag": "🏳️‍🌈",
"transgender_flag": "🏳️‍⚧️",
"pirate_flag": "🏴‍☠️",
"flag_af": "🇦🇫",
"flag_ax": "🇦🇽",
"flag_al": "🇦🇱",
"flag_dz": "🇩🇿",
"flag_as": "🇦🇸",
"flag_ad": "🇦🇩",
"flag_ao": "🇦🇴",
"flag_ai": "🇦🇮",
"flag_aq": "🇦🇶",
"flag_ag": "🇦🇬",
"flag_ar": "🇦🇷",
"flag_am": "🇦🇲",
"flag_aw": "🇦🇼",
"flag_au": "🇦🇺",
"flag_at": "🇦🇹",
"flag_az": "🇦🇿",
"flag_bs": "🇧🇸",
"flag_bh": "🇧🇭",
"flag_bd": "🇧🇩",
"flag_bb": "🇧🇧",
"flag_by": "🇧🇾",
"flag_be": "🇧🇪",
"flag_bz": "🇧🇿",
"flag_bj": "🇧🇯",
"flag_bm": "🇧🇲",
"flag_bt": "🇧🇹",
"flag_bo": "🇧🇴",
"flag_ba": "🇧🇦",
"flag_bw": "🇧🇼",
"flag_br": "🇧🇷",
"flag_io": "🇮🇴",
"flag_vg": "🇻🇬",
"flag_bn": "🇧🇳",
"flag_bg": "🇧🇬",
"flag_bf": "🇧🇫",
"flag_bi": "🇧🇮",
"flag_kh": "🇰🇭",
"flag_cm": "🇨🇲",
"flag_ca": "🇨🇦",
"flag_ic": "🇮🇨",
"flag_cv": "🇨🇻",
"flag_bq": "🇧🇶",
"flag_ky": "🇰🇾",
"flag_cf": "🇨🇫",
"flag_td": "🇹🇩",
"flag_cl": "🇨🇱",
"flag_cn": "🇨🇳",
"flag_cx": "🇨🇽",
"flag_cc": "🇨🇨",
"flag_co": "🇨🇴",
"flag_km": "🇰🇲",
"flag_cg": "🇨🇬",
"flag_cd": "🇨🇩",
"flag_ck": "🇨🇰",
"flag_cr": "🇨🇷",
"flag_ci": "🇨🇮",
"flag_hr": "🇭🇷",
"flag_cu": "🇨🇺",
"flag_cw": "🇨🇼",
"flag_cy": "🇨🇾",
"flag_cz": "🇨🇿",
"flag_dk": "🇩🇰",
"flag_dj": "🇩🇯",
"flag_dm": "🇩🇲",
"flag_do": "🇩🇴",
"flag_ec": "🇪🇨",
"flag_eg": "🇪🇬",
"flag_sv": "🇸🇻",
"flag_gq": "🇬🇶",
"flag_er": "🇪🇷",
"flag_ee": "🇪🇪",
"flag_et": "🇪🇹",
"flag_eu": "🇪🇺",
"flag_fk": "🇫🇰",
"flag_fo": "🇫🇴",
"flag_fj": "🇫🇯",
"flag_fi": "🇫🇮",
"flag_fr": "🇫🇷",
"flag_gf": "🇬🇫",
"flag_pf": "🇵🇫",
"flag_tf": "🇹🇫",
"flag_ga": "🇬🇦",
"flag_gm": "🇬🇲",
"flag_ge": "🇬🇪",
"flag_de": "🇩🇪",
"flag_gh": "🇬🇭",
"flag_gi": "🇬🇮",
"flag_gr": "🇬🇷",
"flag_gl": "🇬🇱",
"flag_gd": "🇬🇩",
"flag_gp": "🇬🇵",
"flag_gu": "🇬🇺",
"flag_gt": "🇬🇹",
"flag_gg": "🇬🇬",
"flag_gn": "🇬🇳",
"flag_gw": "🇬🇼",
"flag_gy": "🇬🇾",
"flag_ht": "🇭🇹",
"flag_hn": "🇭🇳",
"flag_hk": "🇭🇰",
"flag_hu": "🇭🇺",
"flag_is": "🇮🇸",
"flag_in": "🇮🇳",
"flag_id": "🇮🇩",
"flag_ir": "🇮🇷",
"flag_iq": "🇮🇶",
"flag_ie": "🇮🇪",
"flag_im": "🇮🇲",
"flag_il": "🇮🇱",
"flag_it": "🇮🇹",
"flag_jm": "🇯🇲",
"flag_jp": "🇯🇵",
"crossed_flags": "🎌",
"flag_je": "🇯🇪",
"flag_jo": "🇯🇴",
"flag_kz": "🇰🇿",
"flag_ke": "🇰🇪",
"flag_ki": "🇰🇮",
"flag_xk": "🇽🇰",
"flag_kw": "🇰🇼",
"flag_kg": "🇰🇬",
"flag_la": "🇱🇦",
"flag_lv": "🇱🇻",
"flag_lb": "🇱🇧",
"flag_ls": "🇱🇸",
"flag_lr": "🇱🇷",
"flag_ly": "🇱🇾",
"flag_li": "🇱🇮",
"flag_lt": "🇱🇹",
"flag_lu": "🇱🇺",
"flag_mo": "🇲🇴",
"flag_mk": "🇲🇰",
"flag_mg": "🇲🇬",
"flag_mw": "🇲🇼",
"flag_my": "🇲🇾",
"flag_mv": "🇲🇻",
"flag_ml": "🇲🇱",
"flag_mt": "🇲🇹",
"flag_mh": "🇲🇭",
"flag_mq": "🇲🇶",
"flag_mr": "🇲🇷",
"flag_mu": "🇲🇺",
"flag_yt": "🇾🇹",
"flag_mx": "🇲🇽",
"flag_fm": "🇫🇲",
"flag_md": "🇲🇩",
"flag_mc": "🇲🇨",
"flag_mn": "🇲🇳",
"flag_me": "🇲🇪",
"flag_ms": "🇲🇸",
"flag_ma": "🇲🇦",
"flag_mz": "🇲🇿",
"flag_mm": "🇲🇲",
"flag_na": "🇳🇦",
"flag_nr": "🇳🇷",
"flag_np": "🇳🇵",
"flag_nl": "🇳🇱",
"flag_nc": "🇳🇨",
"flag_nz": "🇳🇿",
"flag_ni": "🇳🇮",
"flag_ne": "🇳🇪",
"flag_ng": "🇳🇬",
"flag_nu": "🇳🇺",
"flag_nf": "🇳🇫",
"flag_kp": "🇰🇵",
"flag_mp": "🇲🇵",
"flag_no": "🇳🇴",
"flag_om": "🇴🇲",
"flag_pk": "🇵🇰",
"flag_pw": "🇵🇼",
"flag_ps": "🇵🇸",
"flag_pa": "🇵🇦",
"flag_pg": "🇵🇬",
"flag_py": "🇵🇾",
"flag_pe": "🇵🇪",
"flag_ph": "🇵🇭",
"flag_pn": "🇵🇳",
"flag_pl": "🇵🇱",
"flag_pt": "🇵🇹",
"flag_pr": "🇵🇷",
"flag_qa": "🇶🇦",
"flag_re": "🇷🇪",
"flag_ro": "🇷🇴",
"flag_ru": "🇷🇺",
"flag_rw": "🇷🇼",
"flag_ws": "🇼🇸",
"flag_sm": "🇸🇲",
"flag_st": "🇸🇹",
"flag_sa": "🇸🇦",
"flag_sn": "🇸🇳",
"flag_rs": "🇷🇸",
"flag_sc": "🇸🇨",
"flag_sl": "🇸🇱",
"flag_sg": "🇸🇬",
"flag_sx": "🇸🇽",
"flag_sk": "🇸🇰",
"flag_si": "🇸🇮",
"flag_gs": "🇬🇸",
"flag_sb": "🇸🇧",
"flag_so": "🇸🇴",
"flag_za": "🇿🇦",
"flag_kr": "🇰🇷",
"flag_ss": "🇸🇸",
"flag_es": "🇪🇸",
"flag_lk": "🇱🇰",
"flag_bl": "🇧🇱",
"flag_sh": "🇸🇭",
"flag_kn": "🇰🇳",
"flag_lc": "🇱🇨",
"flag_pm": "🇵🇲",
"flag_vc": "🇻🇨",
"flag_sd": "🇸🇩",
"flag_sr": "🇸🇷",
"flag_sz": "🇸🇿",
"flag_se": "🇸🇪",
"flag_ch": "🇨🇭",
"flag_sy": "🇸🇾",
"flag_tw": "🇹🇼",
"flag_tj": "🇹🇯",
"flag_tz": "🇹🇿",
"flag_th": "🇹🇭",
"flag_tl": "🇹🇱",
"flag_tg": "🇹🇬",
"flag_tk": "🇹🇰",
"flag_to": "🇹🇴",
"flag_tt": "🇹🇹",
"flag_tn": "🇹🇳",
"flag_tr": "🇹🇷",
"flag_tm": "🇹🇲",
"flag_tc": "🇹🇨",
"flag_vi": "🇻🇮",
"flag_tv": "🇹🇻",
"flag_ug": "🇺🇬",
"flag_ua": "🇺🇦",
"flag_ae": "🇦🇪",
"flag_gb": "🇬🇧",
"england": "🏴󠁧󠁢󠁥󠁮󠁧󠁿",
"scotland": "🏴󠁧󠁢󠁳󠁣󠁴󠁿",
"wales": "🏴󠁧󠁢󠁷󠁬󠁳󠁿",
"flag_us": "🇺🇸",
"flag_uy": "🇺🇾",
"flag_uz": "🇺🇿",
"flag_vu": "🇻🇺",
"flag_va": "🇻🇦",
"flag_ve": "🇻🇪",
"flag_vn": "🇻🇳",
"flag_wf": "🇼🇫",
"flag_eh": "🇪🇭",
"flag_ye": "🇾🇪",
"flag_zm": "🇿🇲",
"flag_zw": "🇿🇼",
"flag_ac": "🇦🇨",
"flag_bv": "🇧🇻",
"flag_cp": "🇨🇵",
"flag_ea": "🇪🇦",
"flag_dg": "🇩🇬",
"flag_hm": "🇭🇲",
"flag_mf": "🇲🇫",
"flag_sj": "🇸🇯",
"flag_ta": "🇹🇦",
"flag_um": "🇺🇲",
"united_nations": "🇺🇳"
}
</script>
<script>
options = {
username: '{{ (guild["settings"]["bot_nickname"] if guild else None) or variables["bot"]["name"] }}',
avatar: '{{ variables["bot"]["avatar"] }}',
verified: {{ "true" if variables["bot"]["is_verified"] else "false"}},
noUser: false,
data: null,
guiTabs: ["title", "description"],
useJsonEditor: false,
reverseColumns: false,
allowPlaceholders: false,
autoUpdateURL: true,
autoParams: true,
hideEditor: false,
hidePreview: false,
hideMenu: false,
single: false,
noMultiEmbedsOption: false,
sourceOption: true, // Display link to source code in menu.
}
</script>
<script defer>
/**
* Discord Embed Builder
* Contribute or report issues at
* https://github.com/Glitchii/embedbuilder
*/
window.options ??= {};
window.inIframe ??= top !== self;
let params = new URLSearchParams(location.search),
hasParam = param => params.get(param) !== null,
dataSpecified = options.data || params.get("data"),
username = params.get("username") || options.username,
avatar = params.get("avatar") || options.avatar,
guiTabs = params.get("guitabs") || options.guiTabs,
useJsonEditor = params.get("editor") === "json" || options.useJsonEditor,
verified = hasParam("verified") || options.verified,
reverseColumns = hasParam("reverse") || options.reverseColumns,
noUser = localStorage.getItem("noUser") || hasParam("nouser") || options.noUser,
onlyEmbed = hasParam("embed") || options.onlyEmbed,
allowPlaceholders = hasParam("placeholders") || options.allowPlaceholders,
autoUpdateURL = localStorage.getItem("autoUpdateURL") || options.autoUpdateURL,
noMultiEmbedsOption = localStorage.getItem("noMultiEmbedsOption") || hasParam("nomultiembedsoption") || options.noMultiEmbedsOption,
single = noMultiEmbedsOption ? options.single ?? true : (localStorage.getItem("single") || hasParam("single") || options.single) ?? false,
multiEmbeds = !single,
autoParams = localStorage.getItem("autoParams") || hasParam("autoparams") || options.autoParams,
hideEditor = localStorage.getItem("hideeditor") || hasParam("hideeditor") || options.hideEditor,
hidePreview = localStorage.getItem("hidepreview") || hasParam("hidepreview") || options.hidePreview,
hideMenu = localStorage.getItem("hideMenu") || hasParam("hidemenu") || options.hideMenu,
sourceOption = localStorage.getItem("sourceOption") || hasParam("sourceoption") || options.sourceOption,
validationError, activeFields, lastActiveGuiEmbedIndex = -1, lastGuiJson, colNum = 1, num = 0;
const guiEmbedIndex = guiEl => {
let guiEmbed = guiEl?.closest(".guiEmbed");
if (!guiEmbed) {
guiEmbed = guiEl.nextElementSibling;
}
let gui = guiEmbed?.closest(".gui")
return !gui ? -1 : Array.from(gui.querySelectorAll(".guiEmbed")).indexOf(guiEmbed)
}
const toggleStored = item => {
const found = localStorage.getItem(item);
if (!found)
return localStorage.setItem(item, true);
localStorage.removeItem(item);
return found;
};
const createElement = object => {
let element;
for (const tag in object) {
element = document.createElement(tag);
for (const attr in object[tag])
if (attr !== "children") element[attr] = object[tag][attr];
else for (const child of object[tag][attr])
element.appendChild(createElement(child));
}
return element;
}
const encodeJson = (jsonCode, withURL = false, redirect = false) => {
let data = btoa(encodeURIComponent((JSON.stringify(typeof jsonCode === "object" ? jsonCode : json))));
let url = new URL(location.href);
if (withURL) {
url.searchParams.set("data", data);
if (redirect)
return top.location.href = url;
data = url.href
// Replace %3D ("=" url encoded) with "="
.replace(/data=\w+(?:%3D)+/g, "data=" + data);
}
return data;
};
const decodeJson = data => {
const jsonData = decodeURIComponent(atob(data || dataSpecified));
return typeof jsonData === "string" ? JSON.parse(jsonData) : jsonData;
};
// IMPORTANT: `jsonToBase64` and `base64ToJson` are subject to removal.
// Use `encodeJson` and `decodeJson` instead, they are aliases.
let jsonToBase64 = encodeJson, base64ToJson = decodeJson;
const toRGB = (hex, reversed, integer) => {
if (reversed) return "#" + hex.match(/\d+/g).map(x => parseInt(x).toString(16).padStart(2, "0")).join("");
if (integer) return parseInt(hex.match(/\d+/g).map(x => parseInt(x).toString(16).padStart(2, "0")).join(""), 16);
if (hex.includes(",")) return hex.match(/\d+/g);
hex = hex.replace("#", "").match(/.{1,2}/g)
return [parseInt(hex[0], 16), parseInt(hex[1], 16), parseInt(hex[2], 16), 1];
};
const reverse = (reversed, callback) => {
const side = document.querySelector(reversed ? ".side2" : ".side1");
if (side.nextElementSibling) side.parentElement.insertBefore(side.nextElementSibling, side);
else side.parentElement.insertBefore(side, side.parentElement.firstElementChild);
const isReversed = document.body.classList.toggle("reversed");
if (autoParams) isReversed ? urlOptions({ set: ["reverse", ""] }) : urlOptions({ remove: "reverse" });
};
const urlOptions = ({ remove, set }) => {
const url = new URL(location.href);
if (remove) url.searchParams.delete(remove);
if (set) url.searchParams.set(set[0], set[1]);
try {
history.replaceState(null, null, url.href.replace(/(?<!data=[^=]+|=)=(&|$)/g, x => x === "=" ? "" : "&"));
} catch (e) {
// `SecurityError` when trying to change the url of a different origin
// e.g. when trying to change the url of the parent window from an iframe
console.info(e);
}
};
const animateGuiEmbedNameAt = (i, text) => {
const guiEmbedName = document.querySelectorAll(".gui .guiEmbedName")?.[i];
// Shake animation
guiEmbedName?.animate(
[{ transform: "translate(0, 0)" },
{ transform: "translate(10px, 0)" },
{ transform: "translate(0, 0)" }],
{ duration: 100, iterations: 3 });
text && (guiEmbedName?.style.setProperty("--text", `"${text}"`));
guiEmbedName?.scrollIntoView({ behavior: "smooth", block: "center" });
guiEmbedName?.classList.remove("empty");
setTimeout(() => guiEmbedName?.classList.add("empty"), 10);
}
const indexOfEmptyGuiEmbed = text => {
for (const [i, element] of document.querySelectorAll(".msgEmbed>.container .embed").entries())
if (element.classList.contains("emptyEmbed")) {
text !== false && animateGuiEmbedNameAt(i, text);
return i;
}
for (const [i, embedObj] of (json.embeds || []).entries())
if (!(0 in Object.keys(embedObj))) {
text !== false && animateGuiEmbedNameAt(i, text);
return i;
}
return -1;
}
const changeLastActiveGuiEmbed = index => {
const pickerEmbedText = document.querySelector(".colors .cTop .embedText>span");
if (index === -1) {
lastActiveGuiEmbedIndex = -1;
return pickerEmbedText.textContent = "";
}
lastActiveGuiEmbedIndex = index;
if (pickerEmbedText) {
pickerEmbedText.textContent = index + 1;
const guiEmbedNames = document.querySelectorAll(".gui .item.guiEmbedName");
pickerEmbedText.onclick = () => {
const newIndex = parseInt(prompt("Enter an embed number" + (guiEmbedNames.length > 1 ? `, 1 - ${guiEmbedNames.length}` : ""), index + 1));
if (isNaN(newIndex)) return;
if (newIndex < 1 || newIndex > guiEmbedNames.length)
return error(guiEmbedNames.length === 1 ? `"${newIndex}" is not a valid embed number` : `"${newIndex}" doesn"t seem like a number between 1 and ${guiEmbedNames.length}`);
changeLastActiveGuiEmbed(newIndex - 1);
}
}
}
// Set default data.
const defaultData = {
content: "You can~~not~~ do `this`: *italics* and **bold**!",
embeds: [
{
title: "Hello ~~people~~ world 👋",
description: "You can use [links](https://discord.com) or emojis! :smile: 😎\n```And also code blocks!```",
color: 0x2ecc71,
timestamp: new Date().toISOString(),
url: "{{ request.scheme }}://{{ request.host + request.path }}",
author: {
name: '{{"Author name" if not current_user.is_authenticated else current_user.display_name }}',
url: '{{"https://discord.com" if not current_user.is_authenticated else "https://discord.com/users/" + current_user.id|string }}',
icon_url: '{{"https://cdn.discordapp.com/embed/avatars/0.png" if not current_user.is_authenticated else current_user.display_avatar }}'
},
thumbnail: {
url: '{{ variables["bot"]["avatar"] }}'
},
image: {
url: "https://glitchii.github.io/embedbuilder/assets/media/banner.png"
},
footer: {
text: "Footer text",
icon_url: "https://cdn.discordapp.com/embed/avatars/0.png"
},
fields: [
{
name: "Field 1, *lorem* **ipsum**, ~~dolor~~",
value: "Field value"
},
{
name: "Field 2",
value: "You can use custom emojis: <:pikaLUL:386933336066752512> <:aha:350653489044652052>",
inline: false
},
{
name: "Inline field",
value: "Fields can be inline",
inline: true
},
{
name: "Inline field",
value: "*Lorem ipsum*",
inline: true
},
{
name: "Inline field",
value: "value",
inline: true
},
{
name: "Another field",
value: "> Nope, didn't forget about this",
inline: false
}
]
}
]
}
// Called after building embed for extra work.
const afterBuilding = () => {
let encodedJson = encodeJson(json);
if (multiEmbeds && defaultData.embed) {
defaultData.embeds = [defaultData.embed];
delete defaultData.embed;
} else if (!multiEmbeds && defaultData.embeds) {
defaultData.embed = defaultData.embeds[0];
delete defaultData.embeds;
}
if (autoUpdateURL && encodedJson !== encodeJson(defaultData)) {
urlOptions({ set: ["data", encodedJson] });
} else {
urlOptions({ remove: "data" });
}
}
// Parses emojis to images and adds code highlighting.
const externalParsing = ({ noEmojis, element } = {}) => {
!noEmojis && twemoji.parse(element || document.querySelector(".msgEmbed"), { base: "https://cdn.jsdelivr.net/gh/twitter/twemoji@14.0.2/assets/" });
for (const block of document.querySelectorAll(".markup pre > code"))
hljs.highlightBlock(block);
const embed = element?.closest(".embed");
if (embed?.innerText.trim())
(multiEmbeds ? embed : document.body).classList.remove("emptyEmbed");
afterBuilding()
};
let embedKeys = ["author", "footer", "color", "thumbnail", "image", "fields", "title", "description", "url", "timestamp"];
let mainKeys = ["embed", "embeds", "sender", "content"];
let allJsonKeys = [...mainKeys, ...embedKeys];
// `jsonObject` is used internally, do not change it's value. Assign to `json` instead.
// `json` is the object that is used to build the embed. Assigning to it also updates the editor.
let jsonObject = JSON.parse(JSON.stringify(window.json || defaultData));
if (dataSpecified) {
try {
jsonObject = decodeJson();
} catch (error) {
console.error("Error decoding JSON in `data`.", error);
}
}
if (allowPlaceholders)
allowPlaceholders = params.get("placeholders") === "errors" ? 1 : 2;
// Even if not in multi-embed mode, `jsonObject` should always have an array `embeds`
// To get the right json object that includes either `embeds` or `embed` if not in multi-embed mode,
// print `json` (global variable) instead of `jsonObject`, jsonObject is used internally, you shouldn't modify it.
if (multiEmbeds && !jsonObject.embeds?.length)
jsonObject.embeds = jsonObject.embed ? [jsonObject.embed] : [];
else if (!multiEmbeds)
jsonObject.embeds = jsonObject.embeds?.[0] ? [jsonObject.embeds[0]] : jsonObject.embed ? [jsonObject.embed] : [];
delete jsonObject.embed;
const imgSrc = (elm, src, remove) => remove ? elm.style.removeProperty("content") : elm.style.content = `url(${src})`;
addEventListener("DOMContentLoaded", () => {
if (reverseColumns || localStorage.getItem("reverseColumns"))
reverse();
if (autoParams)
document.querySelector(".item.auto-params > input").checked = true;
if (hideMenu)
document.querySelector(".top-btn.menu")?.classList.add("hidden");
if (noMultiEmbedsOption)
document.querySelector(".box .item.multi")?.remove();
if (inIframe)
// Remove menu options that don't work in iframe.
for (const e of document.querySelectorAll(".no-frame"))
e.remove();
if (autoUpdateURL) {
document.body.classList.add("autoUpdateURL");
document.querySelector(".item.auto > input").checked = true;
}
if (single) {
document.body.classList.add("single");
if (autoParams)
single ? urlOptions({ set: ["single", ""] }) : urlOptions({ remove: "single" });
}
if (hideEditor) {
document.body.classList.add("no-editor");
document.querySelector(".toggle .toggles .editor input").checked = false;
}
if (hidePreview) {
document.body.classList.add("no-preview");
document.querySelector(".toggle .toggles .preview input").checked = false;
}
if (onlyEmbed) document.body.classList.add("only-embed");
else {
document.querySelector(".side1.noDisplay")?.classList.remove("noDisplay");
if (useJsonEditor)
document.body.classList.remove("gui");
}
if (noUser) {
document.body.classList.add("no-user");
if (autoParams)
noUser ? urlOptions({ set: ["nouser", ""] }) : urlOptions({ remove: "nouser" });
}
else {
if (username) document.querySelector(".username").textContent = username;
if (params.get("username")) document.querySelector(".editSenderUsername").value = params.get("username");
if (avatar) document.querySelector(".avatar").src = avatar;
if (params.get("avatar")) imgSrc(document.querySelector(".editSenderAvatar").previousElementSibling, params.get("avatar")) && (document.querySelector(".editSenderAvatar").value = params.get("avatar"));
if (verified) document.querySelector(".msgEmbed > .contents").classList.add("verified");
}
for (const e of document.querySelectorAll(".clickable > img"))
e.parentElement.addEventListener("mouseup", el => window.open(el.target.src));
const editorHolder = document.querySelector(".editorHolder"),
guiParent = document.querySelector(".top"),
embedContent = document.querySelector(".messageContent"),
embedCont = document.querySelector(".msgEmbed>.container"),
gui = guiParent.querySelector(".gui:first-of-type");
editor = CodeMirror(elt => editorHolder.parentNode.replaceChild(elt, editorHolder), {
value: JSON.stringify(json, null, 4),
scrollbarStyle: "overlay",
mode: "application/json",
gutters: ["CodeMirror-foldgutter", "CodeMirror-lint-markers"],
theme: "material-darker",
matchBrackets: true,
foldGutter: true,
lint: true,
extraKeys: {
// Fill in indent spaces on a new line when enter (return) key is pressed.
Enter: _ => {
const cursor = editor.getCursor();
const end = editor.getLine(cursor.line);
const leadingSpaces = end.replace(/\S($|.)+/g, "") || " \n";
const nextLine = editor.getLine(cursor.line + 1);
if ((nextLine === undefined || !nextLine.trim()) && !end.substr(cursor.ch).trim())
editor.replaceRange("\n", { line: cursor.line, ch: cursor.ch });
else
editor.replaceRange(`\n${end.endsWith("{") ? leadingSpaces + " " : leadingSpaces}`, {
line: cursor.line,
ch: cursor.ch
});
},
}
});
editor.focus();
const notif = document.querySelector(".notification");
error = (msg, time = "5s") => {
notif.innerHTML = msg;
notif.style.removeProperty("--startY");
notif.style.removeProperty("--startOpacity");
notif.style.setProperty("--time", time);
notif.onanimationend = () => notif.style.display = null;
// If notification element is not already visible, (no other message is already displayed), display it.
if (!notif.style.display)
return notif.style.display = "block", false;
// If there's a message already displayed, update it and delay animating out.
notif.style.setProperty("--startY", 0);
notif.style.setProperty("--startOpacity", 1);
notif.style.display = null;
setTimeout(() => notif.style.display = "block", .5);
return false;
};
const url = (url) => /^(https?:)?\/\//g.exec(url) ? url : "//" + url;
const makeShort = (txt, length, mediaWidth) => {
if (mediaWidth && matchMedia(`(max-width:${mediaWidth}px)`).matches)
return txt.length > (length - 3) ? txt.substring(0, length - 3) + "..." : txt;
return txt;
}
const allGood = embedObj => {
let invalid, err;
let str = JSON.stringify(embedObj, null, 4)
let re = /("(?:icon_)?url": *")((?!\w+?:\/\/).+)"/g.exec(str);
if (embedObj.timestamp && new Date(embedObj.timestamp).toString() === "Invalid Date") {
if (allowPlaceholders === 2) return true;
if (!allowPlaceholders) invalid = true, err = "Timestamp is invalid";
} else if (re) { // If a URL is found without a protocol
if (!/\w+:|\/\/|^\//g.exec(re[2]) && re[2].includes(".")) {
let activeInput = document.querySelector('input[class$="link" i]:focus')
if (activeInput && !allowPlaceholders) {
lastPos = activeInput.selectionStart + 7;
activeInput.value = `http://${re[2]}`;
activeInput.setSelectionRange(lastPos, lastPos)
return true;
}
}
if (allowPlaceholders !== 2)
invalid = true, err = (`URL should have a protocol. Did you mean <span class="inline full short">http://${makeShort(re[2], 30, 600).replace(" ", "")}</span>?`);
}
if (invalid) {
validationError = true;
return error(err);
}
return true;
}
const markup = (txt, { replaceEmojis, inlineBlock, inEmbed }) => {
if (replaceEmojis)
txt = txt.replace(/(?<!code(?: \w+=".+")?>[^>]+)(?<!\/[^\s"]+?):((?!\/)\w+):/g, (match, p) => p && emojis[p] ? emojis[p] : match);
txt = txt
/** Markdown */
.replace(/&#60;:\w+:(\d{17,19})&#62;/g, '<img class="emoji" src="https://cdn.discordapp.com/emojis/$1.png"/>')
.replace(/&#60;a:\w+:(\d{17,20})&#62;/g, '<img class="emoji" src="https://cdn.discordapp.com/emojis/$1.gif"/>')
.replace(/~~(.+?)~~/g, "<s>$1</s>")
.replace(/\*\*\*(.+?)\*\*\*/g, "<em><strong>$1</strong></em>")
.replace(/\*\*(.+?)\*\*/g, "<strong>$1</strong>")
.replace(/__(.+?)__/g, "<u>$1</u>")
.replace(/\*(.+?)\*/g, "<em>$1</em>")
.replace(/_(.+?)_/g, "<em>$1</em>")
// Replace >>> and > with block-quotes. &#62; is HTML code for >
.replace(/^(?: *&#62;&#62;&#62; ([\s\S]*))|(?:^ *&#62;(?!&#62;&#62;) +.+\n)+(?:^ *&#62;(?!&#62;&#62;) .+\n?)+|^(?: *&#62;(?!&#62;&#62;) ([^\n]*))(\n?)/mg, (all, match1, match2, newLine) => {
return `<div class="blockquote"><div class="blockquoteDivider"></div><blockquote>${match1 || match2 || newLine ? match1 || match2 : all.replace(/^ *&#62; /gm, "")}</blockquote></div>`;
})
/** Mentions */
.replace(/&#60;#\d+&#62;/g, () => `<span class="mention channel interactive">channel</span>`)
.replace(/&#60;@(?:&#38;|!)?\d+&#62;|@(?:everyone|here)/g, match => {
if (match.startsWith("@")) return `<span class="mention">${match}</span>`
else return `<span class="mention interactive">@${match.includes("&#38;") ? "role" : "user"}</span>`
})
// parse text in brackets and then the URL in parentheses.
.replace(/\[([^\[\]]+)\]\((.+?)\)/g, `<a title="$1" target="_blank" class="anchor" href="$2">$1</a>`)
if (inlineBlock)
// Treat both inline code and code blocks as inline code
txt = txt.replace(/`([^`]+?)`|``([^`]+?)``|```((?:\n|.)+?)```/g, (m, x, y, z) => x ? `<code class="inline">${x}</code>` : y ? `<code class="inline">${y}</code>` : z ? `<code class="inline">${z}</code>` : m);
else {
// Code block
txt = txt.replace(/```(?:([a-z0-9_+\-.]+?)\n)?\n*([^\n][^]*?)\n*```/ig, (m, w, x) => {
if (w) return `<pre><code class="${w}">${x.trim()}</code></pre>`
else return `<pre><code class="hljs nohighlight">${x.trim()}</code></pre>`
});
// Inline code
txt = txt.replace(/`([^`]+?)`|``([^`]+?)``/g, (m, x, y, z) => x ? `<code class="inline">${x}</code>` : y ? `<code class="inline">${y}</code>` : z ? `<code class="inline">${z}</code>` : m)
}
return txt;
}
const createEmbedFields = (fields, embedFields) => {
embedFields.innerHTML = "";
let index, gridCol;
for (const [i, f] of fields.entries()) {
if (f.name && f.value) {
const fieldElement = embedFields.insertBefore(document.createElement("div"), null);
// Figuring out if there are only two fields on a row to give them more space.
// e.fields = json.embeds.fields.
// if both the field of index `i` and the next field on it's right are inline and -
if (fields[i].inline && fields[i + 1]?.inline &&
// it's the first field in the embed or -
((i === 0 && fields[i + 2] && !fields[i + 2].inline) || ((
// it's not the first field in the embed but the previous field is not inline or -
i > 0 && !fields[i - 1].inline ||
// it has 3 or more fields behind it and 3 of those are inline except the 4th one back if it exists -
i >= 3 && fields[i - 1].inline && fields[i - 2].inline && fields[i - 3].inline && (fields[i - 4] ? !fields[i - 4].inline : !fields[i - 4])
// or it's the first field on the last row or the last field on the last row is not inline or it's the first field in a row and it's the last field on the last row.
) && (i == fields.length - 2 || !fields[i + 2].inline))) || i % 3 === 0 && i == fields.length - 2) {
// then make the field halfway (and the next field will take the other half of the embed).
index = i, gridCol = "1 / 7";
}
// The next field.
if (index === i - 1)
gridCol = "7 / 13";
if (!f.inline)
fieldElement.outerHTML = `
<div class="embedField" style="grid-column: 1 / 13;">
<div class="embedFieldName">${markup(encodeHTML(f.name), { inEmbed: true, replaceEmojis: true, inlineBlock: true })}</div>
<div class="embedFieldValue">${markup(encodeHTML(f.value), { inEmbed: true, replaceEmojis: true })}</div>
</div>`;
else {
if (i && !fields[i - 1].inline) colNum = 1;
fieldElement.outerHTML = `
<div class="embedField ${num}${gridCol ? " colNum-2" : ""}" style="grid-column: ${gridCol || (colNum + " / " + (colNum + 4))};">
<div class="embedFieldName">${markup(encodeHTML(f.name), { inEmbed: true, replaceEmojis: true, inlineBlock: true })}</div>
<div class="embedFieldValue">${markup(encodeHTML(f.value), { inEmbed: true, replaceEmojis: true })}</div>
</div>`;
if (index !== i) gridCol = false;
}
colNum = (colNum === 9 ? 1 : colNum + 4);
num++;
};
};
for (const e of document.querySelectorAll('.embedField[style="grid-column: 1 / 5;"]'))
if (!e.nextElementSibling || e.nextElementSibling.style.gridColumn === "1 / 13")
e.style.gridColumn = "1 / 13";
colNum = 1;
display(embedFields, undefined, "grid");
}
const smallerScreen = matchMedia("(max-width: 1015px)");
const encodeHTML = str => str.replace(/[\u00A0-\u9999<>\&]/g, i => "&#" + i.charCodeAt(0) + ";");
const timestamp = stringISO => {
const date = stringISO ? new Date(stringISO) : new Date(),
dateArray = date.toLocaleString("en-US", { hour: "numeric", hour12: false, minute: "numeric" }),
today = new Date(),
yesterday = new Date(new Date().setDate(today.getDate() - 1)),
tommorrow = new Date(new Date().setDate(today.getDate() + 1));
return today.toDateString() === date.toDateString() ? `Today at ${dateArray}` :
yesterday.toDateString() === date.toDateString() ? `Yesterday at ${dateArray}` :
tommorrow.toDateString() === date.toDateString() ? `Tomorrow at ${dateArray}` :
`${String(date.getMonth() + 1).padStart(2, "0")}/${String(date.getDate()).padStart(2, "0")}/${date.getFullYear()}`;
}
const display = (el, data, displayType) => {
if (data) el.innerHTML = data;
el.style.display = displayType || "unset";
}
const hide = el => el.style.removeProperty("display");
const [guiFragment, fieldFragment, embedFragment, guiEmbedAddFragment] = Array.from({ length: 4 }, () => document.createDocumentFragment());
embedFragment.appendChild(document.querySelector(".embed.markup").cloneNode(true));
guiEmbedAddFragment.appendChild(document.querySelector(".guiEmbedAdd").cloneNode(true));
fieldFragment.appendChild(document.querySelector(".edit>.fields>.field").cloneNode(true));
document.querySelector(".embed.markup").remove();
gui.querySelector(".edit>.fields>.field").remove();
for (const child of gui.childNodes)
guiFragment.appendChild(child.cloneNode(true));
// Renders the GUI editor with json data from `jsonObject`.
buildGui = (object = jsonObject, opts) => {
gui.innerHTML = "";
gui.appendChild(guiEmbedAddFragment.firstChild.cloneNode(true))
.addEventListener("click", () => {
if (indexOfEmptyGuiEmbed("(empty embed)") !== -1) return;
jsonObject.embeds.push({});
buildGui();
});
for (const child of Array.from(guiFragment.childNodes)) {
if (child.classList?.[1] == "sender" || child.classList?.[1] == "content")
gui.insertBefore(gui.appendChild(child.cloneNode(true)), gui.appendChild(child.nextElementSibling.cloneNode(true))).nextElementSibling.firstElementChild.value = object.content || "";
else if (child.classList?.[1] === "guiEmbedName") {
for (const [i, embed] of (object.embeds.length ? object.embeds : [{}]).entries()) {
const guiEmbedName = gui.appendChild(child.cloneNode(true))
guiEmbedName.querySelector(".text").innerHTML = `Embed ${i + 1}${embed.title ? `: <span>${embed.title}</span>` : ""}`;
guiEmbedName.querySelector(".icon").addEventListener("click", () => {
object.embeds.splice(i, 1);
buildGui();
buildEmbed();
});
const guiEmbed = gui.appendChild(createElement({ "div": { className: "guiEmbed" } }));
const guiEmbedTemplate = child.nextElementSibling;
for (const child2 of Array.from(guiEmbedTemplate.children)) {
if (!child2?.classList.contains("edit")) {
const row = guiEmbed.appendChild(child2.cloneNode(true));
const edit = child2.nextElementSibling?.cloneNode(true);
edit?.classList.contains("edit") && guiEmbed.appendChild(edit);
switch (child2.classList[1]) {
case "author":
const authorURL = embed?.author?.icon_url || "";
if (authorURL)
edit.querySelector(".imgParent").style.content = "url(" + encodeHTML(authorURL) + ")";
edit.querySelector(".editAuthorLink").value = authorURL;
edit.querySelector(".editAuthorName").value = embed?.author?.name || "";
break;
case "title":
edit.querySelector(".editTitle").value = embed?.title || "";
break;
case "description":
edit.querySelector(".editDescription").value = embed?.description || "";
break;
case "thumbnail":
const thumbnailURL = embed?.thumbnail?.url || "";
if (thumbnailURL)
edit.querySelector(".imgParent").style.content = "url(" + encodeHTML(thumbnailURL) + ")";
edit.querySelector(".editThumbnailLink").value = thumbnailURL;
break;
case "image":
const imageURL = embed?.image?.url || "";
if (imageURL)
edit.querySelector(".imgParent").style.content = "url(" + encodeHTML(imageURL) + ")";
edit.querySelector(".editImageLink").value = imageURL;
break;
case "footer":
const footerURL = embed?.footer?.icon_url || "";
if (footerURL)
edit.querySelector(".imgParent").style.content = "url(" + encodeHTML(footerURL) + ")";
edit.querySelector(".editFooterLink").value = footerURL;
edit.querySelector(".editFooterText").value = embed?.footer?.text || "";
break;
case "fields":
for (const f of embed?.fields || []) {
const fields = edit.querySelector(".fields");
const field = fields.appendChild(createElement({ "div": { className: "field" } }));
for (const child of Array.from(fieldFragment.firstChild.children)) {
const newChild = field.appendChild(child.cloneNode(true));
if (child.classList.contains("inlineCheck"))
newChild.querySelector("input").checked = !!f.inline;
else if (f.value && child.classList?.contains("fieldInner"))
newChild.querySelector(".designerFieldName input").value = f.name || "",
newChild.querySelector(".designerFieldValue textarea").value = f.value || "";
}
}
}
}
}
}
}
// Expand last embed in GUI
const names = gui.querySelectorAll(".guiEmbedName");
names[names.length - 1]?.classList.add("active");
}
for (const e of document.querySelectorAll(".top>.gui .item"))
e.addEventListener("click", el => {
if (e?.classList.contains("active"))
getSelection().anchorNode !== e && e.classList.remove("active");
else if (e) {
const inlineField = e.closest(".inlineField"),
input = e.nextElementSibling?.querySelector('input[type="text"]'),
txt = e.nextElementSibling?.querySelector("textarea");
e.classList.add("active");
if (e.classList.contains("guiEmbedName"))
return changeLastActiveGuiEmbed(guiEmbedIndex(e));
else if (inlineField)
inlineField.querySelector(".ttle~input").focus();
else if (e.classList.contains("footer")) {
const date = new Date(jsonObject.embeds[guiEmbedIndex(e)]?.timestamp || new Date());
const textElement = e.nextElementSibling.querySelector("svg>text");
const dateInput = textElement.closest(".footerDate").querySelector("input");
return (
textElement.textContent = (date.getDate() + "").padStart(2, 0),
dateInput.value = date.toISOString().substring(0, 19)
);
}
else if (input) {
!smallerScreen.matches && input.focus();
input.selectionStart = input.selectionEnd = input.value.length;
}
else if (txt && !smallerScreen.matches)
txt.focus();
if (e.classList.contains("fields")) {
if (reverseColumns && smallerScreen.matches)
// return elm.nextElementSibling.scrollIntoView({ behavior: "smooth", block: "end" });
return e.parentNode.scrollTop = e.offsetTop;
e.scrollIntoView({ behavior: "smooth", block: "center" });
}
}
})
content = gui.querySelector(".editContent");
title = gui.querySelector(".editTitle");
authorName = gui.querySelector(".editAuthorName");
authorLink = gui.querySelector(".editAuthorLink");
desc = gui.querySelector(".editDescription");
thumbLink = gui.querySelector(".editThumbnailLink");
imgLink = gui.querySelector(".editImageLink");
footerText = gui.querySelector(".editFooterText");
footerLink = gui.querySelector(".editFooterLink");
// Scroll into view when tabs are opened in the GUI.
const lastTabs = Array.from(document.querySelectorAll(".footer.rows2, .image.largeImg"));
const requiresView = matchMedia(`${smallerScreen.media}, (max-height: 845px)`);
const addGuiEventListeners = () => {
for (const e of document.querySelectorAll(".gui .item:not(.fields)"))
e.onclick = () => {
if (lastTabs.includes(e) || requiresView.matches) {
if (!reverseColumns || !smallerScreen.matches)
e.scrollIntoView({ behavior: "smooth", block: "center" });
else if (e.nextElementSibling.classList.contains("edit") && e.classList.contains("active"))
// e.nextElementSibling.scrollIntoView({ behavior: "smooth", block: "end" });
e.parentNode.scrollTop = e.offsetTop;
}
};
for (const e of document.querySelectorAll(".addField"))
e.onclick = () => {
const guiEmbed = e.closest(".guiEmbed");
const indexOfGuiEmbed = Array.from(gui.querySelectorAll(".guiEmbed")).indexOf(guiEmbed);
if (indexOfGuiEmbed === -1) return error("Could not find the embed to add the field to.");
const fieldsObj = (jsonObject.embeds[indexOfGuiEmbed] ??= {}).fields ??= [];
if (fieldsObj.length >= 25) return error("Cannot have more than 25 fields");
fieldsObj.push({ name: "Field name", value: "Field value", inline: false });
const newField = guiEmbed?.querySelector(".item.fields+.edit>.fields")?.appendChild(fieldFragment.firstChild.cloneNode(true));
buildEmbed();
addGuiEventListeners();
newField.scrollIntoView({ behavior: "smooth", block: "center" });
if (!smallerScreen.matches) {
const firstFieldInput = newField.querySelector(".designerFieldName input");
firstFieldInput?.setSelectionRange(firstFieldInput.value.length, firstFieldInput.value.length);
firstFieldInput?.focus();
}
};
for (const e of document.querySelectorAll(".fields .field .removeBtn"))
e.onclick = () => {
const embedIndex = guiEmbedIndex(e);
const fieldIndex = Array.from(e.closest(".fields").children).indexOf(e.closest(".field"));
if (jsonObject.embeds[embedIndex]?.fields[fieldIndex] === -1)
return error("Failed to find the index of the field to remove.");
jsonObject.embeds[embedIndex].fields.splice(fieldIndex, 1);
buildEmbed();
e.closest(".field").remove();
};
for (const e of gui.querySelectorAll("textarea, input"))
e.oninput = el => {
const value = el.target.value;
const index = guiEmbedIndex(el.target);
const field = el.target.closest(".field");
const fields = field?.closest(".fields");
const embedObj = jsonObject.embeds[index] ??= {};
if (field) {
console.log(field)
const fieldIndex = Array.from(fields.children).indexOf(field);
const jsonField = embedObj.fields[fieldIndex];
const embedFields = document.querySelectorAll(".container>.embed")[index]?.querySelector(".embedFields");
if (jsonField) {
if (el.target.type === "text") jsonField.name = value;
else if (el.target.type === "textarea") jsonField.value = value;
else jsonField.inline = el.target.checked;
createEmbedFields(embedObj.fields, embedFields);
}
} else {
switch (el.target.classList?.[0]) {
case "editSenderUsername":
if (value) {
document.querySelector(".username").textContent = value;
if (autoParams) {
urlOptions({ set: ["username", value] });
}
document.querySelector(".msgEmbed > .contents").classList.remove("verified");
} else {
document.querySelector(".username").textContent = options.username;
if (autoParams) {
urlOptions({ remove: "username" });
}
if (options.verified && !document.querySelector(".editSenderAvatar").value) {
document.querySelector(".msgEmbed > .contents").classList.add("verified");
}
}
break;
case "editSenderAvatar":
if (value) {
imgSrc(el.target.previousElementSibling, value);
imgSrc(document.querySelector(".avatar"), value);
if (autoParams) {
urlOptions({ set: ["avatar", value] });
}
document.querySelector(".msgEmbed > .contents").classList.remove("verified");
} else {
imgSrc(el.target.previousElementSibling, options.avatar);
imgSrc(document.querySelector(".avatar"), options.avatar);
if (autoParams) {
urlOptions({ remove: "avatar" });
}
if (options.verified && !document.querySelector(".editSenderUsername").value) {
document.querySelector(".msgEmbed > .contents").classList.add("verified");
}
}
break;
case "editContent":
jsonObject.content = value;
buildEmbed({ only: "content" });
break;
case "editTitle":
embedObj.title = value;
const guiEmbedName = el.target.closest(".guiEmbed")?.previousElementSibling;
if (guiEmbedName?.classList.contains("guiEmbedName"))
guiEmbedName.querySelector(".text").innerHTML = `${guiEmbedName.innerText.split(":")[0]}${value ? `: <span>${value}</span>` : ""}`;
buildEmbed({ only: "embedTitle", index: guiEmbedIndex(el.target) });
break;
case "editAuthorName":
embedObj.author ??= {}, embedObj.author.name = value;
buildEmbed({ only: "embedAuthorName", index: guiEmbedIndex(el.target) });
break;
case "editAuthorLink": embedObj.author ??= {}, embedObj.author.icon_url = value;
imgSrc(el.target.previousElementSibling, value);
buildEmbed({ only: "embedAuthorLink", index: guiEmbedIndex(el.target) });
break;
case "editDescription": embedObj.description = value;
buildEmbed({ only: "embedDescription", index: guiEmbedIndex(el.target) });
break;
case "editThumbnailLink":
embedObj.thumbnail ??= {}, embedObj.thumbnail.url = value;
imgSrc(el.target.closest(".editIcon").querySelector(".imgParent"), value);
buildEmbed({ only: "embedThumbnail", index: guiEmbedIndex(el.target) });
break;
case "editImageLink":
embedObj.image ??= {}, embedObj.image.url = value;
imgSrc(el.target.closest(".editIcon").querySelector(".imgParent"), value);
buildEmbed({ only: "embedImageLink", index: guiEmbedIndex(el.target) });
break;
case "editFooterText":
embedObj.footer ??= {}, embedObj.footer.text = value;
buildEmbed({ only: "embedFooterText", index: guiEmbedIndex(el.target) });
break;
case "editFooterLink":
embedObj.footer ??= {}, embedObj.footer.icon_url = value;
imgSrc(el.target.previousElementSibling, value);
buildEmbed({ only: "embedFooterLink", index: guiEmbedIndex(el.target) });
break;
case "embedFooterTimestamp":
const date = new Date(value);
if (isNaN(date.getTime())) return error("Invalid date");
embedObj.timestamp = date;
el.target.parentElement.querySelector("svg>text").textContent = (date.getDate() + "").padStart(2, 0);
buildEmbed({ only: "embedFooterTimestamp", index: guiEmbedIndex(el.target) });
break;
}
// Find and filter out any empty objects ({}) in the embeds array as Discord doesn't like them.
const nonEmptyEmbedObjects = json.embeds?.filter(o => 0 in Object.keys(o));
if (nonEmptyEmbedObjects?.length)
json.embeds = nonEmptyEmbedObjects;
}
// Display embed elements hidden due to not having content. '.msgEmbed>.container' is embed container.
document.querySelectorAll(".msgEmbed>.container")[guiEmbedIndex(el.target)]?.querySelector(".emptyEmbed")?.classList.remove("emptyEmbed");
}
const uploadError = (message, browse, sleepTime) => {
browse.classList.remove("loading");
browse.classList.add("error");
const p = browse.parentElement.querySelector(".browse.error>p")
p.dataset.error = message;
setTimeout(() => {
browse.classList.remove("error");
delete p.dataset.error;
}, sleepTime ?? 7000);
}
for (const browse of document.querySelectorAll(".browse"))
browse.onclick = e => {
const formData = new FormData();
const fileInput = createElement({ "input": { type: "file", accept: "image/*" } });
const edit = browse.closest(".edit");
const expiration = 7 * 24 * 60 * 60;
fileInput.onchange = el => {
if (el.target.files[0].size > 32 * 1024 * 1024)
return uploadError("File is too large. Maximum size is 32 MB.", browse, 5000);
formData.append("expiration", expiration); // Expire after 7 days. Discord caches files.
formData.append("key", options.uploadKey || "93385e22b0619db73a5525140b13491c"); // Add your own key through the uploadKey option.
formData.append("image", el.target.files[0]);
// formData.append("name", ""); // Uses original file name if no "name" is not specified.
browse.classList.add("loading");
fetch("https://api.imgbb.com/1/upload", { method: "POST", body: formData })
.then(res => res.json())
.then(res => {
browse.classList.remove("loading");
if (!res.success) {
console.log("Upload failed:", res.data?.error || res.error?.message || res);
return uploadError(res.data?.error || res.error?.message || "Request failed. (Check dev-console)", browse);
}
imgSrc(edit.querySelector(".editIcon > .imgParent"), res.data.url);
const linkInput = edit.querySelector("input[type=text]");
const textInput = edit.querySelector("input[class$=Name], input[class$=Text]");
linkInput.value = res.data.url;
// focus on the next empty input if the field requires a name or text to display eg. footer or author.
!textInput?.value && textInput?.focus();
console.info(`${res.data.url} will be deleted in ${expiration / 60 / 60} hours. To delete it now, visit ${res.data.delete_url} and scroll down to find the delete button.`);
linkInput.dispatchEvent(new Event("input"));
}).catch(err => {
browse.classList.remove("loading");
error(`Request failed with error: ${err}`)
})
}
fileInput.click();
}
if (multiEmbeds && jsonObject.embeds.length > 1) {
for (const e of document.querySelectorAll(".guiEmbed"))
e.onclick = () => {
const guiEmbed = e.closest(".guiEmbed");
const indexOfGuiEmbed = Array.from(gui.querySelectorAll(".guiEmbed")).indexOf(guiEmbed);
if (indexOfGuiEmbed === -1) return error("Could not find the embed to add the field to.");
changeLastActiveGuiEmbed(indexOfGuiEmbed);
};
if (!jsonObject.embeds[lastActiveGuiEmbedIndex])
changeLastActiveGuiEmbed(
jsonObject.embeds[lastActiveGuiEmbedIndex - 1] ?
lastActiveGuiEmbedIndex - 1 :
jsonObject.embeds.length ? 0 : -1
);
} else {
changeLastActiveGuiEmbed(-1);
}
}
addGuiEventListeners();
let activeGuiEmbed;
if (opts?.guiEmbedIndex) {
activeGuiEmbed = Array.from(document.querySelectorAll(".gui .item.guiEmbedName"))[opts.guiEmbedIndex];
activeGuiEmbed?.classList.add("active");
activeGuiEmbed = activeGuiEmbed?.nextElementSibling;
}
if (opts?.activateClassNames)
for (const cName of opts.activateClassNames)
for (const e of document.getElementsByClassName(cName))
e.classList.add("active");
else if (opts?.guiTabs) {
const tabs = (opts.guiTabs.split?.(/, */) || opts.guiTabs).filter(item => item);
const bottomKeys = ["footer", "image"];
const topKeys = ["author", "content"];
// Deactivate the default activated GUI fields
for (const e of gui.querySelectorAll(".item:not(.guiEmbedName).active"))
e.classList.remove("active");
// Activate wanted GUI fields
if (tabs.length)
for (const e of document.querySelectorAll(`.${tabs.join(", .")}`))
e.classList.add("active");
// Autoscroll GUI to the bottom if necessary.
if (!tabs.some(item => topKeys.includes(item)) && tabs.some(item => bottomKeys.includes(item))) {
const gui2 = document.querySelector(".top .gui");
gui2.scrollTo({ top: gui2.scrollHeight });
}
}
else if (opts?.activate)
for (const clss of Array.from(opts.activate).map(el => el.className).map(clss => "." + clss.split(" ").slice(0, 2).join(".")))
for (const e of document.querySelectorAll(clss))
e.classList.add("active");
else for (const clss of document.querySelectorAll(".item.author, .item.description"))
clss.classList.add("active");
}
buildGui(jsonObject, { guiTabs });
gui.classList.remove("hidden");
fields = gui.querySelector(".fields ~ .edit .fields");
// Renders embed and message content.
buildEmbed = ({ jsonData, only, index = 0 } = {}) => {
if (jsonData) json = jsonData;
if (!jsonObject.embeds?.length) document.body.classList.add("emptyEmbed");
try {
// If there"s no message content, hide the message content HTML element.
if (!jsonObject.content) document.body.classList.add("emptyContent");
else {
// Update embed content in render
embedContent.innerHTML = markup(encodeHTML(jsonObject.content), { replaceEmojis: true });
document.body.classList.remove("emptyContent");
}
const embed = document.querySelectorAll(".container>.embed")[index];
const embedObj = jsonObject.embeds[index];
if (only && (!embed || !embedObj)) return buildEmbed();
switch (only) {
// If only updating the message content and nothing else, return here.
case "content": return externalParsing({ element: embedContent });
case "embedTitle":
const embedTitle = embed?.querySelector(".embedTitle");
if (!embedTitle) return buildEmbed();
if (!embedObj.title) hide(embedTitle);
else display(embedTitle, markup(`${embedObj.url ? '<a class="anchor" target="_blank" href="' + encodeHTML(url(embedObj.url)) + '">' + encodeHTML(embedObj.title) + '</a>' : encodeHTML(embedObj.title)}`, { replaceEmojis: true, inlineBlock: true }));
return externalParsing({ element: embedTitle });
case "embedAuthorName":
case "embedAuthorLink":
const embedAuthor = embed?.querySelector('.embedAuthor');
if (!embedAuthor) return buildEmbed();
if (!embedObj.author?.name) hide(embedAuthor);
else display(embedAuthor, `
${embedObj.author.icon_url ? '<img class="embedAuthorIcon embedAuthorLink" src="' + encodeHTML(url(embedObj.author.icon_url)) + '">' : ''}
${embedObj.author.url ? '<a class="embedAuthorNameLink embedLink embedAuthorName" href="' + encodeHTML(url(embedObj.author.url)) + '" target="_blank">' + encodeHTML(embedObj.author.name) + '</a>' : '<span class="embedAuthorName">' + encodeHTML(embedObj.author.name) + '</span>'}`, 'flex');
return externalParsing({ element: embedAuthor });
case "embedDescription":
const embedDescription = embed?.querySelector(".embedDescription");
if (!embedDescription) return buildEmbed();
if (!embedObj.description) hide(embedDescription);
else display(embedDescription, markup(encodeHTML(embedObj.description), { inEmbed: true, replaceEmojis: true }));
return externalParsing({ element: embedDescription });
case "embedThumbnail":
const embedThumbnailLink = embed?.querySelector(".embedThumbnailLink");
if (!embedThumbnailLink) return buildEmbed();
const pre = embed.querySelector(".embedGrid .markup pre");
if (embedObj.thumbnail?.url) {
embedThumbnailLink.src = embedObj.thumbnail.url;
embedThumbnailLink.parentElement.style.display = "block";
if (pre) pre.style.maxWidth = "90%";
} else {
hide(embedThumbnailLink.parentElement);
pre?.style.removeProperty("max-width");
}
return afterBuilding();
case "embedImage":
const embedImageLink = embed?.querySelector(".embedImageLink");
if (!embedImageLink) return buildEmbed();
if (!embedObj.image?.url) hide(embedImageLink.parentElement);
else embedImageLink.src = embedObj.image.url,
embedImageLink.parentElement.style.display = "block";
return afterBuilding();
case "embedFooterText":
case "embedFooterLink":
case "embedFooterTimestamp":
const embedFooter = embed?.querySelector(".embedFooter");
if (!embedFooter) return buildEmbed();
if (!embedObj.footer?.text) hide(embedFooter);
else display(embedFooter, `
${embedObj.footer.icon_url ? '<img class="embedFooterIcon embedFooterLink" src="' + encodeHTML(url(embedObj.footer.icon_url)) + '">' : ''}<span class="embedFooterText">
${encodeHTML(embedObj.footer.text)}
${embedObj.timestamp ? '<span class="embedFooterSeparator">•</span>' + encodeHTML(timestamp(embedObj.timestamp)) : ''}</span></div>`, 'flex');
return externalParsing({ element: embedFooter });
}
if (multiEmbeds) embedCont.innerHTML = "";
for (const embedObj of jsonObject.embeds) {
if (!allGood(embedObj)) continue;
if (!multiEmbeds) embedCont.innerHTML = "";
validationError = false;
const embedElement = embedCont.appendChild(embedFragment.firstChild.cloneNode(true));
const embedGrid = embedElement.querySelector(".embedGrid");
const msgEmbed = embedElement.querySelector(".msgEmbed");
const embedTitle = embedElement.querySelector(".embedTitle");
const embedDescription = embedElement.querySelector(".embedDescription");
const embedAuthor = embedElement.querySelector(".embedAuthor");
const embedFooter = embedElement.querySelector(".embedFooter");
const embedImage = embedElement.querySelector(".embedImage > img");
const embedThumbnail = embedElement.querySelector(".embedThumbnail > img");
const embedFields = embedElement.querySelector(".embedFields");
if (embedObj.title) display(embedTitle, markup(`${embedObj.url ? '<a class="anchor" target="_blank" href="' + encodeHTML(url(embedObj.url)) + '">' + encodeHTML(embedObj.title) + '</a>' : encodeHTML(embedObj.title)}`, { replaceEmojis: true, inlineBlock: true }));
else hide(embedTitle);
if (embedObj.description) display(embedDescription, markup(encodeHTML(embedObj.description), { inEmbed: true, replaceEmojis: true }));
else hide(embedDescription);
if (embedObj.color) embedGrid.closest(".embed").style.borderColor = (typeof embedObj.color === "number" ? "#" + embedObj.color.toString(16).padStart(6, "0") : embedObj.color);
else embedGrid.closest(".embed").style.removeProperty("border-color");
if (embedObj.author?.name) display(embedAuthor, `
${embedObj.author.icon_url ? '<img class="embedAuthorIcon embedAuthorLink" src="' + encodeHTML(url(embedObj.author.icon_url)) + '">' : ''}
${embedObj.author.url ? '<a class="embedAuthorNameLink embedLink embedAuthorName" href="' + encodeHTML(url(embedObj.author.url)) + '" target="_blank">' + encodeHTML(embedObj.author.name) + '</a>' : '<span class="embedAuthorName">' + encodeHTML(embedObj.author.name) + '</span>'}`, 'flex');
else hide(embedAuthor);
const pre = embedGrid.querySelector(".markup pre");
if (embedObj.thumbnail?.url) {
embedThumbnail.src = embedObj.thumbnail.url;
embedThumbnail.parentElement.style.display = "block";
if (pre) pre.style.maxWidth = "90%";
} else {
hide(embedThumbnail.parentElement);
if (pre) pre.style.removeProperty("max-width");
}
if (embedObj.image?.url)
embedImage.src = embedObj.image.url,
embedImage.parentElement.style.display = "block";
else hide(embedImage.parentElement);
if (embedObj.footer?.text) display(embedFooter, `
${embedObj.footer.icon_url ? '<img class="embedFooterIcon embedFooterLink" src="' + encodeHTML(url(embedObj.footer.icon_url)) + '">' : ''}<span class="embedFooterText">
${encodeHTML(embedObj.footer.text)}
${embedObj.timestamp ? '<span class="embedFooterSeparator">•</span>' + encodeHTML(timestamp(embedObj.timestamp)) : ''}</span></div>`, 'flex');
else if (embedObj.timestamp) display(embedFooter, `<span class="embedFooterText">${encodeHTML(timestamp(embedObj.timestamp))}</span></div>`, 'flex');
else hide(embedFooter);
if (embedObj.fields) createEmbedFields(embedObj.fields, embedFields);
else hide(embedFields);
document.body.classList.remove("emptyEmbed");
externalParsing();
if (embedElement.innerText.trim() || embedElement.querySelector(".embedGrid > [style*=display] img"))
embedElement.classList.remove("emptyEmbed");
else
embedElement.classList.add("emptyEmbed");
}
// Make sure that the embed has no text or any visible images such as custom emojis before hiding.
if (!multiEmbeds && !embedCont.innerText.trim() && !embedCont.querySelector(".embedGrid > [style*=display] img"))
document.body.classList.add("emptyEmbed");
afterBuilding()
} catch (e) {
console.error(e);
error(e);
}
}
editor.on("change", editor => {
// If the editor value is not set by the user, return.
if (JSON.stringify(json, null, 4) === editor.getValue()) return;
try {
// Autofill when " is typed on new line
const line = editor.getCursor().line;
const text = editor.getLine(line)
if (text.trim() === "") {
editor.replaceRange(text.trim() + ":", { line, ch: line.length });
editor.setCursor(line, text.length)
}
json = JSON.parse(editor.getValue());
const dataKeys = Object.keys(json);
if (dataKeys.length && !allJsonKeys.some(key => dataKeys.includes(key))) {
const usedKeys = dataKeys.filter(key => !allJsonKeys.includes(key));
if (usedKeys.length > 2)
return error(`'${usedKeys[0] + "', '" + usedKeys.slice(1, usedKeys.length - 1).join("', '")}', and '${usedKeys[usedKeys.length - 1]}' are invalid keys.`);
return error(`'${usedKeys.length == 2 ? usedKeys[0] + "' and '" + usedKeys[usedKeys.length - 1] + "' are invalid keys." : usedKeys[0] + "' is an invalid key."}`);
}
buildEmbed();
} catch (e) {
if (editor.getValue()) return;
document.body.classList.add("emptyEmbed");
embedContent.innerHTML = "";
}
});
const picker = new CP(document.querySelector(".picker"), state = { parent: document.querySelector(".cTop") });
picker.fire?.("change", toRGB("#41f097"));
const colors = document.querySelector(".colors");
const hexInput = colors?.querySelector(".hex>div input");
let typingHex = true, exit = false;
removePicker = () => {
if (exit) return exit = false;
if (typingHex) picker.enter();
else {
typingHex = false, exit = true;
colors.classList.remove("picking");
picker.exit();
}
}
document.querySelector(".colBack")?.addEventListener("click", () => {
picker.self.remove();
typingHex = false;
removePicker();
})
picker.on?.("exit", removePicker);
picker.on?.("enter", () => {
const embedIndex = multiEmbeds && lastActiveGuiEmbedIndex !== -1 ? lastActiveGuiEmbedIndex : 0;
if (jsonObject?.embeds[embedIndex]?.color) {
hexInput.value = jsonObject.embeds[embedIndex].color.toString(16).padStart(6, "0");
document.querySelector(".hex.incorrect")?.classList.remove("incorrect");
}
colors.classList.add("picking")
})
document.querySelectorAll(".color").forEach(e => e.addEventListener("click", el => {
const embedIndex = multiEmbeds && lastActiveGuiEmbedIndex !== -1 ? lastActiveGuiEmbedIndex : 0;
const embed = document.querySelectorAll(".msgEmbed .container>.embed")[embedIndex];
const embedObj = jsonObject.embeds[embedIndex] ??= {};
const color = el.target.closest(".color");
embedObj.color = toRGB(color.style.backgroundColor, false, true);
embed && (embed.style.borderColor = color.style.backgroundColor);
picker.source.style.removeProperty("background");
}))
hexInput?.addEventListener("focus", () => typingHex = true);
setTimeout(() => {
picker.on?.("change", function (r, g, b, a) {
const embedIndex = multiEmbeds && lastActiveGuiEmbedIndex !== -1 ? lastActiveGuiEmbedIndex : 0;
const embed = document.querySelectorAll(".msgEmbed .container>.embed")[embedIndex];
const embedObj = jsonObject.embeds[embedIndex];
picker.source.style.background = this.color(r, g, b);
embedObj.color = parseInt(this.color(r, g, b).slice(1), 16);
embed.style.borderColor = this.color(r, g, b);
hexInput.value = embedObj.color.toString(16).padStart(6, "0");
})
}, 1000)
document.querySelector(".timeText").innerText = timestamp();
for (const block of document.querySelectorAll(".markup pre > code"))
hljs.highlightBlock(block);
document.querySelector(".opt.gui").addEventListener("click", () => {
if (lastGuiJson && lastGuiJson !== JSON.stringify(json, null, 4))
buildGui();
lastGuiJson = false
activeFields = null;
document.body.classList.add("gui");
if (pickInGuiMode) {
pickInGuiMode = false;
togglePicker();
}
})
document.querySelector(".opt.json").addEventListener("click", () => {
const emptyEmbedIndex = indexOfEmptyGuiEmbed(false);
if (emptyEmbedIndex !== -1)
// Clicked GUI tab while a blank embed is added from GUI.
return error(gui.querySelectorAll(".item.guiEmbedName")[emptyEmbedIndex].innerText.split(":")[0] + " should not be empty.", "3s");
const jsonStr = JSON.stringify(json, null, 4);
lastGuiJson = jsonStr;
document.body.classList.remove("gui");
editor.setValue(jsonStr === "{}" ? "{\n\t\n}" : jsonStr);
editor.refresh();
editor.focus();
activeFields = document.querySelectorAll(".gui > .item.active");
if (document.querySelector("section.side1.low"))
togglePicker(true);
})
document.querySelector(".clear").addEventListener("click", () => {
json = {};
picker.source.style.removeProperty("background");
document.querySelector(".msgEmbed .container>.embed")?.remove();
buildEmbed();
buildGui();
const jsonStr = JSON.stringify(json, null, 4);
editor.setValue(jsonStr === "{}" ? "{\n\t\n}" : jsonStr);
for (const e of document.querySelectorAll(".gui .item"))
e.classList.add("active");
if (!smallerScreen.matches)
content.focus();
})
document.querySelector(".top-btn.menu")?.addEventListener("click", e => {
if (e.target.closest(".item.dataLink")) {
const data = encodeJson(json, true).replace(/(?<!data=[^=]+|=)=(&|$)/g, x => x === "=" ? "" : "&");
if (!window.chrome)
// With long text inside a `prompt` on Chromium based browsers, some text will be trimmed off and replaced with '...'.
return prompt("Here's the current URL with base64 embed data:", data);
// So, for the Chromium users, we copy to clipboard instead of showing a prompt.
try {
// Clipboard API might only work on HTTPS protocol.
navigator.clipboard.writeText(data);
} catch {
const input = document.body.appendChild(document.createElement("input"));
input.value = data;
input.select();
document.setSelectionRange(0, 50000);
document.execCommand("copy");
document.body.removeChild(input);
}
return alert("Copied to clipboard.");
}
if (e.target.closest(".item.download"))
return createElement({ a: { download: "embed" + ".json", href: "data:text/json;charset=utf-8," + encodeURIComponent(JSON.stringify(json, null, 4)) } }).click();
const input = e.target.closest(".item")?.querySelector("input");
if (input) input.checked = !input.checked;
if (e.target.closest(".item.auto")) {
autoUpdateURL = document.body.classList.toggle("autoUpdateURL");
if (autoUpdateURL) localStorage.setItem("autoUpdateURL", true);
else localStorage.removeItem("autoUpdateURL");
urlOptions({ set: ["data", encodeJson(json)] });
} else if (e.target.closest(".item.reverse")) {
reverse(reverseColumns);
reverseColumns = !reverseColumns;
toggleStored("reverseColumns");
} else if (e.target.closest(".item.noUser")) {
if (options.avatar) document.querySelector("img.avatar").src = options.avatar;
const noUser = document.body.classList.toggle("no-user");
if (autoParams) noUser ? urlOptions({ set: ["nouser", ""] }) : urlOptions({ remove: "nouser" });
toggleStored("noUser");
} else if (e.target.closest(".item.auto-params")) {
if (input.checked) localStorage.setItem("autoParams", true);
else localStorage.removeItem("autoParams");
autoParams = input.checked;
} else if (e.target.closest(".toggles>.item")) {
const win = input.closest(".item").classList[2];
if (input.checked) {
document.body.classList.remove(`no-${win}`);
localStorage.removeItem(`hide${win}`);
} else {
document.body.classList.add(`no-${win}`);
localStorage.setItem(`hide${win}`, true);
}
} else if (e.target.closest(".item.multi") && !noMultiEmbedsOption) {
multiEmbeds = !document.body.classList.toggle("single");
activeFields = document.querySelectorAll(".gui > .item.active");
if (autoParams) !multiEmbeds ? urlOptions({ set: ["single", ""] }) : urlOptions({ remove: "single" });
if (multiEmbeds) localStorage.setItem("multiEmbeds", true);
else {
localStorage.removeItem("multiEmbeds");
jsonObject.embeds = [jsonObject.embeds?.[0] || {}];
}
buildGui();
buildEmbed();
editor.setValue(JSON.stringify(json, null, 4));
}
e.target.closest(".top-btn")?.classList.toggle("active")
})
document.querySelectorAll(".img").forEach(e => {
if (e.nextElementSibling?.classList.contains("spinner-container"))
e.addEventListener("error", el => {
el.target.style.removeProperty("display");
el.target.nextElementSibling.style.display = "block";
})
})
let pickInGuiMode = false;
togglePicker = pickLater => {
colors.classList.toggle("display");
document.querySelector(".side1").classList.toggle("low");
if (pickLater) pickInGuiMode = true;
};
document.querySelector(".pickerToggle").addEventListener("click", () => togglePicker());
buildEmbed();
document.body.addEventListener("click", e => {
if (e.target.classList.contains("low") || (e.target.classList.contains("top") && colors.classList.contains("display")))
togglePicker();
})
// #0070ff, #5865f2
document.querySelector(".colors .hex>div")?.addEventListener("input", e => {
let inputValue = e.target.value;
if (inputValue.startsWith("#"))
e.target.value = inputValue.slice(1), inputValue = e.target.value;
if (inputValue.length !== 6 || !/^[a-zA-Z0-9]{6}$/g.test(inputValue))
return e.target.closest(".hex").classList.add("incorrect");
e.target.closest(".hex").classList.remove("incorrect");
const embedIndex = multiEmbeds && lastActiveGuiEmbedIndex !== -1 ? lastActiveGuiEmbedIndex : 0;
jsonObject.embeds[embedIndex].color = parseInt(inputValue, 16);
picker.fire?.("change", toRGB(inputValue));
buildEmbed();
})
if (onlyEmbed) document.querySelector(".side1")?.remove();
const menuMore = document.querySelector(".item.section .inner.more");
const menuSource = menuMore?.querySelector(".source");
if (!sourceOption) menuSource.remove();
if (menuMore.childElementCount < 2) menuMore?.classList.add("invisible");
if (menuMore.parentElement.childElementCount < 1) menuMore?.parentElement.classList.add("invisible");
document.querySelector(".top-btn.copy").addEventListener("click", e => {
const mark = e.target.closest(".top-btn.copy").querySelector(".mark"),
jsonData = JSON.stringify(json, null, 4),
next = () => {
mark?.classList.remove("hidden");
mark?.previousElementSibling?.classList.add("hidden");
setTimeout(() => {
mark?.classList.add("hidden");
mark?.previousElementSibling?.classList.remove("hidden");
}, 1500);
}
if (!navigator.clipboard?.writeText(jsonData).then(next).catch(err => console.log("Could not copy to clipboard: " + err.message))) {
const textarea = document.body.appendChild(document.createElement("textarea"));
textarea.value = jsonData;
textarea.select();
textarea.setSelectionRange(0, 50000);
document.execCommand("copy");
document.body.removeChild(textarea);
next();
}
});
});
// Don't assign to `jsonObject`, assign to `json` instead.
// `jsonObject` is used to store the final json object and used internally.
// Below is the getter and setter for `json` which formats the value properly into and out of `jsonObject`.
Object.defineProperty(window, "json", {
configurable: true,
// Getter to format `jsonObject` properly depending on options and other factors
// eg. using `embeds` or `embed` in output depending on `multiEmbeds` option.
get() {
const json = {};
if (jsonObject.content)
json.content = jsonObject.content;
// If `jsonObject.embeds` array is set and has content. Empty braces ({}) will be filtered as not content.
if (jsonObject.embeds?.length)
if (multiEmbeds) json.embeds = jsonObject.embeds.map(cleanEmbed);
else json.embed = cleanEmbed(jsonObject.embeds[0]);
return json;
},
// Setter for `json` which formats the value properly into `jsonObject`.
set(val) {
// Filter out items which are not objects and not empty objects.
const embedObjects = val.embeds?.filter(j => j.constructor === Object && 0 in Object.keys(j));
// Convert `embed` to `embeds` and delete `embed` or validate and use `embeds` if provided.
const embeds = val.embed ? [val.embed] : embedObjects?.length ? embedObjects : []
// Convert objects used as values to string and trim whitespace.
const content = val.content?.toString().trim();
jsonObject = {
...(content && { content }),
embeds: embeds.map(cleanEmbed),
};
buildEmbed();
buildGui();
},
});
// Props used to validate embed properties.
window.embedObjectsProps ??= {
author: ["name", "url", "icon_url",],
thumbnail: ["url", "proxy_url", "height", "width",],
image: ["url", "proxy_url", "height", "width",],
fields: { items: ["name", "value", "inline",], },
footer: ["text", "icon_url",],
}
function cleanEmbed(obj, recursing = false) {
if (!recursing)
// Remove all invalid properties from embed object.
for (const key in obj)
if (!embedKeys.includes(key))
delete obj[key];
else if (obj[key].constructor === Object) // Value is an object. eg. `author`
// Remove items that are not in the props of the current key.
for (const item in obj[key])
!embedObjectsProps[key].includes(item) && delete obj[key][item];
else if (obj[key].constructor === Array) // Value is an array. eg. `fields`
// Remove items that are not in the props of the current key.
for (const item of obj[key])
for (const i in item)
!embedObjectsProps[key].items.includes(i) && delete item[i];
// Remove empty properties from embed object.
for (const [key, val] of Object.entries(obj))
if (val === undefined || val.trim?.() === "")
// Remove the key if value is empty
delete obj[key];
else if (val.constructor === Object)
// Remove object (val) if it has no keys or recursively remove empty keys from objects.
(!Object.keys(val).length && delete obj[key]) || (obj[key] = cleanEmbed(val, true));
else if (val.constructor === Array)
// Remove array (val) if it has no keys or recursively remove empty keys from objects in array.
!val.length && delete obj[key] || (obj[key] = val.map(k => cleanEmbed(k, true)));
else
// If object isn't a string, boolean, number, array or object, convert it to string.
if (!["string", "boolean", "number"].includes(typeof val))
obj[key] = val.toString();
return obj;
}
</script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/toastr.min.css" rel="stylesheet" />
<style>
body #toast-container > div {
opacity: 1;
margin-top: 6px;
width: 500px !important;
}
</style>
<link href="https://cdn.jsdelivr.net/npm/choices.js/public/assets/styles/choices.min.css" rel="stylesheet" />
<style>
.choices {
width: 330px;
color: black;
}
.choices:not([data-type*=select-one]) .choices__item:not(.choices__item--choice) {
background-color: #2dce89 !important;
}
</style>
</head>
<body class="gui emptyEmbed">
<div class="main">
<section class="side1 noDisplay">
<div class="chooser needed" style="margin-left: 55px;">
<div class="back"></div>
<div class="top-btn" style="left: 20px;">
<a href="{{ url_for("base_blueprint.dashboard_guild", guild_id=guild.id, page="third-parties", third_party=name) if guild else url_for("third_parties_blueprint.third_parties", third_party=name) }}">
<svg title="back" version="1.1" x="0px" y="0px" viewBox="0 0 1000 1000" style="height: 30px;">
<g>
<polygon points="32.354,287.353 319.706,574.705 319.706,383.137 542.352,383.137 542.352,191.568 319.706,191.568 319.706,0" style="fill: #fff;" />
</g>
</svg>
</a>
</div>
<div class="gui opt">
<p>GUI</p>
</div>
<div class="json opt">
<p>JSON</p>
</div>
<div class="top-btn clear">
<svg title="clear everything" version="1.1" x="0px" y="0px" viewBox="0 0 1000 1000">
<g>
<path d="M740.4,401.4c-46-25.4-92.5-49.9-139.1-74.2c-36.3-18.9-73.3-19.2-110-0.9c-22,11-38.8,27.5-50.4,49.9c116.5,62,232.2,123.6,348.7,185.6c2.2-5.1,4.4-9.3,6-13.7C816.7,491.3,794.5,431.2,740.4,401.4z" style="fill: #fff;"></path>
<path d="M875.6,35.1c-9.2-12.8-21.9-20.4-37.2-23.8c-16.7-3.7-26.1,0.2-35,14.3c-53,84.6-106,169.2-159,253.8c-1.7,2.7-3.2,5.4-4.8,8.1c1,1.1,1.5,2,2.3,2.4c36.2,19.3,72.4,38.6,109.1,58.2c1.3-2.1,2-3.1,2.6-4.2c41.6-93.9,83.1-187.8,124.8-281.6C882.7,52.3,881.7,43.5,875.6,35.1z" style="fill: #fff;"></path>
<path d="M754.3,597.7c7.1-18.1-1.8-38.5-19.9-45.6c-18-7.2-38.5,1.7-45.6,19.8c-3.7,9.4-80.7,208.2-18.2,347.6c-29.6-0.3-76.3-7.1-141.9-31.8c-12.2-38-20.9-97.3,5.7-166.9c0,0-63.7,72.8-74.3,137.5c-13.7-6.6-28-13.8-43-21.8c-15-8.1-28.9-16-42-23.8c48.1-44.6,73.5-137.9,73.5-137.9c-43.3,60.6-97.5,86.2-135.9,97c-57.1-41.1-88.6-76.3-105.1-100.6c150.8-25,273.9-199.1,279.7-207.4c11.1-15.9,7.2-37.9-8.7-48.9c-15.9-11.2-37.8-7.2-49,8.7c-1.4,1.9-137.8,193.7-271.7,179.5c-10.4-1.1-21,2.5-28.6,10c-7.5,7.5-11.3,17.9-10.2,28.5c1.3,12.4,19.5,125.3,264.8,256.9C522.1,972.6,615.5,990,672.6,990c44.3,0,66.9-10.4,71.7-13c9.4-4.9,16-13.8,18.1-24.3c2.1-10.4-0.7-21.2-7.5-29.4C668.7,819.5,753.5,599.9,754.3,597.7z" style="fill: #fff;"></path>
</g>
</svg>
</div>
<div class="top-btn copy">
<svg version="1.1" x="0px" y="0px" viewBox="0 0 512 512" title="Copy JSON data">
<g>
<path fill="currentColor" d="M437.781,36.885C415.688,13.395,384.888,0.052,352.64,0H288c-60.623,0.095-111.219,46.301-116.8,106.667H160 C95.228,106.737,42.737,159.228,42.667,224v170.667C42.737,459.439,95.228,511.929,160,512h85.333 c64.772-0.071,117.263-52.561,117.333-117.333v-11.2c60.37-5.572,106.582-56.173,106.667-116.8V116.693 C469.376,87.041,458.089,58.492,437.781,36.885z M298.667,394.667c0,29.455-23.878,53.333-53.333,53.333H160 c-29.455,0-53.333-23.878-53.333-53.333V224c0-29.455,23.878-53.333,53.333-53.333h10.667v96 C170.737,331.439,223.228,383.929,288,384h10.667V394.667z M405.333,266.667C405.333,296.122,381.455,320,352,320h-64 c-29.455,0-53.333-23.878-53.333-53.333V117.333C234.667,87.878,258.545,64,288,64h53.333v21.333 C341.333,108.897,360.436,128,384,128h21.333V266.667z"></path>
</g>
</svg>
<svg fill="currentColor" viewBox="0 0 16 16" class="mark hidden">
<path d="M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022Z"></path>
</svg>
</div>
<div class="pickerToggle">
<svg version="1.1" x="0px" y="0px" viewBox="0 0 512 512">
<path style="fill:#D8D8DA;" d="M256,0C114.615,0,0,114.615,0,256s114.615,256,256,256s256-114.615,256-256S397.385,0,256,0z M256,336.842c-44.648,0-80.842-36.194-80.842-80.842s36.194-80.842,80.842-80.842s80.842,36.194,80.842,80.842 S300.648,336.842,256,336.842z"></path>
<path style="fill:#D4B6E6;" d="M282.947,188.632h220.076C485.09,122.726,441.507,67.394,383.64,34.044L229.053,188.632H282.947z"></path>
<path style="fill:#EBAFD1;" d="M229.053,188.632L383.639,34.044C346.068,12.39,302.482,0,256,0c-23.319,0-45.899,3.135-67.368,8.978 v220.075L229.053,188.632z"></path>
<path style="fill:#E07188;" d="M188.632,229.053V8.978C122.726,26.91,67.394,70.493,34.045,128.36l154.586,154.588V229.053z"></path>
<g>
<polygon style="fill:#D8D8DA;" points="188.632,229.053 229.053,188.633 282.947,188.633 282.947,188.632 229.053,188.632 "></polygon>
<polygon style="fill:#D8D8DA;" points="229.053,323.367 188.632,282.947 229.053,323.368 282.947,323.368 323.368,282.947 282.947,323.367 "></polygon>
</g>
<path style="fill:#B4D8F1;" d="M503.024,188.632H282.947v0.001h0.958l39.463,40.42L477.955,383.64 C499.611,346.068,512,302.482,512,256C512,232.681,508.865,210.099,503.024,188.632z"></path>
<path style="fill:#ACFFF4;" d="M323.368,282.947v220.075c65.905-17.932,121.238-61.517,154.586-119.382L323.368,229.053V282.947z"></path>
<path style="fill:#95D5A7;" d="M282.947,323.368L128.361,477.956C165.932,499.61,209.518,512,256,512 c23.319,0,45.899-3.135,67.368-8.977V282.947L282.947,323.368z"></path>
<path style="fill:#F8E99B;" d="M229.053,323.368H8.976C26.91,389.274,70.493,444.606,128.36,477.956l154.588-154.588H229.053z"></path>
<path style="fill:#EFC27B;" d="M188.632,282.947L34.045,128.36C12.389,165.932,0,209.518,0,256c0,23.319,3.135,45.901,8.976,67.368 h220.076L188.632,282.947z"></path>
<polygon style="fill:#D8D8DA;" points="283.905,188.633 282.947,188.633 323.368,229.053 "></polygon>
<path style="fill:#B681D5;" d="M503.024,188.632C485.09,122.726,441.507,67.394,383.64,34.044L256,161.684v26.947h26.947H503.024z"></path>
<path style="fill:#E592BF;" d="M383.639,34.044C346.068,12.39,302.482,0,256,0v161.684L383.639,34.044z"></path>
<path style="fill:#80CB93;" d="M256,350.316V512c23.319,0,45.899-3.135,67.368-8.977V282.947l-40.421,40.421L256,350.316z"></path>
<polygon style="fill:#F6E27D;" points="282.947,323.368 256,323.368 256,350.316 "></polygon>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
</svg>
</div>
<div class="top-btn menu">
<svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
<path d="M9.5 13a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm0-5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0z"/>
</svg>
<div class="box">
<div class="item normal dataLink">
<div class="icon">
<svg version="1.1" x="0" y="0" viewBox="0 0 24 24" height="16" width="16">
<g>
<path d="m17.47 11.293a1 1 0 1 0 1.414 1.414l1.544-1.544a5.368 5.368 0 0 0 -7.591-7.591l-1.544 1.544a1 1 0 1 0 1.414 1.414l1.544-1.544a3.368 3.368 0 1 1 4.763 4.763z" fill="#ffffff"></path>
<path d="m6.53 12.707a1 1 0 1 0 -1.414-1.414l-1.544 1.544a5.368 5.368 0 0 0 7.591 7.591l1.544-1.544a1 1 0 0 0 -1.414-1.414l-1.544 1.544a3.368 3.368 0 0 1 -4.763-4.763z" fill="#ffffff"></path>
<path d="m8.205 15.8a1 1 0 0 0 1.414 0l6.181-6.181a1 1 0 1 0 -1.414-1.414l-6.181 6.176a1 1 0 0 0 0 1.419z" fill="#ffffff"></path>
</g>
</svg>
</div>
<div>Get URL with data link</div>
</div>
<div class="item normal download">
<div class="icon">
<svg width="16" height="16" fill="currentColor" class="bi bi-file-earmark-arrow-down" viewBox="0 0 16 16">
<path d="M8.5 6.5a.5.5 0 0 0-1 0v3.793L6.354 9.146a.5.5 0 1 0-.708.708l2 2a.5.5 0 0 0 .708 0l2-2a.5.5 0 0 0-.708-.708L8.5 10.293V6.5z"/>
<path d="M14 14V4.5L9.5 0H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2zM9.5 3A1.5 1.5 0 0 0 11 4.5h2V14a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V2a1 1 0 0 1 1-1h5.5v2z"/>
</svg>
</div>
<div>Download as JSON file</div>
</div>
<div class="vs no-frame"></div>
<div class="item normal reverse">
<div class="icon">
<svg version="1.1" width="16" height="16" x="0" y="0" viewBox="0 0 20 20">
<g>
<g fill="#2b2a3d">
<path d="m14.6 8.6 1.4 1.4 4-4-4-4-1.4 1.4 1.6 1.6h-16.2v2h16.2z" fill="#ffffff"></path>
<path d="m5.4 11.4-1.4-1.4-4 4 4 4 1.4-1.4-1.6-1.6h16.2v-2h-16.2z" fill="#ffffff"></path>
</g>
</g>
</svg>
</div>
<div>Reverse editor and preview</div>
</div>
<div class="item normal noUser">
<div class="icon">
<svg width="16" height="16" fill="currentColor" class="bi bi-person-x-fill" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M1 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H1zm5-6a3 3 0 1 0 0-6 3 3 0 0 0 0 6zm6.146-2.854a.5.5 0 0 1 .708 0L14 6.293l1.146-1.147a.5.5 0 0 1 .708.708L14.707 7l1.147 1.146a.5.5 0 0 1-.708.708L14 7.707l-1.146 1.147a.5.5 0 0 1-.708-.708L13.293 7l-1.147-1.146a.5.5 0 0 1 0-.708z"></path>
</svg>
</div>
<div>Hide username and avatar</div>
</div>
<div class="item normal multi">
<div class="icon">
<svg version="1.1" x="0" y="0" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512" width="16" height="16">
<g>
<g fill="rgb(0,0,0)">
<path d="m423.414 476.379h-335.4485c-29.2016 0-52.9655-23.764-52.9655-52.965v-194.207c0-29.202 23.7639-52.966 52.9655-52.966h335.4485c29.201 0 52.965 23.764 52.965 52.966v194.207c0 29.201-23.764 52.965-52.965 52.965zm-335.4485-264.827c-9.728 0-17.6552 7.927-17.6552 17.655v194.207c0 9.728 7.9272 17.655 17.6552 17.655h335.4485c9.728 0 17.655-7.927 17.655-17.655v-194.207c0-9.728-7.927-17.655-17.655-17.655z" fill="#ffffff" data-original="#000000"></path>
<path d="m123.276 35h264.827c4.683 0 9.173 1.8601 12.484 5.1711s5.172 7.8016 5.172 12.4841c0 4.6824-1.861 9.1731-5.172 12.4841-3.311 3.3109-7.801 5.171-12.484 5.171h-264.827c-4.683 0-9.173-1.8601-12.484-5.171-3.311-3.311-5.171-7.8017-5.171-12.4841 0-4.6825 1.86-9.1731 5.171-12.4841s7.801-5.1711 12.484-5.1711z" fill="#ffffff"></path>
<path d="m87.9652 105.621h335.4488c4.682 0 9.173 1.86 12.484 5.171s5.171 7.802 5.171 12.484c0 4.683-1.86 9.173-5.171 12.484s-7.802 5.171-12.484 5.171h-335.4488c-4.6824 0-9.1731-1.86-12.4841-5.171-3.3109-3.311-5.171-7.801-5.171-12.484 0-4.682 1.8601-9.173 5.171-12.484 3.311-3.311 7.8017-5.171 12.4841-5.171z" fill="#ffffff"></path>
</g>
</g>
</svg>
</div>
<div>Multi-embeds</div>
</div>
<div class="vs no-frame"></div>
<div class="item normal auto-params no-frame">
<input id="auto" name="auto" autocomplete="off" type="checkbox">
<svg version="1.1" x="0" y="0" viewBox="0 0 512 512" width="16" height="16" fill="currentColor" style="display: none;">
<g>
<path d="M200,24a24,24,0,1,1-24,24A24,24,0,0,1,200,24ZM32,192a24,24,0,1,0,24-24A24,24,0,0,0,32,192Zm53-91a24,24,0,1,0,24-24A24,24,0,0,0,85,101Zm354.039,7.273A237.668,237.668,0,0,0,315.461,24.881a24,24,0,1,0-12.883,46.238,189.368,189.368,0,0,1,98.448,66.463A185.963,185.963,0,0,1,440,252.116C440,355.716,355.629,440,251.922,440a186.451,186.451,0,0,1-114.189-38.577,188.962,188.962,0,0,1-36.191-36.548L88,361.865v59.956a236.16,236.16,0,0,0,330.847-2.9,235.762,235.762,0,0,0,20.192-310.646ZM72,456V341.919l114.794,25.51a24,24,0,1,0,10.412-46.858l-144-32A24,24,0,0,0,24,312V456a24,24,0,0,0,48,0Z"></path>
</g>
</svg>
<div>Auto-update URL options</div>
</div>
<div class="item normal auto no-frame">
<input type="checkbox" id="auto" name="auto" autocomplete="off" class="hidden">
<!-- <div class="icon">
<svg version="1.1" x="0" y="0" viewBox="0 0 48 48" width="16" height="16">
<g>
<g>
<path d="m40.26 7.74a23 23 0 0 0 -29.26-2.74h.37a2 2 0 0 1 1.63.55c.9.92.53 2 .4 3.13a18.61 18.61 0 0 1 25.85 26l-1.34-1.34c-.2 1.74-.66 6-.77 7l7-.77-1.72-1.72a23 23 0 0 0 -2.16-30.11z" fill="#ffffff"></path>
<path d="m37.17 42.26a2 2 0 0 1 -2-2.22l.14-1.26a18.61 18.61 0 0 1 -25.93-26.3l1.45 1.45c.3-2.64-.05.5.78-7l-7 .78 1.66 1.65a23 23 0 0 0 31.81 32.81 6.29 6.29 0 0 1 -.91.09z" fill="#ffffff"></path>
<path d="m28 18h4l-4-4z" fill="#ffffff"></path>
<path d="m26 13h-9a2 2 0 0 0 -2 2v18a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2c0-14.55.08-13-.18-13h-5.82a1 1 0 0 1 -1-1c0-6.35 0-5.83 0-6zm-1 18h-6a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2zm0-4h-6a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2zm0-4h-6a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2z" fill="#ffffff"></path>
</g>
</g>
</svg>
</div> -->
<div>Auto-update data link in URL</div>
</div>
<div class="vs no-frame"></div>
<div class="item section toggle">
<div class="inner">
<div class="title">Toggle on or off</div>
<div class="toggles">
<div class="item pointer editor">
<input autocomplete="off" type="checkbox" checked="">
<span>Editor</span>
</div>
<div class="item pointer preview">
<input autocomplete="off" type="checkbox" checked="">
<span>Preview</span>
</div>
</div>
</div>
</div>
<div class="item section bottom">
<div class="inner more">
<div class="title">More</div>
<a class="source" target="_blank" href="https://github.com/Glitchii/embedbuilder/">Source Code</a>
</div>
</div>
</div>
</div>
</div>
<div class="top item">
<div class="gui">
<div class="item sender rows2">
<p class="ttle">Sender</p>
</div>
<div class="edit">
<div class="linkName">
<div class="editIcon">
<span class="imgParent"></span>
<input class="editSenderAvatar" type="text" placeholder="Avatar URL" autocomplete="off">
</div>
<div class="editName">
<input class="editSenderUsername" type="text" maxlength="80" placeholder="Sender username" autocomplete="off">
</div>
</div>
<div class="browse">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 64 64">
<g>
<path d="m23.414 21.414 6.586-6.586v29.172c0 1.104.896 2 2 2s2-.896 2-2v-29.172l6.586 6.586c.39.391.902.586 1.414.586s1.024-.195 1.414-.586c.781-.781.781-2.047 0-2.828l-10-10c-.78-.781-2.048-.781-2.828 0l-10 10c-.781.781-.781 2.047 0 2.828.78.781 2.048.781 2.828 0z" fill="#ffffff" data-original="#000000"></path>
<path d="m50 40c-1.104 0-2 .896-2 2v8c0 1.103-.897 2-2 2h-28c-1.103 0-2-.897-2-2v-8c0-1.104-.896-2-2-2s-2 .896-2 2v8c0 3.309 2.691 6 6 6h28c3.309 0 6-2.691 6-6v-8c0-1.104-.896-2-2-2z" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0">
<circle fill="#fff" stroke="none" cx="6" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 15 ; 0 -15; 0 15" repeatCount="indefinite" begin="0.1"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="30" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 10 ; 0 -10; 0 10" repeatCount="indefinite" begin="0.2"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="54" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 5 ; 0 -5; 0 5" repeatCount="indefinite" begin="0.3"></animateTransform>
</circle>
</svg>
<p></p>
</div>
</div>
<div class="item content">
<p class="ttle">Message content</p>
</div>
<div class="edit">
<textarea class="editContent" placeholder="Message content" maxlength="2000" autocomplete="off"></textarea>
</div>
<div class="item guiEmbedName ">
<span class="text">Embed 1</span>
<span class="icon">
<svg version="1.1" x="0" y="0" viewBox="0 0 24 24" width="16" height="16">
<g>
<g>
<path d="m7 7v12c0 .5522847.44771525 1 1 1h8c.5522847 0 1-.4477153 1-1v-12zm-1-2h12c.5522847 0 1 .44771525 1 1v13c0 1.6568542-1.3431458 3-3 3h-8c-1.65685425 0-3-1.3431458-3-3v-13c0-.55228475.44771525-1 1-1z" fill="#ffffff"></path>
<path d="m4 7c-.55228475 0-1-.44771525-1-1s.44771525-1 1-1h16c.5522847 0 1 .44771525 1 1s-.4477153 1-1 1z" fill="#ffffff"></path>
<path d="m10 4c-.55228475 0-1-.44771525-1-1s.44771525-1 1-1h4c.5522847 0 1 .44771525 1 1s-.4477153 1-1 1z" fill="#ffffff"></path>
<path d="m9 10c0-.55228475.44771525-1 1-1 .5522847 0 1 .44771525 1 1v6c0 .5522847-.4477153 1-1 1-.55228475 0-1-.4477153-1-1z" fill="#ffffff"></path>
<path d="m13 10c0-.55228475.4477153-1 1-1s1 .44771525 1 1v6c0 .5522847-.4477153 1-1 1s-1-.4477153-1-1z" fill="#ffffff"></path>
</g>
</g>
</svg>
</span>
</div>
<div class="guiEmbed">
<div class="item author rows2">
<p class="ttle">Author</p>
</div>
<div class="edit">
<div class="linkName">
<div class="editIcon">
<span class="imgParent"></span>
<input class="editAuthorLink" type="text" placeholder="Icon URL" autocomplete="off">
</div>
<div class="editName">
<input class="editAuthorName" type="text" maxlength="256" placeholder="Author name" autocomplete="off">
</div>
</div>
<div class="browse">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 64 64">
<g>
<path d="m23.414 21.414 6.586-6.586v29.172c0 1.104.896 2 2 2s2-.896 2-2v-29.172l6.586 6.586c.39.391.902.586 1.414.586s1.024-.195 1.414-.586c.781-.781.781-2.047 0-2.828l-10-10c-.78-.781-2.048-.781-2.828 0l-10 10c-.781.781-.781 2.047 0 2.828.78.781 2.048.781 2.828 0z" fill="#ffffff" data-original="#000000"></path>
<path d="m50 40c-1.104 0-2 .896-2 2v8c0 1.103-.897 2-2 2h-28c-1.103 0-2-.897-2-2v-8c0-1.104-.896-2-2-2s-2 .896-2 2v8c0 3.309 2.691 6 6 6h28c3.309 0 6-2.691 6-6v-8c0-1.104-.896-2-2-2z" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0">
<circle fill="#fff" stroke="none" cx="6" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 15 ; 0 -15; 0 15" repeatCount="indefinite" begin="0.1"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="30" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 10 ; 0 -10; 0 10" repeatCount="indefinite" begin="0.2"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="54" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 5 ; 0 -5; 0 5" repeatCount="indefinite" begin="0.3"></animateTransform>
</circle>
</svg>
<p></p>
</div>
</div>
<div class="item title">
<p class="ttle">Title</p>
</div>
<div class="edit">
<textarea class="editTitle" placeholder="Embed title" maxlength="256" autocomplete="off"></textarea>
</div>
<div class="item description">
<p class="ttle">Description</p>
</div>
<div class="edit">
<textarea class="editDescription" placeholder="Embed description" maxlength="2048" autocomplete="off"></textarea>
</div>
<div class="item fields">
<p class="ttle">Fields</p>
</div>
<div class="edit">
<div class="fields">
<div class="field">
<div class="fieldNumber"></div>
<div class="fieldInner">
<div class="designerFieldName">
<input type="text" placeholder="Field name" value="Field name" autocomplete="off" maxlength="256">
</div>
<div class="designerFieldValue">
<textarea placeholder="Field value" autocomplete="off" maxlength="1024">Field value</textarea>
</div>
</div>
<div class="inlineCheck">
<label>
<input type="checkbox" autocomplete="off">
<span>Inline</span>
</label>
</div>
<div class="removeBtn">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 329.26933 329">
<g>
<path d="m194.800781 164.769531 128.210938-128.214843c8.34375-8.339844 8.34375-21.824219 0-30.164063-8.339844-8.339844-21.824219-8.339844-30.164063 0l-128.214844 128.214844-128.210937-128.214844c-8.34375-8.339844-21.824219-8.339844-30.164063 0-8.34375 8.339844-8.34375 21.824219 0 30.164063l128.210938 128.214843-128.210938 128.214844c-8.34375 8.339844-8.34375 21.824219 0 30.164063 4.15625 4.160156 9.621094 6.25 15.082032 6.25 5.460937 0 10.921875-2.089844 15.082031-6.25l128.210937-128.214844 128.214844 128.214844c4.160156 4.160156 9.621094 6.25 15.082032 6.25 5.460937 0 10.921874-2.089844 15.082031-6.25 8.34375-8.339844 8.34375-21.824219 0-30.164063zm0 0" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<span>Remove</span>
</div>
</div>
</div>
<div class="addField">
<p>New Field</p>
<svg version="1.1" x="0" y="0" viewBox="0 0 477.867 477.867">
<g>
<g>
<g>
<path d="M392.533,0h-307.2C38.228,0.056,0.056,38.228,0,85.333v307.2c0.056,47.105,38.228,85.277,85.333,85.333h307.2 c47.105-0.056,85.277-38.228,85.333-85.333v-307.2C477.81,38.228,439.638,0.056,392.533,0z M443.733,392.533 c0,28.277-22.923,51.2-51.2,51.2h-307.2c-28.277,0-51.2-22.923-51.2-51.2v-307.2c0-28.277,22.923-51.2,51.2-51.2h307.2 c28.277,0,51.2,22.923,51.2,51.2V392.533z" fill="#ffffff" data-original="#000000"></path>
</g>
</g>
<g>
<g>
<path d="M324.267,221.867H256V153.6c0-9.426-7.641-17.067-17.067-17.067s-17.067,7.641-17.067,17.067v68.267H153.6 c-9.426,0-17.067,7.641-17.067,17.067S144.174,256,153.6,256h68.267v68.267c0,9.426,7.641,17.067,17.067,17.067 S256,333.692,256,324.267V256h68.267c9.426,0,17.067-7.641,17.067-17.067S333.692,221.867,324.267,221.867z" fill="#ffffff" data-original="#000000"></path>
</g>
</g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
<g></g>
</g>
</svg>
</div>
</div>
<div class="item thumbnail largeImg">
<p class="ttle">Thumbnail</p>
</div>
<div class="edit">
<div class="linkName">
<div class="editIcon">
<span class="imgParent"></span>
<div class="txtCol">
<input class="editThumbnailLink" type="text" placeholder="Thumbnail URL" autocomplete="off">
<div class="browse">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 64 64">
<g>
<path d="m23.414 21.414 6.586-6.586v29.172c0 1.104.896 2 2 2s2-.896 2-2v-29.172l6.586 6.586c.39.391.902.586 1.414.586s1.024-.195 1.414-.586c.781-.781.781-2.047 0-2.828l-10-10c-.78-.781-2.048-.781-2.828 0l-10 10c-.781.781-.781 2.047 0 2.828.78.781 2.048.781 2.828 0z" fill="#ffffff" data-original="#000000"></path>
<path d="m50 40c-1.104 0-2 .896-2 2v8c0 1.103-.897 2-2 2h-28c-1.103 0-2-.897-2-2v-8c0-1.104-.896-2-2-2s-2 .896-2 2v8c0 3.309 2.691 6 6 6h28c3.309 0 6-2.691 6-6v-8c0-1.104-.896-2-2-2z" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0">
<circle fill="#fff" stroke="none" cx="6" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 15 ; 0 -15; 0 15" repeatCount="indefinite" begin="0.1"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="30" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 10 ; 0 -10; 0 10" repeatCount="indefinite" begin="0.2"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="54" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 5 ; 0 -5; 0 5" repeatCount="indefinite" begin="0.3"></animateTransform>
</circle>
</svg>
<p></p>
</div>
</div>
</div>
</div>
</div>
<div class="item image largeImg">
<p class="ttle">Image</p>
</div>
<div class="edit">
<div class="linkName">
<div class="editIcon">
<span class="imgParent"></span>
<div class="txtCol">
<input class="editImageLink" type="text" placeholder="Image URL" autocomplete="off">
<div class="browse">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 64 64">
<g>
<path d="m23.414 21.414 6.586-6.586v29.172c0 1.104.896 2 2 2s2-.896 2-2v-29.172l6.586 6.586c.39.391.902.586 1.414.586s1.024-.195 1.414-.586c.781-.781.781-2.047 0-2.828l-10-10c-.78-.781-2.048-.781-2.828 0l-10 10c-.781.781-.781 2.047 0 2.828.78.781 2.048.781 2.828 0z" fill="#ffffff" data-original="#000000"></path>
<path d="m50 40c-1.104 0-2 .896-2 2v8c0 1.103-.897 2-2 2h-28c-1.103 0-2-.897-2-2v-8c0-1.104-.896-2-2-2s-2 .896-2 2v8c0 3.309 2.691 6 6 6h28c3.309 0 6-2.691 6-6v-8c0-1.104-.896-2-2-2z" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0">
<circle fill="#fff" stroke="none" cx="6" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 15 ; 0 -15; 0 15" repeatCount="indefinite" begin="0.1"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="30" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 10 ; 0 -10; 0 10" repeatCount="indefinite" begin="0.2"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="54" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 5 ; 0 -5; 0 5" repeatCount="indefinite" begin="0.3"></animateTransform>
</circle>
</svg>
<p></p>
</div>
</div>
</div>
</div>
</div>
<div class="item footer rows2">
<p class="ttle">Footer</p>
</div>
<div class="edit">
<div class="linkName">
<div class="editIcon">
<span class="imgParent"></span>
<input class="editFooterLink" type="text" placeholder="Icon URL" autocomplete="off">
</div>
<div class="editName">
<input class="editFooterText" type="text" maxlength="2048" value="Footer text" placeholder="Footer text" autocomplete="off">
</div>
</div>
<div class="browse">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 64 64">
<g>
<path d="m23.414 21.414 6.586-6.586v29.172c0 1.104.896 2 2 2s2-.896 2-2v-29.172l6.586 6.586c.39.391.902.586 1.414.586s1.024-.195 1.414-.586c.781-.781.781-2.047 0-2.828l-10-10c-.78-.781-2.048-.781-2.828 0l-10 10c-.781.781-.781 2.047 0 2.828.78.781 2.048.781 2.828 0z" fill="#ffffff" data-original="#000000"></path>
<path d="m50 40c-1.104 0-2 .896-2 2v8c0 1.103-.897 2-2 2h-28c-1.103 0-2-.897-2-2v-8c0-1.104-.896-2-2-2s-2 .896-2 2v8c0 3.309 2.691 6 6 6h28c3.309 0 6-2.691 6-6v-8c0-1.104-.896-2-2-2z" fill="#ffffff" data-original="#000000"></path>
</g>
</svg>
<svg version="1.1" x="0px" y="0px" viewBox="0 0 100 100" enable-background="new 0 0 0 0">
<circle fill="#fff" stroke="none" cx="6" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 15 ; 0 -15; 0 15" repeatCount="indefinite" begin="0.1"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="30" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 10 ; 0 -10; 0 10" repeatCount="indefinite" begin="0.2"></animateTransform>
</circle>
<circle fill="#fff" stroke="none" cx="54" cy="50" r="6">
<animateTransform attributeName="transform" dur="1s" type="translate" values="0 5 ; 0 -5; 0 5" repeatCount="indefinite" begin="0.3"></animateTransform>
</circle>
</svg>
<p></p>
</div>
<div class="footerDate">
<svg width="16" height="16" fill="currentColor" class="bi bi-calendar-date" viewBox="0 0 16 16">
<text y="12" x="3"></text>
<!-- <path d="M6.445 11.688V6.354h-.633A12.6 12.6 0 0 0 4.5 7.16v.695c.375-.257.969-.62 1.258-.777h.012v4.61h.675zm1.188-1.305c.047.64.594 1.406 1.703 1.406 1.258 0 2-1.066 2-2.871 0-1.934-.781-2.668-1.953-2.668-.926 0-1.797.672-1.797 1.809 0 1.16.824 1.77 1.676 1.77.746 0 1.23-.376 1.383-.79h.027c-.004 1.316-.461 2.164-1.305 2.164-.664 0-1.008-.45-1.05-.82h-.684zm2.953-2.317c0 .696-.559 1.18-1.184 1.18-.601 0-1.144-.383-1.144-1.2 0-.823.582-1.21 1.168-1.21.633 0 1.16.398 1.16 1.23z"></path> -->
<path d="M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5zM1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4H1z"></path>
</svg>
<p></p>
<input class="embedFooterTimestamp" type="datetime-local" name="timestamp" id="timestamp" autocomplete="off">
</div>
</div>
</div>
<div class="guiEmbedAdd pointer">
<div class="icon">
<svg width="16" height="16" fill="currentColor" viewBox="0 0 16 16">
<path fill-rule="evenodd" d="M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z"></path>
</svg>
</div>
<div class="text">Add Embed</div>
</div>
</div>
<div class="editorHolder"></div>
</div>
<div class="bottom item needed">
<div class="colors high">
<div class="hex">
<div>
<span>
<span>#</span>
<input placeholder="Hex code" autocomplete="off">
</span>
</div>
</div>
<div class="col colLeft">
<div class="picker">
<svg version="1.1" x="0" y="0" viewBox="0 0 390.954 390.955">
<g>
<g>
<g>
<path d="M377.314,27.704C360.761,0.494,325.283-8.145,298.076,8.41l-52.561,31.977l-3.607-5.932 c-10.484-17.229-32.947-22.7-50.179-12.218C174.5,32.72,169.032,55.184,179.512,72.415l7.162,11.771L60.314,161.652 c-11.612,7.065-30.483,32.364-35.989,39.95c-2.97,4.09-3.191,9.563-0.565,13.881l24.784,40.738 c2.627,4.317,7.591,6.637,12.587,5.88c9.269-1.402,40.41-6.529,52.024-13.596l126.357-77.467l7.161,11.771 c10.481,17.229,32.946,22.7,50.178,12.217c17.229-10.481,22.699-32.946,12.217-50.177l-3.607-5.93l52.561-31.978 C385.229,90.389,393.868,54.912,377.314,27.704z M100.124,227.084l-0.694-59.882l85.469-52.59 c0.715,8.641,3.392,17.25,8.204,25.161c4.812,7.911,11.229,14.245,18.571,18.853L100.124,227.084z" fill="#ffffff"></path>
<path d="M52.666,276.584c-1.823-1.458-4.413-1.459-6.238-0.003C44.745,277.922,5.23,309.82,5.23,343.554 c0,27.909,18.223,47.4,44.314,47.4c26.836,0,46.314-19.936,46.314-47.4C95.859,311.472,54.43,277.995,52.666,276.584z M55.582,378.402c-0.414,0.104-0.829,0.155-1.237,0.155c-2.231,0-4.266-1.506-4.842-3.769c-0.68-2.672,0.931-5.389,3.6-6.075 c0.915-0.241,20.916-5.754,20.913-25.823c0-2.762,2.237-5,4.999-5.001c2.762,0,5.001,2.238,5.001,4.999 C84.02,365.254,65.417,375.898,55.582,378.402z" fill="#ffffff"></path>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</g>
</svg>
</div>
<div class="color" style="background: #2ecc71"></div>
</div>
<div class="col colRight">
<div class="colBack">
<svg version="1.1" width="512" height="512" x="0" y="0" viewBox="0 0 512 512">
<g>
<g>
<path d="m377 91h-362c-8.291 0-15 6.709-15 15v30c0 8.291 6.709 15 15 15h362c41.353 0 75 33.647 75 75s-33.647 75-75 75h-121v-45c0-5.742-3.281-10.986-8.452-13.491s-11.323-1.846-15.85 1.714l-94.995 75c-3.604 2.842-5.698 7.192-5.698 11.777s2.095 8.936 5.698 11.777l94.995 75c4.554 3.569 10.688 4.222 15.85 1.714 5.171-2.504 8.452-7.749 8.452-13.491v-45h121c74.443 0 135-60.557 135-135s-60.557-135-135-135z" fill="currentColor"></path>
</g>
</g>
</svg>
</div>
<div class="cTop">
<h2><span class="embedText">Embed <span class="pointer"></span></span> Color</h2>
<p class="desc">Pick the embed color</p>
</div>
<div class="pallets">
<div class="color" class="color" style="background: #00bb9c"></div>
<div class="color" style="background: #00cb74"></div>
<div class="color" style="background: #0098d9"></div>
<div class="color" style="background: #a05bb4"></div>
<div class="color" style="background: #f52565"></div>
<div class="color" style="background: #f6c42f"></div>
<div class="color" style="background: #ef7f31"></div>
<div class="color" style="background: #f24e43"></div>
<div class="color" style="background: #93a5a6"></div>
<div class="color" style="background: #5c7d8a"></div>
<div class="color" style="background: #00806a"></div>
<div class="color" style="background: #008a4e"></div>
</div>
</div>
</div>
{% if send_form %}
<div class="sending high">
<div style="margin-top: 5px;">
{{ send_form|safe }}
</div>
</div>
{% endif %}
</div>
</section>
<section class="side2">
<div class="msgEmbed">
<div class="contents">
<img src="https://cdn.discordapp.com/embed/avatars/1.png" class="avatar" alt=" " />
<h2>
<span class="username" role="button">Discord Bot</span>
<span class="botTag">
<svg aria-label="Verified bot" class="botTagVerified" aria-hidden="false" width="16" height="16" viewBox="0 0 16 15.2">
<path d="M7.4,11.17,4,8.62,5,7.26l2,1.53L10.64,4l1.36,1Z" fill="currentColor"></path>
</svg>
<span class="botText">APP</span>
</span>
<span class="timeText"></span>
</h2>
</div>
<div class="markup messageContent"></div>
<div class="container">
<div class="embed markup">
<div class="embedGrid">
<div class="embedAuthor embedMargin"></div>
<div class="embedTitle embedMargin"></div>
<div class="embedDescription embedMargin"></div>
<div class="embedFields"></div>
<div class="imageWrapper clickable embedMedia embedImage">
<img class="img embedImageLink" onload="this.nextElementSibling?.style.removeProperty('display');" />
<div class="spinner-container" style="display: block;">
<span class="spinner">
<span class="inner">
<span class="wanderingCubesItem"></span>
<span class="wanderingCubesItem"></span>
</span>
</span>
</div>
</div>
<div class="imageWrapper clickable embedThumbnail">
<img class="img embedThumbnailLink" onload="this.nextElementSibling?.style.removeProperty('display');" />
<div class="spinner-container" style="display: block;">
<span class="spinner">
<span class="inner">
<span class="wanderingCubesItem"></span>
<span class="wanderingCubesItem"></span>
</span>
</span>
</div>
</div>
<div class="embedFooter embedMargin"></div>
</div>
</div>
</div>
<div class="emptyTxt">NOTHING HERE</div>
</div>
<div class="bottomSide">
<div class="notification">There is an error</div>
</div>
</section>
</div>
<input type="hidden" value>
{% include "includes/scripts.html" %}
<script>
{% if send_form %}
document.querySelector("input[type=search].choices__input").placeholder = "Choose destination(s)...";
{% endif %}
</script>
</body>
</html>