<?php

namespace App\Http\Controllers;


use App\Models\Chapter;
use App\Models\Fa_aye;
use App\Models\Khatm;
use App\Models\Khatm_pack;
use App\Models\Quran;
use App\Models\Send_everyday;
use App\Models\User;
use App\Models\User_khatm;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\Http;

trait hellperFunctions
{
    /**
     * @return string[]
     */
    public function emojes(){
        return array(
            ':smile:' => "\u{1f604}",
            ':smiley:' => "\u{1f603}",
            ':grinning:' => "\u{1f600}",
            ':blush:' => "\u{1f60a}",
            ':relaxed:' => "\u{263a}",
            ':wink:' => "\u{1f609}",
            ':heart_eyes:' => "\u{1f60d}",
            ':kissing_heart:' => "\u{1f618}",
            ':kissing_closed_eyes:' => "\u{1f61a}",
            ':kissing:' => "\u{1f617}",
            ':kissing_smiling_eyes:' => "\u{1f619}",
            ':stuck_out_tongue_winking_eye:' => "\u{1f61c}",
            ':stuck_out_tongue_closed_eyes:' => "\u{1f61d}",
            ':stuck_out_tongue:' => "\u{1f61b}",
            ':flushed:' => "\u{1f633}",
            ':grin:' => "\u{1f601}",
            ':pensive:' => "\u{1f614}",
            ':relieved:' => "\u{1f60c}",
            ':unamused:' => "\u{1f612}",
            ':disappointed:' => "\u{1f61e}",
            ':persevere:' => "\u{1f623}",
            ':cry:' => "\u{1f622}",
            ':joy:' => "\u{1f602}",
            ':rolling_on_the_floor_laughing:' => "\u{1f923}",
            ':sob:' => "\u{1f62d}",
            ':sleepy:' => "\u{1f62a}",
            ':disappointed_relieved:' => "\u{1f625}",
            ':cold_sweat:' => "\u{1f630}",
            ':sweat_smile:' => "\u{1f605}",
            ':sweat:' => "\u{1f613}",
            ':weary:' => "\u{1f629}",
            ':tired_face:' => "\u{1f62b}",
            ':fearful:' => "\u{1f628}",
            ':scream:' => "\u{1f631}",
            ':angry:' => "\u{1f620}",
            ':rage:' => "\u{1f621}",
            ':triumph:' => "\u{1f624}",
            ':confounded:' => "\u{1f616}",
            ':laughing:' => "\u{1f606}",
            ':yum:' => "\u{1f60b}",
            ':mask:' => "\u{1f637}",
            ':drool:' => "\u{1f924}",
            ':sneeze:' => "\u{1f927}",
            ':cowboy:' => "\u{1f920}",
            ':clown:' => "\u{1f921}",
            ':lying_face:' => "\u{1f925}",
            ':nerd:' => "\u{1f913}",
            ':slightly_smiling_face:' => "\u{1f642}",
            ':sunglasses:' => "\u{1f60e}",
            ':sleeping:' => "\u{1f634}",
            ':dizzy_face:' => "\u{1f635}",
            ':astonished:' => "\u{1f632}",
            ':worried:' => "\u{1f61f}",
            ':frowning:' => "\u{1f626}",
            ':anguished:' => "\u{1f627}",
            ':smiling_imp:' => "\u{1f608}",
            ':imp:' => "\u{1f47f}",
            ':open_mouth:' => "\u{1f62e}",
            ':grimacing:' => "\u{1f62c}",
            ':neutral_face:' => "\u{1f610}",
            ':confused:' => "\u{1f615}",
            ':hushed:' => "\u{1f62f}",
            ':no_mouth:' => "\u{1f636}",
            ':innocent:' => "\u{1f607}",
            ':smirk:' => "\u{1f60f}",
            ':expressionless:' => "\u{1f611}",
            ':man_artist:' => "\u{1f468}\u{200d}\u{1f3a8}",
            ':man_astronaut:' => "\u{1f468}\u{200d}\u{1f680}",
            ':man_biking:' => "\u{1f6b4}",
            ':man_bouncing_ball:' => "\u{26f9}\u{fe0f}",
            ':man_bowing:' => "\u{1f647}",
            ':man_cartwheeling:' => "\u{1f938}\u{200d}\u{2642}\u{fe0f}",
            ':man_construction_worker:' => "\u{1f477}",
            ':man_cook:' => "\u{1f468}\u{200d}\u{1f373}",
            ':man_dancing:' => "\u{1f57a}",
            ':man_detective:' => "\u{1f575}\u{fe0f}",
            ':man_facepalming:' => "\u{1f926}\u{200d}\u{2642}\u{fe0f}",
            ':man_factory_worker:' => "\u{1f468}\u{200d}\u{1f3ed}",
            ':man_farmer:' => "\u{1f468}\u{200d}\u{1f33e}",
            ':man_fairy:' => "\u{1f9da}\u{200d}\u{2642}\u{fe0f}",
            ':man_firefighter:' => "\u{1f468}\u{200d}\u{1f692}",
            ':man_frowning:' => "\u{1f64d}\u{200d}\u{2642}\u{fe0f}",
            ':man_genie:' => "\u{1f9de}\u{200d}\u{2642}\u{fe0f}",
            ':man_gesturing_no:' => "\u{1f645}\u{200d}\u{2642}\u{fe0f}",
            ':man_gesturing_ok:' => "\u{1f646}\u{200d}\u{2642}\u{fe0f}",
            ':man_getting_face_massage:' => "\u{1f486}\u{200d}\u{2642}\u{fe0f}",
            ':man_getting_haircut:' => "\u{1f487}\u{200d}\u{2642}\u{fe0f}",
            ':man_golfing:' => "\u{1f3cc}\u{fe0f}",
            ':man_guard:' => "\u{1f482}",
            ':man_health_worker:' => "\u{1f468}\u{200d}\u{2695}\u{fe0f}",
            ':man_in_business_suit_levitating:' => "\u{1f574}",
            ':man_in_tuxedo:' => "\u{1f935}",
            ':man_judge:' => "\u{1f468}\u{200d}\u{2696}\u{fe0f}",
            ':man_juggling:' => "\u{1f939}\u{200d}\u{2642}\u{fe0f}",
            ':man_lifting_weights:' => "\u{1f3cb}\u{fe0f}",
            ':man_mage:' => "\u{1f9d9}\u{200d}\u{2642}\u{fe0f}",
            ':man_mechanic:' => "\u{1f468}\u{200d}\u{1f527}",
            ':man_mountain_biking:' => "\u{1f6b5}",
            ':man_office_worker:' => "\u{1f468}\u{200d}\u{1f4bc}",
            ':man_pilot:' => "\u{1f468}\u{200d}\u{2708}\u{fe0f}",
            ':man_playing_handball:' => "\u{1f93e}\u{200d}\u{2642}\u{fe0f}",
            ':man_police_officer:' => "\u{1f46e}",
            ':man_pouting:' => "\u{1f64e}\u{200d}\u{2642}\u{fe0f}",
            ':man_raising_hand:' => "\u{1f64b}\u{200d}\u{2642}\u{fe0f}",
            ':man_rowing_boat:' => "\u{1f6a3}",
            ':man_running:' => "\u{1f3c3}",
            ':man_scientist:' => "\u{1f468}\u{200d}\u{1f52c}",
            ':man_shrugging:' => "\u{1f937}\u{200d}\u{2642}\u{fe0f}",
            ':man_singer:' => "\u{1f468}\u{200d}\u{1f3a4}",
            ':man_student:' => "\u{1f468}\u{200d}\u{1f393}",
            ':man_teacher:' => "\u{1f468}\u{200d}\u{1f3eb}",
            ':man_technologist:' => "\u{1f468}\u{200d}\u{1f4bb}",
            ':man_tipping_hand:' => "\u{1f481}\u{200d}\u{2642}\u{fe0f}",
            ':man_vampire:' => "\u{1f9db}\u{200d}\u{2642}\u{fe0f}",
            ':man_with_turban:' => "\u{1f473}",
            ':man_wearing_turban:' => "\u{1f473}",
            ':man_with_chinese_cap:' => "\u{1f472}",
            ':man_with_gua_pi_mao:' => "\u{1f472}",
            ':man_zombie:' => "\u{1f9df}\u{200d}\u{2642}\u{fe0f}",

            ':woman_artist:' => "\u{1f469}\u{200d}\u{1f3a8}",
            ':woman_astronaut:' => "\u{1f469}\u{200d}\u{1f680}",
            ':woman_biking:' => "\u{1f6b4}\u{200d}\u{2640}\u{fe0f}",
            ':woman_bouncing_ball:' => "\u{26f9}\u{fe0f}\u{200d}\u{2640}\u{fe0f}",
            ':woman_bowing:' => "\u{1f647}\u{200d}\u{2640}\u{fe0f}",
            ':woman_cartwheeling:' => "\u{1f938}\u{200d}\u{2640}\u{fe0f}",
            ':woman_construction_worker:' => "\u{1f477}\u{200d}\u{2640}\u{fe0f}",
            ':woman_cook:' => "\u{1f469}\u{200d}\u{1f373}",
            ':woman_detective:' => "\u{1f575}\u{fe0f}\u{200d}\u{2640}\u{fe0f}",
            ':woman_facepalming:' => "\u{1f926}\u{200d}\u{2640}\u{fe0f}",
            ':woman_factory_worker:' => "\u{1f469}\u{200d}\u{1f3ed}",
            ':woman_farmer:' => "\u{1f469}\u{200d}\u{1f33e}",
            ':woman_fairy:' => "\u{1f9da}\u{200d}\u{2640}\u{fe0f}",
            ':woman_firefighter:' => "\u{1f469}\u{200d}\u{1f692}",
            ':woman_frowning:' => "\u{1f64d}",
            ':woman_genie:' => "\u{1f9de}\u{200d}\u{2640}\u{fe0f}",
            ':woman_gesturing_no:' => "\u{1f645}",
            ':woman_gesturing_ok:' => "\u{1f646}",
            ':woman_getting_face_massage:' => "\u{1f486}",
            ':woman_getting_haircut:' => "\u{1f487}",
            ':woman_golfing:' => "\u{1f3cc}\u{fe0f}\u{200d}\u{2640}\u{fe0f}",
            ':woman_guard:' => "\u{1f482}\u{200d}\u{2640}\u{fe0f}",
            ':woman_health_worker:' => "\u{1f469}\u{200d}\u{2695}\u{fe0f}",
            ':woman_judge:' => "\u{1f469}\u{200d}\u{2696}\u{fe0f}",
            ':woman_juggling:' => "\u{1f939}\u{200d}\u{2640}\u{fe0f}",
            ':woman_lifting_weights:' => "\u{1f3cb}\u{fe0f}\u{200d}\u{2640}\u{fe0f}",
            ':woman_mage:' => "\u{1f9d9}\u{200d}\u{2640}\u{fe0f}",
            ':woman_mechanic:' => "\u{1f469}\u{200d}\u{1f527}",
            ':woman_mountain_biking:' => "\u{1f6b5}\u{200d}\u{2640}\u{fe0f}",
            ':woman_office_worker:' => "\u{1f469}\u{200d}\u{1f4bc}",
            ':woman_pilot:' => "\u{1f469}\u{200d}\u{2708}\u{fe0f}",
            ':woman_playing_handball:' => "\u{1f93e}\u{200d}\u{2640}\u{fe0f}",
            ':woman_police_officer:' => "\u{1f46e}\u{200d}\u{2640}\u{fe0f}",
            ':woman_pouting:' => "\u{1f64e}",
            ':woman_raising_hand:' => "\u{1f64b}",
            ':woman_rowing_boat:' => "\u{1f6a3}\u{200d}\u{2640}\u{fe0f}",
            ':woman_running:' => "\u{1f3c3}\u{200d}\u{2640}\u{fe0f}",
            ':woman_scientist:' => "\u{1f469}\u{200d}\u{1f52c}",
            ':woman_shrugging:' => "\u{1f937}\u{200d}\u{2640}\u{fe0f}",
            ':woman_singer:' => "\u{1f469}\u{200d}\u{1f3a4}",
            ':woman_student:' => "\u{1f469}\u{200d}\u{1f393}",
            ':woman_teacher:' => "\u{1f469}\u{200d}\u{1f3eb}",
            ':woman_technologist:' => "\u{1f469}\u{200d}\u{1f4bb}",
            ':woman_tipping_hand:' => "\u{1f481}\u{1f3fc}",
            ':woman_vampire:' => "\u{1f9db}\u{200d}\u{2640}\u{fe0f}",
            ':woman_wearing_turban:' => "\u{1f473}\u{200d}\u{2640}\u{fe0f}",
            ':woman_zombie:' => "\u{1f9df}\u{200d}\u{2640}\u{fe0f}",

            ':cop:' => "\u{1f46e}",
            ':construction_worker:' => "\u{1f477}",
            ':guardsman:' => "\u{1f482}",
            ':baby:' => "\u{1f476}",
            ':boy:' => "\u{1f466}",
            ':girl:' => "\u{1f467}",
            ':man:' => "\u{1f468}",
            ':woman:' => "\u{1f469}",
            ':older_man:' => "\u{1f474}",
            ':older_woman:' => "\u{1f475}",
            ':person_with_blond_hair:' => "\u{1f471}",
            ':angel:' => "\u{1f47c}",
            ':princess:' => "\u{1f478}",
            ':smiley_cat:' => "\u{1f63a}",
            ':smile_cat:' => "\u{1f638}",
            ':heart_eyes_cat:' => "\u{1f63b}",
            ':kissing_cat:' => "\u{1f63d}",
            ':smirk_cat:' => "\u{1f63c}",
            ':scream_cat:' => "\u{1f640}",
            ':crying_cat_face:' => "\u{1f63f}",
            ':joy_cat:' => "\u{1f639}",
            ':pouting_cat:' => "\u{1f63e}",
            ':japanese_ogre:' => "\u{1f479}",
            ':japanese_goblin:' => "\u{1f47a}",
            ':see_no_evil:' => "\u{1f648}",
            ':hear_no_evil:' => "\u{1f649}",
            ':speak_no_evil:' => "\u{1f64a}",
            ':skull:' => "\u{1f480}",
            ':alien:' => "\u{1f47d}",
            ':hankey:' => "\u{1f4a9}",
            ':fire:' => "\u{1f525}",
            ':sparkles:' => "\u{2728}",
            ':comet:' => "\u{2604}\u{fe0f}",
            ':star2:' => "\u{1f31f}",
            ':dizzy:' => "\u{1f4ab}",
            ':boom:' => "\u{1f4a5}",
            ':anger:' => "\u{1f4a2}",
            ':sweat_drops:' => "\u{1f4a6}",
            ':droplet:' => "\u{1f4a7}",
            ':zzz:' => "\u{1f4a4}",
            ':dash:' => "\u{1f4a8}",
            ':ear:' => "\u{1f442}",
            ':eyes:' => "\u{1f440}",
            ':nose:' => "\u{1f443}",
            ':tongue:' => "\u{1f445}",
            ':lips:' => "\u{1f444}",
            ':sign_of_the_horns:' => "\u{1f918}",
            ':metal:' => "\u{1f918}",
            ':ok_hand:' => "\u{1f44c}",
            ':facepunch:' => "\u{1f44a}",
            ':punch:' => "\u{1f44a}",
            ':fist:' => "\u{270a}",
            ':v:' => "\u{270c}",
            ':wave:' => "\u{1f44b}",
            ':hand:' => "\u{270b}",
            ':open_hands:' => "\u{1f450}",
            ':point_up_2:' => "\u{1f446}",
            ':point_down:' => "\u{1f447}",
            ':point_right:' => "\u{1f449}",
            ':point_left:' => "\u{1f448}",
            // ':thumbup:' => "\u{d83d}\u{dc4d}",
            // ':thumbsup:' => "\u{d83d}\u{dc4d}",
            // ':thumbdown:' => "\u{d83d}\u{dc4e}",
            // ':thumbsdown:' => "\u{d83d}\u{dc4e}",
            ':raised_hands:' => "\u{1f64c}",
            ':pray:' => "\u{1f64f}",
            ':point_up:' => "\u{261d}",
            ':clap:' => "\u{1f44f}",
            ':muscle:' => "\u{1f4aa}",
            ':walking:' => "\u{1f6b6}",
            ':runner:' => "\u{1f3c3}",
            ':dancer:' => "\u{1f483}",
            ':couple:' => "\u{1f46b}",
            ':family:' => "\u{1f46a}",
            ':two_men_holding_hands:' => "\u{1f46c}",
            ':two_women_holding_hands:' => "\u{1f46d}",
            ':couplekiss:' => "\u{1f48f}",
            ':couple_with_heart:' => "\u{1f491}",
            ':dancers:' => "\u{1f46f}",
            ':ok_woman:' => "\u{1f646}",
            ':no_good:' => "\u{1f645}",
            ':information_desk_person:' => "\u{1f481}",
            ':raising_hand:' => "\u{1f64b}",
            ':massage:' => "\u{1f486}",
            ':haircut:' => "\u{1f487}",
            ':nail_care:' => "\u{1f485}",
            ':bride_with_veil:' => "\u{1f470}",
            ':person_with_pouting_face:' => "\u{1f64e}",
            ':person_frowning:' => "\u{1f64d}",
            ':bow:' => "\u{1f647}",
            ':tophat:' => "\u{1f3a9}",
            ':crown:' => "\u{1f451}",
            ':womans_hat:' => "\u{1f452}",
            ':athletic_shoe:' => "\u{1f45f}",
            ':mans_shoe:' => "\u{1f45e}",
            ':sandal:' => "\u{1f461}",
            ':high_heel:' => "\u{1f460}",
            ':boot:' => "\u{1f462}",
            ':shirt:' => "\u{1f455}",
            ':necktie:' => "\u{1f454}",
            ':womans_clothes:' => "\u{1f45a}",
            ':dress:' => "\u{1f457}",
            ':running_shirt_with_sash:' => "\u{1f3bd}",
            ':jeans:' => "\u{1f456}",
            ':kimono:' => "\u{1f458}",
            ':bikini:' => "\u{1f459}",
            ':briefcase:' => "\u{1f4bc}",
            ':handbag:' => "\u{1f45c}",
            ':pouch:' => "\u{1f45d}",
            ':purse:' => "\u{1f45b}",
            ':eyeglasses:' => "\u{1f453}",
            ':ribbon:' => "\u{1f380}",
            ':closed_umbrella:' => "\u{1f302}",
            ':lipstick:' => "\u{1f484}",
            ':yellow_heart:' => "\u{1f49b}",
            ':blue_heart:' => "\u{1f499}",
            ':purple_heart:' => "\u{1f49c}",
            ':green_heart:' => "\u{1f49a}",
            ':orange_heart:' => "\u{1f9e1}",
            ':black_heart:' => "\u{1f5a4}",
            ':heart:' => "\u{2764}",
            ':broken_heart:' => "\u{1f494}",
            ':heartpulse:' => "\u{1f497}",
            ':heartbeat:' => "\u{1f493}",
            ':two_hearts:' => "\u{1f495}",
            ':sparkling_heart:' => "\u{1f496}",
            ':revolving_hearts:' => "\u{1f49e}",
            ':cupid:' => "\u{1f498}",
            ':love_letter:' => "\u{1f48c}",
            ':kiss:' => "\u{1f48b}",
            ':ring:' => "\u{1f48d}",
            ':gem:' => "\u{1f48e}",
            ':bust_in_silhouette:' => "\u{1f464}",
            ':busts_in_silhouette:' => "\u{1f465}",
            ':speaking_head_in_silhouette:' => "\u{1f5e3}",
            ':speech_balloon:' => "\u{1f4ac}",
            ':footprints:' => "\u{1f463}",
            ':thought_balloon:' => "\u{1f4ad}",
            ':dog:' => "\u{1f436}",
            ':wolf:' => "\u{1f43a}",
            ':cat:' => "\u{1f431}",
            ':mouse:' => "\u{1f42d}",
            ':hamster:' => "\u{1f439}",
            ':rabbit:' => "\u{1f430}",
            ':frog:' => "\u{1f438}",
            ':tiger:' => "\u{1f42f}",
            ':koala:' => "\u{1f428}",
            ':bear:' => "\u{1f43b}",
            ':pig:' => "\u{1f437}",
            ':pig_nose:' => "\u{1f43d}",
            ':cow:' => "\u{1f42e}",
            ':boar:' => "\u{1f417}",
            ':monkey_face:' => "\u{1f435}",
            ':monkey:' => "\u{1f412}",
            ':horse:' => "\u{1f434}",
            ':sheep:' => "\u{1f411}",
            ':elephant:' => "\u{1f418}",
            ':panda_face:' => "\u{1f43c}",
            ':penguin:' => "\u{1f427}",
            ':bird:' => "\u{1f426}",
            ':baby_chick:' => "\u{1f424}",
            ':hatched_chick:' => "\u{1f425}",
            ':hatching_chick:' => "\u{1f423}",
            ':chicken:' => "\u{1f414}",
            ':snake:' => "\u{1f40d}",
            ':turtle:' => "\u{1f422}",
            ':bug:' => "\u{1f41b}",
            ':bee:' => "\u{1f41d}",
            ':ant:' => "\u{1f41c}",
            ':beetle:' => "\u{1f41e}",
            ':snail:' => "\u{1f40c}",
            ':octopus:' => "\u{1f419}",
            ':shell:' => "\u{1f41a}",
            ':tropical_fish:' => "\u{1f420}",
            ':fish:' => "\u{1f41f}",
            ':dolphin:' => "\u{1f42c}",
            ':whale:' => "\u{1f433}",
            ':whale2:' => "\u{1f40b}",
            ':cow2:' => "\u{1f404}",
            ':ram:' => "\u{1f40f}",
            ':rat:' => "\u{1f400}",
            ':water_buffalo:' => "\u{1f403}",
            ':tiger2:' => "\u{1f405}",
            ':rabbit2:' => "\u{1f407}",
            ':dragon:' => "\u{1f409}",
            ':racehorse:' => "\u{1f40e}",
            ':goat:' => "\u{1f410}",
            ':rooster:' => "\u{1f413}",
            ':dog2:' => "\u{1f415}",
            ':pig2:' => "\u{1f416}",
            ':mouse2:' => "\u{1f401}",
            ':ox:' => "\u{1f402}",
            ':dragon_face:' => "\u{1f432}",
            ':blowfish:' => "\u{1f421}",
            ':crocodile:' => "\u{1f40a}",
            ':camel:' => "\u{1f42b}",
            ':dromedary_camel:' => "\u{1f42a}",
            ':leopard:' => "\u{1f406}",
            ':cat2:' => "\u{1f408}",
            ':poodle:' => "\u{1f429}",
            ':feet:' => "\u{1f43e}",
            ':bouquet:' => "\u{1f490}",
            ':cherry_blossom:' => "\u{1f338}",
            ':tulip:' => "\u{1f337}",
            ':four_leaf_clover:' => "\u{1f340}",
            ':rose:' => "\u{1f339}",
            ':sunflower:' => "\u{1f33b}",
            ':hibiscus:' => "\u{1f33a}",
            ':maple_leaf:' => "\u{1f341}",
            ':leaves:' => "\u{1f343}",
            ':fallen_leaf:' => "\u{1f342}",
            ':herb:' => "\u{1f33f}",
            ':ear_of_rice:' => "\u{1f33e}",
            ':mushroom:' => "\u{1f344}",
            ':cactus:' => "\u{1f335}",
            ':palm_tree:' => "\u{1f334}",
            ':evergreen_tree:' => "\u{1f332}",
            ':deciduous_tree:' => "\u{1f333}",
            ':chestnut:' => "\u{1f330}",
            ':seedling:' => "\u{1f331}",
            ':blossom:' => "\u{1f33c}",
            ':globe_with_meridians:' => "\u{1f310}",
            ':sun_with_face:' => "\u{1f31e}",
            ':full_moon_with_face:' => "\u{1f31d}",
            ':new_moon_with_face:' => "\u{1f31a}",
            ':new_moon:' => "\u{1f311}",
            ':waxing_crescent_moon:' => "\u{1f312}",
            ':first_quarter_moon:' => "\u{1f313}",
            ':moon:' => "\u{1f314}",
            ':full_moon:' => "\u{1f315}",
            ':waning_gibbous_moon:' => "\u{1f316}",
            ':last_quarter_moon:' => "\u{1f317}",
            ':waning_crescent_moon:' => "\u{1f318}",
            ':last_quarter_moon_with_face:' => "\u{1f31c}",
            ':first_quarter_moon_with_face:' => "\u{1f31b}",
            ':crescent_moon:' => "\u{1f319}",
            ':earth_africa:' => "\u{1f30d}",
            ':earth_americas:' => "\u{1f30e}",
            ':earth_asia:' => "\u{1f30f}",
            ':volcano:' => "\u{1f30b}",
            ':milky_way:' => "\u{1f30c}",
            ':stars:' => "\u{1f320}",
            ':star:' => "\u{2b50}",
            ':sunny:' => "\u{2600}",
            ':partly_sunny:' => "\u{26c5}",
            ':cloud:' => "\u{2601}",
            ':zap:' => "\u{26a1}",
            ':umbrella:' => "\u{2614}",
            ':snowflake:' => "\u{2744}",
            ':snowman:' => "\u{26c4}",
            ':cyclone:' => "\u{1f300}",
            ':foggy:' => "\u{1f301}",
            ':rainbow:' => "\u{1f308}",
            ':rainbow_flag:' => "\u{1f3f3}\u{fe0f}\u{200d}\u{1f308}",
            ':ocean:' => "\u{1f30a}",
            ':bamboo:' => "\u{1f38d}",
            ':gift_heart:' => "\u{1f49d}",
            ':dolls:' => "\u{1f38e}",
            ':school_satchel:' => "\u{1f392}",
            ':mortar_board:' => "\u{1f393}",
            ':flags:' => "\u{1f38f}",
            ':fireworks:' => "\u{1f386}",
            ':sparkler:' => "\u{1f387}",
            ':wind_chime:' => "\u{1f390}",
            ':rice_scene:' => "\u{1f391}",
            ':jack_o_lantern:' => "\u{1f383}",
            ':ghost:' => "\u{1f47b}",
            ':santa:' => "\u{1f385}",
            ':christmas_tree:' => "\u{1f384}",
            ':gift:' => "\u{1f381}",
            ':tanabata_tree:' => "\u{1f38b}",
            ':tada:' => "\u{1f389}",
            ':confetti_ball:' => "\u{1f38a}",
            ':balloon:' => "\u{1f388}",
            ':crossed_flags:' => "\u{1f38c}",
            ':crystal_ball:' => "\u{1f52e}",
            ':movie_camera:' => "\u{1f3a5}",
            ':camera:' => "\u{1f4f7}",
            ':video_camera:' => "\u{1f4f9}",
            ':vhs:' => "\u{1f4fc}",
            ':cd:' => "\u{1f4bf}",
            ':dvd:' => "\u{1f4c0}",
            ':minidisc:' => "\u{1f4bd}",
            ':floppy_disk:' => "\u{1f4be}",
            ':computer:' => "\u{1f4bb}",
            ':iphone:' => "\u{1f4f1}",
            ':phone:' => "\u{260e}",
            ':telephone_receiver:' => "\u{1f4de}",
            ':pager:' => "\u{1f4df}",
            ':fax:' => "\u{1f4e0}",
            ':satellite:' => "\u{1f4e1}",
            ':tv:' => "\u{1f4fa}",
            ':radio:' => "\u{1f4fb}",
            ':loud_sound:' => "\u{1f50a}",
            ':sound:' => "\u{1f509}",
            ':speaker:' => "\u{1f508}",
            ':mute:' => "\u{1f507}",
            ':bell:' => "\u{1f514}",
            ':no_bell:' => "\u{1f515}",
            ':mega:' => "\u{1f4e3}",
            ':loudspeaker:' => "\u{1f4e2}",
            ':hourglass_flowing_sand:' => "\u{23f3}",
            ':hourglass:' => "\u{231b}",
            ':alarm_clock:' => "\u{23f0}",
            ':watch:' => "\u{231a}",
            ':unlock:' => "\u{1f513}",
            ':lock:' => "\u{1f512}",
            ':lock_with_ink_pen:' => "\u{1f50f}",
            ':closed_lock_with_key:' => "\u{1f510}",
            ':key:' => "\u{1f511}",
            ':key2:' => "\u{1f5dd}",
            ':shit:' => "\u{1f4a9}",
            ':unicorn:' => "\u{1f984}",
            ':robot:' => "\u{1f916}",
            ':mag_right:' => "\u{1f50e}",
            ':bulb:' => "\u{1f4a1}",
            ':flashlight:' => "\u{1f526}",
            ':high_brightness:' => "\u{1f506}",
            ':low_brightness:' => "\u{1f505}",
            ':electric_plug:' => "\u{1f50c}",
            ':battery:' => "\u{1f50b}",
            ':mag:' => "\u{1f50d}",
            ':bath:' => "\u{1f6c0}",
            ':bathtub:' => "\u{1f6c1}",
            ':shower:' => "\u{1f6bf}",
            ':toilet:' => "\u{1f6bd}",
            ':wrench:' => "\u{1f527}",
            ':nut_and_bolt:' => "\u{1f529}",
            ':hammer:' => "\u{1f528}",
            ':door:' => "\u{1f6aa}",
            ':smoking:' => "\u{1f6ac}",
            ':bomb:' => "\u{1f4a3}",
            ':gun:' => "\u{1f52b}",
            ':hocho:' => "\u{1f52a}",
            ':pill:' => "\u{1f48a}",
            ':syringe:' => "\u{1f489}",
            ':moneybag:' => "\u{1f4b0}",
            ':yen:' => "\u{1f4b4}",
            ':dollar:' => "\u{1f4b5}",
            ':pound:' => "\u{1f4b7}",
            ':euro:' => "\u{1f4b6}",
            ':credit_card:' => "\u{1f4b3}",
            ':money_with_wings:' => "\u{1f4b8}",
            ':calling:' => "\u{1f4f2}",
            ':e-mail:' => "\u{1f4e7}",
            ':inbox_tray:' => "\u{1f4e5}",
            ':outbox_tray:' => "\u{1f4e4}",
            ':email:' => "\u{2709}",
            ':envelope_with_arrow:' => "\u{1f4e9}",
            ':incoming_envelope:' => "\u{1f4e8}",
            ':postal_horn:' => "\u{1f4ef}",
            ':mailbox:' => "\u{1f4eb}",
            ':mailbox_closed:' => "\u{1f4ea}",
            ':mailbox_with_mail:' => "\u{1f4ec}",
            ':mailbox_with_no_mail:' => "\u{1f4ed}",
            ':postbox:' => "\u{1f4ee}",
            ':package:' => "\u{1f4e6}",
            ':memo:' => "\u{1f4dd}",
            ':pencil:' => "\u{1f4dd}",
            ':page_facing_up:' => "\u{1f4c4}",
            ':page_with_curl:' => "\u{1f4c3}",
            ':bookmark_tabs:' => "\u{1f4d1}",
            ':bar_chart:' => "\u{1f4ca}",
            ':chart_with_upwards_trend:' => "\u{1f4c8}",
            ':chart_with_downwards_trend:' => "\u{1f4c9}",
            ':scroll:' => "\u{1f4dc}",
            ':clipboard:' => "\u{1f4cb}",
            ':date:' => "\u{1f4c5}",
            ':calendar:' => "\u{1f4c6}",
            ':card_index:' => "\u{1f4c7}",
            ':file_folder:' => "\u{1f4c1}",
            ':open_file_folder:' => "\u{1f4c2}",
            ':scissors:' => "\u{2702}",
            ':pushpin:' => "\u{1f4cc}",
            ':paperclip:' => "\u{1f4ce}",
            ':black_nib:' => "\u{2712}",
            ':pencil2:' => "\u{270f}",
            ':straight_ruler:' => "\u{1f4cf}",
            ':triangular_ruler:' => "\u{1f4d0}",
            ':closed_book:' => "\u{1f4d5}",
            ':green_book:' => "\u{1f4d7}",
            ':blue_book:' => "\u{1f4d8}",
            ':orange_book:' => "\u{1f4d9}",
            ':notebook:' => "\u{1f4d3}",
            ':notebook_with_decorative_cover:' => "\u{1f4d4}",
            ':ledger:' => "\u{1f4d2}",
            ':books:' => "\u{1f4da}",
            ':book:' => "\u{1f4d6}",
            ':bookmark:' => "\u{1f516}",
            ':name_badge:' => "\u{1f4db}",
            ':microscope:' => "\u{1f52c}",
            ':telescope:' => "\u{1f52d}",
            ':newspaper:' => "\u{1f4f0}",
            ':art:' => "\u{1f3a8}",
            ':clapper:' => "\u{1f3ac}",
            ':microphone:' => "\u{1f3a4}",
            ':headphones:' => "\u{1f3a7}",
            ':musical_score:' => "\u{1f3bc}",
            ':musical_note:' => "\u{1f3b5}",
            ':notes:' => "\u{1f3b6}",
            ':musical_keyboard:' => "\u{1f3b9}",
            ':violin:' => "\u{1f3bb}",
            ':trumpet:' => "\u{1f3ba}",
            ':saxophone:' => "\u{1f3b7}",
            ':guitar:' => "\u{1f3b8}",
            ':space_invader:' => "\u{1f47e}",
            ':video_game:' => "\u{1f3ae}",
            ':black_joker:' => "\u{1f0cf}",
            ':flower_playing_cards:' => "\u{1f3b4}",
            ':mahjong:' => "\u{1f004}",
            ':game_die:' => "\u{1f3b2}",
            ':dart:' => "\u{1f3af}",
            ':football:' => "\u{1f3c8}",
            ':basketball:' => "\u{1f3c0}",
            ':soccer:' => "\u{26bd}",
            ':baseball:' => "\u{26be}",
            ':tennis:' => "\u{1f3be}",
            ':8ball:' => "\u{1f3b1}",
            ':rugby_football:' => "\u{1f3c9}",
            ':bowling:' => "\u{1f3b3}",
            ':golf:' => "\u{26f3}",
            ':mountain_bicyclist:' => "\u{1f6b5}",
            ':bicyclist:' => "\u{1f6b4}",
            ':checkered_flag:' => "\u{1f3c1}",
            ':horse_racing:' => "\u{1f3c7}",
            ':trophy:' => "\u{1f3c6}",
            ':ski:' => "\u{1f3bf}",
            ':snowboarder:' => "\u{1f3c2}",
            ':swimmer:' => "\u{1f3ca}",
            ':surfer:' => "\u{1f3c4}",
            ':fishing_pole_and_fish:' => "\u{1f3a3}",
            ':coffee:' => "\u{2615}",
            ':tea:' => "\u{1f375}",
            ':sake:' => "\u{1f376}",
            ':baby_bottle:' => "\u{1f37c}",
            ':beer:' => "\u{1f37a}",
            ':beers:' => "\u{1f37b}",
            ':cocktail:' => "\u{1f378}",
            ':tropical_drink:' => "\u{1f379}",
            ':wine_glass:' => "\u{1f377}",
            ':fork_and_knife:' => "\u{1f374}",
            ':pizza:' => "\u{1f355}",
            ':hamburger:' => "\u{1f354}",
            ':fries:' => "\u{1f35f}",
            ':poultry_leg:' => "\u{1f357}",
            ':meat_on_bone:' => "\u{1f356}",
            ':spaghetti:' => "\u{1f35d}",
            ':curry:' => "\u{1f35b}",
            ':fried_shrimp:' => "\u{1f364}",
            ':bento:' => "\u{1f371}",
            ':sushi:' => "\u{1f363}",
            ':fish_cake:' => "\u{1f365}",
            ':rice_ball:' => "\u{1f359}",
            ':rice_cracker:' => "\u{1f358}",
            ':rice:' => "\u{1f35a}",
            ':ramen:' => "\u{1f35c}",
            ':stew:' => "\u{1f372}",
            ':oden:' => "\u{1f362}",
            ':dango:' => "\u{1f361}",
            ':egg:' => "\u{1f373}",
            ':bread:' => "\u{1f35e}",
            ':doughnut:' => "\u{1f369}",
            ':custard:' => "\u{1f36e}",
            ':icecream:' => "\u{1f366}",
            ':ice_cream:' => "\u{1f368}",
            ':shaved_ice:' => "\u{1f367}",
            ':birthday:' => "\u{1f382}",
            ':cake:' => "\u{1f370}",
            ':cookie:' => "\u{1f36a}",
            ':chocolate_bar:' => "\u{1f36b}",
            ':candy:' => "\u{1f36c}",
            ':lollipop:' => "\u{1f36d}",
            ':honey_pot:' => "\u{1f36f}",
            ':apple:' => "\u{1f34e}",
            ':green_apple:' => "\u{1f34f}",
            ':tangerine:' => "\u{1f34a}",
            ':lemon:' => "\u{1f34b}",
            ':cherries:' => "\u{1f352}",
            ':grapes:' => "\u{1f347}",
            ':watermelon:' => "\u{1f349}",
            ':strawberry:' => "\u{1f353}",
            ':peach:' => "\u{1f351}",
            ':melon:' => "\u{1f348}",
            ':banana:' => "\u{1f34c}",
            ':pear:' => "\u{1f350}",
            ':pineapple:' => "\u{1f34d}",
            ':sweet_potato:' => "\u{1f360}",
            ':eggplant:' => "\u{1f346}",
            ':tomato:' => "\u{1f345}",
            ':corn:' => "\u{1f33d}",
            ':house:' => "\u{1f3e0}",
            ':house_with_garden:' => "\u{1f3e1}",
            ':school:' => "\u{1f3eb}",
            ':office:' => "\u{1f3e2}",
            ':post_office:' => "\u{1f3e3}",
            ':hospital:' => "\u{1f3e5}",
            ':bank:' => "\u{1f3e6}",
            ':convenience_store:' => "\u{1f3ea}",
            ':love_hotel:' => "\u{1f3e9}",
            ':hotel:' => "\u{1f3e8}",
            ':wedding:' => "\u{1f492}",
            ':church:' => "\u{26ea}",
            ':department_store:' => "\u{1f3ec}",
            ':european_post_office:' => "\u{1f3e4}",
            ':city_sunrise:' => "\u{1f307}",
            ':city_sunset:' => "\u{1f306}",
            ':japanese_castle:' => "\u{1f3ef}",
            ':european_castle:' => "\u{1f3f0}",
            ':tent:' => "\u{26fa}",
            ':factory:' => "\u{1f3ed}",
            ':tokyo_tower:' => "\u{1f5fc}",
            ':japan:' => "\u{1f5fe}",
            ':mount_fuji:' => "\u{1f5fb}",
            ':sunrise_over_mountains:' => "\u{1f304}",
            ':sunrise:' => "\u{1f305}",
            ':night_with_stars:' => "\u{1f303}",
            ':statue_of_liberty:' => "\u{1f5fd}",
            ':bridge_at_night:' => "\u{1f309}",
            ':carousel_horse:' => "\u{1f3a0}",
            ':ferris_wheel:' => "\u{1f3a1}",
            ':fountain:' => "\u{26f2}",
            ':roller_coaster:' => "\u{1f3a2}",
            ':ship:' => "\u{1f6a2}",
            ':boat:' => "\u{26f5}",
            ':speedboat:' => "\u{1f6a4}",
            ':rowboat:' => "\u{1f6a3}",
            ':anchor:' => "\u{2693}",
            ':rocket:' => "\u{1f680}",
            ':airplane:' => "\u{2708}",
            ':seat:' => "\u{1f4ba}",
            ':helicopter:' => "\u{1f681}",
            ':steam_locomotive:' => "\u{1f682}",
            ':tram:' => "\u{1f68a}",
            ':station:' => "\u{1f689}",
            ':mountain_railway:' => "\u{1f69e}",
            ':train2:' => "\u{1f686}",
            ':bullettrain_side:' => "\u{1f684}",
            ':bullettrain_front:' => "\u{1f685}",
            ':light_rail:' => "\u{1f688}",
            ':metro:' => "\u{1f687}",
            ':monorail:' => "\u{1f69d}",
            ':railway_car:' => "\u{1f683}",
            ':train:' => "\u{1f68b}",
            ':trolleybus:' => "\u{1f68e}",
            ':bus:' => "\u{1f68c}",
            ':oncoming_bus:' => "\u{1f68d}",
            ':blue_car:' => "\u{1f699}",
            ':oncoming_automobile:' => "\u{1f698}",
            ':car:' => "\u{1f697}",
            ':taxi:' => "\u{1f695}",
            ':oncoming_taxi:' => "\u{1f696}",
            ':articulated_lorry:' => "\u{1f69b}",
            ':truck:' => "\u{1f69a}",
            ':rotating_light:' => "\u{1f6a8}",
            ':police_car:' => "\u{1f693}",
            ':oncoming_police_car:' => "\u{1f694}",
            ':fire_engine:' => "\u{1f692}",
            ':ambulance:' => "\u{1f691}",
            ':minibus:' => "\u{1f690}",
            ':bike:' => "\u{1f6b2}",
            ':aerial_tramway:' => "\u{1f6a1}",
            ':suspension_railway:' => "\u{1f69f}",
            ':mountain_cableway:' => "\u{1f6a0}",
            ':tractor:' => "\u{1f69c}",
            ':barber:' => "\u{1f488}",
            ':busstop:' => "\u{1f68f}",
            ':ticket:' => "\u{1f3ab}",
            ':vertical_traffic_light:' => "\u{1f6a6}",
            ':traffic_light:' => "\u{1f6a5}",
            ':warning:' => "\u{26a0}",
            ':construction:' => "\u{1f6a7}",
            ':beginner:' => "\u{1f530}",
            ':fuelpump:' => "\u{26fd}",
            ':izakaya_lantern:' => "\u{1f3ee}",
            ':slot_machine:' => "\u{1f3b0}",
            ':hotsprings:' => "\u{2668}",
            ':moyai:' => "\u{1f5ff}",
            ':circus_tent:' => "\u{1f3aa}",
            ':performing_arts:' => "\u{1f3ad}",
            ':round_pushpin:' => "\u{1f4cd}",
            ':triangular_flag_on_post:' => "\u{1f6a9}",
            ':one:' => "\u{0031}",
            ':two:' => "\u{0032}",
            ':three:' => "\u{0033}",
            ':four:' => "\u{0034}",
            ':five:' => "\u{0035}",
            ':six:' => "\u{0036}",
            ':seven:' => "\u{0037}",
            ':eight:' => "\u{0038}",
            ':nine:' => "\u{0039}",
            ':zero:' => "\u{0030}",
            ':keycap_ten:' => "\u{1f51f}",
            ':1234:' => "\u{1f522}",
            ':hash:' => "\u{0023}",
            ':symbols:' => "\u{1f523}",
            ':arrow_up:' => "\u{2b06}",
            ':arrow_down:' => "\u{2b07}",
            ':arrow_left:' => "\u{2b05}",
            ':arrow_right:' => "\u{27a1}",
            ':capital_abcd:' => "\u{1f520}",
            ':abcd:' => "\u{1f521}",
            ':abc:' => "\u{1f524}",
            ':arrow_upper_right:' => "\u{2197}",
            ':arrow_upper_left:' => "\u{2196}",
            ':arrow_lower_right:' => "\u{2198}",
            ':arrow_lower_left:' => "\u{2199}",
            ':left_right_arrow:' => "\u{2194}",
            ':arrow_up_down:' => "\u{2195}",
            ':arrows_counterclockwise:' => "\u{1f504}",
            ':arrow_backward:' => "\u{25c0}",
            ':arrow_forward:' => "\u{25b6}",
            ':play_pause:' => "\u{23ef}\u{fe0f}",
            ':arrow_up_small:' => "\u{1f53c}",
            ':arrow_down_small:' => "\u{1f53d}",
            ':leftwards_arrow_with_hook:' => "\u{21a9}",
            ':arrow_right_hook:' => "\u{21aa}",
            ':information_source:' => "\u{2139}",
            ':rewind:' => "\u{23ea}",
            ':fast_forward:' => "\u{23e9}",
            ':arrow_double_up:' => "\u{23eb}",
            ':arrow_double_down:' => "\u{23ec}",
            ':arrow_heading_down:' => "\u{2935}",
            ':arrow_heading_up:' => "\u{2934}",
            ':ok:' => "\u{1f197}",
            ':twisted_rightwards_arrows:' => "\u{1f500}",
            ':repeat:' => "\u{1f501}",
            ':repeat_one:' => "\u{1f502}",
            ':new:' => "\u{1f195}",
            ':up:' => "\u{1f199}",
            ':cool:' => "\u{1f192}",
            ':free:' => "\u{1f193}",
            ':ng:' => "\u{1f196}",
            ':signal_strength:' => "\u{1f4f6}",
            ':cinema:' => "\u{1f3a6}",
            ':koko:' => "\u{1f201}",
            ':ideograph_advantage:' => "\u{1f250}",
            ':restroom:' => "\u{1f6bb}",
            ':mens:' => "\u{1f6b9}",
            ':womens:' => "\u{1f6ba}",
            ':baby_symbol:' => "\u{1f6bc}",
            ':wc:' => "\u{1f6be}",
            ':potable_water:' => "\u{1f6b0}",
            ':put_litter_in_its_place:' => "\u{1f6ae}",
            ':parking:' => "\u{1f17f}",
            ':wheelchair:' => "\u{267f}",
            ':no_smoking:' => "\u{1f6ad}",
            ':u6708:' => "\u{1f237}",
            ':u7533:' => "\u{1f238}",
            ':sa:' => "\u{1f202}",
            ':m:' => "\u{24c2}",
            ':passport_control:' => "\u{1f6c2}",
            ':baggage_claim:' => "\u{1f6c4}",
            ':left_luggage:' => "\u{1f6c5}",
            ':customs:' => "\u{1f6c3}",
            ':accept:' => "\u{1f251}",
            ':secret:' => "\u{3299}",
            ':congratulations:' => "\u{3297}",
            ':cl:' => "\u{1f191}",
            ':sos:' => "\u{1f198}",
            ':id:' => "\u{1f194}",
            ':no_entry_sign:' => "\u{1f6ab}",
            ':underage:' => "\u{1f51e}",
            ':no_mobile_phones:' => "\u{1f4f5}",
            ':do_not_litter:' => "\u{1f6af}",
            ':non_potable_water:' => "\u{1f6b1}",
            ':no_bicycles:' => "\u{1f6b3}",
            ':no_pedestrians:' => "\u{1f6b7}",
            ':children_crossing:' => "\u{1f6b8}",
            ':no_entry:' => "\u{26d4}",
            ':eight_spoked_asterisk:' => "\u{2733}",
            ':sparkle:' => "\u{2747}",
            ':negative_squared_cross_mark:' => "\u{274e}",
            ':white_check_mark:' => "\u{2705}",
            ':eight_pointed_black_star:' => "\u{2734}",
            ':heart_decoration:' => "\u{1f49f}",
            ':vs:' => "\u{1f19a}",
            ':vibration_mode:' => "\u{1f4f3}",
            ':mobile_phone_off:' => "\u{1f4f4}",
            ':a:' => "\u{1f170}",
            ':b:' => "\u{1f171}",
            ':ab:' => "\u{1f18e}",
            ':o2:' => "\u{1f17e}",
            ':diamond_shape_with_a_dot_inside:' => "\u{1f4a0}",
            ':loop:' => "\u{27bf}",
            ':recycle:' => "\u{267b}",
            ':aries:' => "\u{2648}",
            ':taurus:' => "\u{2649}",
            ':gemini:' => "\u{264a}",
            ':cancer:' => "\u{264b}",
            ':leo:' => "\u{264c}",
            ':virgo:' => "\u{264d}",
            ':libra:' => "\u{264e}",
            ':scorpius:' => "\u{264f}",
            ':sagittarius:' => "\u{2650}",
            ':capricorn:' => "\u{2651}",
            ':aquarius:' => "\u{2652}",
            ':pisces:' => "\u{2653}",
            ':ophiuchus:' => "\u{26ce}",
            ':six_pointed_star:' => "\u{1f52f}",
            ':atm:' => "\u{1f3e7}",
            ':chart:' => "\u{1f4b9}",
            ':heavy_dollar_sign:' => "\u{1f4b2}",
            ':currency_exchange:' => "\u{1f4b1}",
            ':copyright:' => "\u{00a9}",
            ':registered:' => "\u{00ae}",
            ':tm:' => "\u{2122}",
            ':x:' => "\u{274c}",
            ':bangbang:' => "\u{203c}",
            ':interrobang:' => "\u{2049}",
            ':exclamation:' => "\u{2757}",
            ':question:' => "\u{2753}",
            ':grey_exclamation:' => "\u{2755}",
            ':grey_question:' => "\u{2754}",
            ':o:' => "\u{2b55}",
            ':top:' => "\u{1f51d}",
            ':end:' => "\u{1f51a}",
            ':back:' => "\u{1f519}",
            ':on:' => "\u{1f51b}",
            ':soon:' => "\u{1f51c}",
            ':arrows_clockwise:' => "\u{1f503}",
            ':clock12:' => "\u{1f55b}",
            ':clock1230:' => "\u{1f567}",
            ':clock1:' => "\u{1f550}",
            ':clock130:' => "\u{1f55c}",
            ':clock2:' => "\u{1f551}",
            ':clock230:' => "\u{1f55d}",
            ':clock3:' => "\u{1f552}",
            ':clock330:' => "\u{1f55e}",
            ':clock4:' => "\u{1f553}",
            ':clock430:' => "\u{1f55f}",
            ':clock5:' => "\u{1f554}",
            ':clock530:' => "\u{1f560}",
            ':clock6:' => "\u{1f555}",
            ':clock7:' => "\u{1f556}",
            ':clock8:' => "\u{1f557}",
            ':clock9:' => "\u{1f558}",
            ':clock10:' => "\u{1f559}",
            ':clock11:' => "\u{1f55a}",
            ':clock630:' => "\u{1f561}",
            ':clock730:' => "\u{1f562}",
            ':clock830:' => "\u{1f563}",
            ':clock930:' => "\u{1f564}",
            ':clock1030:' => "\u{1f565}",
            ':clock1130:' => "\u{1f566}",
            ':heavy_multiplication_x:' => "\u{2716}",
            ':heavy_plus_sign:' => "\u{2795}",
            ':heavy_minus_sign:' => "\u{2796}",
            ':heavy_division_sign:' => "\u{2797}",
            ':spades:' => "\u{2660}",
            ':hearts:' => "\u{2665}",
            ':clubs:' => "\u{2663}",
            ':diamonds:' => "\u{2666}",
            ':white_flower:' => "\u{1f4ae}",
            ':100:' => "\u{1f4af}",
            ':heavy_check_mark:' => "\u{2714}",
            ':ballot_box_with_check:' => "\u{2611}",
            ':radio_button:' => "\u{1f518}",
            ':link:' => "\u{1f517}",
            ':curly_loop:' => "\u{27b0}",
            ':wavy_dash:' => "\u{3030}",
            ':part_alternation_mark:' => "\u{303d}",
            ':trident:' => "\u{1f531}",
            ':black_medium_square:' => "\u{25fc}",
            ':white_medium_square:' => "\u{25fb}",
            ':black_medium_small_square:' => "\u{25fe}",
            ':white_medium_small_square:' => "\u{25fd}",
            ':black_small_square:' => "\u{25aa}",
            ':white_small_square:' => "\u{25ab}",
            ':small_red_triangle:' => "\u{1f53a}",
            ':black_square_button:' => "\u{1f532}",
            ':white_square_button:' => "\u{1f533}",
            ':black_circle:' => "\u{26ab}",
            ':white_circle:' => "\u{26aa}",
            ':red_circle:' => "\u{1f534}",
            ':large_blue_circle:' => "\u{1f535}",
            ':small_red_triangle_down:' => "\u{1f53b}",
            ':white_large_square:' => "\u{2b1c}",
            ':black_large_square:' => "\u{2b1b}",
            ':large_orange_diamond:' => "\u{1f536}",
            ':large_blue_diamond:' => "\u{1f537}",
            ':small_orange_diamond:' => "\u{1f538}",
            ':small_blue_diamond:' => "\u{1f539}",

// Countries
            ':flag_ad:' => "\u{1f1e6}\u{1f1e9}",
            ':flag_ae:' => "\u{1f1e6}\u{1f1ea}",
            ':flag_af:' => "\u{1f1e6}\u{1f1eb}",
            ':flag_ag:' => "\u{1f1e6}\u{1f1ec}",
            ':flag_ai:' => "\u{1f1e6}\u{1f1ee}",
            ':flag_al:' => "\u{1f1e6}\u{1f1f1}",
            ':flag_am:' => "\u{1f1e6}\u{1f1f2}",
            ':flag_ao:' => "\u{1f1e6}\u{1f1f4}",
            ':flag_aq:' => "\u{1f1e6}\u{1f1f6}",
            ':flag_ar:' => "\u{1f1e6}\u{1f1f7}",
            ':flag_as:' => "\u{1f1e6}\u{1f1f8}",
            ':flag_at:' => "\u{1f1e6}\u{1f1f9}",
            ':flag_au:' => "\u{1f1e6}\u{1f1fa}",
            ':flag_aw:' => "\u{1f1e6}\u{1f1fc}",
            ':flag_ax:' => "\u{1f1e6}\u{1f1fd}",
            ':flag_az:' => "\u{1f1e6}\u{1f1ff}",
            ':flag_ba:' => "\u{1f1e7}\u{1f1e6}",
            ':flag_bb:' => "\u{1f1e7}\u{1f1e7}",
            ':flag_bd:' => "\u{1f1e7}\u{1f1e9}",
            ':flag_be:' => "\u{1f1e7}\u{1f1ea}",
            ':flag_bf:' => "\u{1f1e7}\u{1f1eb}",
            ':flag_bg:' => "\u{1f1e7}\u{1f1ec}",
            ':flag_bh:' => "\u{1f1e7}\u{1f1ed}",
            ':flag_bi:' => "\u{1f1e7}\u{1f1ee}",
            ':flag_bj:' => "\u{1f1e7}\u{1f1ef}",
            ':flag_bl:' => "\u{1f1e7}\u{1f1f1}",
            ':flag_bm:' => "\u{1f1e7}\u{1f1f2}",
            ':flag_bn:' => "\u{1f1e7}\u{1f1f3}",
            ':flag_bo:' => "\u{1f1e7}\u{1f1f4}",
            ':flag_bq:' => "\u{1f1e7}\u{1f1f6}",
            ':flag_br:' => "\u{1f1e7}\u{1f1f7}",
            ':flag_bs:' => "\u{1f1e7}\u{1f1f8}",
            ':flag_bt:' => "\u{1f1e7}\u{1f1f9}",
            ':flag_bv:' => "\u{1f1e7}\u{1f1fb}",
            ':flag_bw:' => "\u{1f1e7}\u{1f1fc}",
            ':flag_by:' => "\u{1f1e7}\u{1f1fe}",
            ':flag_bz:' => "\u{1f1e7}\u{1f1ff}",
            ':flag_ca:' => "\u{1f1e8}\u{1f1e6}",
            ':flag_cc:' => "\u{1f1e8}\u{1f1e8}",
            ':flag_cd:' => "\u{1f1e8}\u{1f1e9}",
            ':flag_cf:' => "\u{1f1e8}\u{1f1eb}",
            ':flag_cg:' => "\u{1f1e8}\u{1f1ec}",
            ':flag_ch:' => "\u{1f1e8}\u{1f1ed}",
            ':flag_ci:' => "\u{1f1e8}\u{1f1ee}",
            ':flag_ck:' => "\u{1f1e8}\u{1f1f0}",
            ':flag_cl:' => "\u{1f1e8}\u{1f1f1}",
            ':flag_cm:' => "\u{1f1e8}\u{1f1f2}",
            ':flag_cn:' => "\u{1f1e8}\u{1f1f3}",
            ':flag_co:' => "\u{1f1e8}\u{1f1f4}",
            ':flag_cr:' => "\u{1f1e8}\u{1f1f7}",
            ':flag_cu:' => "\u{1f1e8}\u{1f1fa}",
            ':flag_cv:' => "\u{1f1e8}\u{1f1fb}",
            ':flag_cw:' => "\u{1f1e8}\u{1f1fc}",
            ':flag_cx:' => "\u{1f1e8}\u{1f1fd}",
            ':flag_cy:' => "\u{1f1e8}\u{1f1fe}",
            ':flag_cz:' => "\u{1f1e8}\u{1f1ff}",
            ':flag_de:' => "\u{1f1e9}\u{1f1ea}",
            ':flag_dj:' => "\u{1f1e9}\u{1f1ef}",
            ':flag_dk:' => "\u{1f1e9}\u{1f1f0}",
            ':flag_dm:' => "\u{1f1e9}\u{1f1f2}",
            ':flag_do:' => "\u{1f1e9}\u{1f1f4}",
            ':flag_dz:' => "\u{1f1e9}\u{1f1ff}",
            ':flag_ec:' => "\u{1f1ea}\u{1f1e8}",
            ':flag_ee:' => "\u{1f1ea}\u{1f1ea}",
            ':flag_eg:' => "\u{1f1ea}\u{1f1ec}",
            ':flag_eh:' => "\u{1f1ea}\u{1f1ed}",
            ':flag_er:' => "\u{1f1ea}\u{1f1f7}",
            ':flag_es:' => "\u{1f1ea}\u{1f1f8}",
            ':flag_et:' => "\u{1f1ea}\u{1f1f9}",
            ':flag_fi:' => "\u{1f1eb}\u{1f1ee}",
            ':flag_fj:' => "\u{1f1eb}\u{1f1ef}",
            ':flag_fk:' => "\u{1f1eb}\u{1f1f0}",
            ':flag_fm:' => "\u{1f1eb}\u{1f1f2}",
            ':flag_fo:' => "\u{1f1eb}\u{1f1f4}",
            ':flag_fr:' => "\u{1f1eb}\u{1f1f7}",
            ':flag_ga:' => "\u{1f1ec}\u{1f1e6}",
            ':flag_gb:' => "\u{1f1ec}\u{1f1e7}",
            ':flag_gd:' => "\u{1f1ec}\u{1f1e9}",
            ':flag_ge:' => "\u{1f1ec}\u{1f1ea}",
            ':flag_gf:' => "\u{1f1ec}\u{1f1eb}",
            ':flag_gg:' => "\u{1f1ec}\u{1f1ec}",
            ':flag_gh:' => "\u{1f1ec}\u{1f1ed}",
            ':flag_gi:' => "\u{1f1ec}\u{1f1ee}",
            ':flag_gl:' => "\u{1f1ec}\u{1f1f1}",
            ':flag_gm:' => "\u{1f1ec}\u{1f1f2}",
            ':flag_gn:' => "\u{1f1ec}\u{1f1f3}",
            ':flag_gp:' => "\u{1f1ec}\u{1f1f5}",
            ':flag_gq:' => "\u{1f1ec}\u{1f1f6}",
            ':flag_gr:' => "\u{1f1ec}\u{1f1f7}",
            ':flag_gs:' => "\u{1f1ec}\u{1f1f8}",
            ':flag_gt:' => "\u{1f1ec}\u{1f1f9}",
            ':flag_gu:' => "\u{1f1ec}\u{1f1fa}",
            ':flag_gw:' => "\u{1f1ec}\u{1f1fc}",
            ':flag_gy:' => "\u{1f1ec}\u{1f1fe}",
            ':flag_hk:' => "\u{1f1ed}\u{1f1f0}",
            ':flag_hm:' => "\u{1f1ed}\u{1f1f2}",
            ':flag_hn:' => "\u{1f1ed}\u{1f1f3}",
            ':flag_hr:' => "\u{1f1ed}\u{1f1f7}",
            ':flag_ht:' => "\u{1f1ed}\u{1f1f9}",
            ':flag_hu:' => "\u{1f1ed}\u{1f1fa}",
            ':flag_id:' => "\u{1f1ee}\u{1f1e9}",
            ':flag_ie:' => "\u{1f1ee}\u{1f1ea}",
            ':flag_il:' => "\u{1f1ee}\u{1f1f1}",
            ':flag_im:' => "\u{1f1ee}\u{1f1f2}",
            ':flag_in:' => "\u{1f1ee}\u{1f1f3}",
            ':flag_io:' => "\u{1f1ee}\u{1f1f4}",
            ':flag_iq:' => "\u{1f1ee}\u{1f1f6}",
            ':flag_ir:' => "\u{1f1ee}\u{1f1f7}",
            ':flag_is:' => "\u{1f1ee}\u{1f1f8}",
            ':flag_it:' => "\u{1f1ee}\u{1f1f9}",
            ':flag_je:' => "\u{1f1ef}\u{1f1ea}",
            ':flag_jm:' => "\u{1f1ef}\u{1f1f2}",
            ':flag_jo:' => "\u{1f1ef}\u{1f1f4}",
            ':flag_jp:' => "\u{1f1ef}\u{1f1f5}",
            ':flag_ke:' => "\u{1f1f0}\u{1f1ea}",
            ':flag_kg:' => "\u{1f1f0}\u{1f1ec}",
            ':flag_kh:' => "\u{1f1f0}\u{1f1ed}",
            ':flag_ki:' => "\u{1f1f0}\u{1f1ee}",
            ':flag_km:' => "\u{1f1f0}\u{1f1f2}",
            ':flag_kn:' => "\u{1f1f0}\u{1f1f3}",
            ':flag_kp:' => "\u{1f1f0}\u{1f1f5}",
            ':flag_kr:' => "\u{1f1f0}\u{1f1f7}",
            ':flag_kw:' => "\u{1f1f0}\u{1f1fc}",
            ':flag_ky:' => "\u{1f1f0}\u{1f1fe}",
            ':flag_kz:' => "\u{1f1f0}\u{1f1ff}",
            ':flag_la:' => "\u{1f1f1}\u{1f1e6}",
            ':flag_lb:' => "\u{1f1f1}\u{1f1e7}",
            ':flag_lc:' => "\u{1f1f1}\u{1f1e8}",
            ':flag_li:' => "\u{1f1f1}\u{1f1ee}",
            ':flag_lk:' => "\u{1f1f1}\u{1f1f0}",
            ':flag_lr:' => "\u{1f1f1}\u{1f1f7}",
            ':flag_ls:' => "\u{1f1f1}\u{1f1f8}",
            ':flag_lt:' => "\u{1f1f1}\u{1f1f9}",
            ':flag_lu:' => "\u{1f1f1}\u{1f1fa}",
            ':flag_lv:' => "\u{1f1f1}\u{1f1fb}",
            ':flag_ly:' => "\u{1f1f1}\u{1f1fe}",
            ':flag_ma:' => "\u{1f1f2}\u{1f1e6}",
            ':flag_mc:' => "\u{1f1f2}\u{1f1e8}",
            ':flag_md:' => "\u{1f1f2}\u{1f1e9}",
            ':flag_me:' => "\u{1f1f2}\u{1f1ea}",
            ':flag_mf:' => "\u{1f1f2}\u{1f1eb}",
            ':flag_mg:' => "\u{1f1f2}\u{1f1ec}",
            ':flag_mh:' => "\u{1f1f2}\u{1f1ed}",
            ':flag_mk:' => "\u{1f1f2}\u{1f1f0}",
            ':flag_ml:' => "\u{1f1f2}\u{1f1f1}",
            ':flag_mm:' => "\u{1f1f2}\u{1f1f2}",
            ':flag_mn:' => "\u{1f1f2}\u{1f1f3}",
            ':flag_mo:' => "\u{1f1f2}\u{1f1f4}",
            ':flag_mp:' => "\u{1f1f2}\u{1f1f5}",
            ':flag_mq:' => "\u{1f1f2}\u{1f1f6}",
            ':flag_mr:' => "\u{1f1f2}\u{1f1f7}",
            ':flag_ms:' => "\u{1f1f2}\u{1f1f8}",
            ':flag_mt:' => "\u{1f1f2}\u{1f1f9}",
            ':flag_mu:' => "\u{1f1f2}\u{1f1fa}",
            ':flag_mv:' => "\u{1f1f2}\u{1f1fb}",
            ':flag_mw:' => "\u{1f1f2}\u{1f1fc}",
            ':flag_mx:' => "\u{1f1f2}\u{1f1fd}",
            ':flag_my:' => "\u{1f1f2}\u{1f1fe}",
            ':flag_mz:' => "\u{1f1f2}\u{1f1ff}",
            ':flag_na:' => "\u{1f1f3}\u{1f1e6}",
            ':flag_nc:' => "\u{1f1f3}\u{1f1e8}",
            ':flag_ne:' => "\u{1f1f3}\u{1f1ea}",
            ':flag_nf:' => "\u{1f1f3}\u{1f1eb}",
            ':flag_ng:' => "\u{1f1f3}\u{1f1ec}",
            ':flag_ni:' => "\u{1f1f3}\u{1f1ee}",
            ':flag_nl:' => "\u{1f1f3}\u{1f1f1}",
            ':flag_no:' => "\u{1f1f3}\u{1f1f4}",
            ':flag_np:' => "\u{1f1f3}\u{1f1f5}",
            ':flag_nr:' => "\u{1f1f3}\u{1f1f7}",
            ':flag_nu:' => "\u{1f1f3}\u{1f1fa}",
            ':flag_nz:' => "\u{1f1f3}\u{1f1ff}",
            ':flag_om:' => "\u{1f1f4}\u{1f1f2}",
            ':flag_pa:' => "\u{1f1f5}\u{1f1e6}",
            ':flag_pe:' => "\u{1f1f5}\u{1f1ea}",
            ':flag_pf:' => "\u{1f1f5}\u{1f1eb}",
            ':flag_pg:' => "\u{1f1f5}\u{1f1ec}",
            ':flag_ph:' => "\u{1f1f5}\u{1f1ed}",
            ':flag_pk:' => "\u{1f1f5}\u{1f1f0}",
            ':flag_pl:' => "\u{1f1f5}\u{1f1f1}",
            ':flag_pm:' => "\u{1f1f5}\u{1f1f2}",
            ':flag_pn:' => "\u{1f1f5}\u{1f1f3}",
            ':flag_pr:' => "\u{1f1f5}\u{1f1f7}",
            ':flag_ps:' => "\u{1f1f5}\u{1f1f8}",
            ':flag_pt:' => "\u{1f1f5}\u{1f1f9}",
            ':flag_pw:' => "\u{1f1f5}\u{1f1fc}",
            ':flag_py:' => "\u{1f1f5}\u{1f1fe}",
            ':flag_qa:' => "\u{1f1f6}\u{1f1e6}",
            ':flag_re:' => "\u{1f1f7}\u{1f1ea}",
            ':flag_ro:' => "\u{1f1f7}\u{1f1f4}",
            ':flag_rs:' => "\u{1f1f7}\u{1f1f8}",
            ':flag_ru:' => "\u{1f1f7}\u{1f1fa}",
            ':flag_rw:' => "\u{1f1f7}\u{1f1fc}",
            ':flag_sa:' => "\u{1f1f8}\u{1f1e6}",
            ':flag_sb:' => "\u{1f1f8}\u{1f1e7}",
            ':flag_sc:' => "\u{1f1f8}\u{1f1e8}",
            ':flag_sd:' => "\u{1f1f8}\u{1f1e9}",
            ':flag_se:' => "\u{1f1f8}\u{1f1ea}",
            ':flag_sg:' => "\u{1f1f8}\u{1f1ec}",
            ':flag_sh:' => "\u{1f1f8}\u{1f1ed}",
            ':flag_si:' => "\u{1f1f8}\u{1f1ee}",
            ':flag_sj:' => "\u{1f1f8}\u{1f1ef}",
            ':flag_sk:' => "\u{1f1f8}\u{1f1f0}",
            ':flag_sl:' => "\u{1f1f8}\u{1f1f1}",
            ':flag_sm:' => "\u{1f1f8}\u{1f1f2}",
            ':flag_sn:' => "\u{1f1f8}\u{1f1f3}",
            ':flag_so:' => "\u{1f1f8}\u{1f1f4}",
            ':flag_sr:' => "\u{1f1f8}\u{1f1f7}",
            ':flag_ss:' => "\u{1f1f8}\u{1f1f8}",
            ':flag_st:' => "\u{1f1f8}\u{1f1f9}",
            ':flag_sv:' => "\u{1f1f8}\u{1f1fb}",
            ':flag_sx:' => "\u{1f1f8}\u{1f1fd}",
            ':flag_sy:' => "\u{1f1f8}\u{1f1fe}",
            ':flag_sz:' => "\u{1f1f8}\u{1f1ff}",
            ':flag_tc:' => "\u{1f1f9}\u{1f1e8}",
            ':flag_td:' => "\u{1f1f9}\u{1f1e9}",
            ':flag_tf:' => "\u{1f1f9}\u{1f1eb}",
            ':flag_tg:' => "\u{1f1f9}\u{1f1ec}",
            ':flag_th:' => "\u{1f1f9}\u{1f1ed}",
            ':flag_tj:' => "\u{1f1f9}\u{1f1ef}",
            ':flag_tk:' => "\u{1f1f9}\u{1f1f0}",
            ':flag_tl:' => "\u{1f1f9}\u{1f1f1}",
            ':flag_tm:' => "\u{1f1f9}\u{1f1f2}",
            ':flag_tn:' => "\u{1f1f9}\u{1f1f3}",
            ':flag_to:' => "\u{1f1f9}\u{1f1f4}",
            ':flag_tr:' => "\u{1f1f9}\u{1f1f7}",
            ':flag_tt:' => "\u{1f1f9}\u{1f1f9}",
            ':flag_tv:' => "\u{1f1f9}\u{1f1fb}",
            ':flag_tw:' => "\u{1f1f9}\u{1f1fc}",
            ':flag_tz:' => "\u{1f1f9}\u{1f1ff}",
            ':flag_ua:' => "\u{1f1fa}\u{1f1e6}",
            ':flag_ug:' => "\u{1f1fa}\u{1f1ec}",
            ':flag_um:' => "\u{1f1fa}\u{1f1f2}",
            ':flag_us:' => "\u{1f1fa}\u{1f1f8}",
            ':flag_uy:' => "\u{1f1fa}\u{1f1fe}",
            ':flag_uz:' => "\u{1f1fa}\u{1f1ff}",
            ':flag_va:' => "\u{1f1fb}\u{1f1e6}",
            ':flag_vc:' => "\u{1f1fb}\u{1f1e8}",
            ':flag_ve:' => "\u{1f1fb}\u{1f1ea}",
            ':flag_vg:' => "\u{1f1fb}\u{1f1ec}",
            ':flag_vi:' => "\u{1f1fb}\u{1f1ee}",
            ':flag_vn:' => "\u{1f1fb}\u{1f1f3}",
            ':flag_vu:' => "\u{1f1fb}\u{1f1fa}",
            ':flag_wf:' => "\u{1f1fc}\u{1f1eb}",
            ':flag_ws:' => "\u{1f1fc}\u{1f1f8}",
            ':flag_ye:' => "\u{1f1fe}\u{1f1ea}",
            ':flag_yt:' => "\u{1f1fe}\u{1f1f9}",
            ':flag_za:' => "\u{1f1ff}\u{1f1e6}",
            ':flag_zm:' => "\u{1f1ff}\u{1f1f2}",
            ':flag_zw:' => "\u{1f1ff}\u{1f1fc}",

// Telegram Desktop
            '<3' => "\u{2764}",
            'xD' => "\u{1f606}",
            ':like:' => "\u{1f44d}",
            ':dislike:' => "\u{1f44e}",
            ':-*' => "\u{1f618}", // Kiss heart
            ':-)' => "\u{1f60a}", // Blush
            '8-)' => "\u{1f60d}", // Heart eyes
            'B-)' => "\u{1f192}", // Cool
            ':-D' => "\u{1f603}", // Smiley
            ';-)' => "\u{1f609}", // Wink
            ';-P' => "\u{1f61c}", // Tongue wink
            ':-p' => "\u{1f60b}", // Yum
            '3(' => "\u{1f614}", // Pensive
            ':-(' => "\u{1f61e}", // Disappointed
            ':]' => "\u{1f60f}", // Smirk
            ':\'(' => "\u{1f622}", // Cry
            ':_(' => "\u{1f62d}", // Sob
            ':((' => "\u{1f629}", // Weary
            ':o' => "\u{1f628}", // Fearful
            ':|' => "\u{1f610}", // Neutral face
            '3-)' => "\u{1f60c}", // Relieved
// '>(' => "\u{1f620}", // Angry
// '>((' => "\u{1f621}", // Rage
            'O:)' => "\u{1f607}", // Innocent
            ';o' => "\u{1f630}", // Cold sweat
            '8|' => "\u{1f633}", // Flushed
            '8o' => "\u{1f632}", // Astonished
            ':X' => "\u{1f637}", // Mask
            '}:)' => "\u{1f608}", // Smiling Imp

// Custom
            ':>' => "\u{1f603}", // Smiley
            ']:D' => "\u{1f603}", // Smiley
            '^3^' => "\u{1f619}", // Kissing face with smiling eyes
            ':lol:' => "\u{1f602}", // Joy
            ':\'D' => "\u{1f602}", // Joy
// '>X' => "\u{1f635}", // Dizzy
            ':die:' => "\u{1f635}", // Dizzy
            ':sun:' => "\u{2600}",

// Emoji v5.0 TEMP-NAME
            ':star-struck:' => "\u{1f929}",
            ':starry-eyed:' => "\u{1f929}",
// ------
            ':distrust:' => "\u{1f928}",
            ':skeptic:' => "\u{1f928}",
            ':scepticism:' => "\u{1f928}",
            ':disapproval:' => "\u{1f928}",
            ':disbelief:' => "\u{1f928}",
// ------
            ':goofy:' => "\u{1f92a}",
            ':zany-face:' => "\u{1f92a}",
// ------
            ':swearing:' => "\u{1f92c}",
            ':cursing:' => "\u{1f92c}",
// ------
            ':shush:' => "\u{1f92b}",
            ':shushing-face:' => "\u{1f92b}",
// ------
            ':whoops:' => "\u{1f92d}",
// ------
            ':stuffy:' => "\u{1f9d0}",
            ':wealthy:' => "\u{1f9d0}",
// ------
            ':brain:' => "\u{1f9e0}",
            ':scarf:' => "\u{1f9e3}",
            ':gloves:' => "\u{1f9e4}",
            ':coat:' => "\u{1f9e5}",
            ':baseball_cap:' => "\u{1f9e2}",
            ':socks:' => "\u{1f9e6}",
// ------
            ':zebra:' => "\u{1f993}",
            ':giraffe:' => "\u{1f992}",
            ':hedgehog:' => "\u{1f994}",
            ':sauropod:' => "\u{1f995}",
            ':trex:' => "\u{1f996}",
            ':cricket:' => "\u{1f997}",
            ':coconut:' => "\u{1f965}",
            ':broccoli:' => "\u{1f966}",
            ':pretzel:' => "\u{1f968}",
            ':steak:' => "\u{1f969}",
            ':sandwich:' => "\u{1f96a}",
            ':bowl:' => "\u{1f963}",
            ':canned_food:' => "\u{1f96b}",
            ':pie:' => "\u{1f967}",
            ':chopsticks:' => "\u{1f962}",
            ':sled:' => "\u{1f6f7}",
            ':curling:' => "\u{1f94c}",

            ':orange:' => "\u{1f34a}", // Tangerine
            ':apple-red:' => "\u{1f34e}",
            ':birthcake:' => "\u{1f382}", // Birthday

            '[1]' => "1\u{20e3}",
            '[2]' => "2\u{20e3}",
            '[3]' => "3\u{20e3}",
            '[4]' => "4\u{20e3}",
            '[5]' => "5\u{20e3}",
            '[6]' => "6\u{20e3}",
            '[7]' => "7\u{20e3}",
            '[8]' => "8\u{20e3}",
            '[9]' => "9\u{20e3}",
            '[0]' => "0\u{20e3}",

            ':medal-1:' => "\u{1f947}",
            ':medal-2:' => "\u{1f948}",
            ':medal-3:' => "\u{1f949}",
            ':bronce:' => "\u{1f947}",
            ':bronze:' => "\u{1f947}",
            ':silver:' => "\u{1f948}",
            ':golden:' => "\u{1f949}",

            ':medal-gold:' => "\u{1f3c5}", // Sports medal
            ':medal-star:' => "\u{1f396}", // Militar medal
            ':medal-sports:' => "\u{1f3c5}",
            ':medal-militar:' => "\u{1f396}",

            ':check:' => "\u{2705}",
            ':times:' => "\u{274c}",
            ':clock:' => "\u{1f551}", // Clock 2
            ':world:' => "\u{1f30d}", // Europe
            ':world-europe:' => "\u{1f30d}",
            ':world-usa:' => "\u{1f30e}",
            ':world-asia:' => "\u{1f30f}",

            ':love:' => "\u{2764}",
            ':red_heart:' => "\u{2764}",
            ':heart-red:' => "\u{2764}",
            ':heart-blue:' => "\u{1f499}",
            ':heart-green:' => "\u{1f49a}",
            ':heart-yellow:' => "\u{1f49b}",
            ':heart-purple:' => "\u{1f49c}",
            ':heart-black:' => "\u{1f5a4}",

        );
    }
    //admin functions

