hw19.js 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100
  1. //
  2. // let smiles = {};
  3. // for (let smile of document.querySelectorAll(".emoji")) {
  4. // smiles[smile.nextElementSibling.innerText] = smile.getAttribute("data-src");
  5. // }
  6. // smilesJson = JSON.stringify(smiles,null,4);
  7. let smileObj = {
  8. 100: "graphics/emojis/100.png",
  9. 1234: "graphics/emojis/1234.png",
  10. bowtie: "graphics/emojis/bowtie.png",
  11. smile: "graphics/emojis/smile.png",
  12. simple_smile: "graphics/emojis/simple_smile.png",
  13. laughing: "graphics/emojis/laughing.png",
  14. blush: "graphics/emojis/blush.png",
  15. smiley: "graphics/emojis/smiley.png",
  16. relaxed: "graphics/emojis/relaxed.png",
  17. smirk: "graphics/emojis/smirk.png",
  18. heart_eyes: "graphics/emojis/heart_eyes.png",
  19. kissing_heart: "graphics/emojis/kissing_heart.png",
  20. kissing_closed_eyes: "graphics/emojis/kissing_closed_eyes.png",
  21. flushed: "graphics/emojis/flushed.png",
  22. relieved: "graphics/emojis/relieved.png",
  23. satisfied: "graphics/emojis/satisfied.png",
  24. grin: "graphics/emojis/grin.png",
  25. wink: "graphics/emojis/wink.png",
  26. stuck_out_tongue_winking_eye:
  27. "graphics/emojis/stuck_out_tongue_winking_eye.png",
  28. stuck_out_tongue_closed_eyes:
  29. "graphics/emojis/stuck_out_tongue_closed_eyes.png",
  30. grinning: "graphics/emojis/grinning.png",
  31. kissing: "graphics/emojis/kissing.png",
  32. kissing_smiling_eyes: "graphics/emojis/kissing_smiling_eyes.png",
  33. stuck_out_tongue: "graphics/emojis/stuck_out_tongue.png",
  34. sleeping: "graphics/emojis/sleeping.png",
  35. worried: "graphics/emojis/worried.png",
  36. frowning: "graphics/emojis/frowning.png",
  37. anguished: "graphics/emojis/anguished.png",
  38. open_mouth: "graphics/emojis/open_mouth.png",
  39. grimacing: "graphics/emojis/grimacing.png",
  40. confused: "graphics/emojis/confused.png",
  41. hushed: "graphics/emojis/hushed.png",
  42. expressionless: "graphics/emojis/expressionless.png",
  43. unamused: "graphics/emojis/unamused.png",
  44. sweat_smile: "graphics/emojis/sweat_smile.png",
  45. sweat: "graphics/emojis/sweat.png",
  46. disappointed_relieved: "graphics/emojis/disappointed_relieved.png",
  47. weary: "graphics/emojis/weary.png",
  48. pensive: "graphics/emojis/pensive.png",
  49. disappointed: "graphics/emojis/disappointed.png",
  50. confounded: "graphics/emojis/confounded.png",
  51. fearful: "graphics/emojis/fearful.png",
  52. cold_sweat: "graphics/emojis/cold_sweat.png",
  53. persevere: "graphics/emojis/persevere.png",
  54. cry: "graphics/emojis/cry.png",
  55. sob: "graphics/emojis/sob.png",
  56. joy: "graphics/emojis/joy.png",
  57. astonished: "graphics/emojis/astonished.png",
  58. scream: "graphics/emojis/scream.png",
  59. neckbeard: "graphics/emojis/neckbeard.png",
  60. tired_face: "graphics/emojis/tired_face.png",
  61. angry: "graphics/emojis/angry.png",
  62. rage: "graphics/emojis/rage.png",
  63. triumph: "graphics/emojis/triumph.png",
  64. sleepy: "graphics/emojis/sleepy.png",
  65. yum: "graphics/emojis/yum.png",
  66. mask: "graphics/emojis/mask.png",
  67. sunglasses: "graphics/emojis/sunglasses.png",
  68. dizzy_face: "graphics/emojis/dizzy_face.png",
  69. imp: "graphics/emojis/imp.png",
  70. smiling_imp: "graphics/emojis/smiling_imp.png",
  71. neutral_face: "graphics/emojis/neutral_face.png",
  72. no_mouth: "graphics/emojis/no_mouth.png",
  73. innocent: "graphics/emojis/innocent.png",
  74. alien: "graphics/emojis/alien.png",
  75. yellow_heart: "graphics/emojis/yellow_heart.png",
  76. blue_heart: "graphics/emojis/blue_heart.png",
  77. purple_heart: "graphics/emojis/purple_heart.png",
  78. heart: "graphics/emojis/heart.png",
  79. green_heart: "graphics/emojis/green_heart.png",
  80. broken_heart: "graphics/emojis/broken_heart.png",
  81. heartbeat: "graphics/emojis/heartbeat.png",
  82. heartpulse: "graphics/emojis/heartpulse.png",
  83. two_hearts: "graphics/emojis/two_hearts.png",
  84. revolving_hearts: "graphics/emojis/revolving_hearts.png",
  85. cupid: "graphics/emojis/cupid.png",
  86. sparkling_heart: "graphics/emojis/sparkling_heart.png",
  87. sparkles: "graphics/emojis/sparkles.png",
  88. star: "graphics/emojis/star.png",
  89. star2: "graphics/emojis/star2.png",
  90. dizzy: "graphics/emojis/dizzy.png",
  91. boom: "graphics/emojis/boom.png",
  92. collision: "graphics/emojis/collision.png",
  93. anger: "graphics/emojis/anger.png",
  94. exclamation: "graphics/emojis/exclamation.png",
  95. question: "graphics/emojis/question.png",
  96. grey_exclamation: "graphics/emojis/grey_exclamation.png",
  97. grey_question: "graphics/emojis/grey_question.png",
  98. zzz: "graphics/emojis/zzz.png",
  99. dash: "graphics/emojis/dash.png",
  100. sweat_drops: "graphics/emojis/sweat_drops.png",
  101. notes: "graphics/emojis/notes.png",
  102. musical_note: "graphics/emojis/musical_note.png",
  103. fire: "graphics/emojis/fire.png",
  104. hankey: "graphics/emojis/hankey.png",
  105. poop: "graphics/emojis/poop.png",
  106. shit: "graphics/emojis/shit.png",
  107. "+1": "graphics/emojis/plus1.png",
  108. thumbsup: "graphics/emojis/thumbsup.png",
  109. "-1": "graphics/emojis/-1.png",
  110. thumbsdown: "graphics/emojis/thumbsdown.png",
  111. ok_hand: "graphics/emojis/ok_hand.png",
  112. punch: "graphics/emojis/punch.png",
  113. facepunch: "graphics/emojis/facepunch.png",
  114. fist: "graphics/emojis/fist.png",
  115. v: "graphics/emojis/v.png",
  116. wave: "graphics/emojis/wave.png",
  117. hand: "graphics/emojis/hand.png",
  118. raised_hand: "graphics/emojis/raised_hand.png",
  119. open_hands: "graphics/emojis/open_hands.png",
  120. point_up: "graphics/emojis/point_up.png",
  121. point_down: "graphics/emojis/point_down.png",
  122. point_left: "graphics/emojis/point_left.png",
  123. point_right: "graphics/emojis/point_right.png",
  124. raised_hands: "graphics/emojis/raised_hands.png",
  125. pray: "graphics/emojis/pray.png",
  126. point_up_2: "graphics/emojis/point_up_2.png",
  127. clap: "graphics/emojis/clap.png",
  128. muscle: "graphics/emojis/muscle.png",
  129. metal: "graphics/emojis/metal.png",
  130. fu: "graphics/emojis/fu.png",
  131. runner: "graphics/emojis/runner.png",
  132. running: "graphics/emojis/running.png",
  133. couple: "graphics/emojis/couple.png",
  134. family: "graphics/emojis/family.png",
  135. two_men_holding_hands: "graphics/emojis/two_men_holding_hands.png",
  136. two_women_holding_hands: "graphics/emojis/two_women_holding_hands.png",
  137. dancer: "graphics/emojis/dancer.png",
  138. dancers: "graphics/emojis/dancers.png",
  139. ok_woman: "graphics/emojis/ok_woman.png",
  140. no_good: "graphics/emojis/no_good.png",
  141. information_desk_person: "graphics/emojis/information_desk_person.png",
  142. raising_hand: "graphics/emojis/raising_hand.png",
  143. bride_with_veil: "graphics/emojis/bride_with_veil.png",
  144. person_with_pouting_face: "graphics/emojis/person_with_pouting_face.png",
  145. person_frowning: "graphics/emojis/person_frowning.png",
  146. bow: "graphics/emojis/bow.png",
  147. couplekiss: "graphics/emojis/couplekiss.png",
  148. couple_with_heart: "graphics/emojis/couple_with_heart.png",
  149. massage: "graphics/emojis/massage.png",
  150. haircut: "graphics/emojis/haircut.png",
  151. nail_care: "graphics/emojis/nail_care.png",
  152. boy: "graphics/emojis/boy.png",
  153. girl: "graphics/emojis/girl.png",
  154. woman: "graphics/emojis/woman.png",
  155. man: "graphics/emojis/man.png",
  156. baby: "graphics/emojis/baby.png",
  157. older_woman: "graphics/emojis/older_woman.png",
  158. older_man: "graphics/emojis/older_man.png",
  159. person_with_blond_hair: "graphics/emojis/person_with_blond_hair.png",
  160. man_with_gua_pi_mao: "graphics/emojis/man_with_gua_pi_mao.png",
  161. man_with_turban: "graphics/emojis/man_with_turban.png",
  162. construction_worker: "graphics/emojis/construction_worker.png",
  163. cop: "graphics/emojis/cop.png",
  164. angel: "graphics/emojis/angel.png",
  165. princess: "graphics/emojis/princess.png",
  166. smiley_cat: "graphics/emojis/smiley_cat.png",
  167. smile_cat: "graphics/emojis/smile_cat.png",
  168. heart_eyes_cat: "graphics/emojis/heart_eyes_cat.png",
  169. kissing_cat: "graphics/emojis/kissing_cat.png",
  170. smirk_cat: "graphics/emojis/smirk_cat.png",
  171. scream_cat: "graphics/emojis/scream_cat.png",
  172. crying_cat_face: "graphics/emojis/crying_cat_face.png",
  173. joy_cat: "graphics/emojis/joy_cat.png",
  174. pouting_cat: "graphics/emojis/pouting_cat.png",
  175. japanese_ogre: "graphics/emojis/japanese_ogre.png",
  176. japanese_goblin: "graphics/emojis/japanese_goblin.png",
  177. see_no_evil: "graphics/emojis/see_no_evil.png",
  178. hear_no_evil: "graphics/emojis/hear_no_evil.png",
  179. speak_no_evil: "graphics/emojis/speak_no_evil.png",
  180. guardsman: "graphics/emojis/guardsman.png",
  181. skull: "graphics/emojis/skull.png",
  182. feet: "graphics/emojis/feet.png",
  183. lips: "graphics/emojis/lips.png",
  184. kiss: "graphics/emojis/kiss.png",
  185. droplet: "graphics/emojis/droplet.png",
  186. ear: "graphics/emojis/ear.png",
  187. eyes: "graphics/emojis/eyes.png",
  188. nose: "graphics/emojis/nose.png",
  189. tongue: "graphics/emojis/tongue.png",
  190. love_letter: "graphics/emojis/love_letter.png",
  191. bust_in_silhouette: "graphics/emojis/bust_in_silhouette.png",
  192. busts_in_silhouette: "graphics/emojis/busts_in_silhouette.png",
  193. speech_balloon: "graphics/emojis/speech_balloon.png",
  194. thought_balloon: "graphics/emojis/thought_balloon.png",
  195. feelsgood: "graphics/emojis/feelsgood.png",
  196. finnadie: "graphics/emojis/finnadie.png",
  197. goberserk: "graphics/emojis/goberserk.png",
  198. godmode: "graphics/emojis/godmode.png",
  199. hurtrealbad: "graphics/emojis/hurtrealbad.png",
  200. rage1: "graphics/emojis/rage1.png",
  201. rage2: "graphics/emojis/rage2.png",
  202. rage3: "graphics/emojis/rage3.png",
  203. rage4: "graphics/emojis/rage4.png",
  204. suspect: "graphics/emojis/suspect.png",
  205. trollface: "graphics/emojis/trollface.png",
  206. sunny: "graphics/emojis/sunny.png",
  207. umbrella: "graphics/emojis/umbrella.png",
  208. cloud: "graphics/emojis/cloud.png",
  209. snowflake: "graphics/emojis/snowflake.png",
  210. snowman: "graphics/emojis/snowman.png",
  211. zap: "graphics/emojis/zap.png",
  212. cyclone: "graphics/emojis/cyclone.png",
  213. foggy: "graphics/emojis/foggy.png",
  214. ocean: "graphics/emojis/ocean.png",
  215. cat: "graphics/emojis/cat.png",
  216. dog: "graphics/emojis/dog.png",
  217. mouse: "graphics/emojis/mouse.png",
  218. hamster: "graphics/emojis/hamster.png",
  219. rabbit: "graphics/emojis/rabbit.png",
  220. wolf: "graphics/emojis/wolf.png",
  221. frog: "graphics/emojis/frog.png",
  222. tiger: "graphics/emojis/tiger.png",
  223. koala: "graphics/emojis/koala.png",
  224. bear: "graphics/emojis/bear.png",
  225. pig: "graphics/emojis/pig.png",
  226. pig_nose: "graphics/emojis/pig_nose.png",
  227. cow: "graphics/emojis/cow.png",
  228. boar: "graphics/emojis/boar.png",
  229. monkey_face: "graphics/emojis/monkey_face.png",
  230. monkey: "graphics/emojis/monkey.png",
  231. horse: "graphics/emojis/horse.png",
  232. racehorse: "graphics/emojis/racehorse.png",
  233. camel: "graphics/emojis/camel.png",
  234. sheep: "graphics/emojis/sheep.png",
  235. elephant: "graphics/emojis/elephant.png",
  236. panda_face: "graphics/emojis/panda_face.png",
  237. snake: "graphics/emojis/snake.png",
  238. bird: "graphics/emojis/bird.png",
  239. baby_chick: "graphics/emojis/baby_chick.png",
  240. hatched_chick: "graphics/emojis/hatched_chick.png",
  241. hatching_chick: "graphics/emojis/hatching_chick.png",
  242. chicken: "graphics/emojis/chicken.png",
  243. penguin: "graphics/emojis/penguin.png",
  244. turtle: "graphics/emojis/turtle.png",
  245. bug: "graphics/emojis/bug.png",
  246. honeybee: "graphics/emojis/honeybee.png",
  247. ant: "graphics/emojis/ant.png",
  248. beetle: "graphics/emojis/beetle.png",
  249. snail: "graphics/emojis/snail.png",
  250. octopus: "graphics/emojis/octopus.png",
  251. tropical_fish: "graphics/emojis/tropical_fish.png",
  252. fish: "graphics/emojis/fish.png",
  253. whale: "graphics/emojis/whale.png",
  254. whale2: "graphics/emojis/whale2.png",
  255. dolphin: "graphics/emojis/dolphin.png",
  256. cow2: "graphics/emojis/cow2.png",
  257. ram: "graphics/emojis/ram.png",
  258. rat: "graphics/emojis/rat.png",
  259. water_buffalo: "graphics/emojis/water_buffalo.png",
  260. tiger2: "graphics/emojis/tiger2.png",
  261. rabbit2: "graphics/emojis/rabbit2.png",
  262. dragon: "graphics/emojis/dragon.png",
  263. goat: "graphics/emojis/goat.png",
  264. rooster: "graphics/emojis/rooster.png",
  265. dog2: "graphics/emojis/dog2.png",
  266. pig2: "graphics/emojis/pig2.png",
  267. mouse2: "graphics/emojis/mouse2.png",
  268. ox: "graphics/emojis/ox.png",
  269. dragon_face: "graphics/emojis/dragon_face.png",
  270. blowfish: "graphics/emojis/blowfish.png",
  271. crocodile: "graphics/emojis/crocodile.png",
  272. dromedary_camel: "graphics/emojis/dromedary_camel.png",
  273. leopard: "graphics/emojis/leopard.png",
  274. cat2: "graphics/emojis/cat2.png",
  275. poodle: "graphics/emojis/poodle.png",
  276. paw_prints: "graphics/emojis/paw_prints.png",
  277. bouquet: "graphics/emojis/bouquet.png",
  278. cherry_blossom: "graphics/emojis/cherry_blossom.png",
  279. tulip: "graphics/emojis/tulip.png",
  280. four_leaf_clover: "graphics/emojis/four_leaf_clover.png",
  281. rose: "graphics/emojis/rose.png",
  282. sunflower: "graphics/emojis/sunflower.png",
  283. hibiscus: "graphics/emojis/hibiscus.png",
  284. maple_leaf: "graphics/emojis/maple_leaf.png",
  285. leaves: "graphics/emojis/leaves.png",
  286. fallen_leaf: "graphics/emojis/fallen_leaf.png",
  287. herb: "graphics/emojis/herb.png",
  288. mushroom: "graphics/emojis/mushroom.png",
  289. cactus: "graphics/emojis/cactus.png",
  290. palm_tree: "graphics/emojis/palm_tree.png",
  291. evergreen_tree: "graphics/emojis/evergreen_tree.png",
  292. deciduous_tree: "graphics/emojis/deciduous_tree.png",
  293. chestnut: "graphics/emojis/chestnut.png",
  294. seedling: "graphics/emojis/seedling.png",
  295. blossom: "graphics/emojis/blossom.png",
  296. ear_of_rice: "graphics/emojis/ear_of_rice.png",
  297. shell: "graphics/emojis/shell.png",
  298. globe_with_meridians: "graphics/emojis/globe_with_meridians.png",
  299. sun_with_face: "graphics/emojis/sun_with_face.png",
  300. full_moon_with_face: "graphics/emojis/full_moon_with_face.png",
  301. new_moon_with_face: "graphics/emojis/new_moon_with_face.png",
  302. new_moon: "graphics/emojis/new_moon.png",
  303. waxing_crescent_moon: "graphics/emojis/waxing_crescent_moon.png",
  304. first_quarter_moon: "graphics/emojis/first_quarter_moon.png",
  305. waxing_gibbous_moon: "graphics/emojis/waxing_gibbous_moon.png",
  306. full_moon: "graphics/emojis/full_moon.png",
  307. waning_gibbous_moon: "graphics/emojis/waning_gibbous_moon.png",
  308. last_quarter_moon: "graphics/emojis/last_quarter_moon.png",
  309. waning_crescent_moon: "graphics/emojis/waning_crescent_moon.png",
  310. last_quarter_moon_with_face:
  311. "graphics/emojis/last_quarter_moon_with_face.png",
  312. first_quarter_moon_with_face:
  313. "graphics/emojis/first_quarter_moon_with_face.png",
  314. crescent_moon: "graphics/emojis/crescent_moon.png",
  315. earth_africa: "graphics/emojis/earth_africa.png",
  316. earth_americas: "graphics/emojis/earth_americas.png",
  317. earth_asia: "graphics/emojis/earth_asia.png",
  318. volcano: "graphics/emojis/volcano.png",
  319. milky_way: "graphics/emojis/milky_way.png",
  320. partly_sunny: "graphics/emojis/partly_sunny.png",
  321. octocat: "graphics/emojis/octocat.png",
  322. squirrel: "graphics/emojis/squirrel.png",
  323. bamboo: "graphics/emojis/bamboo.png",
  324. gift_heart: "graphics/emojis/gift_heart.png",
  325. dolls: "graphics/emojis/dolls.png",
  326. school_satchel: "graphics/emojis/school_satchel.png",
  327. mortar_board: "graphics/emojis/mortar_board.png",
  328. flags: "graphics/emojis/flags.png",
  329. fireworks: "graphics/emojis/fireworks.png",
  330. sparkler: "graphics/emojis/sparkler.png",
  331. wind_chime: "graphics/emojis/wind_chime.png",
  332. rice_scene: "graphics/emojis/rice_scene.png",
  333. jack_o_lantern: "graphics/emojis/jack_o_lantern.png",
  334. ghost: "graphics/emojis/ghost.png",
  335. santa: "graphics/emojis/santa.png",
  336. christmas_tree: "graphics/emojis/christmas_tree.png",
  337. gift: "graphics/emojis/gift.png",
  338. bell: "graphics/emojis/bell.png",
  339. no_bell: "graphics/emojis/no_bell.png",
  340. tanabata_tree: "graphics/emojis/tanabata_tree.png",
  341. tada: "graphics/emojis/tada.png",
  342. confetti_ball: "graphics/emojis/confetti_ball.png",
  343. balloon: "graphics/emojis/balloon.png",
  344. crystal_ball: "graphics/emojis/crystal_ball.png",
  345. cd: "graphics/emojis/cd.png",
  346. dvd: "graphics/emojis/dvd.png",
  347. floppy_disk: "graphics/emojis/floppy_disk.png",
  348. camera: "graphics/emojis/camera.png",
  349. video_camera: "graphics/emojis/video_camera.png",
  350. movie_camera: "graphics/emojis/movie_camera.png",
  351. computer: "graphics/emojis/computer.png",
  352. tv: "graphics/emojis/tv.png",
  353. iphone: "graphics/emojis/iphone.png",
  354. phone: "graphics/emojis/phone.png",
  355. telephone: "graphics/emojis/telephone.png",
  356. telephone_receiver: "graphics/emojis/telephone_receiver.png",
  357. pager: "graphics/emojis/pager.png",
  358. fax: "graphics/emojis/fax.png",
  359. minidisc: "graphics/emojis/minidisc.png",
  360. vhs: "graphics/emojis/vhs.png",
  361. sound: "graphics/emojis/sound.png",
  362. speaker: "graphics/emojis/speaker.png",
  363. mute: "graphics/emojis/mute.png",
  364. loudspeaker: "graphics/emojis/loudspeaker.png",
  365. mega: "graphics/emojis/mega.png",
  366. hourglass: "graphics/emojis/hourglass.png",
  367. hourglass_flowing_sand: "graphics/emojis/hourglass_flowing_sand.png",
  368. alarm_clock: "graphics/emojis/alarm_clock.png",
  369. watch: "graphics/emojis/watch.png",
  370. radio: "graphics/emojis/radio.png",
  371. satellite: "graphics/emojis/satellite.png",
  372. loop: "graphics/emojis/loop.png",
  373. mag: "graphics/emojis/mag.png",
  374. mag_right: "graphics/emojis/mag_right.png",
  375. unlock: "graphics/emojis/unlock.png",
  376. lock: "graphics/emojis/lock.png",
  377. lock_with_ink_pen: "graphics/emojis/lock_with_ink_pen.png",
  378. closed_lock_with_key: "graphics/emojis/closed_lock_with_key.png",
  379. key: "graphics/emojis/key.png",
  380. bulb: "graphics/emojis/bulb.png",
  381. flashlight: "graphics/emojis/flashlight.png",
  382. high_brightness: "graphics/emojis/high_brightness.png",
  383. low_brightness: "graphics/emojis/low_brightness.png",
  384. electric_plug: "graphics/emojis/electric_plug.png",
  385. battery: "graphics/emojis/battery.png",
  386. calling: "graphics/emojis/calling.png",
  387. email: "graphics/emojis/email.png",
  388. mailbox: "graphics/emojis/mailbox.png",
  389. postbox: "graphics/emojis/postbox.png",
  390. bath: "graphics/emojis/bath.png",
  391. bathtub: "graphics/emojis/bathtub.png",
  392. shower: "graphics/emojis/shower.png",
  393. toilet: "graphics/emojis/toilet.png",
  394. wrench: "graphics/emojis/wrench.png",
  395. nut_and_bolt: "graphics/emojis/nut_and_bolt.png",
  396. hammer: "graphics/emojis/hammer.png",
  397. seat: "graphics/emojis/seat.png",
  398. moneybag: "graphics/emojis/moneybag.png",
  399. yen: "graphics/emojis/yen.png",
  400. dollar: "graphics/emojis/dollar.png",
  401. pound: "graphics/emojis/pound.png",
  402. euro: "graphics/emojis/euro.png",
  403. credit_card: "graphics/emojis/credit_card.png",
  404. money_with_wings: "graphics/emojis/money_with_wings.png",
  405. "e-mail": "graphics/emojis/e-mail.png",
  406. inbox_tray: "graphics/emojis/inbox_tray.png",
  407. outbox_tray: "graphics/emojis/outbox_tray.png",
  408. envelope: "graphics/emojis/envelope.png",
  409. incoming_envelope: "graphics/emojis/incoming_envelope.png",
  410. postal_horn: "graphics/emojis/postal_horn.png",
  411. mailbox_closed: "graphics/emojis/mailbox_closed.png",
  412. mailbox_with_mail: "graphics/emojis/mailbox_with_mail.png",
  413. mailbox_with_no_mail: "graphics/emojis/mailbox_with_no_mail.png",
  414. package: "graphics/emojis/package.png",
  415. door: "graphics/emojis/door.png",
  416. smoking: "graphics/emojis/smoking.png",
  417. bomb: "graphics/emojis/bomb.png",
  418. gun: "graphics/emojis/gun.png",
  419. hocho: "graphics/emojis/hocho.png",
  420. pill: "graphics/emojis/pill.png",
  421. syringe: "graphics/emojis/syringe.png",
  422. page_facing_up: "graphics/emojis/page_facing_up.png",
  423. page_with_curl: "graphics/emojis/page_with_curl.png",
  424. bookmark_tabs: "graphics/emojis/bookmark_tabs.png",
  425. bar_chart: "graphics/emojis/bar_chart.png",
  426. chart_with_upwards_trend: "graphics/emojis/chart_with_upwards_trend.png",
  427. chart_with_downwards_trend:
  428. "graphics/emojis/chart_with_downwards_trend.png",
  429. scroll: "graphics/emojis/scroll.png",
  430. clipboard: "graphics/emojis/clipboard.png",
  431. calendar: "graphics/emojis/calendar.png",
  432. date: "graphics/emojis/date.png",
  433. card_index: "graphics/emojis/card_index.png",
  434. file_folder: "graphics/emojis/file_folder.png",
  435. open_file_folder: "graphics/emojis/open_file_folder.png",
  436. scissors: "graphics/emojis/scissors.png",
  437. pushpin: "graphics/emojis/pushpin.png",
  438. paperclip: "graphics/emojis/paperclip.png",
  439. black_nib: "graphics/emojis/black_nib.png",
  440. pencil2: "graphics/emojis/pencil2.png",
  441. straight_ruler: "graphics/emojis/straight_ruler.png",
  442. triangular_ruler: "graphics/emojis/triangular_ruler.png",
  443. closed_book: "graphics/emojis/closed_book.png",
  444. green_book: "graphics/emojis/green_book.png",
  445. blue_book: "graphics/emojis/blue_book.png",
  446. orange_book: "graphics/emojis/orange_book.png",
  447. notebook: "graphics/emojis/notebook.png",
  448. notebook_with_decorative_cover:
  449. "graphics/emojis/notebook_with_decorative_cover.png",
  450. ledger: "graphics/emojis/ledger.png",
  451. books: "graphics/emojis/books.png",
  452. bookmark: "graphics/emojis/bookmark.png",
  453. name_badge: "graphics/emojis/name_badge.png",
  454. microscope: "graphics/emojis/microscope.png",
  455. telescope: "graphics/emojis/telescope.png",
  456. newspaper: "graphics/emojis/newspaper.png",
  457. football: "graphics/emojis/football.png",
  458. basketball: "graphics/emojis/basketball.png",
  459. soccer: "graphics/emojis/soccer.png",
  460. baseball: "graphics/emojis/baseball.png",
  461. tennis: "graphics/emojis/tennis.png",
  462. "8ball": "graphics/emojis/8ball.png",
  463. rugby_football: "graphics/emojis/rugby_football.png",
  464. bowling: "graphics/emojis/bowling.png",
  465. golf: "graphics/emojis/golf.png",
  466. mountain_bicyclist: "graphics/emojis/mountain_bicyclist.png",
  467. bicyclist: "graphics/emojis/bicyclist.png",
  468. horse_racing: "graphics/emojis/horse_racing.png",
  469. snowboarder: "graphics/emojis/snowboarder.png",
  470. swimmer: "graphics/emojis/swimmer.png",
  471. surfer: "graphics/emojis/surfer.png",
  472. ski: "graphics/emojis/ski.png",
  473. spades: "graphics/emojis/spades.png",
  474. hearts: "graphics/emojis/hearts.png",
  475. clubs: "graphics/emojis/clubs.png",
  476. diamonds: "graphics/emojis/diamonds.png",
  477. gem: "graphics/emojis/gem.png",
  478. ring: "graphics/emojis/ring.png",
  479. trophy: "graphics/emojis/trophy.png",
  480. musical_score: "graphics/emojis/musical_score.png",
  481. musical_keyboard: "graphics/emojis/musical_keyboard.png",
  482. violin: "graphics/emojis/violin.png",
  483. space_invader: "graphics/emojis/space_invader.png",
  484. video_game: "graphics/emojis/video_game.png",
  485. black_joker: "graphics/emojis/black_joker.png",
  486. flower_playing_cards: "graphics/emojis/flower_playing_cards.png",
  487. game_die: "graphics/emojis/game_die.png",
  488. dart: "graphics/emojis/dart.png",
  489. mahjong: "graphics/emojis/mahjong.png",
  490. clapper: "graphics/emojis/clapper.png",
  491. memo: "graphics/emojis/memo.png",
  492. pencil: "graphics/emojis/pencil.png",
  493. book: "graphics/emojis/book.png",
  494. art: "graphics/emojis/art.png",
  495. microphone: "graphics/emojis/microphone.png",
  496. headphones: "graphics/emojis/headphones.png",
  497. trumpet: "graphics/emojis/trumpet.png",
  498. saxophone: "graphics/emojis/saxophone.png",
  499. guitar: "graphics/emojis/guitar.png",
  500. shoe: "graphics/emojis/shoe.png",
  501. sandal: "graphics/emojis/sandal.png",
  502. high_heel: "graphics/emojis/high_heel.png",
  503. lipstick: "graphics/emojis/lipstick.png",
  504. boot: "graphics/emojis/boot.png",
  505. shirt: "graphics/emojis/shirt.png",
  506. tshirt: "graphics/emojis/tshirt.png",
  507. necktie: "graphics/emojis/necktie.png",
  508. womans_clothes: "graphics/emojis/womans_clothes.png",
  509. dress: "graphics/emojis/dress.png",
  510. running_shirt_with_sash: "graphics/emojis/running_shirt_with_sash.png",
  511. jeans: "graphics/emojis/jeans.png",
  512. kimono: "graphics/emojis/kimono.png",
  513. bikini: "graphics/emojis/bikini.png",
  514. ribbon: "graphics/emojis/ribbon.png",
  515. tophat: "graphics/emojis/tophat.png",
  516. crown: "graphics/emojis/crown.png",
  517. womans_hat: "graphics/emojis/womans_hat.png",
  518. mans_shoe: "graphics/emojis/mans_shoe.png",
  519. closed_umbrella: "graphics/emojis/closed_umbrella.png",
  520. briefcase: "graphics/emojis/briefcase.png",
  521. handbag: "graphics/emojis/handbag.png",
  522. pouch: "graphics/emojis/pouch.png",
  523. purse: "graphics/emojis/purse.png",
  524. eyeglasses: "graphics/emojis/eyeglasses.png",
  525. fishing_pole_and_fish: "graphics/emojis/fishing_pole_and_fish.png",
  526. coffee: "graphics/emojis/coffee.png",
  527. tea: "graphics/emojis/tea.png",
  528. sake: "graphics/emojis/sake.png",
  529. baby_bottle: "graphics/emojis/baby_bottle.png",
  530. beer: "graphics/emojis/beer.png",
  531. beers: "graphics/emojis/beers.png",
  532. cocktail: "graphics/emojis/cocktail.png",
  533. tropical_drink: "graphics/emojis/tropical_drink.png",
  534. wine_glass: "graphics/emojis/wine_glass.png",
  535. fork_and_knife: "graphics/emojis/fork_and_knife.png",
  536. pizza: "graphics/emojis/pizza.png",
  537. hamburger: "graphics/emojis/hamburger.png",
  538. fries: "graphics/emojis/fries.png",
  539. poultry_leg: "graphics/emojis/poultry_leg.png",
  540. meat_on_bone: "graphics/emojis/meat_on_bone.png",
  541. spaghetti: "graphics/emojis/spaghetti.png",
  542. curry: "graphics/emojis/curry.png",
  543. fried_shrimp: "graphics/emojis/fried_shrimp.png",
  544. bento: "graphics/emojis/bento.png",
  545. sushi: "graphics/emojis/sushi.png",
  546. fish_cake: "graphics/emojis/fish_cake.png",
  547. rice_ball: "graphics/emojis/rice_ball.png",
  548. rice_cracker: "graphics/emojis/rice_cracker.png",
  549. rice: "graphics/emojis/rice.png",
  550. ramen: "graphics/emojis/ramen.png",
  551. stew: "graphics/emojis/stew.png",
  552. oden: "graphics/emojis/oden.png",
  553. dango: "graphics/emojis/dango.png",
  554. egg: "graphics/emojis/egg.png",
  555. bread: "graphics/emojis/bread.png",
  556. doughnut: "graphics/emojis/doughnut.png",
  557. custard: "graphics/emojis/custard.png",
  558. icecream: "graphics/emojis/icecream.png",
  559. ice_cream: "graphics/emojis/ice_cream.png",
  560. shaved_ice: "graphics/emojis/shaved_ice.png",
  561. birthday: "graphics/emojis/birthday.png",
  562. cake: "graphics/emojis/cake.png",
  563. cookie: "graphics/emojis/cookie.png",
  564. chocolate_bar: "graphics/emojis/chocolate_bar.png",
  565. candy: "graphics/emojis/candy.png",
  566. lollipop: "graphics/emojis/lollipop.png",
  567. honey_pot: "graphics/emojis/honey_pot.png",
  568. apple: "graphics/emojis/apple.png",
  569. green_apple: "graphics/emojis/green_apple.png",
  570. tangerine: "graphics/emojis/tangerine.png",
  571. lemon: "graphics/emojis/lemon.png",
  572. cherries: "graphics/emojis/cherries.png",
  573. grapes: "graphics/emojis/grapes.png",
  574. watermelon: "graphics/emojis/watermelon.png",
  575. strawberry: "graphics/emojis/strawberry.png",
  576. peach: "graphics/emojis/peach.png",
  577. melon: "graphics/emojis/melon.png",
  578. banana: "graphics/emojis/banana.png",
  579. pear: "graphics/emojis/pear.png",
  580. pineapple: "graphics/emojis/pineapple.png",
  581. sweet_potato: "graphics/emojis/sweet_potato.png",
  582. eggplant: "graphics/emojis/eggplant.png",
  583. tomato: "graphics/emojis/tomato.png",
  584. corn: "graphics/emojis/corn.png",
  585. house: "graphics/emojis/house.png",
  586. house_with_garden: "graphics/emojis/house_with_garden.png",
  587. school: "graphics/emojis/school.png",
  588. office: "graphics/emojis/office.png",
  589. post_office: "graphics/emojis/post_office.png",
  590. hospital: "graphics/emojis/hospital.png",
  591. bank: "graphics/emojis/bank.png",
  592. convenience_store: "graphics/emojis/convenience_store.png",
  593. love_hotel: "graphics/emojis/love_hotel.png",
  594. hotel: "graphics/emojis/hotel.png",
  595. wedding: "graphics/emojis/wedding.png",
  596. church: "graphics/emojis/church.png",
  597. department_store: "graphics/emojis/department_store.png",
  598. european_post_office: "graphics/emojis/european_post_office.png",
  599. city_sunrise: "graphics/emojis/city_sunrise.png",
  600. city_sunset: "graphics/emojis/city_sunset.png",
  601. japanese_castle: "graphics/emojis/japanese_castle.png",
  602. european_castle: "graphics/emojis/european_castle.png",
  603. tent: "graphics/emojis/tent.png",
  604. factory: "graphics/emojis/factory.png",
  605. tokyo_tower: "graphics/emojis/tokyo_tower.png",
  606. japan: "graphics/emojis/japan.png",
  607. mount_fuji: "graphics/emojis/mount_fuji.png",
  608. sunrise_over_mountains: "graphics/emojis/sunrise_over_mountains.png",
  609. sunrise: "graphics/emojis/sunrise.png",
  610. stars: "graphics/emojis/stars.png",
  611. statue_of_liberty: "graphics/emojis/statue_of_liberty.png",
  612. bridge_at_night: "graphics/emojis/bridge_at_night.png",
  613. carousel_horse: "graphics/emojis/carousel_horse.png",
  614. rainbow: "graphics/emojis/rainbow.png",
  615. ferris_wheel: "graphics/emojis/ferris_wheel.png",
  616. fountain: "graphics/emojis/fountain.png",
  617. roller_coaster: "graphics/emojis/roller_coaster.png",
  618. ship: "graphics/emojis/ship.png",
  619. speedboat: "graphics/emojis/speedboat.png",
  620. boat: "graphics/emojis/boat.png",
  621. sailboat: "graphics/emojis/sailboat.png",
  622. rowboat: "graphics/emojis/rowboat.png",
  623. anchor: "graphics/emojis/anchor.png",
  624. rocket: "graphics/emojis/rocket.png",
  625. airplane: "graphics/emojis/airplane.png",
  626. helicopter: "graphics/emojis/helicopter.png",
  627. steam_locomotive: "graphics/emojis/steam_locomotive.png",
  628. tram: "graphics/emojis/tram.png",
  629. mountain_railway: "graphics/emojis/mountain_railway.png",
  630. bike: "graphics/emojis/bike.png",
  631. aerial_tramway: "graphics/emojis/aerial_tramway.png",
  632. suspension_railway: "graphics/emojis/suspension_railway.png",
  633. mountain_cableway: "graphics/emojis/mountain_cableway.png",
  634. tractor: "graphics/emojis/tractor.png",
  635. blue_car: "graphics/emojis/blue_car.png",
  636. oncoming_automobile: "graphics/emojis/oncoming_automobile.png",
  637. car: "graphics/emojis/car.png",
  638. red_car: "graphics/emojis/red_car.png",
  639. taxi: "graphics/emojis/taxi.png",
  640. oncoming_taxi: "graphics/emojis/oncoming_taxi.png",
  641. articulated_lorry: "graphics/emojis/articulated_lorry.png",
  642. bus: "graphics/emojis/bus.png",
  643. oncoming_bus: "graphics/emojis/oncoming_bus.png",
  644. rotating_light: "graphics/emojis/rotating_light.png",
  645. police_car: "graphics/emojis/police_car.png",
  646. oncoming_police_car: "graphics/emojis/oncoming_police_car.png",
  647. fire_engine: "graphics/emojis/fire_engine.png",
  648. ambulance: "graphics/emojis/ambulance.png",
  649. minibus: "graphics/emojis/minibus.png",
  650. truck: "graphics/emojis/truck.png",
  651. train: "graphics/emojis/train.png",
  652. station: "graphics/emojis/station.png",
  653. train2: "graphics/emojis/train2.png",
  654. bullettrain_front: "graphics/emojis/bullettrain_front.png",
  655. bullettrain_side: "graphics/emojis/bullettrain_side.png",
  656. light_rail: "graphics/emojis/light_rail.png",
  657. monorail: "graphics/emojis/monorail.png",
  658. railway_car: "graphics/emojis/railway_car.png",
  659. trolleybus: "graphics/emojis/trolleybus.png",
  660. ticket: "graphics/emojis/ticket.png",
  661. fuelpump: "graphics/emojis/fuelpump.png",
  662. vertical_traffic_light: "graphics/emojis/vertical_traffic_light.png",
  663. traffic_light: "graphics/emojis/traffic_light.png",
  664. warning: "graphics/emojis/warning.png",
  665. construction: "graphics/emojis/construction.png",
  666. beginner: "graphics/emojis/beginner.png",
  667. atm: "graphics/emojis/atm.png",
  668. slot_machine: "graphics/emojis/slot_machine.png",
  669. busstop: "graphics/emojis/busstop.png",
  670. barber: "graphics/emojis/barber.png",
  671. hotsprings: "graphics/emojis/hotsprings.png",
  672. checkered_flag: "graphics/emojis/checkered_flag.png",
  673. crossed_flags: "graphics/emojis/crossed_flags.png",
  674. izakaya_lantern: "graphics/emojis/izakaya_lantern.png",
  675. moyai: "graphics/emojis/moyai.png",
  676. circus_tent: "graphics/emojis/circus_tent.png",
  677. performing_arts: "graphics/emojis/performing_arts.png",
  678. round_pushpin: "graphics/emojis/round_pushpin.png",
  679. triangular_flag_on_post: "graphics/emojis/triangular_flag_on_post.png",
  680. jp: "graphics/emojis/jp.png",
  681. kr: "graphics/emojis/kr.png",
  682. cn: "graphics/emojis/cn.png",
  683. us: "graphics/emojis/us.png",
  684. fr: "graphics/emojis/fr.png",
  685. es: "graphics/emojis/es.png",
  686. it: "graphics/emojis/it.png",
  687. ru: "graphics/emojis/ru.png",
  688. gb: "graphics/emojis/gb.png",
  689. uk: "graphics/emojis/uk.png",
  690. de: "graphics/emojis/de.png",
  691. one: "graphics/emojis/one.png",
  692. two: "graphics/emojis/two.png",
  693. three: "graphics/emojis/three.png",
  694. four: "graphics/emojis/four.png",
  695. five: "graphics/emojis/five.png",
  696. six: "graphics/emojis/six.png",
  697. seven: "graphics/emojis/seven.png",
  698. eight: "graphics/emojis/eight.png",
  699. nine: "graphics/emojis/nine.png",
  700. keycap_ten: "graphics/emojis/keycap_ten.png",
  701. zero: "graphics/emojis/zero.png",
  702. hash: "graphics/emojis/hash.png",
  703. symbols: "graphics/emojis/symbols.png",
  704. arrow_backward: "graphics/emojis/arrow_backward.png",
  705. arrow_down: "graphics/emojis/arrow_down.png",
  706. arrow_forward: "graphics/emojis/arrow_forward.png",
  707. arrow_left: "graphics/emojis/arrow_left.png",
  708. capital_abcd: "graphics/emojis/capital_abcd.png",
  709. abcd: "graphics/emojis/abcd.png",
  710. abc: "graphics/emojis/abc.png",
  711. arrow_lower_left: "graphics/emojis/arrow_lower_left.png",
  712. arrow_lower_right: "graphics/emojis/arrow_lower_right.png",
  713. arrow_right: "graphics/emojis/arrow_right.png",
  714. arrow_up: "graphics/emojis/arrow_up.png",
  715. arrow_upper_left: "graphics/emojis/arrow_upper_left.png",
  716. arrow_upper_right: "graphics/emojis/arrow_upper_right.png",
  717. arrow_double_down: "graphics/emojis/arrow_double_down.png",
  718. arrow_double_up: "graphics/emojis/arrow_double_up.png",
  719. arrow_down_small: "graphics/emojis/arrow_down_small.png",
  720. arrow_heading_down: "graphics/emojis/arrow_heading_down.png",
  721. arrow_heading_up: "graphics/emojis/arrow_heading_up.png",
  722. leftwards_arrow_with_hook: "graphics/emojis/leftwards_arrow_with_hook.png",
  723. arrow_right_hook: "graphics/emojis/arrow_right_hook.png",
  724. left_right_arrow: "graphics/emojis/left_right_arrow.png",
  725. arrow_up_down: "graphics/emojis/arrow_up_down.png",
  726. arrow_up_small: "graphics/emojis/arrow_up_small.png",
  727. arrows_clockwise: "graphics/emojis/arrows_clockwise.png",
  728. arrows_counterclockwise: "graphics/emojis/arrows_counterclockwise.png",
  729. rewind: "graphics/emojis/rewind.png",
  730. fast_forward: "graphics/emojis/fast_forward.png",
  731. information_source: "graphics/emojis/information_source.png",
  732. ok: "graphics/emojis/ok.png",
  733. twisted_rightwards_arrows: "graphics/emojis/twisted_rightwards_arrows.png",
  734. repeat: "graphics/emojis/repeat.png",
  735. repeat_one: "graphics/emojis/repeat_one.png",
  736. new: "graphics/emojis/new.png",
  737. top: "graphics/emojis/top.png",
  738. up: "graphics/emojis/up.png",
  739. cool: "graphics/emojis/cool.png",
  740. free: "graphics/emojis/free.png",
  741. ng: "graphics/emojis/ng.png",
  742. cinema: "graphics/emojis/cinema.png",
  743. koko: "graphics/emojis/koko.png",
  744. signal_strength: "graphics/emojis/signal_strength.png",
  745. u5272: "graphics/emojis/u5272.png",
  746. u5408: "graphics/emojis/u5408.png",
  747. u55b6: "graphics/emojis/u55b6.png",
  748. u6307: "graphics/emojis/u6307.png",
  749. u6708: "graphics/emojis/u6708.png",
  750. u6709: "graphics/emojis/u6709.png",
  751. u6e80: "graphics/emojis/u6e80.png",
  752. u7121: "graphics/emojis/u7121.png",
  753. u7533: "graphics/emojis/u7533.png",
  754. u7a7a: "graphics/emojis/u7a7a.png",
  755. u7981: "graphics/emojis/u7981.png",
  756. sa: "graphics/emojis/sa.png",
  757. restroom: "graphics/emojis/restroom.png",
  758. mens: "graphics/emojis/mens.png",
  759. womens: "graphics/emojis/womens.png",
  760. baby_symbol: "graphics/emojis/baby_symbol.png",
  761. no_smoking: "graphics/emojis/no_smoking.png",
  762. parking: "graphics/emojis/parking.png",
  763. wheelchair: "graphics/emojis/wheelchair.png",
  764. metro: "graphics/emojis/metro.png",
  765. baggage_claim: "graphics/emojis/baggage_claim.png",
  766. accept: "graphics/emojis/accept.png",
  767. wc: "graphics/emojis/wc.png",
  768. potable_water: "graphics/emojis/potable_water.png",
  769. put_litter_in_its_place: "graphics/emojis/put_litter_in_its_place.png",
  770. secret: "graphics/emojis/secret.png",
  771. congratulations: "graphics/emojis/congratulations.png",
  772. m: "graphics/emojis/m.png",
  773. passport_control: "graphics/emojis/passport_control.png",
  774. left_luggage: "graphics/emojis/left_luggage.png",
  775. customs: "graphics/emojis/customs.png",
  776. ideograph_advantage: "graphics/emojis/ideograph_advantage.png",
  777. cl: "graphics/emojis/cl.png",
  778. sos: "graphics/emojis/sos.png",
  779. id: "graphics/emojis/id.png",
  780. no_entry_sign: "graphics/emojis/no_entry_sign.png",
  781. underage: "graphics/emojis/underage.png",
  782. no_mobile_phones: "graphics/emojis/no_mobile_phones.png",
  783. do_not_litter: "graphics/emojis/do_not_litter.png",
  784. "non-potable_water": "graphics/emojis/non-potable_water.png",
  785. no_bicycles: "graphics/emojis/no_bicycles.png",
  786. no_pedestrians: "graphics/emojis/no_pedestrians.png",
  787. children_crossing: "graphics/emojis/children_crossing.png",
  788. no_entry: "graphics/emojis/no_entry.png",
  789. eight_spoked_asterisk: "graphics/emojis/eight_spoked_asterisk.png",
  790. sparkle: "graphics/emojis/sparkle.png",
  791. eight_pointed_black_star: "graphics/emojis/eight_pointed_black_star.png",
  792. heart_decoration: "graphics/emojis/heart_decoration.png",
  793. vs: "graphics/emojis/vs.png",
  794. vibration_mode: "graphics/emojis/vibration_mode.png",
  795. mobile_phone_off: "graphics/emojis/mobile_phone_off.png",
  796. chart: "graphics/emojis/chart.png",
  797. currency_exchange: "graphics/emojis/currency_exchange.png",
  798. aries: "graphics/emojis/aries.png",
  799. taurus: "graphics/emojis/taurus.png",
  800. gemini: "graphics/emojis/gemini.png",
  801. cancer: "graphics/emojis/cancer.png",
  802. leo: "graphics/emojis/leo.png",
  803. virgo: "graphics/emojis/virgo.png",
  804. libra: "graphics/emojis/libra.png",
  805. scorpius: "graphics/emojis/scorpius.png",
  806. sagittarius: "graphics/emojis/sagittarius.png",
  807. capricorn: "graphics/emojis/capricorn.png",
  808. aquarius: "graphics/emojis/aquarius.png",
  809. pisces: "graphics/emojis/pisces.png",
  810. ophiuchus: "graphics/emojis/ophiuchus.png",
  811. six_pointed_star: "graphics/emojis/six_pointed_star.png",
  812. negative_squared_cross_mark:
  813. "graphics/emojis/negative_squared_cross_mark.png",
  814. a: "graphics/emojis/a.png",
  815. b: "graphics/emojis/b.png",
  816. ab: "graphics/emojis/ab.png",
  817. o2: "graphics/emojis/o2.png",
  818. diamond_shape_with_a_dot_inside:
  819. "graphics/emojis/diamond_shape_with_a_dot_inside.png",
  820. recycle: "graphics/emojis/recycle.png",
  821. end: "graphics/emojis/end.png",
  822. back: "graphics/emojis/back.png",
  823. on: "graphics/emojis/on.png",
  824. soon: "graphics/emojis/soon.png",
  825. clock1: "graphics/emojis/clock1.png",
  826. clock130: "graphics/emojis/clock130.png",
  827. clock10: "graphics/emojis/clock10.png",
  828. clock1030: "graphics/emojis/clock1030.png",
  829. clock11: "graphics/emojis/clock11.png",
  830. clock1130: "graphics/emojis/clock1130.png",
  831. clock12: "graphics/emojis/clock12.png",
  832. clock1230: "graphics/emojis/clock1230.png",
  833. clock2: "graphics/emojis/clock2.png",
  834. clock230: "graphics/emojis/clock230.png",
  835. clock3: "graphics/emojis/clock3.png",
  836. clock330: "graphics/emojis/clock330.png",
  837. clock4: "graphics/emojis/clock4.png",
  838. clock430: "graphics/emojis/clock430.png",
  839. clock5: "graphics/emojis/clock5.png",
  840. clock530: "graphics/emojis/clock530.png",
  841. clock6: "graphics/emojis/clock6.png",
  842. clock630: "graphics/emojis/clock630.png",
  843. clock7: "graphics/emojis/clock7.png",
  844. clock730: "graphics/emojis/clock730.png",
  845. clock8: "graphics/emojis/clock8.png",
  846. clock830: "graphics/emojis/clock830.png",
  847. clock9: "graphics/emojis/clock9.png",
  848. clock930: "graphics/emojis/clock930.png",
  849. heavy_dollar_sign: "graphics/emojis/heavy_dollar_sign.png",
  850. copyright: "graphics/emojis/copyright.png",
  851. registered: "graphics/emojis/registered.png",
  852. tm: "graphics/emojis/tm.png",
  853. x: "graphics/emojis/x.png",
  854. heavy_exclamation_mark: "graphics/emojis/heavy_exclamation_mark.png",
  855. bangbang: "graphics/emojis/bangbang.png",
  856. interrobang: "graphics/emojis/interrobang.png",
  857. o: "graphics/emojis/o.png",
  858. heavy_multiplication_x: "graphics/emojis/heavy_multiplication_x.png",
  859. heavy_plus_sign: "graphics/emojis/heavy_plus_sign.png",
  860. heavy_minus_sign: "graphics/emojis/heavy_minus_sign.png",
  861. heavy_division_sign: "graphics/emojis/heavy_division_sign.png",
  862. white_flower: "graphics/emojis/white_flower.png",
  863. heavy_check_mark: "graphics/emojis/heavy_check_mark.png",
  864. ballot_box_with_check: "graphics/emojis/ballot_box_with_check.png",
  865. radio_button: "graphics/emojis/radio_button.png",
  866. link: "graphics/emojis/link.png",
  867. curly_loop: "graphics/emojis/curly_loop.png",
  868. wavy_dash: "graphics/emojis/wavy_dash.png",
  869. part_alternation_mark: "graphics/emojis/part_alternation_mark.png",
  870. trident: "graphics/emojis/trident.png",
  871. black_small_square: "graphics/emojis/black_small_square.png",
  872. white_small_square: "graphics/emojis/white_small_square.png",
  873. black_medium_small_square: "graphics/emojis/black_medium_small_square.png",
  874. white_medium_small_square: "graphics/emojis/white_medium_small_square.png",
  875. black_medium_square: "graphics/emojis/black_medium_square.png",
  876. white_medium_square: "graphics/emojis/white_medium_square.png",
  877. black_large_square: "graphics/emojis/black_square.png",
  878. white_large_square: "graphics/emojis/white_large_square.png",
  879. white_check_mark: "graphics/emojis/white_check_mark.png",
  880. black_square_button: "graphics/emojis/black_square_button.png",
  881. white_square_button: "graphics/emojis/white_square_button.png",
  882. black_circle: "graphics/emojis/black_circle.png",
  883. white_circle: "graphics/emojis/white_circle.png",
  884. red_circle: "graphics/emojis/red_circle.png",
  885. large_blue_circle: "graphics/emojis/large_blue_circle.png",
  886. large_blue_diamond: "graphics/emojis/large_blue_diamond.png",
  887. large_orange_diamond: "graphics/emojis/large_orange_diamond.png",
  888. small_blue_diamond: "graphics/emojis/small_blue_diamond.png",
  889. small_orange_diamond: "graphics/emojis/small_orange_diamond.png",
  890. small_red_triangle: "graphics/emojis/small_red_triangle.png",
  891. small_red_triangle_down: "graphics/emojis/small_red_triangle_down.png",
  892. shipit: "graphics/emojis/shipit.png",
  893. };
  894. const wwwConstStrFirst = `<img src="https://www.webfx.com/tools/emoji-cheat-sheet/`;
  895. const wwwConstStrLast = `"></img>`;
  896. // построение поля смайликов
  897. function drowSmiles() {
  898. for (let [key, value] of Object.entries(smileObj)) {
  899. let smile = document.createElement("span");
  900. smile.setAttribute("class", "smile");
  901. smile.insertAdjacentHTML(
  902. "beforeend",
  903. wwwConstStrFirst + value + wwwConstStrLast
  904. );
  905. smile.onclick = function () {
  906. msgId.value += ` :${key}: `; // замыкание
  907. };
  908. smileArea.append(smile);
  909. }
  910. }
  911. drowSmiles();
  912. function smilify(message) {
  913. if (typeof message === "string") {
  914. for (key in smileObj) {
  915. // key += ""; // если раскомментировать, то можно ниже обращаться через точку
  916. while (
  917. message !==
  918. message.replace(
  919. `:${key}:`,
  920. wwwConstStrFirst + smileObj[key] + wwwConstStrLast
  921. )
  922. ) {
  923. message = message.replace(
  924. `:${key}:`,
  925. wwwConstStrFirst + smileObj[key] + wwwConstStrLast
  926. );
  927. }
  928. }
  929. }
  930. return message;
  931. }
  932. // let nick = "qwerty";
  933. while (!(nick = prompt("Введите свой ник:"))) {}
  934. nickId.value = nick;
  935. nickId.setAttribute("readonly", "readonly");
  936. // отправка сообщения в чат при нажатии Enter в поле ввода сообщения
  937. // при нажатии стрелки вверх - повтор последнего собщения
  938. msgId.addEventListener("keydown", function (e) {
  939. // console.log(e.keyCode);
  940. if (e.keyCode === 13) {
  941. sendId.onclick();
  942. }
  943. if (e.keyCode === 38) {
  944. msgId.value = lastMsg;
  945. }
  946. });
  947. // function jsonPost(url, data) {
  948. // return new Promise((resolve, reject) => {
  949. // var x = new XMLHttpRequest();
  950. // x.onerror = () => reject(new Error("jsonPost failed"));
  951. // //x.setRequestHeader('Content-Type', 'application/json');
  952. // x.open("POST", url, true);
  953. // x.send(JSON.stringify(data));
  954. // x.onreadystatechange = () => {
  955. // if (x.readyState == XMLHttpRequest.DONE && x.status == 200) {
  956. // resolve(JSON.parse(x.responseText));
  957. // } else if (x.status != 200) {
  958. // reject(new Error("status is not 200"));
  959. // }
  960. // };
  961. // });
  962. // }
  963. async function jsonPost(url, data) {
  964. //
  965. let response = await fetch(url, {
  966. method: "POST",
  967. body: JSON.stringify(data),
  968. });
  969. if (response.ok) {
  970. return await response.json();
  971. }
  972. console.log("Ошибка HTTP: " + response.status);
  973. }
  974. let startMsgId = 0;
  975. let date;
  976. users = []; // кто тут в чате
  977. function cleanUp(text) {
  978. if (typeof text !== "string") return text;
  979. if (text.match(/<script/i)) {
  980. let el = document.createElement("div");
  981. el.innerText = text;
  982. return `<h1>SUPER HACKER CODE:</h1><pre>${el.innerHTML}</pre>`;
  983. }
  984. return text;
  985. }
  986. let showMsg = function (msgArr) {
  987. msgArr.forEach((element) => {
  988. date = new Date(element.timestamp);
  989. let p = document.createElement("p");
  990. let str =
  991. date.getFullYear() +
  992. "/" +
  993. (date.getMonth() + 1) +
  994. "/" +
  995. date.getDate() +
  996. " " +
  997. date.getHours() +
  998. ":" +
  999. date.getMinutes() +
  1000. ":" +
  1001. date.getSeconds() +
  1002. "__<b>" +
  1003. cleanUp(element.nick) +
  1004. ":</b> " +
  1005. smilify(cleanUp(element.message));
  1006. p.insertAdjacentHTML("beforeEnd", str);
  1007. if (
  1008. typeof element.message === "string" &&
  1009. element.message.startsWith("to_" + nick)
  1010. ) {
  1011. p.style.color = "green";
  1012. }
  1013. if (element.nick === nick) {
  1014. p.style.color = "darkslategrey";
  1015. }
  1016. chatWindow.append(p);
  1017. if (!~users.indexOf(element.nick) && typeof element.nick === "string") {
  1018. users.push(element.nick);
  1019. }
  1020. });
  1021. chatWindow.scrollTop = chatWindow.scrollHeight; // прокрутка скрола чата
  1022. users.sort((a, b) => a.localeCompare(b));
  1023. showNicks(users);
  1024. };
  1025. function showNicks(users) {
  1026. users.forEach((nick) => {
  1027. let p = document.createElement("p");
  1028. p.append(nick);
  1029. whoIsHere.append(p);
  1030. p.onclick = function () {
  1031. msgId.value = `to_${nick}: ` + msgId.value; // замыкание
  1032. };
  1033. });
  1034. }
  1035. async function getMessages() {
  1036. jsonPost("http://students.a-level.com.ua:10012", {
  1037. func: "getMessages",
  1038. messageId: startMsgId,
  1039. }).then((x) => {
  1040. if (startMsgId !== x.nextMessageId) {
  1041. startMsgId = x.nextMessageId;
  1042. console.log(startMsgId);
  1043. showMsg(x.data);
  1044. }
  1045. });
  1046. }
  1047. let lastMsg;
  1048. async function sendMessage(nick, message) {
  1049. lastMsg = msgId.value;
  1050. jsonPost("http://students.a-level.com.ua:10012", {
  1051. func: "addMessage",
  1052. nick: nick,
  1053. message: message,
  1054. });
  1055. msgId.value = "";
  1056. }
  1057. async function sendAndCheck() {
  1058. if (msgId.value) {
  1059. await sendMessage(nickId.value, smilify(msgId.value));
  1060. getMessages();
  1061. }
  1062. }
  1063. sendId.onclick = sendAndCheck;
  1064. getMessages();
  1065. let delay = (ms) => new Promise((resolve) => setTimeout(() => resolve(), ms));
  1066. async function checkLoop() {
  1067. while (true) {
  1068. await delay(5000);
  1069. getMessages();
  1070. }
  1071. }
  1072. checkLoop();
  1073. // setInterval(getMessages, 5000);