This filter is documented in wp-includes/formatting.php */ $cdn_url = apply_filters( 'emoji_url', 'https://s.w.org/images/core/emoji/13.0.1/72x72/' ); /** This filter is documented in wp-includes/formatting.php */ $ext = apply_filters( 'emoji_ext', '.png' ); $output = ''; /* * HTML loop taken from smiley function, which was taken from texturize function. * It'll never be consolidated. * * First, capture the tags as well as in between. */ $textarr = preg_split( '/(<.*>)/U', $text, -1, PREG_SPLIT_DELIM_CAPTURE ); $stop = count( $textarr ); // Ignore processing of specific tags. $tags_to_ignore = 'code|pre|style|script|textarea'; $ignore_block_element = ''; for ( $i = 0; $i < $stop; $i++ ) { $content = $textarr[ $i ]; // If we're in an ignore block, wait until we find its closing tag. if ( '' === $ignore_block_element && preg_match( '/^<(' . $tags_to_ignore . ')>/', $content, $matches ) ) { $ignore_block_element = $matches[1]; } // If it's not a tag and not in ignore block. if ( '' === $ignore_block_element && strlen( $content ) > 0 && '<' !== $content[0] && false !== strpos( $content, '' ) ) { foreach ( $possible_emoji as $emojum => $emoji_char ) { if ( false === strpos( $content, $emojum ) ) { continue; } $file = str_replace( ';', '-', $emojum ); $file = str_replace( array( '', ';' ), '', $file ); $entity = sprintf( '', $cdn_url . $file . $ext, $emoji_char ); $content = str_replace( $emojum, $entity, $content ); } } // Did we exit ignore block? if ( '' !== $ignore_block_element && '' . $ignore_block_element . '>' === $content ) { $ignore_block_element = ''; } $output .= $content; } // Finally, remove any stray U+FE0F characters. $output = str_replace( '️', '', $output ); return $output; } /** * Convert emoji in emails into static images. * * @since 4.2.0 * * @param array $mail The email data array. * @return array The email data array, with emoji in the message staticized. */ function wp_staticize_emoji_for_email( $mail ) { if ( ! isset( $mail['message'] ) ) { return $mail; } /* * We can only transform the emoji into images if it's a text/html email. * To do that, here's a cut down version of the same process that happens * in wp_mail() - get the Content-Type from the headers, if there is one, * then pass it through the wp_mail_content_type filter, in case a plugin * is handling changing the Content-Type. */ $headers = array(); if ( isset( $mail['headers'] ) ) { if ( is_array( $mail['headers'] ) ) { $headers = $mail['headers']; } else { $headers = explode( "\n", str_replace( "\r\n", "\n", $mail['headers'] ) ); } } foreach ( $headers as $header ) { if ( strpos( $header, ':' ) === false ) { continue; } // Explode them out. list( $name, $content ) = explode( ':', trim( $header ), 2 ); // Cleanup crew. $name = trim( $name ); $content = trim( $content ); if ( 'content-type' === strtolower( $name ) ) { if ( strpos( $content, ';' ) !== false ) { list( $type, $charset ) = explode( ';', $content ); $content_type = trim( $type ); } else { $content_type = trim( $content ); } break; } } // Set Content-Type if we don't have a content-type from the input headers. if ( ! isset( $content_type ) ) { $content_type = 'text/plain'; } /** This filter is documented in wp-includes/pluggable.php */ $content_type = apply_filters( 'wp_mail_content_type', $content_type ); if ( 'text/html' === $content_type ) { $mail['message'] = wp_staticize_emoji( $mail['message'] ); } return $mail; } /** * Returns arrays of emoji data. * * These arrays are automatically built from the regex in twemoji.js - if they need to be updated, * you should update the regex there, then run the `npm run grunt precommit:emoji` job. * * @since 4.9.0 * @access private * * @param string $type Optional. Which array type to return. Accepts 'partials' or 'entities', default 'entities'. * @return array An array to match all emoji that WordPress recognises. */ function _wp_emoji_list( $type = 'entities' ) { // Do not remove the START/END comments - they're used to find where to insert the arrays. // START: emoji arrays $entities = array( '👨❤️💋👨', '👩❤️💋👨', '👩❤️💋👩', '🏴', '🏴', '🏴', '👨🏻🤝👨🏼', '👨🏻🤝👨🏽', '👨🏻🤝👨🏾', '👨🏻🤝👨🏿', '👨🏼🤝👨🏻', '👨🏼🤝👨🏽', '👨🏼🤝👨🏾', '👨🏼🤝👨🏿', '👨🏽🤝👨🏻', '👨🏽🤝👨🏼', '👨🏽🤝👨🏾', '👨🏽🤝👨🏿', '👨🏾🤝👨🏻', '👨🏾🤝👨🏼', '👨🏾🤝👨🏽', '👨🏾🤝👨🏿', '👨🏿🤝👨🏻', '👨🏿🤝👨🏼', '👨🏿🤝👨🏽', '👨🏿🤝👨🏾', '👩🏻🤝👨🏼', '👩🏻🤝👨🏽', '👩🏻🤝👨🏾', '👩🏻🤝👨🏿', '👩🏻🤝👩🏼', '👩🏻🤝👩🏽', '👩🏻🤝👩🏾', '👩🏻🤝👩🏿', '👩🏼🤝👨🏻', '👩🏼🤝👨🏽', '👩🏼🤝👨🏾', '👩🏼🤝👨🏿', '👩🏼🤝👩🏻', '👩🏼🤝👩🏽', '👩🏼🤝👩🏾', '👩🏼🤝👩🏿', '👩🏽🤝👨🏻', '👩🏽🤝👨🏼', '👩🏽🤝👨🏾', '👩🏽🤝👨🏿', '👩🏽🤝👩🏻', '👩🏽🤝👩🏼', '👩🏽🤝👩🏾', '👩🏽🤝👩🏿', '👩🏾🤝👨🏻', '👩🏾🤝👨🏼', '👩🏾🤝👨🏽', '👩🏾🤝👨🏿', '👩🏾🤝👩🏻', '👩🏾🤝👩🏼', '👩🏾🤝👩🏽', '👩🏾🤝👩🏿', '👩🏿🤝👨🏻', '👩🏿🤝👨🏼', '👩🏿🤝👨🏽', '👩🏿🤝👨🏾', '👩🏿🤝👩🏻', '👩🏿🤝👩🏼', '👩🏿🤝👩🏽', '👩🏿🤝👩🏾', '🧑🏻🤝🧑🏻', '🧑🏻🤝🧑🏼', '🧑🏻🤝🧑🏽', '🧑🏻🤝🧑🏾', '🧑🏻🤝🧑🏿', '🧑🏼🤝🧑🏻', '🧑🏼🤝🧑🏼', '🧑🏼🤝🧑🏽', '🧑🏼🤝🧑🏾', '🧑🏼🤝🧑🏿', '🧑🏽🤝🧑🏻', '🧑🏽🤝🧑🏼', '🧑🏽🤝🧑🏽', '🧑🏽🤝🧑🏾', '🧑🏽🤝🧑🏿', '🧑🏾🤝🧑🏻', '🧑🏾🤝🧑🏼', '🧑🏾🤝🧑🏽', '🧑🏾🤝🧑🏾', '🧑🏾🤝🧑🏿', '🧑🏿🤝🧑🏻', '🧑🏿🤝🧑🏼', '🧑🏿🤝🧑🏽', '🧑🏿🤝🧑🏾', '🧑🏿🤝🧑🏿', '👨👨👦👦', '👨👨👧👦', '👨👨👧👧', '👨👩👦👦', '👨👩👧👦', '👨👩👧👧', '👩👩👦👦', '👩👩👧👦', '👩👩👧👧', '👨❤️👨', '👩❤️👨', '👩❤️👩', '👨👦👦', '👨👧👦', '👨👧👧', '👨👨👦', '👨👨👧', '👨👩👦', '👨👩👧', '👩👦👦', '👩👧👦', '👩👧👧', '👩👩👦', '👩👩👧', '🧑🤝🧑', '🏃🏻♀️', '🏃🏻♂️', '🏃🏼♀️', '🏃🏼♂️', '🏃🏽♀️', '🏃🏽♂️', '🏃🏾♀️', '🏃🏾♂️', '🏃🏿♀️', '🏃🏿♂️', '🏄🏻♀️', '🏄🏻♂️', '🏄🏼♀️', '🏄🏼♂️', '🏄🏽♀️', '🏄🏽♂️', '🏄🏾♀️', '🏄🏾♂️', '🏄🏿♀️', '🏄🏿♂️', '🏊🏻♀️', '🏊🏻♂️', '🏊🏼♀️', '🏊🏼♂️', '🏊🏽♀️', '🏊🏽♂️', '🏊🏾♀️', '🏊🏾♂️', '🏊🏿♀️', '🏊🏿♂️', '🏋🏻♀️', '🏋🏻♂️', '🏋🏼♀️', '🏋🏼♂️', '🏋🏽♀️', '🏋🏽♂️', '🏋🏾♀️', '🏋🏾♂️', '🏋🏿♀️', '🏋🏿♂️', '🏌🏻♀️', '🏌🏻♂️', '🏌🏼♀️', '🏌🏼♂️', '🏌🏽♀️', '🏌🏽♂️', '🏌🏾♀️', '🏌🏾♂️', '🏌🏿♀️', '🏌🏿♂️', '👨🏻⚕️', '👨🏻⚖️', '👨🏻✈️', '👨🏼⚕️', '👨🏼⚖️', '👨🏼✈️', '👨🏽⚕️', '👨🏽⚖️', '👨🏽✈️', '👨🏾⚕️', '👨🏾⚖️', '👨🏾✈️', '👨🏿⚕️', '👨🏿⚖️', '👨🏿✈️', '👩🏻⚕️', '👩🏻⚖️', '👩🏻✈️', '👩🏼⚕️', '👩🏼⚖️', '👩🏼✈️', '👩🏽⚕️', '👩🏽⚖️', '👩🏽✈️', '👩🏾⚕️', '👩🏾⚖️', '👩🏾✈️', '👩🏿⚕️', '👩🏿⚖️', '👩🏿✈️', '👮🏻♀️', '👮🏻♂️', '👮🏼♀️', '👮🏼♂️', '👮🏽♀️', '👮🏽♂️', '👮🏾♀️', '👮🏾♂️', '👮🏿♀️', '👮🏿♂️', '👰🏻♀️', '👰🏻♂️', '👰🏼♀️', '👰🏼♂️', '👰🏽♀️', '👰🏽♂️', '👰🏾♀️', '👰🏾♂️', '👰🏿♀️', '👰🏿♂️', '👱🏻♀️', '👱🏻♂️', '👱🏼♀️', '👱🏼♂️', '👱🏽♀️', '👱🏽♂️', '👱🏾♀️', '👱🏾♂️', '👱🏿♀️', '👱🏿♂️', '👳🏻♀️', '👳🏻♂️', '👳🏼♀️', '👳🏼♂️', '👳🏽♀️', '👳🏽♂️', '👳🏾♀️', '👳🏾♂️', '👳🏿♀️', '👳🏿♂️', '👷🏻♀️', '👷🏻♂️', '👷🏼♀️', '👷🏼♂️', '👷🏽♀️', '👷🏽♂️', '👷🏾♀️', '👷🏾♂️', '👷🏿♀️', '👷🏿♂️', '💁🏻♀️', '💁🏻♂️', '💁🏼♀️', '💁🏼♂️', '💁🏽♀️', '💁🏽♂️', '💁🏾♀️', '💁🏾♂️', '💁🏿♀️', '💁🏿♂️', '💂🏻♀️', '💂🏻♂️', '💂🏼♀️', '💂🏼♂️', '💂🏽♀️', '💂🏽♂️', '💂🏾♀️', '💂🏾♂️', '💂🏿♀️', '💂🏿♂️', '💆🏻♀️', '💆🏻♂️', '💆🏼♀️', '💆🏼♂️', '💆🏽♀️', '💆🏽♂️', '💆🏾♀️', '💆🏾♂️', '💆🏿♀️', '💆🏿♂️', '💇🏻♀️', '💇🏻♂️', '💇🏼♀️', '💇🏼♂️', '💇🏽♀️', '💇🏽♂️', '💇🏾♀️', '💇🏾♂️', '💇🏿♀️', '💇🏿♂️', '🕴🏻♀️', '🕴🏻♂️', '🕴🏼♀️', '🕴🏼♂️', '🕴🏽♀️', '🕴🏽♂️', '🕴🏾♀️', '🕴🏾♂️', '🕴🏿♀️', '🕴🏿♂️', '🕵🏻♀️', '🕵🏻♂️', '🕵🏼♀️', '🕵🏼♂️', '🕵🏽♀️', '🕵🏽♂️', '🕵🏾♀️', '🕵🏾♂️', '🕵🏿♀️', '🕵🏿♂️', '🙅🏻♀️', '🙅🏻♂️', '🙅🏼♀️', '🙅🏼♂️', '🙅🏽♀️', '🙅🏽♂️', '🙅🏾♀️', '🙅🏾♂️', '🙅🏿♀️', '🙅🏿♂️', '🙆🏻♀️', '🙆🏻♂️', '🙆🏼♀️', '🙆🏼♂️', '🙆🏽♀️', '🙆🏽♂️', '🙆🏾♀️', '🙆🏾♂️', '🙆🏿♀️', '🙆🏿♂️', '🙇🏻♀️', '🙇🏻♂️', '🙇🏼♀️', '🙇🏼♂️', '🙇🏽♀️', '🙇🏽♂️', '🙇🏾♀️', '🙇🏾♂️', '🙇🏿♀️', '🙇🏿♂️', '🙋🏻♀️', '🙋🏻♂️', '🙋🏼♀️', '🙋🏼♂️', '🙋🏽♀️', '🙋🏽♂️', '🙋🏾♀️', '🙋🏾♂️', '🙋🏿♀️', '🙋🏿♂️', '🙍🏻♀️', '🙍🏻♂️', '🙍🏼♀️', '🙍🏼♂️', '🙍🏽♀️', '🙍🏽♂️', '🙍🏾♀️', '🙍🏾♂️', '🙍🏿♀️', '🙍🏿♂️', '🙎🏻♀️', '🙎🏻♂️', '🙎🏼♀️', '🙎🏼♂️', '🙎🏽♀️', '🙎🏽♂️', '🙎🏾♀️', '🙎🏾♂️', '🙎🏿♀️', '🙎🏿♂️', '🚣🏻♀️', '🚣🏻♂️', '🚣🏼♀️', '🚣🏼♂️', '🚣🏽♀️', '🚣🏽♂️', '🚣🏾♀️', '🚣🏾♂️', '🚣🏿♀️', '🚣🏿♂️', '🚴🏻♀️', '🚴🏻♂️', '🚴🏼♀️', '🚴🏼♂️', '🚴🏽♀️', '🚴🏽♂️', '🚴🏾♀️', '🚴🏾♂️', '🚴🏿♀️', '🚴🏿♂️', '🚵🏻♀️', '🚵🏻♂️', '🚵🏼♀️', '🚵🏼♂️', '🚵🏽♀️', '🚵🏽♂️', '🚵🏾♀️', '🚵🏾♂️', '🚵🏿♀️', '🚵🏿♂️', '🚶🏻♀️', '🚶🏻♂️', '🚶🏼♀️', '🚶🏼♂️', '🚶🏽♀️', '🚶🏽♂️', '🚶🏾♀️', '🚶🏾♂️', '🚶🏿♀️', '🚶🏿♂️', '🤦🏻♀️', '🤦🏻♂️', '🤦🏼♀️', '🤦🏼♂️', '🤦🏽♀️', '🤦🏽♂️', '🤦🏾♀️', '🤦🏾♂️', '🤦🏿♀️', '🤦🏿♂️', '🤵🏻♀️', '🤵🏻♂️', '🤵🏼♀️', '🤵🏼♂️', '🤵🏽♀️', '🤵🏽♂️', '🤵🏾♀️', '🤵🏾♂️', '🤵🏿♀️', '🤵🏿♂️', '🤷🏻♀️', '🤷🏻♂️', '🤷🏼♀️', '🤷🏼♂️', '🤷🏽♀️', '🤷🏽♂️', '🤷🏾♀️', '🤷🏾♂️', '🤷🏿♀️', '🤷🏿♂️', '🤸🏻♀️', '🤸🏻♂️', '🤸🏼♀️', '🤸🏼♂️', '🤸🏽♀️', '🤸🏽♂️', '🤸🏾♀️', '🤸🏾♂️', '🤸🏿♀️', '🤸🏿♂️', '🤹🏻♀️', '🤹🏻♂️', '🤹🏼♀️', '🤹🏼♂️', '🤹🏽♀️', '🤹🏽♂️', '🤹🏾♀️', '🤹🏾♂️', '🤹🏿♀️', '🤹🏿♂️', '🤽🏻♀️', '🤽🏻♂️', '🤽🏼♀️', '🤽🏼♂️', '🤽🏽♀️', '🤽🏽♂️', '🤽🏾♀️', '🤽🏾♂️', '🤽🏿♀️', '🤽🏿♂️', '🤾🏻♀️', '🤾🏻♂️', '🤾🏼♀️', '🤾🏼♂️', '🤾🏽♀️', '🤾🏽♂️', '🤾🏾♀️', '🤾🏾♂️', '🤾🏿♀️', '🤾🏿♂️', '🦸🏻♀️', '🦸🏻♂️', '🦸🏼♀️', '🦸🏼♂️', '🦸🏽♀️', '🦸🏽♂️', '🦸🏾♀️', '🦸🏾♂️', '🦸🏿♀️', '🦸🏿♂️', '🦹🏻♀️', '🦹🏻♂️', '🦹🏼♀️', '🦹🏼♂️', '🦹🏽♀️', '🦹🏽♂️', '🦹🏾♀️', '🦹🏾♂️', '🦹🏿♀️', '🦹🏿♂️', '🧍🏻♀️', '🧍🏻♂️', '🧍🏼♀️', '🧍🏼♂️', '🧍🏽♀️', '🧍🏽♂️', '🧍🏾♀️', '🧍🏾♂️', '🧍🏿♀️', '🧍🏿♂️', '🧎🏻♀️', '🧎🏻♂️', '🧎🏼♀️', '🧎🏼♂️', '🧎🏽♀️', '🧎🏽♂️', '🧎🏾♀️', '🧎🏾♂️', '🧎🏿♀️', '🧎🏿♂️', '🧏🏻♀️', '🧏🏻♂️', '🧏🏼♀️', '🧏🏼♂️', '🧏🏽♀️', '🧏🏽♂️', '🧏🏾♀️', '🧏🏾♂️', '🧏🏿♀️', '🧏🏿♂️', '🧑🏻⚕️', '🧑🏻⚖️', '🧑🏻✈️', '🧑🏼⚕️', '🧑🏼⚖️', '🧑🏼✈️', '🧑🏽⚕️', '🧑🏽⚖️', '🧑🏽✈️', '🧑🏾⚕️', '🧑🏾⚖️', '🧑🏾✈️', '🧑🏿⚕️', '🧑🏿⚖️', '🧑🏿✈️', '🧖🏻♀️', '🧖🏻♂️', '🧖🏼♀️', '🧖🏼♂️', '🧖🏽♀️', '🧖🏽♂️', '🧖🏾♀️', '🧖🏾♂️', '🧖🏿♀️', '🧖🏿♂️', '🧗🏻♀️', '🧗🏻♂️', '🧗🏼♀️', '🧗🏼♂️', '🧗🏽♀️', '🧗🏽♂️', '🧗🏾♀️', '🧗🏾♂️', '🧗🏿♀️', '🧗🏿♂️', '🧘🏻♀️', '🧘🏻♂️', '🧘🏼♀️', '🧘🏼♂️', '🧘🏽♀️', '🧘🏽♂️', '🧘🏾♀️', '🧘🏾♂️', '🧘🏿♀️', '🧘🏿♂️', '🧙🏻♀️', '🧙🏻♂️', '🧙🏼♀️', '🧙🏼♂️', '🧙🏽♀️', '🧙🏽♂️', '🧙🏾♀️', '🧙🏾♂️', '🧙🏿♀️', '🧙🏿♂️', '🧚🏻♀️', '🧚🏻♂️', '🧚🏼♀️', '🧚🏼♂️', '🧚🏽♀️', '🧚🏽♂️', '🧚🏾♀️', '🧚🏾♂️', '🧚🏿♀️', '🧚🏿♂️', '🧛🏻♀️', '🧛🏻♂️', '🧛🏼♀️', '🧛🏼♂️', '🧛🏽♀️', '🧛🏽♂️', '🧛🏾♀️', '🧛🏾♂️', '🧛🏿♀️', '🧛🏿♂️', '🧜🏻♀️', '🧜🏻♂️', '🧜🏼♀️', '🧜🏼♂️', '🧜🏽♀️', '🧜🏽♂️', '🧜🏾♀️', '🧜🏾♂️', '🧜🏿♀️', '🧜🏿♂️', '🧝🏻♀️', '🧝🏻♂️', '🧝🏼♀️', '🧝🏼♂️', '🧝🏽♀️', '🧝🏽♂️', '🧝🏾♀️', '🧝🏾♂️', '🧝🏿♀️', '🧝🏿♂️', '🏋️♀️', '🏋️♂️', '🏌️♀️', '🏌️♂️', '🏳️⚧️', '🕴️♀️', '🕴️♂️', '🕵️♀️', '🕵️♂️', '⛹🏻♀️', '⛹🏻♂️', '⛹🏼♀️', '⛹🏼♂️', '⛹🏽♀️', '⛹🏽♂️', '⛹🏾♀️', '⛹🏾♂️', '⛹🏿♀️', '⛹🏿♂️', '⛹️♀️', '⛹️♂️', '👨🏻🌾', '👨🏻🍳', '👨🏻🍼', '👨🏻🎄', '👨🏻🎓', '👨🏻🎤', '👨🏻🎨', '👨🏻🏫', '👨🏻🏭', '👨🏻💻', '👨🏻💼', '👨🏻🔧', '👨🏻🔬', '👨🏻🚀', '👨🏻🚒', '👨🏻🦯', '👨🏻🦰', '👨🏻🦱', '👨🏻🦲', '👨🏻🦳', '👨🏻🦼', '👨🏻🦽', '👨🏼🌾', '👨🏼🍳', '👨🏼🍼', '👨🏼🎄', '👨🏼🎓', '👨🏼🎤', '👨🏼🎨', '👨🏼🏫', '👨🏼🏭', '👨🏼💻', '👨🏼💼', '👨🏼🔧', '👨🏼🔬', '👨🏼🚀', '👨🏼🚒', '👨🏼🦯', '👨🏼🦰', '👨🏼🦱', '👨🏼🦲', '👨🏼🦳', '👨🏼🦼', '👨🏼🦽', '👨🏽🌾', '👨🏽🍳', '👨🏽🍼', '👨🏽🎄', '👨🏽🎓', '👨🏽🎤', '👨🏽🎨', '👨🏽🏫', '👨🏽🏭', '👨🏽💻', '👨🏽💼', '👨🏽🔧', '👨🏽🔬', '👨🏽🚀', '👨🏽🚒', '👨🏽🦯', '👨🏽🦰', '👨🏽🦱', '👨🏽🦲', '👨🏽🦳', '👨🏽🦼', '👨🏽🦽', '👨🏾🌾', '👨🏾🍳', '👨🏾🍼', '👨🏾🎄', '👨🏾🎓', '👨🏾🎤', '👨🏾🎨', '👨🏾🏫', '👨🏾🏭', '👨🏾💻', '👨🏾💼', '👨🏾🔧', '👨🏾🔬', '👨🏾🚀', '👨🏾🚒', '👨🏾🦯', '👨🏾🦰', '👨🏾🦱', '👨🏾🦲', '👨🏾🦳', '👨🏾🦼', '👨🏾🦽', '👨🏿🌾', '👨🏿🍳', '👨🏿🍼', '👨🏿🎄', '👨🏿🎓', '👨🏿🎤', '👨🏿🎨', '👨🏿🏫', '👨🏿🏭', '👨🏿💻', '👨🏿💼', '👨🏿🔧', '👨🏿🔬', '👨🏿🚀', '👨🏿🚒', '👨🏿🦯', '👨🏿🦰', '👨🏿🦱', '👨🏿🦲', '👨🏿🦳', '👨🏿🦼', '👨🏿🦽', '👩🏻🌾', '👩🏻🍳', '👩🏻🍼', '👩🏻🎄', '👩🏻🎓', '👩🏻🎤', '👩🏻🎨', '👩🏻🏫', '👩🏻🏭', '👩🏻💻', '👩🏻💼', '👩🏻🔧', '👩🏻🔬', '👩🏻🚀', '👩🏻🚒', '👩🏻🦯', '👩🏻🦰', '👩🏻🦱', '👩🏻🦲', '👩🏻🦳', '👩🏻🦼', '👩🏻🦽', '👩🏼🌾', '👩🏼🍳', '👩🏼🍼', '👩🏼🎄', '👩🏼🎓', '👩🏼🎤', '👩🏼🎨', '👩🏼🏫', '👩🏼🏭', '👩🏼💻', '👩🏼💼', '👩🏼🔧', '👩🏼🔬', '👩🏼🚀', '👩🏼🚒', '👩🏼🦯', '👩🏼🦰', '👩🏼🦱', '👩🏼🦲', '👩🏼🦳', '👩🏼🦼', '👩🏼🦽', '👩🏽🌾', '👩🏽🍳', '👩🏽🍼', '👩🏽🎄', '👩🏽🎓', '👩🏽🎤', '👩🏽🎨', '👩🏽🏫', '👩🏽🏭', '👩🏽💻', '👩🏽💼', '👩🏽🔧', '👩🏽🔬', '👩🏽🚀', '👩🏽🚒', '👩🏽🦯', '👩🏽🦰', '👩🏽🦱', '👩🏽🦲', '👩🏽🦳', '👩🏽🦼', '👩🏽🦽', '👩🏾🌾', '👩🏾🍳', '👩🏾🍼', '👩🏾🎄', '👩🏾🎓', '👩🏾🎤', '👩🏾🎨', '👩🏾🏫', '👩🏾🏭', '👩🏾💻', '👩🏾💼', '👩🏾🔧', '👩🏾🔬', '👩🏾🚀', '👩🏾🚒', '👩🏾🦯', '👩🏾🦰', '👩🏾🦱', '👩🏾🦲', '👩🏾🦳', '👩🏾🦼', '👩🏾🦽', '👩🏿🌾', '👩🏿🍳', '👩🏿🍼', '👩🏿🎄', '👩🏿🎓', '👩🏿🎤', '👩🏿🎨', '👩🏿🏫', '👩🏿🏭', '👩🏿💻', '👩🏿💼', '👩🏿🔧', '👩🏿🔬', '👩🏿🚀', '👩🏿🚒', '👩🏿🦯', '👩🏿🦰', '👩🏿🦱', '👩🏿🦲', '👩🏿🦳', '👩🏿🦼', '👩🏿🦽', '🧑🏻🌾', '🧑🏻🍳', '🧑🏻🍼', '🧑🏻🎄', '🧑🏻🎓', '🧑🏻🎤', '🧑🏻🎨', '🧑🏻🏫', '🧑🏻🏭', '🧑🏻💻', '🧑🏻💼', '🧑🏻🔧', '🧑🏻🔬', '🧑🏻🚀', '🧑🏻🚒', '🧑🏻🦯', '🧑🏻🦰', '🧑🏻🦱', '🧑🏻🦲', '🧑🏻🦳', '🧑🏻🦼', '🧑🏻🦽', '🧑🏼🌾', '🧑🏼🍳', '🧑🏼🍼', '🧑🏼🎄', '🧑🏼🎓', '🧑🏼🎤', '🧑🏼🎨', '🧑🏼🏫', '🧑🏼🏭', '🧑🏼💻', '🧑🏼💼', '🧑🏼🔧', '🧑🏼🔬', '🧑🏼🚀', '🧑🏼🚒', '🧑🏼🦯', '🧑🏼🦰', '🧑🏼🦱', '🧑🏼🦲', '🧑🏼🦳', '🧑🏼🦼', '🧑🏼🦽', '🧑🏽🌾', '🧑🏽🍳', '🧑🏽🍼', '🧑🏽🎄', '🧑🏽🎓', '🧑🏽🎤', '🧑🏽🎨', '🧑🏽🏫', '🧑🏽🏭', '🧑🏽💻', '🧑🏽💼', '🧑🏽🔧', '🧑🏽🔬', '🧑🏽🚀', '🧑🏽🚒', '🧑🏽🦯', '🧑🏽🦰', '🧑🏽🦱', '🧑🏽🦲', '🧑🏽🦳', '🧑🏽🦼', '🧑🏽🦽', '🧑🏾🌾', '🧑🏾🍳', '🧑🏾🍼', '🧑🏾🎄', '🧑🏾🎓', '🧑🏾🎤', '🧑🏾🎨', '🧑🏾🏫', '🧑🏾🏭', '🧑🏾💻', '🧑🏾💼', '🧑🏾🔧', '🧑🏾🔬', '🧑🏾🚀', '🧑🏾🚒', '🧑🏾🦯', '🧑🏾🦰', '🧑🏾🦱', '🧑🏾🦲', '🧑🏾🦳', '🧑🏾🦼', '🧑🏾🦽', '🧑🏿🌾', '🧑🏿🍳', '🧑🏿🍼', '🧑🏿🎄', '🧑🏿🎓', '🧑🏿🎤', '🧑🏿🎨', '🧑🏿🏫', '🧑🏿🏭', '🧑🏿💻', '🧑🏿💼', '🧑🏿🔧', '🧑🏿🔬', '🧑🏿🚀', '🧑🏿🚒', '🧑🏿🦯', '🧑🏿🦰', '🧑🏿🦱', '🧑🏿🦲', '🧑🏿🦳', '🧑🏿🦼', '🧑🏿🦽', '🏳️🌈', '🏃♀️', '🏃♂️', '🏄♀️', '🏄♂️', '🏊♀️', '🏊♂️', '🏴☠️', '🐻❄️', '👨⚕️', '👨⚖️', '👨✈️', '👩⚕️', '👩⚖️', '👩✈️', '👮♀️', '👮♂️', '👯♀️', '👯♂️', '👰♀️', '👰♂️', '👱♀️', '👱♂️', '👳♀️', '👳♂️', '👷♀️', '👷♂️', '💁♀️', '💁♂️', '💂♀️', '💂♂️', '💆♀️', '💆♂️', '💇♀️', '💇♂️', '🙅♀️', '🙅♂️', '🙆♀️', '🙆♂️', '🙇♀️', '🙇♂️', '🙋♀️', '🙋♂️', '🙍♀️', '🙍♂️', '🙎♀️', '🙎♂️', '🚣♀️', '🚣♂️', '🚴♀️', '🚴♂️', '🚵♀️', '🚵♂️', '🚶♀️', '🚶♂️', '🤦♀️', '🤦♂️', '🤵♀️', '🤵♂️', '🤷♀️', '🤷♂️', '🤸♀️', '🤸♂️', '🤹♀️', '🤹♂️', '🤼♀️', '🤼♂️', '🤽♀️', '🤽♂️', '🤾♀️', '🤾♂️', '🦸♀️', '🦸♂️', '🦹♀️', '🦹♂️', '🧍♀️', '🧍♂️', '🧎♀️', '🧎♂️', '🧏♀️', '🧏♂️', '🧑⚕️', '🧑⚖️', '🧑✈️', '🧖♀️', '🧖♂️', '🧗♀️', '🧗♂️', '🧘♀️', '🧘♂️', '🧙♀️', '🧙♂️', '🧚♀️', '🧚♂️', '🧛♀️', '🧛♂️', '🧜♀️', '🧜♂️', '🧝♀️', '🧝♂️', '🧞♀️', '🧞♂️', '🧟♀️', '🧟♂️', '🐕🦺', '👁🗨', '👨🌾', '👨🍳', '👨🍼', '👨🎄', '👨🎓', '👨🎤', '👨🎨', '👨🏫', '👨🏭', '👨👦', '👨👧', '👨💻', '👨💼', '👨🔧', '👨🔬', '👨🚀', '👨🚒', '👨🦯', '👨🦰', '👨🦱', '👨🦲', '👨🦳', '👨🦼', '👨🦽', '👩🌾', '👩🍳', '👩🍼', '👩🎄', '👩🎓', '👩🎤', '👩🎨', '👩🏫', '👩🏭', '👩👦', '👩👧', '👩💻', '👩💼', '👩🔧', '👩🔬', '👩🚀', '👩🚒', '👩🦯', '👩🦰', '👩🦱', '👩🦲', '👩🦳', '👩🦼', '👩🦽', '🧑🌾', '🧑🍳', '🧑🍼', '🧑🎄', '🧑🎓', '🧑🎤', '🧑🎨', '🧑🏫', '🧑🏭', '🧑💻', '🧑💼', '🧑🔧', '🧑🔬', '🧑🚀', '🧑🚒', '🧑🦯', '🧑🦰', '🧑🦱', '🧑🦲', '🧑🦳', '🧑🦼', '🧑🦽', '🐈⬛', '🇦🇨', '🇦🇩', '🇦🇪', '🇦🇫', '🇦🇬', '🇦🇮', '🇦🇱', '🇦🇲', '🇦🇴', '🇦🇶', '🇦🇷', '🇦🇸', '🇦🇹', '🇦🇺', '🇦🇼', '🇦🇽', '🇦🇿', '🇧🇦', '🇧🇧', '🇧🇩', '🇧🇪', '🇧🇫', '🇧🇬', '🇧🇭', '🇧🇮', '🇧🇯', '🇧🇱', '🇧🇲', '🇧🇳', '🇧🇴', '🇧🇶', '🇧🇷', '🇧🇸', '🇧🇹', '🇧🇻', '🇧🇼', '🇧🇾', '🇧🇿', '🇨🇦', '🇨🇨', '🇨🇩', '🇨🇫', '🇨🇬', '🇨🇭', '🇨🇮', '🇨🇰', '🇨🇱', '🇨🇲', '🇨🇳', '🇨🇴', '🇨🇵', '🇨🇷', '🇨🇺', '🇨🇻', '🇨🇼', '🇨🇽', '🇨🇾', '🇨🇿', '🇩🇪', '🇩🇬', '🇩🇯', '🇩🇰', '🇩🇲', '🇩🇴', '🇩🇿', '🇪🇦', '🇪🇨', '🇪🇪', '🇪🇬', '🇪🇭', '🇪🇷', '🇪🇸', '🇪🇹', '🇪🇺', '🇫🇮', '🇫🇯', '🇫🇰', '🇫🇲', '🇫🇴', '🇫🇷', '🇬🇦', '🇬🇧', '🇬🇩', '🇬🇪', '🇬🇫', '🇬🇬', '🇬🇭', '🇬🇮', '🇬🇱', '🇬🇲', '🇬🇳', '🇬🇵', '🇬🇶', '🇬🇷', '🇬🇸', '🇬🇹', '🇬🇺', '🇬🇼', '🇬🇾', '🇭🇰', '🇭🇲', '🇭🇳', '🇭🇷', '🇭🇹', '🇭🇺', '🇮🇨', '🇮🇩', '🇮🇪', '🇮🇱', '🇮🇲', '🇮🇳', '🇮🇴', '🇮🇶', '🇮🇷', '🇮🇸', '🇮🇹', '🇯🇪', '🇯🇲', '🇯🇴', '🇯🇵', '🇰🇪', '🇰🇬', '🇰🇭', '🇰🇮', '🇰🇲', '🇰🇳', '🇰🇵', '🇰🇷', '🇰🇼', '🇰🇾', '🇰🇿', '🇱🇦', '🇱🇧', '🇱🇨', '🇱🇮', '🇱🇰', '🇱🇷', '🇱🇸', '🇱🇹', '🇱🇺', '🇱🇻', '🇱🇾', '🇲🇦', '🇲🇨', '🇲🇩', '🇲🇪', '🇲🇫', '🇲🇬', '🇲🇭', '🇲🇰', '🇲🇱', '🇲🇲', '🇲🇳', '🇲🇴', '🇲🇵', '🇲🇶', '🇲🇷', '🇲🇸', '🇲🇹', '🇲🇺', '🇲🇻', '🇲🇼', '🇲🇽', '🇲🇾', '🇲🇿', '🇳🇦', '🇳🇨', '🇳🇪', '🇳🇫', '🇳🇬', '🇳🇮', '🇳🇱', '🇳🇴', '🇳🇵', '🇳🇷', '🇳🇺', '🇳🇿', '🇴🇲', '🇵🇦', '🇵🇪', '🇵🇫', '🇵🇬', '🇵🇭', '🇵🇰', '🇵🇱', '🇵🇲', '🇵🇳', '🇵🇷', '🇵🇸', '🇵🇹', '🇵🇼', '🇵🇾', '🇶🇦', '🇷🇪', '🇷🇴', '🇷🇸', '🇷🇺', '🇷🇼', '🇸🇦', '🇸🇧', '🇸🇨', '🇸🇩', '🇸🇪', '🇸🇬', '🇸🇭', '🇸🇮', '🇸🇯', '🇸🇰', '🇸🇱', '🇸🇲', '🇸🇳', '🇸🇴', '🇸🇷', '🇸🇸', '🇸🇹', '🇸🇻', '🇸🇽', '🇸🇾', '🇸🇿', '🇹🇦', '🇹🇨', '🇹🇩', '🇹🇫', '🇹🇬', '🇹🇭', '🇹🇯', '🇹🇰', '🇹🇱', '🇹🇲', '🇹🇳', '🇹🇴', '🇹🇷', '🇹🇹', '🇹🇻', '🇹🇼', '🇹🇿', '🇺🇦', '🇺🇬', '🇺🇲', '🇺🇳', '🇺🇸', '🇺🇾', '🇺🇿', '🇻🇦', '🇻🇨', '🇻🇪', '🇻🇬', '🇻🇮', '🇻🇳', '🇻🇺', '🇼🇫', '🇼🇸', '🇽🇰', '🇾🇪', '🇾🇹', '🇿🇦', '🇿🇲', '🇿🇼', '🎅🏻', '🎅🏼', '🎅🏽', '🎅🏾', '🎅🏿', '🏂🏻', '🏂🏼', '🏂🏽', '🏂🏾', '🏂🏿', '🏃🏻', '🏃🏼', '🏃🏽', '🏃🏾', '🏃🏿', '🏄🏻', '🏄🏼', '🏄🏽', '🏄🏾', '🏄🏿', '🏇🏻', '🏇🏼', '🏇🏽', '🏇🏾', '🏇🏿', '🏊🏻', '🏊🏼', '🏊🏽', '🏊🏾', '🏊🏿', '🏋🏻', '🏋🏼', '🏋🏽', '🏋🏾', '🏋🏿', '🏌🏻', '🏌🏼', '🏌🏽', '🏌🏾', '🏌🏿', '👂🏻', '👂🏼', '👂🏽', '👂🏾', '👂🏿', '👃🏻', '👃🏼', '👃🏽', '👃🏾', '👃🏿', '👆🏻', '👆🏼', '👆🏽', '👆🏾', '👆🏿', '👇🏻', '👇🏼', '👇🏽', '👇🏾', '👇🏿', '👈🏻', '👈🏼', '👈🏽', '👈🏾', '👈🏿', '👉🏻', '👉🏼', '👉🏽', '👉🏾', '👉🏿', '👊🏻', '👊🏼', '👊🏽', '👊🏾', '👊🏿', '👋🏻', '👋🏼', '👋🏽', '👋🏾', '👋🏿', '👌🏻', '👌🏼', '👌🏽', '👌🏾', '👌🏿', '👍🏻', '👍🏼', '👍🏽', '👍🏾', '👍🏿', '👎🏻', '👎🏼', '👎🏽', '👎🏾', '👎🏿', '👏🏻', '👏🏼', '👏🏽', '👏🏾', '👏🏿', '👐🏻', '👐🏼', '👐🏽', '👐🏾', '👐🏿', '👦🏻', '👦🏼', '👦🏽', '👦🏾', '👦🏿', '👧🏻', '👧🏼', '👧🏽', '👧🏾', '👧🏿', '👨🏻', '👨🏼', '👨🏽', '👨🏾', '👨🏿', '👩🏻', '👩🏼', '👩🏽', '👩🏾', '👩🏿', '👫🏻', '👫🏼', '👫🏽', '👫🏾', '👫🏿', '👬🏻', '👬🏼', '👬🏽', '👬🏾', '👬🏿', '👭🏻', '👭🏼', '👭🏽', '👭🏾', '👭🏿', '👮🏻', '👮🏼', '👮🏽', '👮🏾', '👮🏿', '👰🏻', '👰🏼', '👰🏽', '👰🏾', '👰🏿', '👱🏻', '👱🏼', '👱🏽', '👱🏾', '👱🏿', '👲🏻', '👲🏼', '👲🏽', '👲🏾', '👲🏿', '👳🏻', '👳🏼', '👳🏽', '👳🏾', '👳🏿', '👴🏻', '👴🏼', '👴🏽', '👴🏾', '👴🏿', '👵🏻', '👵🏼', '👵🏽', '👵🏾', '👵🏿', '👶🏻', '👶🏼', '👶🏽', '👶🏾', '👶🏿', '👷🏻', '👷🏼', '👷🏽', '👷🏾', '👷🏿', '👸🏻', '👸🏼', '👸🏽', '👸🏾', '👸🏿', '👼🏻', '👼🏼', '👼🏽', '👼🏾', '👼🏿', '💁🏻', '💁🏼', '💁🏽', '💁🏾', '💁🏿', '💂🏻', '💂🏼', '💂🏽', '💂🏾', '💂🏿', '💃🏻', '💃🏼', '💃🏽', '💃🏾', '💃🏿', '💅🏻', '💅🏼', '💅🏽', '💅🏾', '💅🏿', '💆🏻', '💆🏼', '💆🏽', '💆🏾', '💆🏿', '💇🏻', '💇🏼', '💇🏽', '💇🏾', '💇🏿', '💪🏻', '💪🏼', '💪🏽', '💪🏾', '💪🏿', '🕴🏻', '🕴🏼', '🕴🏽', '🕴🏾', '🕴🏿', '🕵🏻', '🕵🏼', '🕵🏽', '🕵🏾', '🕵🏿', '🕺🏻', '🕺🏼', '🕺🏽', '🕺🏾', '🕺🏿', '🖐🏻', '🖐🏼', '🖐🏽', '🖐🏾', '🖐🏿', '🖕🏻', '🖕🏼', '🖕🏽', '🖕🏾', '🖕🏿', '🖖🏻', '🖖🏼', '🖖🏽', '🖖🏾', '🖖🏿', '🙅🏻', '🙅🏼', '🙅🏽', '🙅🏾', '🙅🏿', '🙆🏻', '🙆🏼', '🙆🏽', '🙆🏾', '🙆🏿', '🙇🏻', '🙇🏼', '🙇🏽', '🙇🏾', '🙇🏿', '🙋🏻', '🙋🏼', '🙋🏽', '🙋🏾', '🙋🏿', '🙌🏻', '🙌🏼', '🙌🏽', '🙌🏾', '🙌🏿', '🙍🏻', '🙍🏼', '🙍🏽', '🙍🏾', '🙍🏿', '🙎🏻', '🙎🏼', '🙎🏽', '🙎🏾', '🙎🏿', '🙏🏻', '🙏🏼', '🙏🏽', '🙏🏾', '🙏🏿', '🚣🏻', '🚣🏼', '🚣🏽', '🚣🏾', '🚣🏿', '🚴🏻', '🚴🏼', '🚴🏽', '🚴🏾', '🚴🏿', '🚵🏻', '🚵🏼', '🚵🏽', '🚵🏾', '🚵🏿', '🚶🏻', '🚶🏼', '🚶🏽', '🚶🏾', '🚶🏿', '🛀🏻', '🛀🏼', '🛀🏽', '🛀🏾', '🛀🏿', '🛌🏻', '🛌🏼', '🛌🏽', '🛌🏾', '🛌🏿', '🤌🏻', '🤌🏼', '🤌🏽', '🤌🏾', '🤌🏿', '🤏🏻', '🤏🏼', '🤏🏽', '🤏🏾', '🤏🏿', '🤘🏻', '🤘🏼', '🤘🏽', '🤘🏾', '🤘🏿', '🤙🏻', '🤙🏼', '🤙🏽', '🤙🏾', '🤙🏿', '🤚🏻', '🤚🏼', '🤚🏽', '🤚🏾', '🤚🏿', '🤛🏻', '🤛🏼', '🤛🏽', '🤛🏾', '🤛🏿', '🤜🏻', '🤜🏼', '🤜🏽', '🤜🏾', '🤜🏿', '🤞🏻', '🤞🏼', '🤞🏽', '🤞🏾', '🤞🏿', '🤟🏻', '🤟🏼', '🤟🏽', '🤟🏾', '🤟🏿', '🤦🏻', '🤦🏼', '🤦🏽', '🤦🏾', '🤦🏿', '🤰🏻', '🤰🏼', '🤰🏽', '🤰🏾', '🤰🏿', '🤱🏻', '🤱🏼', '🤱🏽', '🤱🏾', '🤱🏿', '🤲🏻', '🤲🏼', '🤲🏽', '🤲🏾', '🤲🏿', '🤳🏻', '🤳🏼', '🤳🏽', '🤳🏾', '🤳🏿', '🤴🏻', '🤴🏼', '🤴🏽', '🤴🏾', '🤴🏿', '🤵🏻', '🤵🏼', '🤵🏽', '🤵🏾', '🤵🏿', '🤶🏻', '🤶🏼', '🤶🏽', '🤶🏾', '🤶🏿', '🤷🏻', '🤷🏼', '🤷🏽', '🤷🏾', '🤷🏿', '🤸🏻', '🤸🏼', '🤸🏽', '🤸🏾', '🤸🏿', '🤹🏻', '🤹🏼', '🤹🏽', '🤹🏾', '🤹🏿', '🤽🏻', '🤽🏼', '🤽🏽', '🤽🏾', '🤽🏿', '🤾🏻', '🤾🏼', '🤾🏽', '🤾🏾', '🤾🏿', '🥷🏻', '🥷🏼', '🥷🏽', '🥷🏾', '🥷🏿', '🦵🏻', '🦵🏼', '🦵🏽', '🦵🏾', '🦵🏿', '🦶🏻', '🦶🏼', '🦶🏽', '🦶🏾', '🦶🏿', '🦸🏻', '🦸🏼', '🦸🏽', '🦸🏾', '🦸🏿', '🦹🏻', '🦹🏼', '🦹🏽', '🦹🏾', '🦹🏿', '🦻🏻', '🦻🏼', '🦻🏽', '🦻🏾', '🦻🏿', '🧍🏻', '🧍🏼', '🧍🏽', '🧍🏾', '🧍🏿', '🧎🏻', '🧎🏼', '🧎🏽', '🧎🏾', '🧎🏿', '🧏🏻', '🧏🏼', '🧏🏽', '🧏🏾', '🧏🏿', '🧑🏻', '🧑🏼', '🧑🏽', '🧑🏾', '🧑🏿', '🧒🏻', '🧒🏼', '🧒🏽', '🧒🏾', '🧒🏿', '🧓🏻', '🧓🏼', '🧓🏽', '🧓🏾', '🧓🏿', '🧔🏻', '🧔🏼', '🧔🏽', '🧔🏾', '🧔🏿', '🧕🏻', '🧕🏼', '🧕🏽', '🧕🏾', '🧕🏿', '🧖🏻', '🧖🏼', '🧖🏽', '🧖🏾', '🧖🏿', '🧗🏻', '🧗🏼', '🧗🏽', '🧗🏾', '🧗🏿', '🧘🏻', '🧘🏼', '🧘🏽', '🧘🏾', '🧘🏿', '🧙🏻', '🧙🏼', '🧙🏽', '🧙🏾', '🧙🏿', '🧚🏻', '🧚🏼', '🧚🏽', '🧚🏾', '🧚🏿', '🧛🏻', '🧛🏼', '🧛🏽', '🧛🏾', '🧛🏿', '🧜🏻', '🧜🏼', '🧜🏽', '🧜🏾', '🧜🏿', '🧝🏻', '🧝🏼', '🧝🏽', '🧝🏾', '🧝🏿', '☝🏻', '☝🏼', '☝🏽', '☝🏾', '☝🏿', '⛷🏻', '⛷🏼', '⛷🏽', '⛷🏾', '⛷🏿', '⛹🏻', '⛹🏼', '⛹🏽', '⛹🏾', '⛹🏿', '✊🏻', '✊🏼', '✊🏽', '✊🏾', '✊🏿', '✋🏻', '✋🏼', '✋🏽', '✋🏾', '✋🏿', '✌🏻', '✌🏼', '✌🏽', '✌🏾', '✌🏿', '✍🏻', '✍🏼', '✍🏽', '✍🏾', '✍🏿', '#⃣', '*⃣', '0⃣', '1⃣', '2⃣', '3⃣', '4⃣', '5⃣', '6⃣', '7⃣', '8⃣', '9⃣', '🀄', '🃏', '🅰', '🅱', '🅾', '🅿', '🆎', '🆑', '🆒', '🆓', '🆔