    /**
     * @param $response
     * @return void
     */
    public function send_admin_dashboard($response){
        $this->array[0] = array(
            array('text' => $this->emoj[':man_office_worker:'].' مشاهده کاربران '),
            array("text" => $this->emoj[':book:'].'مشاهده وضعیت ختم ها'),
        );

        $this->array[1] = array(
            array('text' => $this->emoj[':green_book:'].' ایجاد ختم '),
            array("text" => $this->emoj[':blue_book:'].' پایان ختم '),
        );

        $this->array[2] = array(
            array('text' => $this->emoj[':door:'].' پنل کاربر '),
            array('text' => $this->emoj[':door:'].' فعال سازی ختم '),
        );

        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'گزینه مورد نظر را انتخاب نمایید',
            'reply_markup' => $decode
        ]);
    }

    /**
     * @param $response
     * @return void
     */
    public function show_users_result($response){
        $number_user = User::all()->count();
        $number_verse_read = User_khatm::all()->sum('number_verses');
        $this->send_message($response , 'تعداد کل کاربران : ' . $number_user);
        $this->send_message($response , 'تعداد کل آیه ی قرائت شده : ' . $number_verse_read);
        $this->array[0] = array(
            array('text' => $this->emoj[':information_source:'].'نمایش کاربران باجزئیات'),
            array("text" => $this->emoj[':back:'].'بازگشت'),
        );

        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'گزینه مورد نظر را انتخاب نمایید',
            'reply_markup' => $decode
        ]);
    }

    /**
     * @param $response
     * @return void
     */
    public function show_complete_users_result($response){
        $number_user = User::all();

        $data = '';
        foreach ($number_user as $user){
            $echo ='';
            if(mb_strlen($data) + mb_strlen($echo) > 4090){
                $this->send_message($response , $data);
                $data = '';
            }
            $echo .= 'نام کاربری : ';
            $echo .= $user->name;
            $echo .= '
';
            $data .= $echo;
        }
        $data .= '

        ';
        $this->send_message($response , $data);
        $this->array[0] = array(
            array("text" => $this->emoj[':back:'].'بازگشت'),
        );

        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text'  =>  'انتخاب کنید',
            'reply_markup' => $decode
        ]);

    }

    /**
     * @param $response
     * @return void
     */
    public function show_khatms_status($response){
        $khatms = Khatm::all();
        if(count($khatms) < 1){
            $this->send_message($response , 'هیچ ختمی وجود ندارد . لطفا یک ختم ایجاد کنید');
            $this->send_admin_dashboard($response);
        }else{
            $show_khatms = '';
            foreach ($khatms as $khatm){
                $echo ='';
                $number_khatm_users  = User_khatm::whereKhatm_id($khatm->id)->distinct('user_id')->count();
                if(mb_strlen($show_khatms) + mb_strlen($echo) > 4090){
                    $this->send_message($response , $show_khatms);
                    $show_khatms = '';
                }
                $echo .= 'نام ختم : ';
                $echo .= $khatm->name;
                $echo .= '
';
                $echo .= 'تعداد ختم : ';
                $echo .= $khatm->number_finish;
                $echo .= '
';
                $echo .= 'آخرین آیه قرائت شده : ';
                $echo .= $khatm->now;
                $echo .= '
';
                $echo .= 'تاریخ ایجاد ختم : ';
                $echo .= $khatm->start;
                $echo .= '
';
                $echo .= 'تاریخ اتمام ختم : ';
                $echo .= $khatm->end ?? '';
                $echo .= '
';
                $echo .= 'تعداد کاربران شرکت کننده در ختم : ';
                $echo .= $number_khatm_users ?? 0;
                $echo .= '
';

                $echo .= 'وضعیت : ';
                $echo .= $khatm->status == 'active' ? 'فعال' : 'غیر فعال';
                $echo .= '
';
                $echo .= $this->emoj[':bulb:'].'

';
                $show_khatms .= $echo;
            }
            $this->send_message($response , $show_khatms);
            $this->send_admin_dashboard($response);
        }
    }

    /**
     * @param $response
     * @param $name
     * @return void
     */
    public function inactiveKhatm($response , $name){
        $check = Khatm::where('name' , $name)->update([
            'status' => 'inactive',
            'end'   => Carbon::now()
        ]);
        if($check){
            $kha = Khatm::where('name' ,'!=', $name)->first();
            $kha->status = 'active';
            $kha->save();
            $this->send_message($response , 'ختم '. $name . ' غیر فعال شد.');
        }else{
            $this->send_message($response , 'ختم '. $name . ' پیدا نشد');
        }

        $this->send_admin_dashboard($response);
    }

    /**
     * @param $response
     * @param $name
     * @return void
     */
    public function activatekhatm($response , $name){
        $check =Khatm::where('name' , $name)->update([
            'status' => 'active',
            'start' => Carbon::now()
        ]);
        if ($check){
            Khatm::where('name' ,'!=', $name)->update([
                'status' => 'inactive'
            ]);
            $this->send_message($response , 'ختم '. $name . ' فعال شد.');
        }else{
            $this->send_message($response , 'ختم '. $name . ' پیدا نشد');
        }
        $this->send_admin_dashboard($response);
    }

    /**
     * @param $response
     * @param $name
     * @return void
     */
    public function createKhatm($response , $name){
        $khatm = new Khatm();
        $khatm->name = $name;
        $khatm->save();
        $this->send_message($response , 'ختم '. $name . ' ایجاد شد.');
        $this->send_admin_dashboard($response);
    }
    //users functions

    /**
     * @param $response
     * @return void
     */
    public function start($response){
        $user = $this->checkUserChatId($response);
        if(!$user){
            $user = new User();
            if(!empty($response->message->from->username)){
                $user->name = $response->message->from->username;
            }else{
                $user->name  = 'default';
            }
            $user->chat_id = $response->message->chat->id;
            if($user->save()){
                $this->show_user_khatms_pack_and_results($response);
            }
        }else{
            $this->checkKhatms($user , $response);
        }

    }

    /**
     * @param $message
     * @param $response
     * @return void
     */
    public function signup($message , $response){
        Cache::set('get_name' . $message->from->id,'true') ;
        $user_message = 'لطفا نام و نام خانوادگی خود را وارد کنید';
        $this->send_message($response , $user_message);
    }

    /**
     * @param $message
     * @param $response
     * @return void
     */
    public function signup_settings($message , $response){
        $this->get_name = Cache::get('get_name' . $message->from->id) == 'true' ? true : false;
        $this->get_phone = Cache::get('get_phone' . $message->from->id) == 'true' ? true : false;
        $this->get_city = Cache::get('get_city' . $message->from->id) == 'true' ? true : false;

        if($this->get_name){
            if(empty($message->text)){
                $user_message = 'لطفا نام و نام خانوادگی خود را به دقت وارد کنید';
                $this->send_message($response , $user_message);
            }
            Cache::set('get_name' . $message->from->id,'false');
            Cache::set('name' . $message->from->id,$message->text);
            // send message
            $user_message = 'لطفا شماره تلفن خود را همراه با صفر وارد کنید';
            $this->send_message($response , $user_message);
            Cache::set('get_phone' . $message->from->id,'true');
        }
        elseif($this->get_phone){
            if(empty($message->text)){
                $user_message ='لطفا شماره تلفن خود را به دقت وارد کنید' ;
                $this->send_message($response , $user_message);
            }
            if(!$this->validate_phone_number($message->text)){
                $user_message = 'شماره تلفن صحیح وارد کنید .شماره تلفن فقط باید 11 کاراکتر و فقط شامل اعداد باشد';
                $this->send_message($response , $user_message);
            }else{
                Cache::set('get_phone' . $message->from->id,'false');
                Cache::set('phone' . $message->from->id,$message->text);
                //send message
                $user_message = '  لطفا نام شهر خود را وارد کنید';
                $this->send_message($response , $user_message);

                Cache::set('get_city' . $message->from->id,'true');
            }
        }
        elseif($this->get_city){
            if(empty($message->text)){
                $user_message = 'لطفا نام شهر خود را به دقت وارد کنید';
                $this->send_message($response , $user_message);
            }
            Cache::set('get_city' . $message->from->id,'false');
            Cache::set('city' . $message->from->id,$message->text);
            // create user
            $this->name = Cache::get('name' . $message->from->id);
            $this->phone = Cache::get('phone' . $message->from->id);
            $this->city = Cache::get('city' . $message->from->id);

            $this->createUser($this->name , $this->phone , $this->city , $message->chat->id);
            //send message
            $user_message = $this->name.' عزیز ، شما با موفقیت ثبت نام کردید';
            $this->send_message($response , $user_message);

            $this->show_first_step($response);
        }
    }

    /**
     * @param $response
     * @return void
     */
    public function show_first_step($response){
        $this->array[0] = array(
            array('text' => 'مشاهده ختم ها'),
            array("text" => 'مشاهده ختم های پیشین'),
        );

        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'گزینه مورد نظر را انتخاب نمایید',
            'reply_markup' => $decode
        ]);
    }

    /**
     * @param $response
     * @return void
     */
    public function see_khatms($response){
        $khatms = Khatm::where('end' , null)->get();
        if(count($khatms) > 0){
            foreach ($khatms as $key=> $khatm){
                $this->array[$key] = array(array('text' => 'شرکت در ختم  ' .$khatm->name));
            }
            $keyboard = array(
                "keyboard" => $this->array,
                "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
                "resize_keyboard" => true // Can be FALSE (vertical resize)
            );

            $decode = json_encode($keyboard);
            Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
                'chat_id' => $response->message->chat->id,
                'text' => 'گزینه مورد نظر را انتخاب نمایید',
                'reply_markup' => $decode
            ]);
            Cache::set('choose_khatm' . $response->message->from->id,'true');
        }else{
            $message =  'ختم فعالی وجود ندارد.';
            $this->send_message($response , $message);
        }
    }

    /**
     * @param $response
     * @return void
     */
    public function storeKhatm_id($response){
        $khatms = Khatm::where('end' , null)->get();
        if(count($khatms) > 0) {
            foreach ($khatms as $khatm) {
                if (strpos($response->message->text, $khatm->name) !== false) {
                    Cache::set('khatm_id' . $response->message->from->id,$khatm->id);
                    $message = ' شما وارد ختم '.$khatm->name.'  شدید. لطفا تعداد آیه برای قرائت را انتخاب نمایید';
                    $this->send_message($response , $message);
                }
            }
        }
    }

    /**
     * @param $phone
     * @return bool
     */
    public function validate_phone_number($phone)
    {
        // Allow +, - and . in phone number
        $filtered_phone_number = filter_var($phone, FILTER_SANITIZE_NUMBER_INT);
        // Remove "-" from number
        $phone_to_check = str_replace("-", "", $filtered_phone_number);
        // Check the lenght of number
        // This can be customized if you want phone number from a specific country
        if (strlen($phone_to_check) < 11 || strlen($phone_to_check) > 11) {
            return false;
        } else {
            return true;
        }
    }

    /**
     * @param $name
     * @param $phone
     * @param $city
     * @param $chat_id
     * @return void
     */
    public function createUser($name , $phone , $city , $chat_id){
        $user = User::create([
            'name' =>  $name,
            'phone' =>  $phone,
            'city' =>  $city,
            'chat_id' => $chat_id ,
        ]);
        Cache::set('user' .$chat_id,$user);
    }

    /**
     * @param $response
     * @param $message
     * @param $parse_mode
     * @return void
     */
    public function send_message($response , $message , $parse_mode = null){
        if($parse_mode != null){
            Http::get('https://tapi.bale.ai/bot'.$this->bot_key . '/sendMessage', [
                'chat_id' => $response->message->chat->id,
                'text' => $message,
                'parse_mode'    => $parse_mode
            ]);
        }else{
            Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
                'chat_id' => $response->message->chat->id,
                'text' => $message,
            ]);
        }

    }

    /**
     * @param $message
     * @return void
     */
    public function clear($message){
        Cache::forget('get_name' . $message->from->id);
        Cache::forget('get_phone' . $message->from->id);
        Cache::forget('get_city' . $message->from->id);
        Cache::forget('name' . $message->from->id);
        Cache::forget('phone' . $message->from->id);
        Cache::forget('city' . $message->from->id);
    }

    /**
     * @param $response
     * @return false|User
     */
    public function checkUserChatId($response){
        if(!empty($response->message->chat->id)){
            $user = User::whereChat_id($response->message->chat->id)->first();
            return $user;
        }
        return false;
    }

    /**
     * @param User $user
     * @param $response
     * @return void
     */
    public function checkKhatms(User $user , $response){
        $khatm = User_khatm::whereUser_id($user->id)
            ->whereStatus('reading')->first();
        if($khatm !== null){
            $this->send_user_khatm($response);
        }else{
            $this->show_user_khatms_pack_and_results($response);
            //$this->see_khatms($response);
        }
    }

    /**
     * @param $response
     * @return void
     */
    public function send_user_khatm($response){
        $user = User::whereChat_id($response->message->chat->id)->first();
        if(!empty($user)){
            $user_khatm = User_khatm::whereStatus('reading')->first();
            if(!empty($user_khatm)){
                $rows = Quran::where('id' , '>=',$user_khatm->start_quran_id)
                    ->where('id' , '<=',$user_khatm->end_quran_id )->get();
                $khatm_info = $this->khatm_user_info($user_khatm);
                $this->send_message($response , $khatm_info);
                $sended = $this->connect_ayats_together($rows , $response);
                if($sended){
                    $this->sendKhatmButtons($response);
                }else{
                    $this->send_message($response , 'اگر متن آیه ها را دریافت نکردید . لطفا از روی قرآن دیگر قرائت کنید سپس روی دکمه قرائت را تمام کردم کلیک نمایید' );
                    $this->sendKhatmButtons($response);
                }
            }else{

            }

        }
    }

    /**
     * @param $response
     * @return void
     */
    public function show_user_khatms_pack_and_results($response){
        Cache::set('start_khatm' . $response->message->chat->id,'true');
        $khatm_packs = Khatm_pack::all();
        $m = 0;
        $s = 0;
        $arr =[];
        foreach ($khatm_packs as $value ){
            $arr[$s] = array('text' => $value->name );
            $s++;
            if($s % 3 == 0){
                $this->array[$m] = $arr;
                $m++;
                $s= 0;
                $arr = [];
            }
        }
        $this->array[$m] = $arr;

        if(is_array(config('TelegramSettings.admin_usernames'))
            && in_array($response->message->from->username ?? 'default' , config('TelegramSettings.admin_usernames'))){
            $this->array[count($this->array)] = array(
                array("text" => 'مشاهده ختم های پیشین'),
                array("text" => 'بازگشت به پنل ادمین'),
            );

        }else{
            $this->array[count($this->array)] = array(
                array("text" => 'مشاهده ختم های پیشین'),
            );
        }


        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        $this->send_message($response , 'سلام به ربات ختم قرآن دانشگاه علوم پزشکی ارومیه خوش آمدید');
        sleep(2);
        $message = '💠 دوست عزیز

همراه گرامی ضمن قدردانی از شما بابت حضور در محفل مجازی قرآن کریم برای راحتی استفاده از ربات ختم قرآن به نکات زیر توجه کنید :
🔹برای شرکت در ختم قرآن مجید بعد از ورود به منوانتخاب آیات،لطفا آیات خود را طبق جدول پیشنهادی انتخاب نمایید.
🔸پس از انتخاب و دریافت آیات ،۲۴ ساعت برای قرائت آیات فرصت دارید. در صورت اتمام قرائت گزینه مربوطه را انتخاب کنید.در غیر این صورت آیات از دسترس شما خارج می شوند.
🔹 در صورت بروز هرگونه مشکل می توانید از ادامه ختم انصراف دهید.
🔸در اسرع وقت آیات را بخوانید .البته ما آیات مربوط به شما را یادآوری خواهیم کرد.

🔹 با گزینه"مشاهده ختم های پیشین" سابقه فعالیت خود را مشاهده نمایید.

🔻 ضمن آرزوی انس با قرآن کریم از همه شما عزیزان التماس دعا داریم.';
        $this->send_message($response , $message);
        sleep(3);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'گزینه مورد نظر را انتخاب نمایید',
            'reply_markup' => $decode
        ]);
    }

    /**
     * @param $package
     * @param User $user
     * @param $response
     * @return void
     */
    public function khatm_packagesSwich($package , User $user , $response){
        $khatm_packs = Khatm_pack::all();
        $khatm = Khatm::whereStatus('active')->first();
        if ( $khatm === null){
            $khatm = Khatm::first();
            $khatm->status =  'active';
            $khatm->save();
        }

        if(count($khatm_packs) > 0){
            foreach ($khatm_packs as $khatm_pack){

                //تعداد آیه انتخاب شده را چک می کنیم
                if($package == $khatm_pack->name){
                    //delete
                    $this->send_message($response , $khatm_pack->name);

                   // تعداد ختم انتخاب شده توسط کاربر در ختم فعال را می یابیم
                    $count_users_khatm = User_khatm::whereKhatm_id($khatm->id)->count();

                    // اگر تا به حال آیاتی از ختم فعال خوانده نشده
                    if($count_users_khatm == 0){
                        $rows = Quran::limit($khatm_pack->value)->get();
                        $this->manage_sending_khatm($rows , $user , $khatm_pack , $response );

                        // کاربر آیاتی را از قبل از ختم فعال مطالعه کرده است
                    }else{
                                // چک کردن آیاتی فعال که کاربر هنوز مطالعه آن را تمام نکرده
                        $check_user_active_khatm = User_khatm::whereUser_id($user->id)
                            ->whereStatus('reading')->first();

                        // آیاتی فعال که کاربر هنوز مطالعه آن را تمام نکرده
                        if($check_user_active_khatm !== null){

                            //change
                            $latest_verse = (int)$check_user_active_khatm->end_quran_id + 1;
                            $start_verse = (int)$check_user_active_khatm->start_quran_id;

                            // باید در این قسمت چک کنیم که به آخر قرآن کریم نرسیده باشیم.
                            //به آخر نرسیده ایم
                            if(($latest_verse + (int)$khatm_pack->value) <= 6236){
                                //$rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->limit($khatm_pack->value)->get();
                                $rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->limit($khatm_pack->value)->get();

                                // به آخر قرآن رسیده ایم
                            }else{
                                //$rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->get();
                                $rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->get();
                            }
                            $this->manage_sending_khatm($rows , $user , $khatm_pack , $response);

                            // آیاتی وجود ندارد که کاربر آن را گرفته باشد و مطالعه نکرده باشد
                        }else{

                            // گرفتن آیاتی که وضعیت آنها لغو شده است
                            $old_khatm = User_khatm::whereKhatm_id($khatm->id)->where('status' , 'canceled')
                                ->where('number_verses' , $khatm_pack->value)->first();



                            //$this->send_message($response , $old_khatm->id);
                            $use_old_khatm = true;
                            if(empty($old_khatm)){
                                $old_khatm = User_khatm::whereKhatm_id($khatm->id)->latest('end_quran_id')->first();
                                $use_old_khatm = false;
                            }else{
                                $old_khatm->user_id = $user->id;
                                $old_khatm->status = 'reading';
                                $old_khatm->alert = 0;
                                $old_khatm->save();

                                //  حذف آیه های یکسان لغو شده
                                $this->delete_same_canceled_vars($old_khatm);
                            }

                            $latest_verse = (int)$old_khatm->end_quran_id + 1;
                            $start_verse = (int)$old_khatm->start_quran_id;

                            if($use_old_khatm){
                                //به آخر قرآن نرسیده ایم
                                if(($latest_verse + (int)$khatm_pack->value) <= 6236){

                                    $rows = Quran::orderBy('id')->where('id' , '>=',$start_verse)->limit($khatm_pack->value)->get();
                                }else{
                                    $rows = Quran::orderBy('id')->where('id' , '>=',$start_verse)->get();
                                }
                            }else{
                                //به آخر قرآن نرسیده ایم
                                if(($latest_verse + (int)$khatm_pack->value) <= 6236){

                                    $rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->limit($khatm_pack->value)->get();
                                }else{
                                    $rows = Quran::orderBy('id')->where('id' , '>=',$latest_verse)->get();
                                }
                            }
                            $this->manage_sending_khatm($rows , $user , $khatm_pack , $response , $use_old_khatm , $old_khatm);
                        }
                    }
                    break;
                }
            }
        }
    }

    /* حذف آیه های یکسان لغو شده و خواندن یک باره آنها در ختم*/
    /**
     * @param User_khatm $old_khatm
     * @return void
     *
     */
    public function delete_same_canceled_vars(User_khatm $old_khatm)
    {
        User_khatm::where('khatm_pack_id',$old_khatm->khatm_pack_id)
            ->where('start_quran_id' , $old_khatm->start_quran_id )
            ->where('end_quran_id' , $old_khatm->end_quran_id)
            ->where('status' , 'canceled')->delete();
    }

    /**
     * @param $rows
     * @param $response
     * @return bool
     */
    public function connect_ayats_together($rows , $response){
        $ayyet = '';
        foreach ($rows as $key => $row){
            $row_str = '';
            if($row->Verse == 1 && $key != 0){
                $ayyet .= config('TelegramSettings.bot_username');
                $this->send_message($response , $ayyet , 'HTML');
                sleep(1);
                $ayyet = '';
            }
            $row_str .= $this->emoj[':white_flower:'].'<b>'.$row->Arabic.'('.$row->Verse.')'.'</b>'.$this->emoj[':white_flower:'].'

';
            $fa_aye = Fa_aye::where('ID',$row->id)->first();
            $row_str .= $this->emoj[':memo:'] .$fa_aye->tr.$this->emoj[':memo:'].'

';
            if(mb_strlen($ayyet) + mb_strlen($row_str) + mb_strlen(config('TelegramSettings.bot_username'))  > 4090){
                $ayyet .= config('TelegramSettings.bot_username');
                $this->send_message($response , $ayyet , 'HTML');
                $ayyet = '';
            }
            $ayyet .= $row_str;
        }
        $ayyet .= config('TelegramSettings.bot_username');
        $this->send_message($response , $ayyet , 'HTML');
        sleep(1);
        return true;
    }

    /**
     * @param $rows
     * @param User $user
     * @param $khatm_pack
     * @param $response
     * 
     */
    public function save_user_khatm($rows , User $user , $khatm_pack , $response ){
        $start_chapter = Chapter::whereId($rows[0]->Chapter)->first();
        if(empty($start_chapter)){
            return false;
        }
        $end_chapter = Chapter::whereId($rows[count($rows)-1]->Chapter)->first();
        if(empty($end_chapter)){
            return false;
        }
        $khatm = Khatm::whereStatus('active')->first();
        if(Cache::has('khatm_id' . $response->message->from->id)){
            $user_khatm = User_khatm::create([
                'user_id'               => $user->id,
                'khatm_id'              => $khatm->id ?? 1,
                'khatm_pack_id'         => $khatm_pack->id,
                'start_quran_id'        => $rows[0]->id,
                'start_quran_chapter'   => $start_chapter->Name,
                'start_quran_verse'     => $rows[0]->Verse,
                'end_quran_id'          => $rows[count($rows)-1]->id,
                'end_quran_chapter'     => $end_chapter->Name,
                'end_quran_Verse'       => $rows[count($rows)-1]->Verse,
                'number_verses'         => $khatm_pack->value,
            ]);
            return $user_khatm;
        }else{
            $khatm = Khatm::whereStatus('active')->first();
            $user_khatm = User_khatm::create([
                'user_id'               => $user->id,
                'khatm_id'              => $khatm->id,
                'khatm_pack_id'         => $khatm_pack->id,
                'start_quran_id'        => $rows[0]->id,
                'start_quran_chapter'   => $start_chapter->Name,
                'start_quran_verse'     =>  $rows[0]->Verse,
                'end_quran_id'          => $rows[count($rows)-1]->id,
                'end_quran_chapter'     => $end_chapter->Name,
                'end_quran_Verse'       => $rows[count($rows)-1]->Verse,
                'number_verses'         => $khatm_pack->value,
            ]);
            return $user_khatm;
        }
    }

    /**
     * @param $user_khatm_info
     * @return string
     */
    public function khatm_user_info($user_khatm_info){
        $info = '';
        $info .= ' قرائت قرآن برای شما ثبت شد . ';
        $info .= ' لطفا از آیه ی ';
        $info .= $user_khatm_info->start_quran_verse;
        $info .= ' سوره ی  ';
        $info .= $user_khatm_info->start_quran_chapter;
        $info .= ' قرائت را شروع کنید و تا ';
        $info .= ' آیه ی ';
        $info .= $user_khatm_info->end_quran_Verse;
        $info .= ' سوره ی  ';
        $info .= $user_khatm_info->end_quran_chapter;
        $info .= ' ادامه دهید . ';
        $info .= '

';
        $info .= 'زمان تخمینی قرائت حداقل ';
        $takhmin = (int)(($user_khatm_info->number_verses * 6) / 60) ;
        $info .= $takhmin > 0 ? $takhmin : 1;
        $info .= 'دقیقه محاسبه شده است . لطفا پس از اتمام قرائت بر روی دکمه تمام کردم کلیک نمایید. ';
        return $info;
    }

    /**
     * @param $response
     * @return void
     */
    public function sendKhatmButtons($response){
        Cache::set('khatm_strted' . $response->message->chat->id,'true');
        $user = User::where('chat_id' , $response->message->chat->id)->first();
        if($user){
            $send_every_day = Send_everyday::where('user_id' , $user->id)->where('status' , 'on')->first();
        if(is_array(config('TelegramSettings.admin_usernames'))
            && in_array($response->message->from->username ?? 'default' , config('TelegramSettings.admin_usernames'))){
            $this->array[0] = array(
                array("text" => 'قرائت را تمام کردم'),
                array("text" => 'انصراف از ختم'),
            );
            if($send_every_day){
                $this->array[1] = array(
                    array("text" => 'لغو ارسال خودکار'),
                );
            }else{
                $this->array[1] = array(
                    array("text" => 'هر روز به من ارسال کن'),
                );
            }

            $this->array[2] = array(
                array("text" => 'بازگشت به پنل ادمین'),
            );


        }else{
            $this->array[0] = array(
                array("text" => 'قرائت را تمام کردم'),
                array("text" => 'انصراف از ختم'),
            );

            if($send_every_day){
                $this->array[1] = array(
                    array("text" => 'لغو ارسال خودکار'),
                );
            }else{
                $this->array[1] = array(
                    array("text" => 'هر روز به من ارسال کن'),
                );
            }
        }


        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => false, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'لطفا بعد از قرائت آیات دکمه اتمام قرائت را بزنید',
            'reply_markup' => $decode
        ]);
        }

    }

    /**
     * @param $response
     * @param $user
     * @return void
     */
    public function startNewKhatm($response , $user = null){

        $this->array[0] = array(
            array("text" => 'شروع قرائت جدید'),
            array("text" => 'مشاهده ختم های پیشین'),
        );

        //  ارسال دکمه های لغو ارسال خودکار و شروع ارسال خودکار
        if($user != null){
            $send_every_day = Send_everyday::where('user_id' , $user->id)->where('status' , 'on')->first();
            if($send_every_day){
                $this->array[1] = array(
                    array("text" => 'لغو ارسال خودکار'),
                );
            }else{
                $this->array[1] = array(
                    array("text" => 'هر روز به من ارسال کن'),
                );
            }

        }else{
            $this->array[1] = array(
                array("text" => 'هر روز به من ارسال کن'),
            );
        }
        // اگر کاربر ادمین باشد نمایش بده
        if(is_array(config('TelegramSettings.admin_usernames'))
            && in_array($response->message->from->username ?? 'default' , config('TelegramSettings.admin_usernames'))){
            $this->array[2] = array(
                array("text" => 'بازگشت به پنل ادمین'),
            );
        }


        $keyboard = array(
            "keyboard" => $this->array,
            "one_time_keyboard" => true, // Can be FALSE (hide keyboard after click)
            "resize_keyboard" => true // Can be FALSE (vertical resize)
        );

        $decode = json_encode($keyboard);
        Http::get('https://tapi.bale.ai/bot' . $this->bot_key . '/sendMessage', [
            'chat_id' => $response->message->chat->id,
            'text' => 'گزینه مورد نظر را انتخاب نمایید',
            'reply_markup' => $decode
        ]);
    }

    /*public function manage_sending_canceled_khatm($rows , $response , $user_khatm){
        if(!$user_khatm){
            $this->send_message($response , 'قرائت شما ثبت نشد از اول امتحان کنید  ');
            $this->startNewKhatm($response);
        }else{
            $khatm_info = $this->khatm_user_info($user_khatm);
            $this->send_message($response , $khatm_info);
            $sended = $this->connect_ayats_together($rows , $response);
            if($sended){
                $this->sendKhatmButtons($response);
            }else{
                $this->send_message($response , 'اگر متن آیه ها را دریافت نکردید . لطفا از روی قرآن دیگر قرائت کنید سپس روی دکمه قرائت را تمام کردم کلیک نمایید' );
                $this->sendKhatmButtons($response);
            }
        }
    }*/
    /**
     * @param $rows
     * @param $user
     * @param $khatm_pack
     * @param $response
     * @param $use_old_khatm
     * @param $user_khatm
     * @return void
     */
    public function manage_sending_khatm($rows , $user , $khatm_pack , $response , $use_old_khatm = false , $user_khatm = null){
       if(!$use_old_khatm || $user_khatm == null){
           $user_khatm = $this->save_user_khatm($rows , $user , $khatm_pack , $response);
       }
        if(!$user_khatm){
            $this->send_message($response , 'قرائت شما ثبت نشد از اول امتحان کنید  ');
            $this->startNewKhatm($response , $user);
        }else{
            $khatm_info = $this->khatm_user_info($user_khatm);
            $this->send_message($response , $khatm_info);
            sleep(5);
            $sended = $this->connect_ayats_together($rows , $response);
            if($sended){
                $this->sendKhatmButtons($response);
            }else{
                $this->send_message($response , 'اگر متن آیه ها را دریافت نکردید . لطفا از روی قرآن دیگر قرائت کنید سپس روی دکمه قرائت را تمام کردم کلیک نمایید' );
                $this->sendKhatmButtons($response);
            }
        }
    }

    /**
     * @param $user_khatm
     * @return array|false[]
     */
    public function check_khatm_end_time($user_khatm){
        //$date1 = Carbon::createFromFormat('Y-m-d H:i:s', '2021-08-15 11:02:35');
        $date1 = Carbon::createFromFormat('Y-m-d H:i:s', $user_khatm->updated_at);
        switch ($user_khatm->number_verses){
            case $user_khatm->number_verses <= 5 :
                if($date1->lt(Carbon::now()->subSeconds(15)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 15 ثانیه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (15) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 10 :
                if($date1->lt(Carbon::now()->subMinute()->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 1 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 20 :
                if($date1->lt(Carbon::now()->subMinutes(2)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 2 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (2 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 30 :
                if($date1->lt(Carbon::now()->subMinutes(3)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 3 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (3 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 40 :
                if($date1->lt(Carbon::now()->subMinutes(4)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 4 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (4 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 50 :
                if($date1->lt(Carbon::now()->subMinutes(5)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 5 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (5 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 60 :
                if($date1->lt(Carbon::now()->subMinutes(6)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 6 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (6 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 70 :
                if($date1->lt(Carbon::now()->subMinutes(7)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 7 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (7 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            case $user_khatm->number_verses <= 80 :
                if($date1->lt(Carbon::now()->subMinutes(8)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 8 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (8 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }
            case $user_khatm->number_verses <= 90 :
                if($date1->lt(Carbon::now()->subMinutes(9)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 9 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (9 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }
            case $user_khatm->number_verses <= 100 :
                if($date1->lt(Carbon::now()->subMinutes(10)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 10 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (10 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
        ';
                    $message .='زمان باقی مانده برای ثبت قرائت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }

            default :
                if($date1->lt(Carbon::now()->subMinutes(11)->format('Y-m-d H:i:s'))){
                    return [
                        'error' => false,
                    ];
                }else{
                    $message = 'باید حداقل 11 دقیقه از زمان شروع قرائت سپری شده باشد تا قرائت شما تایید شود. لطفا آیات را با تامل قرائت نمایید.';
                    $minute_diff = (11 * 60) - (int)($date1->diffInSeconds(Carbon::now()->format('Y-m-d H:i:s')));
                    $message .= '
                    ';
                    $message .='زمان باقی مانده برای ثبت ';
                    $message .= $minute_diff;
                    $message .= ' ثانیه می باشد. ';
                    return [
                        'error' => true,
                        'message'   => $message
                    ];
                }
        }
    }

    /**
     * @param $response
     * @param $user_khatms
     * @return void
     */
    public function getOldKhatms($response , $user_khatms){
        $data = [];
        $i = 0;
        $kh = 0;

        $all_number_khatm_verse = 0;
        foreach ($user_khatms as $user_khatm) {
            if($i > 0 && $user_khatm->khatm_id != $data[$kh][$i-1]['khatm_id']){
                $kh++;
            }
            $all_number_khatm_verse += $user_khatm->number_verses;

            $khatm  = Khatm::where('id',$user_khatm->khatm_id)->first();
            if(!empty($khatm->name)){
                $data[$kh][$i]['khatm_name'] = $khatm->name;
                $data[$kh][$i]['khatm_id'] = $khatm->id;
            }else{
                $data[$kh][$i]['khatm_name'] = 'ختم قرآن';
                $data[$kh][$i]['khatm_id'] = '';
            }
            $data[$kh][$i]['number_verses'] = $user_khatm->number_verses ?? 5;
            $data[$kh][$i]['start_quran_chapter'] = $user_khatm->start_quran_chapter ?? '';
            $data[$kh][$i]['start_quran_verse'] = $user_khatm->start_quran_verse ?? '';
            $data[$kh][$i]['end_quran_chapter'] = $user_khatm->end_quran_chapter ?? '';
            $data[$kh][$i]['end_quran_Verse'] = $user_khatm->end_quran_Verse ?? '';
            if($user_khatm->status == 'end'){
                $data[$kh][$i]['status'] = 'تمام شده';
            }elseif($user_khatm->status == 'reading'){
                $data[$kh][$i]['status'] = 'در حال قرائت';
            }else{
                $data[$kh][$i]['status'] = 'لغو شده';
            }
            $i++;
        }

        $all_echo = '';
        foreach ($data as $item){
            foreach ($item as $value){
                $echo = '';
                $echo .= 'نام ختم : ';
                $echo .= $value['khatm_name'];
                $echo .= '
';
                $echo .= 'تعداد آیه : ';
                $echo .= $value['number_verses'];
                $echo .= '
';
                $echo .= 'شروع  : سوره ی ';
                $echo .= $value['start_quran_chapter'];
                $echo .= ' آیه ی ';
                $echo .= $value['start_quran_verse'];
                $echo .= '
';
                $echo .= 'پایان : سوره ی ';
                $echo .= $value['end_quran_chapter'];
                $echo .= ' آیه ی ';
                $echo .= $value['end_quran_Verse'];
                $echo .= '
';
                $echo .= ' وضعیت :  ';
                $echo .= $value['status'];
                $echo .= '
                ****************
';

                if(mb_strlen($all_echo) + mb_strlen($echo) > 4090){
                    $this->send_message($response , $all_echo);
                    $all_echo = '';
                }
                $all_echo .= $echo;
            }

            $all_echo .= '
            &&&&&&&&&&&&&&&&&
';
        }
        $this->send_message($response , $all_echo);
        $user  = User::find($user_khatms->user_id);
        $this->startNewKhatm($response , $user);
    }

    /**
     * @param $response
     * @param $user_khatms
     * @return void
     */
    public function get_user_all_khatms($response , $user_khatms){


        $number_verses = $user_khatms->sum('number_verses');
        $this->send_message($response , ' تعداد کل آیه ی قرائت شده '.$number_verses .' آیه ');
        $data = [];
        $i = 0;
        $kh = 0;

        $all_number_khatm_verse = 0;
        foreach ($user_khatms as $user_khatm) {
            if($i > 0 && $user_khatm->khatm_id != $data[$kh][$i-1]['khatm_id']){
                $kh++;
            }
            $all_number_khatm_verse += $user_khatm->number_verses;

            $khatm  = Khatm::where('id',$user_khatm->khatm_id)->first();
            if(!empty($khatm->name)){
                $data[$kh][$i]['khatm_name'] = $khatm->name;
                $data[$kh][$i]['khatm_id'] = $khatm->id;
            }else{
                $data[$kh][$i]['khatm_name'] = 'ختم قرآن';
                $data[$kh][$i]['khatm_id'] = '';
            }
            $data[$kh][$i]['number_verses'] = $user_khatm->number_verses ?? 5;
            $data[$kh][$i]['start_quran_chapter'] = $user_khatm->start_quran_chapter ?? '';
            $data[$kh][$i]['start_quran_verse'] = $user_khatm->start_quran_verse ?? '';
            $data[$kh][$i]['end_quran_chapter'] = $user_khatm->end_quran_chapter ?? '';
            $data[$kh][$i]['end_quran_Verse'] = $user_khatm->end_quran_Verse ?? '';
            if($user_khatm->status == 'end'){
                $data[$kh][$i]['status'] = 'تمام شده';
            }elseif($user_khatm->status == 'reading'){
                $data[$kh][$i]['status'] = 'در حال قرائت';
            }else{
                $data[$kh][$i]['status'] = 'لغو شده';
            }
            $i++;
        }

        $all_echo = '';
        foreach ($data as $item){
            foreach ($item as $value){
                $echo = '';
                $echo .= $this->emoj[':memo:'].'
';
                /*$echo .= 'نام ختم : ';
                $echo .= $value['khatm_name'];
                $echo .= '
';*/
                $echo .= 'تعداد آیه : ';
                $echo .= $value['number_verses'];
                $echo .= '
';
                $echo .= 'شروع  : سوره ی ';
                $echo .= $value['start_quran_chapter'];
                $echo .= ' آیه ی ';
                $echo .= $value['start_quran_verse'];
                $echo .= '
';
                $echo .= 'پایان : سوره ی ';
                $echo .= $value['end_quran_chapter'];
                $echo .= ' آیه ی ';
                $echo .= $value['end_quran_Verse'];
                $echo .= '
';
                $echo .= ' وضعیت :  ';
                $echo .= $value['status'].'
                ';

                if(mb_strlen($all_echo) + mb_strlen($echo) > 4090){
                    $this->send_message($response , $all_echo);
                    $all_echo = '';
                }
                $all_echo .= $echo;
            }

            $all_echo .= $this->emoj[':end:'];
        }
        $this->send_message($response , $all_echo);
        $number_verses = $user_khatms->sum('number_verses');
        $this->send_message($response , ' تعداد کل آیه ی قرائت شده '.$number_verses .' آیه ');
        $user  = User::find($user_khatms->user_id);
        $this->startNewKhatm($response , $user );
    }
}
