@banta/sdk 0.0.20 โ 0.0.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/banta-sdk.umd.js +1 -1
- package/bundles/banta-sdk.umd.min.js +1 -1
- package/bundles/banta-sdk.umd.min.js.map +1 -1
- package/esm2015/lib/chat/chat-message/chat-message.component.js +1 -1
- package/esm5/lib/chat/chat-message/chat-message.component.js +1 -1
- package/fesm2015/banta-sdk.js +1 -1
- package/fesm5/banta-sdk.js +1 -1
- package/package.json +3 -3
package/bundles/banta-sdk.umd.js
CHANGED
|
@@ -7132,7 +7132,7 @@
|
|
|
7132
7132
|
core.Component({
|
|
7133
7133
|
selector: 'engage-chat-message',
|
|
7134
7134
|
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.upvotes > 0\">\r\n {{message.upvotes}} <mat-icon [inline]=\"true\">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
7135
|
-
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}"]
|
|
7135
|
+
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
7136
7136
|
})
|
|
7137
7137
|
], ChatMessageComponent);
|
|
7138
7138
|
return ChatMessageComponent;
|
|
@@ -12,5 +12,5 @@
|
|
|
12
12
|
|
|
13
13
|
See the Apache Version 2.0 License for specific language governing permissions
|
|
14
14
|
and limitations under the License.
|
|
15
|
-
***************************************************************************** */function p(e,a,r,o){var t,n=arguments.length,s=n<3?a:null===o?o=Object.getOwnPropertyDescriptor(a,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,a,r,o);else for(var c=e.length-1;c>=0;c--)(t=e[c])&&(s=(n<3?t(s):n>3?t(a,r,s):t(a,r))||s);return n>3&&s&&Object.defineProperty(a,r,s),s}function m(e,a){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,a)}function b(e,a,r,o){return new(r||(r=Promise))((function(t,n){function s(e){try{i(o.next(e))}catch(e){n(e)}}function c(e){try{i(o.throw(e))}catch(e){n(e)}}function i(e){var a;e.done?t(e.value):(a=e.value,a instanceof r?a:new r((function(e){e(a)}))).then(s,c)}i((o=o.apply(e,a||[])).next())}))}function w(e,a){var r,o,t,n,s={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return n={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function c(n){return function(c){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,o&&(t=2&n[0]?o.return:n[0]?o.throw||((t=o.return)&&t.call(o),0):o.next)&&!(t=t.call(o,n[1])).done)return t;switch(o=0,t&&(n=[2&n[0],t.value]),n[0]){case 0:case 1:t=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,o=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(t=s.trys,(t=t.length>0&&t[t.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!t||n[1]>t[0]&&n[1]<t[3])){s.label=n[1];break}if(6===n[0]&&s.label<t[1]){s.label=t[1],t=n;break}if(t&&s.label<t[2]){s.label=t[2],s.ops.push(n);break}t[2]&&s.ops.pop(),s.trys.pop();continue}n=a.call(e,s)}catch(e){n=[6,e],o=0}finally{r=t=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,c])}}}function f(e){var a="function"==typeof Symbol&&Symbol.iterator,r=a&&e[a],o=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}var k=function(){function e(){this._userChanged=new a.BehaviorSubject(null)}return Object.defineProperty(e.prototype,"userChanged",{get:function(){return this._userChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"user",{get:function(){return this._user},set:function(e){this._user=e,this._userChanged.next(e)},enumerable:!0,configurable:!0}),e=p([o.Injectable()],e)}(),_=function(){function e(){this.relative="",this.tooltip="",this.updateInterval=null,this.showAbsolute=!1}return e.prototype.ngOnDestroy=function(){this.updateInterval&&clearInterval(this.updateInterval)},Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e,this.update()},enumerable:!0,configurable:!0}),e.prototype.update=function(){var e=this,a=Date.now()-this.value,r=864e5;this.showAbsolute=!1;var o=0;if(a>31536e6)return this.showAbsolute=!0,void(this.relative="abs");if(a>2592e6){var t=Math.floor(a/2592e6);this.relative=1===t?t+" month ago":t+" months ago"}else if(a>6048e5){var n=Math.floor(a/6048e5);this.relative=1===n?n+" week ago":n+" weeks ago"}else if(a>r){var s=Math.floor(a/r);this.relative=1===s?s+" day ago":s+" days ago"}else if(a>36e5){var c=Math.floor(a/36e5);this.relative=1===c?c+" hour ago":c+" hours ago",o=18e5}else if(a>6e4){var i=Math.floor(a/6e4);this.relative=1===i?i+" minute ago":i+" minutes ago",o=45e3}else a>3e4?(this.relative="about a minute ago",o=6e4):(this.relative="just now",o=3e4);"undefined"!=typeof window&&(clearInterval(this.updateInterval),o>0&&(this.updateInterval=setInterval((function(){return e.update()}))))},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"value",null),e=p([o.Component({selector:"engage-timestamp",template:'\n <span *ngIf="showAbsolute" [title]="value | date : \'short\'">\n {{value | date : \'shortDate\'}}\n </span>\n <span *ngIf="!showAbsolute" [title]="value | date : \'short\'">\n {{relative}}\n </span>\n ',styles:[""]})],e)}(),v=[_],j=function(){function e(){}var a;return a=e,e.forRoot=function(){return{ngModule:a,providers:[k]}},e=a=p([o.NgModule({declarations:v,imports:[t.CommonModule],exports:v})],e)}(),x={grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"๐",category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"๐ฌ",category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"๐",category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"๐",category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"๐",category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"๐",category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"๐
",category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"๐",category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"๐",category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile"],char:"๐",category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"๐",category:"people"},slightly_smiling:{keywords:["face","smile"],char:"๐",category:"people"},upside_down:{keywords:["face","flipped","silly","smile"],char:"๐",category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"โบ๏ธ",category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom"],char:"๐",category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"๐",category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"๐",category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"๐",category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"๐",category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"๐",category:"people"},money_mouth:{keywords:["face","rich","dollar","money"],char:"๐ค",category:"people"},nerd:{keywords:["face","nerdy","geek","dork"],char:"๐ค",category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"๐",category:"people"},hugging:{keywords:["face","smile","hug"],char:"๐ค",category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"๐",category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"๐ถ",category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"๐",category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"๐",category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm"],char:"๐",category:"people"},rolling_eyes:{keywords:["face","eyeroll","frustrated"],char:"๐",category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"๐ค",category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"๐ณ",category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"๐",category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"๐",category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"๐ ",category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"๐ก",category:"people"},pensive:{keywords:["face","sad","depressed","okay","upset"],char:"๐",category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"๐",category:"people"},slightly_sad:{keywords:["face","frowning","disappointed","sad","upset"],char:"๐",category:"people"},white_frowning:{keywords:["face","sad","upset","frown"],char:"โน",category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"๐ฃ",category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"๐",category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"๐ซ",category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"๐ฉ",category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"๐ค",category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"๐ฎ",category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"๐ฑ",category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"๐จ",category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"๐ฐ",category:"people"},hushed:{keywords:["face","woo","shh"],char:"๐ฏ",category:"people"},frowning:{keywords:["face","aw","what"],char:"๐ฆ",category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"๐ง",category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"๐ข",category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"๐ฅ",category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"๐ช",category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"๐",category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"๐ญ",category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"๐ต",category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"๐ฒ",category:"people"},zipper_mouth:{keywords:["face","sealed","zipper","secret"],char:"๐ค",category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"๐ท",category:"people"},thermometer_face:{keywords:["sick","temperature","thermometer","cold"],char:"๐ค",category:"people"},bandage_face:{keywords:["injured","clumsy","bandage","hurt"],char:"๐ค",category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"๐ด",category:"people"},zzz:{keywords:["sleepy","tired"],char:"๐ค",category:"people"},hankey:{keywords:["poop","shitface","fail","turd","shit"],char:"๐ฉ",category:"people"},smiling_imp:{keywords:["devil","horns"],char:"๐",category:"people"},imp:{keywords:["devil","angry","horns"],char:"๐ฟ",category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"๐น",category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"๐บ",category:"people"},skull:{keywords:["dead","skeleton","creepy"],char:"๐",category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"๐ป",category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"๐ฝ",category:"people"},robot:{keywords:["computer","machine"],char:"๐ค",category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"๐บ",category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"๐ธ",category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"๐น",category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"๐ป",category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"๐ผ",category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"๐ฝ",category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"๐",category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"๐ฟ",category:"people"},pouting_cat:{keywords:["animal","cats"],char:"๐พ",category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"๐",category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"๐",category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","palm"],char:"๐",category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"๐",category:"people"},minus1:{keywords:["thumbsdown","no","dislike","hand"],char:"๐",category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"๐",category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"โ",category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"โ๏ธ",category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok"],char:"๐",category:"people"},hand:{keywords:["fingers","stop","highfive","palm","ban","raised_hand"],char:"โ",category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"๐",category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"๐ช",category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"๐",category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"โ๏ธ",category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"๐",category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"๐",category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"๐",category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"๐",category:"people"},middle_finger:{keywords:["hand","fingers","rude"],char:"๐",category:"people"},splayed_fingers:{keywords:["hand","fingers","palm"],char:"๐",category:"people"},sign_of_horns:{keywords:["hand","fingers","evil_eye","metal","rock_on"],char:"๐ค",category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"๐",category:"people"},writing_hand:{keywords:["pen","stationery","write"],char:"โ",category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"๐
",category:"people"},lips:{keywords:["mouth","kiss"],char:"๐",category:"people"},tongue:{keywords:["mouth","playful"],char:"๐
",category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"๐",category:"people"},nose:{keywords:["smell","sniff"],char:"๐",category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"๐",category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"๐",category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"๐ค",category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"๐ฅ",category:"people"},speaking_head:{keywords:["user","person","human"],char:"๐ฃ",category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"๐ถ",category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"๐ฆ",category:"people"},girl:{keywords:["female","woman","teenager"],char:"๐ง",category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"๐จ",category:"people"},woman:{keywords:["female","girls","lady"],char:"๐ฉ",category:"people"},person_with_blond_hair:{keywords:["man","male","boy","blonde","guy","person"],char:"๐ฑ",category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"๐ด",category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"๐ต",category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"๐ฒ",category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"๐ณ",category:"people"},cop:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"๐ฎ",category:"people"},construction_worker:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"๐ท",category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"๐",category:"people"},sleuth:{keywords:["human","spy","detective"],char:"๐ต",category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"๐
",category:"people"},angel:{keywords:["heaven","wings","halo"],char:"๐ผ",category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"๐ธ",category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"๐ฐ",category:"people"},runner:{keywords:["man","walking","exercise","race","running"],char:"๐",category:"people"},walking:{keywords:["human","feet","steps"],char:"๐ถ",category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"๐",category:"people"},dancers:{keywords:["female","bunny","women","girls"],char:"๐ฏ",category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"๐ซ",category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"๐ฌ",category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"๐ญ",category:"people"},bow:{keywords:["man","male","boy"],char:"๐",category:"people"},information_desk_person:{keywords:["female","girl","woman","human","information"],char:"๐",category:"people"},no_good:{keywords:["female","girl","woman","nope"],char:"๐
",category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"๐",category:"people"},raising_hand:{keywords:["female","girl","woman"],char:"๐",category:"people"},person_with_pouting_face:{keywords:["female","girl","woman"],char:"๐",category:"people"},person_frowning:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"๐",category:"people"},haircut:{keywords:["female","girl","woman"],char:"๐",category:"people"},massage:{keywords:["female","girl","woman","head"],char:"๐",category:"people"},couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐",category:"people"},female_couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐ฉโโค๏ธโ๐ฉ",category:"people"},male_couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐จโโค๏ธโ๐จ",category:"people"},couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐",category:"people"},female_couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐ฉโโค๏ธโ๐โ๐ฉ",category:"people"},male_couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐จโโค๏ธโ๐โ๐จ",category:"people"},family:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"๐ช",category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"๐จโ๐ฉโ๐ง",category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐งโ๐ฆ",category:"people"},family_man_woman_boys:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐ฆโ๐ฆ",category:"people"},family_man_woman_girls:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐งโ๐ง",category:"people"},family_women_boy:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ฆ",category:"people"},family_women_girl:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ง",category:"people"},family_women_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐งโ๐ฆ",category:"people"},family_women_boys:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ฆโ๐ฆ",category:"people"},family_women_girls:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐งโ๐ง",category:"people"},family_men_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ฆ",category:"people"},family_men_girl:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ง",category:"people"},family_men_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐งโ๐ฆ",category:"people"},family_men_boys:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ฆโ๐ฆ",category:"people"},family_men_girls:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐งโ๐ง",category:"people"},womans_clothes:{keywords:["fashion","shopping","female"],char:"๐",category:"people"},shirt:{keywords:["fashion","cloth","casual","tshirt","tee"],char:"๐",category:"people"},jeans:{keywords:["fashion","shopping"],char:"๐",category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"๐",category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"๐",category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"๐",category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"๐",category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"๐",category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"๐",category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"๐ฃ",category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"๐ ",category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"๐ก",category:"people"},boot:{keywords:["shoes","fashion"],char:"๐ข",category:"people"},mans_shoe:{keywords:["fashion","male"],char:"๐",category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"๐",category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"๐",category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"๐ฉ",category:"people"},helmet:{keywords:["construction","build"],char:"โ",category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"๐",category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"๐",category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"๐",category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"๐",category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"๐",category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"๐",category:"people"},briefcase:{keywords:["business","documents","work","law","legal"],char:"๐ผ",category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"๐",category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"๐ถ",category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"๐",category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"๐",category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"๐ถ",category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"๐ฑ",category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese","rodent"],char:"๐ญ",category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"๐น",category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"๐ฐ",category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"๐ป",category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"๐ผ",category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"๐จ",category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"๐ฏ",category:"animals_and_nature"},lion_face:{keywords:["animal","nature"],char:"๐ฆ",category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"๐ฎ",category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"๐ท",category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"๐ฝ",category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"๐ธ",category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"๐",category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"๐ต",category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"๐",category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"๐",category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"๐",category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"๐",category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"๐",category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"๐ง",category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"๐ฆ",category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"๐ค",category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"๐ฃ",category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"๐ฅ",category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"๐บ",category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"๐ด",category:"animals_and_nature"},unicorn_face:{keywords:["animal","nature","mystical"],char:"๐ฆ",category:"animals_and_nature"},bee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"๐",category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"๐",category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"๐",category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"๐",category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"๐",category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"๐ท",category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"๐ฆ",category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"๐ฆ",category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"๐",category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"๐ข",category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"๐ ",category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"๐",category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"๐ก",category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"๐ฌ",category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"๐ณ",category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"๐",category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"๐",category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"๐
",category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"๐",category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"๐",category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"๐",category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"๐ช",category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"๐ซ",category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","thailand","circus"],char:"๐",category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"๐",category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"๐",category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"๐",category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"๐",category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"๐",category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"๐",category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"๐ฆ",category:"animals_and_nature"},dove_of_peace:{keywords:["animal","bird"],char:"๐",category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"๐",category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"๐ฉ",category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"๐",category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"๐",category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"๐ฟ",category:"animals_and_nature"},feet:{keywords:["animal","tracking","footprints","dog","cat","pet","paw_prints"],char:"๐พ",category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"๐",category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"๐ฒ",category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"๐ต",category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"๐",category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"๐ฒ",category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"๐ณ",category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"๐ด",category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"๐ฑ",category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"๐ฟ",category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"โ",category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"๐",category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"๐",category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"๐",category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"๐",category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"๐",category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","canada","fall"],char:"๐",category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"๐พ",category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"๐บ",category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"๐ป",category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"๐น",category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"๐ท",category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"๐ผ",category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"๐ธ",category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"๐",category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"๐",category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"๐ฐ",category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"๐",category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"๐",category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"๐ธ",category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"๐",category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"๐",category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"๐",category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"๐",category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"๐",category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"๐",category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"๐",category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"โญ",category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"๐",category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"๐ซ",category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"โจ",category:"animals_and_nature"},comet:{keywords:["space"],char:"โ",category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"โ๏ธ",category:"animals_and_nature"},white_sun_with_small_cloud:{keywords:["weather"],char:"๐ค",category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"โ
",category:"animals_and_nature"},white_sun_behind_cloud:{keywords:["weather"],char:"๐ฅ",category:"animals_and_nature"},white_sun_behind_cloud_with_rain:{keywords:["weather"],char:"๐ฆ",category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"โ๏ธ",category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"๐ง",category:"animals_and_nature"},thunder_cloud_and_rain:{keywords:["weather","lightning"],char:"โ",category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"๐ฉ",category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"โก",category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"๐ฅ",category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"๐ฅ",category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"โ๏ธ",category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"๐จ",category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"โ",category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"โ",category:"animals_and_nature"},wind_blowing_face:{keywords:["gust","air"],char:"๐ฌ",category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"๐จ",category:"animals_and_nature"},cloud_with_tornado:{keywords:["weather","cyclone","twister"],char:"๐ช",category:"animals_and_nature"},fog:{keywords:["weather"],char:"๐ซ",category:"animals_and_nature"},umbrella_without_rain:{keywords:["weather","spring"],char:"โ",category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"โ",category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"๐ง",category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"๐ฆ",category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"๐",category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"๐",category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"๐",category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"๐",category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"๐",category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"๐",category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"๐",category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"๐",category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"๐",category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"๐",category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"๐
",category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"๐",category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"๐ถ",category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"๐ฝ",category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"๐ ",category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"๐ฏ",category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"๐",category:"food_and_drink"},cheese_wedge:{keywords:["food","chadder"],char:"๐ง",category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"๐",category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"๐",category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"๐ค",category:"food_and_drink"},egg:{keywords:["food","breakfast","kitchen"],char:"๐ณ",category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"๐",category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"๐",category:"food_and_drink"},hot_dog:{keywords:["food","frankfurter","hotdog"],char:"๐ญ",category:"food_and_drink"},pizza:{keywords:["food","party"],char:"๐",category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"๐",category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"๐ฎ",category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"๐ฏ",category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"๐",category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"๐ฒ",category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach"],char:"๐ฅ",category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"๐ฃ",category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"๐ฑ",category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"๐",category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"๐",category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"๐",category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"๐",category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"๐ข",category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"๐ก",category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"๐ง",category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"๐จ",category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"๐ฆ",category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"๐ฐ",category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"๐",category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"๐ฎ",category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"๐ฌ",category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"๐ญ",category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"๐ซ",category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"๐ฟ",category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"๐ฉ",category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"๐ช",category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"๐บ",category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"๐ป",category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"๐ท",category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"๐ธ",category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"๐น",category:"food_and_drink"},bottle:{keywords:["drink","wine","champagne"],char:"๐พ",category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"๐ถ",category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"๐ต",category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"โ",category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"๐ผ",category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"๐ด",category:"food_and_drink"},fork_and_knife_with_plate:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"๐ฝ",category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"โฝ",category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"๐",category:"activity"},football:{keywords:["sports","balls","NFL"],char:"๐",category:"activity"},baseball:{keywords:["sports","balls"],char:"โพ",category:"activity"},tennis:{keywords:["sports","balls","green"],char:"๐พ",category:"activity"},volleyball:{keywords:["sports","balls"],char:"๐",category:"activity"},rugby_football:{keywords:["sports","team"],char:"๐",category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"๐ฑ",category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"โณ",category:"activity"},golfer:{keywords:["sports","business"],char:"๐",category:"activity"},table_tennis:{keywords:["sports","pingpong"],char:"๐",category:"activity"},badminton:{keywords:["sports"],char:"๐ธ",category:"activity"},ice_hockey:{keywords:["sports"],char:"๐",category:"activity"},field_hockey:{keywords:["sports"],char:"๐",category:"activity"},cricket:{keywords:["sports"],char:"๐",category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"๐ฟ",category:"activity"},skier:{keywords:["sports","winter","snow"],char:"โท",category:"activity"},snowboarder:{keywords:["sports","winter"],char:"๐",category:"activity"},ice_skate:{keywords:["sports"],char:"โธ",category:"activity"},bow_and_arrow:{keywords:["sports"],char:"๐น",category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"๐ฃ",category:"activity"},rowboat:{keywords:["sports","hobby","water","ship"],char:"๐ฃ",category:"activity"},swimmer:{keywords:["sports","exercise","human","athlete","water","summer"],char:"๐",category:"activity"},surfer:{keywords:["sports","ocean","sea","summer","beach"],char:"๐",category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"๐",category:"activity"},person_with_ball:{keywords:["sports","human"],char:"โน",category:"activity"},weight_lifter:{keywords:["sports","training","exercise"],char:"๐",category:"activity"},bicyclist:{keywords:["sports","bike","exercise","hipster"],char:"๐ด",category:"activity"},mountain_bicyclist:{keywords:["transportation","sports","human","race","bike"],char:"๐ต",category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"๐",category:"activity"},man_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"๐ด",category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"๐",category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"๐ฝ",category:"activity"},sports_medal:{keywords:["award","winning"],char:"๐
",category:"activity"},military_medal:{keywords:["award","winning","army"],char:"๐",category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"๐",category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"๐ต",category:"activity"},ticket:{keywords:["event","concert","pass"],char:"๐ซ",category:"activity"},admission_ticket:{keywords:["sports","concert","entrance"],char:"๐",category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"๐ญ",category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"๐จ",category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"๐ช",category:"activity"},microphone:{keywords:["sound","music","PA"],char:"๐ค",category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"๐ง",category:"activity"},musical_score:{keywords:["treble","clef"],char:"๐ผ",category:"activity"},musical_keyboard:{keywords:["piano","instrument"],char:"๐น",category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"๐ท",category:"activity"},trumpet:{keywords:["music","brass"],char:"๐บ",category:"activity"},guitar:{keywords:["music","instrument"],char:"๐ธ",category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"๐ป",category:"activity"},clapper:{keywords:["movie","film","record"],char:"๐ฌ",category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"๐ฎ",category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"๐พ",category:"activity"},dart:{keywords:["game","play","bar"],char:"๐ฏ",category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"๐ฒ",category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"๐ฐ",category:"activity"},bowling:{keywords:["sports","fun","play"],char:"๐ณ",category:"activity"},car:{keywords:["red","transportation","vehicle"],char:"๐",category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"๐",category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"๐",category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"๐",category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"๐",category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"๐",category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"๐",category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"๐",category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"๐",category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"๐",category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"๐",category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"๐",category:"travel_and_places"},racing_motorcycle:{keywords:["race","sports","fast"],char:"๐",category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"๐ฒ",category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"๐จ",category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"๐",category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"๐",category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"๐",category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"๐",category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"๐ก",category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"๐ ",category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"๐",category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"๐",category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"๐
",category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"๐",category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"๐",category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"๐",category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"๐",category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"๐ฉ",category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"โ๏ธ",category:"travel_and_places"},airplane_departure:{keywords:["airport","flight","landing"],char:"๐ซ",category:"travel_and_places"},airplane_arrival:{keywords:["airport","flight","boarding"],char:"๐ฌ",category:"travel_and_places"},boat:{keywords:["ship","summer","transportation","water","sailing","sailboat"],char:"โต",category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"๐ฅ",category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"๐ค",category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"โด",category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"๐ณ",category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"๐",category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"๐ฐ",category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"๐บ",category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"โ",category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"๐ง",category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"โฝ",category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"๐",category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"๐ฆ",category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"๐ฅ",category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"๐",category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"๐ข",category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"๐ก",category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"๐ข",category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"๐ ",category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"๐",category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"๐",category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"๐ผ",category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"๐ญ",category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"โฒ",category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"๐",category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"โฐ",category:"travel_and_places"},snow_capped_mountain:{keywords:["photo","nature","environment","winter","cold"],char:"๐",category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"๐ป",category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"๐",category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"๐พ",category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"๐",category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"โบ",category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"๐",category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"๐ฃ",category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"๐ค",category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"๐
",category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"๐",category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"๐",category:"travel_and_places"},beach_with_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"๐",category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"๐",category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"๐",category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"๐",category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"๐",category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"๐",category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"๐",category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"๐",category:"travel_and_places"},stars:{keywords:["night","photo"],char:"๐ ",category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"๐",category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"๐",category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn","photo","sky","spring"],char:"๐",category:"travel_and_places"},buildings:{keywords:["houses","photo"],char:"๐",category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"๐ฐ",category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"๐ฏ",category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"๐",category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"๐ฝ",category:"travel_and_places"},house:{keywords:["building","home"],char:"๐ ",category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"๐ก",category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"๐",category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"๐ข",category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"๐ฌ",category:"travel_and_places"},post_office:{keywords:["building","email","communication"],char:"๐ฃ",category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"๐ค",category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"๐ฅ",category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"๐ฆ",category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"๐จ",category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"๐ช",category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"๐ซ",category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"๐ฉ",category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"๐",category:"travel_and_places"},museum:{keywords:["art","culture","history"],char:"๐",category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"โช",category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"๐",category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"๐",category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"๐",category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"โฉ",category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"โ",category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"๐ฑ",category:"objects"},calling:{keywords:["iphone","incoming"],char:"๐ฒ",category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"๐ป",category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"โจ",category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"๐ฅ",category:"objects"},printer:{keywords:["paper","ink"],char:"๐จ",category:"objects"},three_button_mouse:{keywords:["click"],char:"๐ฑ",category:"objects"},trackball:{keywords:["technology","trackpad"],char:"๐ฒ",category:"objects"},joystick:{keywords:["game","play"],char:"๐น",category:"objects"},compression:{keywords:["tool"],char:"๐",category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"๐ฝ",category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"๐พ",category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"๐ฟ",category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"๐",category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"๐ผ",category:"objects"},camera:{keywords:["gadgets","photography"],char:"๐ท",category:"objects"},camera_with_flash:{keywords:["photography","gadgets"],char:"๐ธ",category:"objects"},video_camera:{keywords:["film","record"],char:"๐น",category:"objects"},movie_camera:{keywords:["film","record"],char:"๐ฅ",category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"๐ฝ",category:"objects"},film_frames:{keywords:["movie"],char:"๐",category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"๐",category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"โ๏ธ",category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"๐",category:"objects"},fax:{keywords:["communication","technology"],char:"๐ ",category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"๐บ",category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"๐ป",category:"objects"},studio_microphone:{keywords:["singer","recording","artist"],char:"๐",category:"objects"},level_slider:{keywords:["scale"],char:"๐",category:"objects"},control_knobs:{keywords:["dial"],char:"๐",category:"objects"},stopwatch:{keywords:["time","deadline"],char:"โฑ",category:"objects"},timer_clock:{keywords:["alarm"],char:"โฒ",category:"objects"},alarm_clock:{keywords:["time","wake"],char:"โฐ",category:"objects"},mantelpiece_clock:{keywords:["time"],char:"๐ฐ",category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"โณ",category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"โ",category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"๐ก",category:"objects"},battery:{keywords:["power","energy","sustain"],char:"๐",category:"objects"},electric_plug:{keywords:["charger","power"],char:"๐",category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"๐ก",category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"๐ฆ",category:"objects"},candle:{keywords:["fire","wax"],char:"๐ฏ",category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"๐",category:"objects"},oil_drum:{keywords:["barrell"],char:"๐ข",category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"๐ธ",category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"๐ต",category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"๐ด",category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"๐ถ",category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"๐ท",category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"๐ฐ",category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"๐ณ",category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"๐",category:"objects"},scales:{keywords:["law","fairness","weight"],char:"โ",category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"๐ง",category:"objects"},hammer:{keywords:["tools","build","create"],char:"๐จ",category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"โ",category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"๐ ",category:"objects"},pick:{keywords:["tools","dig"],char:"โ",category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"๐ฉ",category:"objects"},gear:{keywords:["cog"],char:"โ",category:"objects"},chains:{keywords:["lock","arrest"],char:"โ",category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"๐ซ",category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"๐ฃ",category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"๐ช",category:"objects"},dagger_knife:{keywords:["weapon"],char:"๐ก",category:"objects"},crossed_swords:{keywords:["weapon"],char:"โ",category:"objects"},shield:{keywords:["protection","security"],char:"๐ก",category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"๐ฌ",category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary"],char:"โ ",category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery"],char:"โฐ",category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"โฑ",category:"objects"},amphora:{keywords:["vase","jar"],char:"๐บ",category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"๐ฎ",category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"๐ฟ",category:"objects"},barber:{keywords:["hair","salon","style"],char:"๐",category:"objects"},alembic:{keywords:["distilling","science","experiment"],char:"โ",category:"objects"},telescope:{keywords:["stars","space","zoom"],char:"๐ญ",category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"๐ฌ",category:"objects"},hole:{keywords:["embarrassing"],char:"๐ณ",category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"๐",category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"๐",category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"๐ก",category:"objects"},label:{keywords:["sale","tag"],char:"๐ท",category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"๐",category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"๐ฝ",category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"๐ฟ",category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"๐",category:"objects"},key:{keywords:["lock","door","password"],char:"๐",category:"objects"},old_key:{keywords:["lock","door","password"],char:"๐",category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"๐",category:"objects"},sleeping_accommodation:{keywords:["bed","rest"],char:"๐",category:"objects"},bed:{keywords:["sleep","rest"],char:"๐",category:"objects"},door:{keywords:["house","entry","exit"],char:"๐ช",category:"objects"},bellhop_bell:{keywords:["service"],char:"๐",category:"objects"},frame_with_picture:{keywords:["photography"],char:"๐ผ",category:"objects"},world_map:{keywords:["location","direction"],char:"๐บ",category:"objects"},umbrella_on_ground:{keywords:["weather","summer"],char:"โฑ",category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"๐ฟ",category:"objects"},shopping_bags:{keywords:["mall","buy","purchase"],char:"๐",category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"๐",category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"๐",category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"๐",category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"๐",category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"๐",category:"objects"},tada:{keywords:["party","contulations","birthday","magic","circus"],char:"๐",category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"๐",category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"๐",category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"๐",category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"๐ฎ",category:"objects"},envelope:{keywords:["letter","postal","inbox","communication"],char:"โ๏ธ",category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"๐ฉ",category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"๐จ",category:"objects"},email:{keywords:["communication","inbox"],char:"๐ง",category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"๐",category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"๐ฎ",category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"๐ช",category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"๐ซ",category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"๐ฌ",category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"๐ญ",category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"๐ฆ",category:"objects"},postal_horn:{keywords:["instrument","music"],char:"๐ฏ",category:"objects"},inbox_tray:{keywords:["email","documents"],char:"๐ฅ",category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"๐ค",category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"๐",category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"๐",category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"๐",category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"๐",category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"๐",category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"๐",category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"๐",category:"objects"},date:{keywords:["calendar","schedule"],char:"๐
",category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"๐",category:"objects"},spiral_calendar_pad:{keywords:["date","schedule","planning"],char:"๐",category:"objects"},card_index:{keywords:["business","stationery"],char:"๐",category:"objects"},card_file_box:{keywords:["business","stationery"],char:"๐",category:"objects"},ballot_box_with_ballot:{keywords:["election","vote"],char:"๐ณ",category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"๐",category:"objects"},clipboard:{keywords:["stationery","documents"],char:"๐",category:"objects"},spiral_note_pad:{keywords:["memo","stationery"],char:"๐",category:"objects"},file_folder:{keywords:["documents","business","office"],char:"๐",category:"objects"},open_file_folder:{keywords:["documents","load"],char:"๐",category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"๐",category:"objects"},rolled_up_newspaper:{keywords:["press","headline"],char:"๐",category:"objects"},newspaper:{keywords:["press","headline"],char:"๐ฐ",category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"๐",category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"๐",category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"๐",category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"๐",category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"๐",category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"๐",category:"objects"},ledger:{keywords:["notes","paper"],char:"๐",category:"objects"},books:{keywords:["literature","library","study"],char:"๐",category:"objects"},book:{keywords:["open_book","read","library","knowledge","literature","learn","study"],char:"๐",category:"objects"},link:{keywords:["rings","url"],char:"๐",category:"objects"},paperclip:{keywords:["documents","stationery"],char:"๐",category:"objects"},linked_paperclips:{keywords:["documents","stationery"],char:"๐",category:"objects"},scissors:{keywords:["stationery","cut"],char:"โ๏ธ",category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"๐",category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"๐",category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"๐",category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"๐",category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"๐ฉ",category:"objects"},waving_white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"๐ณ",category:"objects"},waving_black_flag:{keywords:["pirate"],char:"๐ด",category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"๐",category:"objects"},lock:{keywords:["security","password","padlock"],char:"๐",category:"objects"},unlock:{keywords:["privacy","security"],char:"๐",category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"๐",category:"objects"},lower_left_ballpoint_pen:{keywords:["stationery","writing","write"],char:"๐",category:"objects"},lower_left_fountain_pen:{keywords:["stationery","writing","write"],char:"๐",category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"โ๏ธ",category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study"],char:"๐",category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"โ๏ธ",category:"objects"},lower_left_crayon:{keywords:["drawing","creativity"],char:"๐",category:"objects"},lower_left_paintbrush:{keywords:["drawing","creativity","art"],char:"๐",category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"๐",category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"๐",category:"objects"},heart:{keywords:["love","like","valentines"],char:"โค๏ธ",category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"๐",category:"symbols"},heavy_heart_exclamation_mark_ornament:{keywords:["decoration","love"],char:"โฃ",category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"๐",category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"๐",category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"๐",category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"๐",category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"๐",category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"๐",category:"symbols"},peace_symbol:{keywords:["hippie"],char:"โฎ",category:"symbols"},latin_cross:{keywords:["christianity"],char:"โ",category:"symbols"},star_and_crescent:{keywords:["islam"],char:"โช",category:"symbols"},om_symbol:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"๐",category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"โธ",category:"symbols"},star_of_david:{keywords:["judaism"],char:"โก",category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"๐ฏ",category:"symbols"},menorah_with_nine_branches:{keywords:["hanukkah","candles","jewish"],char:"๐",category:"symbols"},yin_yang:{keywords:["balance"],char:"โฏ",category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"โฆ",category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"๐",category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"โ",category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"โ",category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"โ",category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"โ",category:"symbols"},id:{keywords:["purple-square","words"],char:"๐",category:"symbols"},atom_symbol:{keywords:["science"],char:"โ",category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"๐ณ",category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"๐น",category:"symbols"},radioactive_sign:{keywords:["nuclear","danger"],char:"โข",category:"symbols"},biohazard_sign:{keywords:["danger"],char:"โฃ",category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"๐ด",category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"๐ณ",category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"๐ถ",category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"๐",category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"๐ธ",category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"๐บ",category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"๐ท๏ธ",category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"โด๏ธ",category:"symbols"},vs:{keywords:["words","orange-square"],char:"๐",category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"๐",category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"๐ฎ",category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"๐",category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"ใ๏ธ",category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"ใ๏ธ",category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"๐ด",category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"๐ต",category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"๐ฒ",category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"๐
ฐ๏ธ",category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"๐
ฑ๏ธ",category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"๐",category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"๐",category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"๐
พ๏ธ",category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"๐",category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"โ",category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"๐",category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"๐ซ",category:"symbols"},x:{keywords:["no","delete","remove","cancel"],char:"โ",category:"symbols"},o:{keywords:["circle","round"],char:"โญ",category:"symbols"},anger:{keywords:["angry","mad"],char:"๐ข",category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"โจ๏ธ",category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"๐ท",category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"๐ฏ",category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"๐ณ",category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"๐ฑ",category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"๐",category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"๐ต",category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"โ",category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"โ",category:"symbols"},question:{keywords:["doubt","confused"],char:"โ",category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"โ",category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"โผ๏ธ",category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"โ๏ธ",category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"๐ฏ",category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"๐
",category:"symbols"},high_brightness:{keywords:["sun","light"],char:"๐",category:"symbols"},trident:{keywords:["weapon","spear"],char:"๐ฑ",category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"โ",category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"ใฝ๏ธ",category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"โ ๏ธ",category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"๐ธ",category:"symbols"},beginner:{keywords:["badge","shield"],char:"๐ฐ",category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"โป๏ธ",category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"๐ฏ",category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"๐น",category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"โ๏ธ",category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"โณ๏ธ",category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"โ",category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer"],char:"โ
",category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"๐ ",category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin"],char:"๐",category:"symbols"},loop:{keywords:["tape","cassette"],char:"โฟ",category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"๐",category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"โ๏ธ",category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"๐ง",category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"๐๏ธ",category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"๐",category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"๐",category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"๐",category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"๐
",category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"โฟ",category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"๐ญ",category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"๐พ",category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"๐
ฟ๏ธ",category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"๐ฐ",category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"๐น",category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"๐บ",category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"๐ผ",category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"๐ป",category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"๐ฎ",category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"๐ฆ",category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"๐ถ",category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"๐",category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"๐",category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"๐",category:"symbols"},up:{keywords:["blue-square","above","high"],char:"๐",category:"symbols"},cool:{keywords:["words","blue-square"],char:"๐",category:"symbols"},new:{keywords:["blue-square","words","start"],char:"๐",category:"symbols"},free:{keywords:["blue-square","words"],char:"๐",category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0๏ธโฃ",category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1๏ธโฃ",category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2๏ธโฃ",category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3๏ธโฃ",category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4๏ธโฃ",category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5๏ธโฃ",category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6๏ธโฃ",category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7๏ธโฃ",category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8๏ธโฃ",category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9๏ธโฃ",category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"๐",category:"symbols"},keycap_star:{keywords:["asterisk"],char:"*โฃ",category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"๐ข",category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"โถ๏ธ",category:"symbols"},double_vertical_bar:{keywords:["pause","blue-square"],char:"โธ",category:"symbols"},black_right_pointing_triangle_with_double_vertical_bar:{keywords:["forward","next","blue-square"],char:"โญ",category:"symbols"},black_square_for_stop:{keywords:["blue-square"],char:"โน",category:"symbols"},black_circle_for_record:{keywords:["blue-square"],char:"โบ",category:"symbols"},black_right_pointing_double_triangle_with_vertical_bar:{keywords:["blue-square","play","pause"],char:"โฏ",category:"symbols"},black_left_pointing_double_triangle_with_vertical_bar:{keywords:["backward"],char:"โฎ",category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"โฉ",category:"symbols"},rewind:{keywords:["play","blue-square"],char:"โช",category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"๐",category:"symbols"},repeat:{keywords:["loop","record"],char:"๐",category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"๐",category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"โ๏ธ",category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"๐ผ",category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"๐ฝ",category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"โซ",category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"โฌ",category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"โก๏ธ",category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"โฌ
๏ธ",category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"โฌ๏ธ",category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"โฌ๏ธ",category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"โ๏ธ",category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"โ๏ธ",category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"โ๏ธ",category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"โ๏ธ",category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"โ๏ธ",category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"โ๏ธ",category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"๐",category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"โช๏ธ",category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"โฉ๏ธ",category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"โคด๏ธ",category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"โคต๏ธ",category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#๏ธโฃ",category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"โน๏ธ",category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"๐ค",category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"๐ก",category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"๐ ",category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"๐ฃ",category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"๐ต",category:"symbols"},notes:{keywords:["music","score"],char:"๐ถ",category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"ใฐ๏ธ",category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"โฐ",category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"โ๏ธ",category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"๐",category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"โ",category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"โ",category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"โ",category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"โ๏ธ",category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"๐ฒ",category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"๐ฑ",category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"ยฉ๏ธ",category:"symbols"},registered:{keywords:["alphabet","circle"],char:"ยฎ๏ธ",category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"โข๏ธ",category:"symbols"},end:{keywords:["words","arrow"],char:"๐",category:"symbols"},back:{keywords:["arrow","words","return"],char:"๐",category:"symbols"},on:{keywords:["arrow","words"],char:"๐",category:"symbols"},top:{keywords:["words","blue-square"],char:"๐",category:"symbols"},soon:{keywords:["arrow","words"],char:"๐",category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes"],char:"โ๏ธ",category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"๐",category:"symbols"},white_circle:{keywords:["shape","round"],char:"โช",category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"โซ",category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"๐ด",category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"๐ต",category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"๐ธ",category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"๐น",category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"๐ถ",category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"๐ท",category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"๐บ",category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"โช๏ธ",category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"โซ๏ธ",category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"โฌ",category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"โฌ",category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"๐ป",category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"โผ๏ธ",category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"โป๏ธ",category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"โพ",category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"โฝ",category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"๐ฒ",category:"symbols"},white_square_button:{keywords:["shape","input"],char:"๐ณ",category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"๐",category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"๐",category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"๐",category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"๐",category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"๐ฃ",category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"๐ข",category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"๐",category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"๐",category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"๐",category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"๐",category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"โ ๏ธ",category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"โฃ๏ธ",category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"โฅ๏ธ",category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"โฆ๏ธ",category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"๐ด",category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking"],char:"๐ญ",category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"๐ฏ",category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"๐ฌ",category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"๐จ",category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"๐",category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"๐",category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"๐ ",category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"๐ก",category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"๐ข",category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"๐ฃ",category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"๐ค",category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"๐ฅ",category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"๐ฆ",category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"๐ง",category:"symbols"},af:{keywords:["afghanistan","flag","nation","country","banner"],char:"๐ฆ๐ซ",category:"flags"},ax:{keywords:["ร
land","islands","flag","nation","country","banner"],char:"๐ฆ๐ฝ",category:"flags"},al:{keywords:["albania","flag","nation","country","banner"],char:"๐ฆ๐ฑ",category:"flags"},dz:{keywords:["algeria","flag","nation","country","banner"],char:"๐ฉ๐ฟ",category:"flags"},as:{keywords:["american","samoa","flag","nation","country","banner"],char:"๐ฆ๐ธ",category:"flags"},ad:{keywords:["andorra","flag","nation","country","banner"],char:"๐ฆ๐ฉ",category:"flags"},ao:{keywords:["angola","flag","nation","country","banner"],char:"๐ฆ๐ด",category:"flags"},ai:{keywords:["anguilla","flag","nation","country","banner"],char:"๐ฆ๐ฎ",category:"flags"},aq:{keywords:["antarctica","flag","nation","country","banner"],char:"๐ฆ๐ถ",category:"flags"},ag:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"๐ฆ๐ฌ",category:"flags"},ar:{keywords:["argentina","flag","nation","country","banner"],char:"๐ฆ๐ท",category:"flags"},am:{keywords:["armenia","flag","nation","country","banner"],char:"๐ฆ๐ฒ",category:"flags"},aw:{keywords:["aruba","flag","nation","country","banner"],char:"๐ฆ๐ผ",category:"flags"},au:{keywords:["australia","flag","nation","country","banner"],char:"๐ฆ๐บ",category:"flags"},at:{keywords:["austria","flag","nation","country","banner"],char:"๐ฆ๐น",category:"flags"},az:{keywords:["azerbaijan","flag","nation","country","banner"],char:"๐ฆ๐ฟ",category:"flags"},bs:{keywords:["bahamas","flag","nation","country","banner"],char:"๐ง๐ธ",category:"flags"},bh:{keywords:["bahrain","flag","nation","country","banner"],char:"๐ง๐ญ",category:"flags"},bd:{keywords:["bangladesh","flag","nation","country","banner"],char:"๐ง๐ฉ",category:"flags"},bb:{keywords:["barbados","flag","nation","country","banner"],char:"๐ง๐ง",category:"flags"},by:{keywords:["belarus","flag","nation","country","banner"],char:"๐ง๐พ",category:"flags"},be:{keywords:["belgium","flag","nation","country","banner"],char:"๐ง๐ช",category:"flags"},bz:{keywords:["belize","flag","nation","country","banner"],char:"๐ง๐ฟ",category:"flags"},bj:{keywords:["benin","flag","nation","country","banner"],char:"๐ง๐ฏ",category:"flags"},bm:{keywords:["bermuda","flag","nation","country","banner"],char:"๐ง๐ฒ",category:"flags"},bt:{keywords:["bhutan","flag","nation","country","banner"],char:"๐ง๐น",category:"flags"},bo:{keywords:["bolivia","flag","nation","country","banner"],char:"๐ง๐ด",category:"flags"},bq:{keywords:["bonaire","flag","nation","country","banner"],char:"๐ง๐ถ",category:"flags"},ba:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"๐ง๐ฆ",category:"flags"},bw:{keywords:["botswana","flag","nation","country","banner"],char:"๐ง๐ผ",category:"flags"},br:{keywords:["brazil","flag","nation","country","banner"],char:"๐ง๐ท",category:"flags"},io:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"๐ฎ๐ด",category:"flags"},vg:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"๐ป๐ฌ",category:"flags"},bn:{keywords:["brunei","darussalam","flag","nation","country","banner"],char:"๐ง๐ณ",category:"flags"},bg:{keywords:["bulgaria","flag","nation","country","banner"],char:"๐ง๐ฌ",category:"flags"},bf:{keywords:["burkina","faso","flag","nation","country","banner"],char:"๐ง๐ซ",category:"flags"},bi:{keywords:["burundi","flag","nation","country","banner"],char:"๐ง๐ฎ",category:"flags"},cv:{keywords:["cabo","verde","flag","nation","country","banner"],char:"๐จ๐ป",category:"flags"},kh:{keywords:["cambodia","flag","nation","country","banner"],char:"๐ฐ๐ญ",category:"flags"},cm:{keywords:["cameroon","flag","nation","country","banner"],char:"๐จ๐ฒ",category:"flags"},ca:{keywords:["canada","flag","nation","country","banner"],char:"๐จ๐ฆ",category:"flags"},ic:{keywords:["canary","islands","flag","nation","country","banner"],char:"๐ฎ๐จ",category:"flags"},ky:{keywords:["cayman","islands","flag","nation","country","banner"],char:"๐ฐ๐พ",category:"flags"},cf:{keywords:["central","african","republic","flag","nation","country","banner"],char:"๐จ๐ซ",category:"flags"},td:{keywords:["chad","flag","nation","country","banner"],char:"๐น๐ฉ",category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"๐จ๐ฑ",category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"๐จ๐ณ",category:"flags"},cx:{keywords:["christmas","island","flag","nation","country","banner"],char:"๐จ๐ฝ",category:"flags"},cc:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"๐จ๐จ",category:"flags"},co:{keywords:["colombia","flag","nation","country","banner"],char:"๐จ๐ด",category:"flags"},km:{keywords:["comoros","flag","nation","country","banner"],char:"๐ฐ๐ฒ",category:"flags"},cg:{keywords:["congo","flag","nation","country","banner"],char:"๐จ๐ฌ",category:"flags"},drc:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"๐จ๐ฉ",category:"flags"},ck:{keywords:["cook","islands","flag","nation","country","banner"],char:"๐จ๐ฐ",category:"flags"},cr:{keywords:["costa","rica","flag","nation","country","banner"],char:"๐จ๐ท",category:"flags"},hr:{keywords:["croatia","flag","nation","country","banner"],char:"๐ญ๐ท",category:"flags"},cu:{keywords:["cuba","flag","nation","country","banner"],char:"๐จ๐บ",category:"flags"},cw:{keywords:["curaรงao","flag","nation","country","banner"],char:"๐จ๐ผ",category:"flags"},cy:{keywords:["cyprus","flag","nation","country","banner"],char:"๐จ๐พ",category:"flags"},cz:{keywords:["czech_republic","flag","nation","country","banner"],char:"๐จ๐ฟ",category:"flags"},dk:{keywords:["denmark","flag","nation","country","banner"],char:"๐ฉ๐ฐ",category:"flags"},dj:{keywords:["djibouti","flag","nation","country","banner"],char:"๐ฉ๐ฏ",category:"flags"},dm:{keywords:["dominica","flag","nation","country","banner"],char:"๐ฉ๐ฒ",category:"flags"},do:{keywords:["dominican","republic","flag","nation","country","banner"],char:"๐ฉ๐ด",category:"flags"},ec:{keywords:["ecuador","flag","nation","country","banner"],char:"๐ช๐จ",category:"flags"},eg:{keywords:["egypt","flag","nation","country","banner"],char:"๐ช๐ฌ",category:"flags"},sv:{keywords:["el","salvador","flag","nation","country","banner"],char:"๐ธ๐ป",category:"flags"},gq:{keywords:["equatorial","guinea","flag","nation","country","banner"],char:"๐ฌ๐ถ",category:"flags"},er:{keywords:["eritrea","flag","nation","country","banner"],char:"๐ช๐ท",category:"flags"},ee:{keywords:["estonia","flag","nation","country","banner"],char:"๐ช๐ช",category:"flags"},et:{keywords:["ethiopia","flag","nation","country","banner"],char:"๐ช๐น",category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"๐ช๐บ",category:"flags"},fk:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"๐ซ๐ฐ",category:"flags"},fo:{keywords:["faroe","islands","flag","nation","country","banner"],char:"๐ซ๐ด",category:"flags"},fj:{keywords:["fiji","flag","nation","country","banner"],char:"๐ซ๐ฏ",category:"flags"},fi:{keywords:["finland","flag","nation","country","banner"],char:"๐ซ๐ฎ",category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"๐ซ๐ท",category:"flags"},gf:{keywords:["french","guiana","flag","nation","country","banner"],char:"๐ฌ๐ซ",category:"flags"},pf:{keywords:["french","polynesia","flag","nation","country","banner"],char:"๐ต๐ซ",category:"flags"},tf:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"๐น๐ซ",category:"flags"},ga:{keywords:["gabon","flag","nation","country","banner"],char:"๐ฌ๐ฆ",category:"flags"},gm:{keywords:["gambia","flag","nation","country","banner"],char:"๐ฌ๐ฒ",category:"flags"},ge:{keywords:["georgia","flag","nation","country","banner"],char:"๐ฌ๐ช",category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"๐ฉ๐ช",category:"flags"},gh:{keywords:["ghana","flag","nation","country","banner"],char:"๐ฌ๐ญ",category:"flags"},gi:{keywords:["gibraltar","flag","nation","country","banner"],char:"๐ฌ๐ฎ",category:"flags"},gr:{keywords:["greece","flag","nation","country","banner"],char:"๐ฌ๐ท",category:"flags"},gl:{keywords:["greenland","flag","nation","country","banner"],char:"๐ฌ๐ฑ",category:"flags"},gd:{keywords:["grenada","flag","nation","country","banner"],char:"๐ฌ๐ฉ",category:"flags"},gp:{keywords:["guadeloupe","flag","nation","country","banner"],char:"๐ฌ๐ต",category:"flags"},gu:{keywords:["guam","flag","nation","country","banner"],char:"๐ฌ๐บ",category:"flags"},gt:{keywords:["guatemala","flag","nation","country","banner"],char:"๐ฌ๐น",category:"flags"},gg:{keywords:["guernsey","flag","nation","country","banner"],char:"๐ฌ๐ฌ",category:"flags"},gn:{keywords:["guinea","flag","nation","country","banner"],char:"๐ฌ๐ณ",category:"flags"},gw:{keywords:["guinea","bissau","flag","nation","country","banner"],char:"๐ฌ๐ผ",category:"flags"},gy:{keywords:["guyana","flag","nation","country","banner"],char:"๐ฌ๐พ",category:"flags"},ht:{keywords:["haiti","flag","nation","country","banner"],char:"๐ญ๐น",category:"flags"},hn:{keywords:["honduras","flag","nation","country","banner"],char:"๐ญ๐ณ",category:"flags"},hk:{keywords:["hong","kong","flag","nation","country","banner"],char:"๐ญ๐ฐ",category:"flags"},hu:{keywords:["hungary","flag","nation","country","banner"],char:"๐ญ๐บ",category:"flags"},is:{keywords:["iceland","flag","nation","country","banner"],char:"๐ฎ๐ธ",category:"flags"},in:{keywords:["india","flag","nation","country","banner"],char:"๐ฎ๐ณ",category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"๐ฎ๐ฉ",category:"flags"},ir:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"๐ฎ๐ท",category:"flags"},iq:{keywords:["iraq","flag","nation","country","banner"],char:"๐ฎ๐ถ",category:"flags"},ie:{keywords:["ireland","flag","nation","country","banner"],char:"๐ฎ๐ช",category:"flags"},im:{keywords:["isle","man","flag","nation","country","banner"],char:"๐ฎ๐ฒ",category:"flags"},il:{keywords:["israel","flag","nation","country","banner"],char:"๐ฎ๐ฑ",category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"๐ฎ๐น",category:"flags"},ci:{keywords:["ivory","coast","flag","nation","country","banner"],char:"๐จ๐ฎ",category:"flags"},jm:{keywords:["jamaica","flag","nation","country","banner"],char:"๐ฏ๐ฒ",category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"๐ฏ๐ต",category:"flags"},je:{keywords:["jersey","flag","nation","country","banner"],char:"๐ฏ๐ช",category:"flags"},jo:{keywords:["jordan","flag","nation","country","banner"],char:"๐ฏ๐ด",category:"flags"},kz:{keywords:["kazakhstan","flag","nation","country","banner"],char:"๐ฐ๐ฟ",category:"flags"},ke:{keywords:["kenya","flag","nation","country","banner"],char:"๐ฐ๐ช",category:"flags"},ki:{keywords:["kiribati","flag","nation","country","banner"],char:"๐ฐ๐ฎ",category:"flags"},xk:{keywords:["kosovo","flag","nation","country","banner"],char:"๐ฝ๐ฐ",category:"flags"},kw:{keywords:["kuwait","flag","nation","country","banner"],char:"๐ฐ๐ผ",category:"flags"},kg:{keywords:["kyrgyzstan","flag","nation","country","banner"],char:"๐ฐ๐ฌ",category:"flags"},la:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"๐ฑ๐ฆ",category:"flags"},lv:{keywords:["latvia","flag","nation","country","banner"],char:"๐ฑ๐ป",category:"flags"},lb:{keywords:["lebanon","flag","nation","country","banner"],char:"๐ฑ๐ง",category:"flags"},ls:{keywords:["lesotho","flag","nation","country","banner"],char:"๐ฑ๐ธ",category:"flags"},lr:{keywords:["liberia","flag","nation","country","banner"],char:"๐ฑ๐ท",category:"flags"},ly:{keywords:["libya","flag","nation","country","banner"],char:"๐ฑ๐พ",category:"flags"},li:{keywords:["liechtenstein","flag","nation","country","banner"],char:"๐ฑ๐ฎ",category:"flags"},lt:{keywords:["lithuania","flag","nation","country","banner"],char:"๐ฑ๐น",category:"flags"},lu:{keywords:["luxembourg","flag","nation","country","banner"],char:"๐ฑ๐บ",category:"flags"},mo:{keywords:["macao","flag","nation","country","banner"],char:"๐ฒ๐ด",category:"flags"},mk:{keywords:["macedonia,","flag","nation","country","banner"],char:"๐ฒ๐ฐ",category:"flags"},mg:{keywords:["madagascar","flag","nation","country","banner"],char:"๐ฒ๐ฌ",category:"flags"},mw:{keywords:["malawi","flag","nation","country","banner"],char:"๐ฒ๐ผ",category:"flags"},my:{keywords:["malaysia","flag","nation","country","banner"],char:"๐ฒ๐พ",category:"flags"},mv:{keywords:["maldives","flag","nation","country","banner"],char:"๐ฒ๐ป",category:"flags"},ml:{keywords:["mali","flag","nation","country","banner"],char:"๐ฒ๐ฑ",category:"flags"},mt:{keywords:["malta","flag","nation","country","banner"],char:"๐ฒ๐น",category:"flags"},mh:{keywords:["marshall","islands","flag","nation","country","banner"],char:"๐ฒ๐ญ",category:"flags"},mq:{keywords:["martinique","flag","nation","country","banner"],char:"๐ฒ๐ถ",category:"flags"},mr:{keywords:["mauritania","flag","nation","country","banner"],char:"๐ฒ๐ท",category:"flags"},mu:{keywords:["mauritius","flag","nation","country","banner"],char:"๐ฒ๐บ",category:"flags"},yt:{keywords:["mayotte","flag","nation","country","banner"],char:"๐พ๐น",category:"flags"},mx:{keywords:["mexico","flag","nation","country","banner"],char:"๐ฒ๐ฝ",category:"flags"},fm:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"๐ซ๐ฒ",category:"flags"},md:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"๐ฒ๐ฉ",category:"flags"},mc:{keywords:["monaco","flag","nation","country","banner"],char:"๐ฒ๐จ",category:"flags"},mn:{keywords:["mongolia","flag","nation","country","banner"],char:"๐ฒ๐ณ",category:"flags"},me:{keywords:["montenegro","flag","nation","country","banner"],char:"๐ฒ๐ช",category:"flags"},ms:{keywords:["montserrat","flag","nation","country","banner"],char:"๐ฒ๐ธ",category:"flags"},ma:{keywords:["morocco","flag","nation","country","banner"],char:"๐ฒ๐ฆ",category:"flags"},mz:{keywords:["mozambique","flag","nation","country","banner"],char:"๐ฒ๐ฟ",category:"flags"},mm:{keywords:["myanmar","flag","nation","country","banner"],char:"๐ฒ๐ฒ",category:"flags"},na:{keywords:["namibia","flag","nation","country","banner"],char:"๐ณ๐ฆ",category:"flags"},nr:{keywords:["nauru","flag","nation","country","banner"],char:"๐ณ๐ท",category:"flags"},np:{keywords:["nepal","flag","nation","country","banner"],char:"๐ณ๐ต",category:"flags"},nl:{keywords:["netherlands","flag","nation","country","banner"],char:"๐ณ๐ฑ",category:"flags"},nc:{keywords:["new","caledonia","flag","nation","country","banner"],char:"๐ณ๐จ",category:"flags"},nz:{keywords:["new","zealand","flag","nation","country","banner"],char:"๐ณ๐ฟ",category:"flags"},ni:{keywords:["nicaragua","flag","nation","country","banner"],char:"๐ณ๐ฎ",category:"flags"},ne:{keywords:["niger","flag","nation","country","banner"],char:"๐ณ๐ช",category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"๐ณ๐ฌ",category:"flags"},nu:{keywords:["niue","flag","nation","country","banner"],char:"๐ณ๐บ",category:"flags"},nf:{keywords:["norfolk","island","flag","nation","country","banner"],char:"๐ณ๐ซ",category:"flags"},mp:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"๐ฒ๐ต",category:"flags"},kp:{keywords:["north","korea","nation","flag","country","banner"],char:"๐ฐ๐ต",category:"flags"},no:{keywords:["norway","flag","nation","country","banner"],char:"๐ณ๐ด",category:"flags"},om:{keywords:["oman","flag","nation","country","banner"],char:"๐ด๐ฒ",category:"flags"},pk:{keywords:["pakistan","flag","nation","country","banner"],char:"๐ต๐ฐ",category:"flags"},pw:{keywords:["palau","flag","nation","country","banner"],char:"๐ต๐ผ",category:"flags"},ps:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"๐ต๐ธ",category:"flags"},pa:{keywords:["panama","flag","nation","country","banner"],char:"๐ต๐ฆ",category:"flags"},pg:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"๐ต๐ฌ",category:"flags"},py:{keywords:["paraguay","flag","nation","country","banner"],char:"๐ต๐พ",category:"flags"},pe:{keywords:["peru","flag","nation","country","banner"],char:"๐ต๐ช",category:"flags"},ph:{keywords:["philippines","flag","nation","country","banner"],char:"๐ต๐ญ",category:"flags"},pn:{keywords:["pitcairn","flag","nation","country","banner"],char:"๐ต๐ณ",category:"flags"},pl:{keywords:["poland","flag","nation","country","banner"],char:"๐ต๐ฑ",category:"flags"},pt:{keywords:["portugal","flag","nation","country","banner"],char:"๐ต๐น",category:"flags"},pr:{keywords:["puerto","rico","flag","nation","country","banner"],char:"๐ต๐ท",category:"flags"},qa:{keywords:["qatar","flag","nation","country","banner"],char:"๐ถ๐ฆ",category:"flags"},re:{keywords:["rรฉunion","flag","nation","country","banner"],char:"๐ท๐ช",category:"flags"},ro:{keywords:["romania","flag","nation","country","banner"],char:"๐ท๐ด",category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"๐ท๐บ",category:"flags"},rw:{keywords:["rwanda","flag","nation","country","banner"],char:"๐ท๐ผ",category:"flags"},bl:{keywords:["saint","barthรฉlemy","flag","nation","country","banner"],char:"๐ง๐ฑ",category:"flags"},sh:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"๐ธ๐ญ",category:"flags"},kn:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"๐ฐ๐ณ",category:"flags"},lc:{keywords:["saint","lucia","flag","nation","country","banner"],char:"๐ฑ๐จ",category:"flags"},pm:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"๐ต๐ฒ",category:"flags"},vc:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"๐ป๐จ",category:"flags"},ws:{keywords:["samoa","flag","nation","country","banner"],char:"๐ผ๐ธ",category:"flags"},sm:{keywords:["san","marino","flag","nation","country","banner"],char:"๐ธ๐ฒ",category:"flags"},st:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"๐ธ๐น",category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"๐ธ๐ฆ",category:"flags"},sn:{keywords:["senegal","flag","nation","country","banner"],char:"๐ธ๐ณ",category:"flags"},rs:{keywords:["serbia","flag","nation","country","banner"],char:"๐ท๐ธ",category:"flags"},sc:{keywords:["seychelles","flag","nation","country","banner"],char:"๐ธ๐จ",category:"flags"},sl:{keywords:["sierra","leone","flag","nation","country","banner"],char:"๐ธ๐ฑ",category:"flags"},sg:{keywords:["singapore","flag","nation","country","banner"],char:"๐ธ๐ฌ",category:"flags"},sx:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"๐ธ๐ฝ",category:"flags"},sk:{keywords:["slovakia","flag","nation","country","banner"],char:"๐ธ๐ฐ",category:"flags"},si:{keywords:["slovenia","flag","nation","country","banner"],char:"๐ธ๐ฎ",category:"flags"},sb:{keywords:["solomon","islands","flag","nation","country","banner"],char:"๐ธ๐ง",category:"flags"},so:{keywords:["somalia","flag","nation","country","banner"],char:"๐ธ๐ด",category:"flags"},za:{keywords:["south","africa","flag","nation","country","banner"],char:"๐ฟ๐ฆ",category:"flags"},gs:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"๐ฌ๐ธ",category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"๐ฐ๐ท",category:"flags"},ss:{keywords:["south","sudan","flag","nation","country","banner"],char:"๐ธ๐ธ",category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"๐ช๐ธ",category:"flags"},lk:{keywords:["sri","lanka","flag","nation","country","banner"],char:"๐ฑ๐ฐ",category:"flags"},sd:{keywords:["sudan","flag","nation","country","banner"],char:"๐ธ๐ฉ",category:"flags"},sr:{keywords:["suriname","flag","nation","country","banner"],char:"๐ธ๐ท",category:"flags"},sz:{keywords:["swaziland","flag","nation","country","banner"],char:"๐ธ๐ฟ",category:"flags"},se:{keywords:["sweden","flag","nation","country","banner"],char:"๐ธ๐ช",category:"flags"},ch:{keywords:["switzerland","flag","nation","country","banner"],char:"๐จ๐ญ",category:"flags"},sy:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"๐ธ๐พ",category:"flags"},tw:{keywords:["taiwan","flag","nation","country","banner"],char:"๐น๐ผ",category:"flags"},tj:{keywords:["tajikistan","flag","nation","country","banner"],char:"๐น๐ฏ",category:"flags"},tz:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"๐น๐ฟ",category:"flags"},th:{keywords:["thailand","flag","nation","country","banner"],char:"๐น๐ญ",category:"flags"},tl:{keywords:["timor","leste","flag","nation","country","banner"],char:"๐น๐ฑ",category:"flags"},tg:{keywords:["togo","flag","nation","country","banner"],char:"๐น๐ฌ",category:"flags"},tk:{keywords:["tokelau","flag","nation","country","banner"],char:"๐น๐ฐ",category:"flags"},to:{keywords:["tonga","flag","nation","country","banner"],char:"๐น๐ด",category:"flags"},tt:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"๐น๐น",category:"flags"},tn:{keywords:["tunisia","flag","nation","country","banner"],char:"๐น๐ณ",category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"๐น๐ท",category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"๐น๐ฒ",category:"flags"},tc:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"๐น๐จ",category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"๐น๐ป",category:"flags"},ug:{keywords:["uganda","flag","nation","country","banner"],char:"๐บ๐ฌ",category:"flags"},ua:{keywords:["ukraine","flag","nation","country","banner"],char:"๐บ๐ฆ",category:"flags"},ae:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"๐ฆ๐ช",category:"flags"},gb:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"๐ฌ๐ง",category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"๐บ๐ธ",category:"flags"},vi:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"๐ป๐ฎ",category:"flags"},uy:{keywords:["uruguay","flag","nation","country","banner"],char:"๐บ๐พ",category:"flags"},uz:{keywords:["uzbekistan","flag","nation","country","banner"],char:"๐บ๐ฟ",category:"flags"},vu:{keywords:["vanuatu","flag","nation","country","banner"],char:"๐ป๐บ",category:"flags"},va:{keywords:["vatican","city","flag","nation","country","banner"],char:"๐ป๐ฆ",category:"flags"},ve:{keywords:["venezuela","bolivarian","republic","flag","nation","country","banner"],char:"๐ป๐ช",category:"flags"},vn:{keywords:["viet","nam","flag","nation","country","banner"],char:"๐ป๐ณ",category:"flags"},wf:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"๐ผ๐ซ",category:"flags"},eh:{keywords:["western","sahara","flag","nation","country","banner"],char:"๐ช๐ญ",category:"flags"},ye:{keywords:["yemen","flag","nation","country","banner"],char:"๐พ๐ช",category:"flags"},zm:{keywords:["zambia","flag","nation","country","banner"],char:"๐ฟ๐ฒ",category:"flags"},zw:{keywords:["zimbabwe","flag","nation","country","banner"],char:"๐ฟ๐ผ",category:"flags"},octocat:{keywords:["animal","octopus","github","custom_"],char:null,category:"_custom"},shipit:{keywords:["squirrel","detective","animal","sherlock","inspector","custom_"],char:null,category:"_custom"},bowtie:{keywords:["face","formal","fashion","suit","classy","magic","circus"],char:null,category:"_custom"},neckbeard:{keywords:["nerdy","face","custom_"],char:null,category:"_custom"},metal:{keywords:["fingers","rocknroll","concert","band","custom_"],char:null,category:"_custom"},fu:{keywords:["fuck","finger","dislike","thumbsdown","disapprove","no","custom_"],char:null,category:"_custom"},trollface:{keywords:["internet","meme","custom_"],char:null,category:"_custom"},godmode:{keywords:["doom","oldschool"],char:null,category:"_custom"},goberserk:{keywords:["doom","rage","bloody","hurt"],char:null,category:"_custom"},finnadie:{keywords:["doom","oldschool"],char:null,category:"_custom"},feelsgood:{keywords:["doom","oldschool"],char:null,category:"_custom"},rage1:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage2:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage3:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage4:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},suspect:{keywords:["mad","custom_"],char:null,category:"_custom"},hurtrealbad:{keywords:["mad","injured","doom","oldschool","custom_"],char:null,category:"_custom"}},S=function(){function e(e){this.sanitizer=e,this.activeCategory="people",this.selected=new a.Subject}return e.prototype.select=function(e){this.selected.next(e)},e.prototype.pairs=function(e){return Object.keys(e).map((function(a){return[a,e[a]]}))},e.prototype.ngOnInit=function(){var e,a,r={},o={symbols:"warning",people:"people",animals_and_nature:"nature",travel_and_places:"location_on",activity:"local_activity",food_and_drink:"restaurant",objects:"computer",flags:"flag"};try{for(var t=f(this.pairs(x)),n=t.next();!n.done;n=t.next()){var s=n.value,c=(s[0],s[1]);r[c.category]||(r[c.category]={name:c.category,icon:o[c.category]||"code",emojis:[]}),c.html=this.sanitizer.bypassSecurityTrustHtml(twemoji.parse(c.char||"")),r[c.category].emojis.push(c)}}catch(a){e={error:a}}finally{try{n&&!n.done&&(a=t.return)&&a.call(t)}finally{if(e)throw e.error}}this.categories=this.pairs(r).map((function(e){return e[1]}))},e.ctorParameters=function(){return[{type:n.DomSanitizer}]},p([o.Output(),m("design:type",a.Subject)],e.prototype,"selected",void 0),e=p([o.Component({selector:"emoji-selector-panel",template:'<div class="categories">\r\n\t<a title="{{category.name}}" mat-icon-button *ngFor="let category of categories" (click)="activeCategory = category.name">\r\n\t\t<mat-icon>{{category.icon}}</mat-icon>\r\n\t</a>\r\n</div>\r\n\r\n<div *ngFor="let category of categories">\r\n\t<div class="emoji-list" *ngIf="activeCategory && activeCategory == category.name">\r\n\t\t<a href="javascript:;" (click)="select(emoji.char)" *ngFor="let emoji of category.emojis" [innerHtml]="emoji.html || \'\'">\r\n\t\t</a>\r\n\t</div>\r\n</div>',styles:[":host{background:#111;border:1px solid #333;border-radius:5px;padding:.5em;display:flex;flex-direction:column;width:calc(8*(32px + 1em))}.emoji-list{flex-grow:1;overflow-y:auto;height:20em}.emoji-list a{display:inline-block;padding:2px;margin:4px;background-color:#111}.emoji-list a ::ng-deep .emoji{width:32px;height:32px}.emoji-list a:hover{background-color:#333}"]}),m("design:paramtypes",[n.DomSanitizer])],e)}(),M=function(){function e(){this._selected=new a.Subject,this.showEmojiPanel=!1}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.removeListener()},e.prototype.removeListener=function(){document.removeEventListener("click",this.clickListener)},e.prototype.show=function(){var e=this;this.showEmojiPanel?this.showEmojiPanel=!1:(this.showEmojiPanel=!0,setTimeout((function(){e.clickListener=function(a){for(var r=a.target,o=!1;r;)r.matches("emoji-selector-panel")&&(o=!0),r=r.parentElement;o||(e.showEmojiPanel=!1,e.removeListener())},document.addEventListener("click",e.clickListener)})))},e.prototype.insert=function(e){this._selected.next(e)},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),e=p([o.Component({selector:"emoji-selector-button",template:'\n <button mat-icon-button (click)="show()">\n <mat-icon>emoji_emotions</mat-icon>\n </button>\n <emoji-selector-panel \n (selected)="insert($event)"\n [class.visible]="showEmojiPanel"\n ></emoji-selector-panel>\n ',styles:["\n :host {\n display: block;\n position: relative;\n }\n\n emoji-selector-panel {\n position: absolute;\n bottom: 2.5em;\n right: 0;\n opacity: 0;\n pointer-events: none;\n z-index: 10;\n }\n\n emoji-selector-panel.visible {\n pointer-events: initial;\n opacity: 1;\n }\n\n button {\n color: #666\n }\n\n :host.bottom-left emoji-selector-panel {\n right: auto;\n left: 0;\n }\n\n :host.top-right emoji-selector-panel {\n top: 2.4em;\n bottom: auto;\n }\n\n :host.top-left emoji-selector-panel {\n top: 2.4em;\n bottom: auto;\n left: 0;\n right: auto;\n }\n "]})],e)}(),O=[S,M],q=function(){function e(){}return e=p([o.NgModule({declarations:O,imports:[t.CommonModule,s.MatIconModule,c.MatButtonModule],exports:O})],e)}(),I=function(){function e(){this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject}return Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.report=function(){this._reported.next()},e.prototype.select=function(){this._selected.next()},e.prototype.selectUser=function(){this._userSelected.next()},p([o.Input(),m("design:type",Object)],e.prototype,"message",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),e=p([o.Component({selector:"engage-chat-message",template:'<div class="message-content">\r\n <div class="user" (click)="selectUser()">\r\n <div class="avatar" [style.background-image]="avatarForUser(message.user)"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class="content">\r\n <div (click)="select()">\r\n {{message.message}}\r\n </div>\r\n <div class="status">\r\n <div class="count-indicator" *ngIf="message.upvotes > 0">\r\n {{message.upvotes}} <mat-icon [inline]="true">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class="actions">\r\n <button mat-icon-button matTooltip="Upvote" matTooltipPosition="below" (click)="upvote()">\r\n <mat-icon [inline]="true">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip="Report" matTooltipPosition="below" (click)="report()">\r\n <mat-icon [inline]="true">report</mat-icon>\r\n </button>\r\n</div>',styles:[':host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:":";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}']})],e)}(),z=function(){function e(){}return e=p([o.Injectable()],e)}(),P=function(){function e(e){this.backend=e,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){var a=this,r=null;this._message&&(r=this._message.id),this._message=e,e&&r===e.id||(this.unsubscribe&&this.unsubscribe(),e&&(this.unsubscribe=this.backend.watchMessage(e,(function(e){return a.message=e}))))},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.ctorParameters=function(){return[{type:z}]},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-chat-message",template:'\n <engage-chat-message \n *ngIf="message"\n [message]="message"\n (upvoted)="upvote()"\n (reported)="report()"\n (selected)="select()"\n ></engage-chat-message>\n ',styles:[""]}),m("design:paramtypes",[z])],e)}(),U=function(){function e(e){this.elementRef=e,this._sourceSubs=new i.SubSink,this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this.messages=[],this.maxMessages=200}return Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){var a=this;this._sourceSubs&&(this._sourceSubs.unsubscribe(),this._sourceSubs=null),this._source=e,this.messages=[],e&&(this._sourceSubs=new i.SubSink,this.messages=e.messages.slice(),console.log("Source set:"),console.dir(e),console.log("Messages loaded:"),console.dir(this.messages),this._sourceSubs.add(this._source.messageReceived.subscribe((function(e){return a.messageReceived(e)})),this._source.messageSent.subscribe((function(e){return a.messageSent(e)}))),this._source.currentUserChanged&&this._sourceSubs.add(this._source.currentUserChanged.subscribe((function(e){return a.currentUser=e}))))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),e.prototype.addMessage=function(e){if(this.messages.length>this.maxMessages+1)for(;this.messages.length>this.maxMessages;)this.messages.shift();this.messages.push(e)},e.prototype.messageReceived=function(e){var a=this;this.addMessage(e),this.isScrolledToLatest()&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.isScrolledToLatest=function(){if(!this.messageContainer)return!1;var e=this.messageContainer.nativeElement;return e.scrollTop>e.scrollHeight-e.offsetHeight-10},e.prototype.messageSent=function(e){var a=this;this.addMessage(e),this.messageContainer&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.scrollToLatest=function(){if(this.messageContainer){var e=this.messageContainer.nativeElement;e.scrollTop=e.scrollHeight}},e.prototype.jumpTo=function(e){var a=this.elementRef.nativeElement.querySelector('engage-chat-message[data-id="'+e.id+'"]');a?(a.scrollIntoView({behavior:"smooth"}),this.flashMessage(e)):alert("could not find message "+e.id)},e.prototype.flashMessage=function(e){e&&(this.flashedMessageId=e.id)},e.prototype.mentionsMe=function(e){return!!this.currentUser&&!!e.message.includes("@"+this.currentUser.username)},e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},e.ctorParameters=function(){return[{type:o.ElementRef}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.ViewChild("messageContainer"),m("design:type",o.ElementRef)],e.prototype,"messageContainer",void 0),p([o.Input(),m("design:type",Number)],e.prototype,"maxMessages",void 0),e=p([o.Component({selector:"engage-chat-view",template:'<div class="message-container" #messageContainer>\r\n <ng-content select="[data-before]"></ng-content>\r\n <engage-chat-message \r\n *ngFor="let message of messages"\r\n [message]="message"\r\n [class.highlight]="mentionsMe(message)" \r\n [class.flash]="message.id === flashedMessageId"\r\n (selected)="selectMessage(message)"\r\n (upvoted)="upvoteMessage(message)"\r\n (reported)="reportMessage(message)"\r\n (userSelected)="selectMessageUser(message)"\r\n [attr.data-id]="message.id"\r\n >\r\n </engage-chat-message>\r\n <ng-content select=":not([data-before])"></ng-content>\r\n</div>',styles:[":host{display:flex;flex-direction:column;flex-grow:1}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}engage-chat-message.flash{-webkit-animation:2.5s flash;animation:2.5s flash}@-webkit-keyframes flash{0%{transform:scale(1);background:#425700}25%,75%{transform:scale(1.05)}100%,50%{transform:scale(1)}}@keyframes flash{0%{transform:scale(1);background:#425700}25%,75%{transform:scale(1.05)}100%,50%{transform:scale(1)}}"]}),m("design:paramtypes",[o.ElementRef])],e)}(),C=function(){function e(e,r,o){this.banta=e,this.backend=r,this.elementRef=o,this._subs=new i.SubSink,this.user=null,this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this._signInSelected=new a.Subject,this.showEmojiPanel=!1,this.newMessage={}}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.user=a})))},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){this._source=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},e.prototype.insertEmoji=function(e){var a=this.newMessage.message||"";this.newMessage.message=a+e},e.prototype.onKeyDown=function(e){},e.prototype.jumpToMessage=function(e){this.chatView&&this.chatView.jumpTo(e)},e.prototype.select=function(e){this._selected.next(e)},e.prototype.selectUser=function(e){this._userSelected.next(e)},e.prototype.report=function(e){this._reported.next(e)},e.prototype.upvote=function(e){this._upvoted.next(e)},Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),e.prototype.sendMessage=function(){if(this.source){var e=(this.newMessage.message||"").trim();if(this.newMessage.message="",""!==e){var a={user:null,sentAt:Date.now(),upvotes:0,message:e};this.source.send(a)}}},e.ctorParameters=function(){return[{type:k},{type:z},{type:o.ElementRef}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.ViewChild("chatView",{static:!0}),m("design:type",U)],e.prototype,"chatView",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),e=p([o.Component({selector:"engage-firehose",template:'<engage-chat-view \r\n #chatView\r\n [source]="source"\r\n (upvoted)="upvote($event)"\r\n (reported)="report($event)"\r\n (selected)="select($event)"\r\n (userSelected)="selectUser($event)"\r\n ></engage-chat-view>\r\n\r\n<form class="new-message" (submit)="sendMessage()">\r\n \r\n <div class="entry-container">\r\n <input\r\n type="text"\r\n name="message" \r\n (keydown)="onKeyDown($event)"\r\n [(ngModel)]="newMessage.message" />\r\n \r\n <emoji-selector-button\r\n (selected)="insertEmoji($event)"\r\n ></emoji-selector-button>\r\n </div>\r\n\r\n <div class="actions">\r\n\r\n <button type="button" *ngIf="!user" (click)="showSignIn()" mat-raised-button color="primary">Sign In</button>\r\n\r\n <button *ngIf="user" [disabled]="!newMessage.message" mat-raised-button color="primary">Send</button>\r\n </div>\r\n</form>',styles:[":host{display:flex;flex-direction:column;border-radius:5px;padding:10px;flex-grow:1;font-size:10pt}.entry-container{display:flex;flex-direction:row;flex-grow:1;position:relative}.entry-container emoji-selector-button{position:absolute;right:0;top:.15em}.entry-container input{height:2.6em;font-size:12pt;padding-left:1em}.entry-container input:-webkit-autofill,.entry-container input:-webkit-autofill:focus,.entry-container input:-webkit-autofill:hover{outline:#9da302 solid 1px;-webkit-text-fill-color:#9da302;-webkit-box-shadow:0 0 0 1000px #211e07 inset;-webkit-transition:background-color 5000s ease-in-out;transition:background-color 5000s ease-in-out;caret-color:#9da302}.entry-container emoji-selector-panel{pointer-events:none;opacity:0;position:absolute;bottom:3.5em;right:0}.entry-container emoji-selector-panel.visible{opacity:1;pointer-events:initial}form{display:flex;padding:.5em 0;align-items:center}form textarea{font-size:14pt;background:#000;color:#fff;border:1px solid #333;min-height:6em;width:100%}form input[type=text]{background:#fff;color:#000;border:1px solid #ccc;width:100%;height:2.5em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}:host-context(.mat-dark-theme) form input[type=text]{background:#000;color:#fff;border:1px solid #333}"]}),m("design:paramtypes",[k,z,o.ElementRef])],e)}(),T=[I,P,U,C],L=function(){function e(){}return e=p([o.NgModule({declarations:T,imports:[t.CommonModule,y.FormsModule,s.MatIconModule,c.MatButtonModule,q],exports:T})],e)}(),R="https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png",D=[{id:"a",avatarUrl:R,displayName:"Tom",username:"tom"},{id:"b",avatarUrl:R,displayName:"Dick",username:"dick"},{id:"c",avatarUrl:R,displayName:"Harry",username:"harry"},{id:"d",avatarUrl:R,displayName:"John",username:"john"},{id:"e",avatarUrl:R,displayName:"Wayne",username:"wayne"},{id:"f",avatarUrl:R,displayName:"Heather",username:"heather"},{id:"g",avatarUrl:R,displayName:"Mary",username:"mary"},{id:"h",avatarUrl:R,displayName:"Jennifer",username:"jennifer"},{id:"i",avatarUrl:R,displayName:"Kyle",username:"kyle"},{id:"j",avatarUrl:R,displayName:"Wanda",username:"wanda"},{id:"k",avatarUrl:R,displayName:"Josh",username:"josh"},{id:"l",avatarUrl:R,displayName:"Jane",username:"jane"},{id:"m",avatarUrl:R,displayName:"Joy",username:"joy"},{id:"n",avatarUrl:R,displayName:"Jesus",username:"jesus"},{id:"o",avatarUrl:R,displayName:"I bathe in Bernie's tears of joy",username:"landem"},{id:"p",avatarUrl:R,displayName:"The thing about socialism is that its the best",username:"mangahead"},{id:"q",avatarUrl:R,displayName:"If only I knew the first thing about this stuff",username:"redstripe"},{id:"r",avatarUrl:R,displayName:"Time is not something that should be treated unfairly",username:"fantom"},{id:"s",avatarUrl:R,displayName:"What is the meaning of this capitalism?",username:"ganjaking"},{id:"t",avatarUrl:R,displayName:"The world is not ready for us",username:"leggo"},{id:"u",avatarUrl:R,displayName:"Make or break, now is our time",username:"mako"}],E=function(){function e(){var e=this;this.currentUser={id:"z",username:"liam",displayName:"Liam",avatarUrl:R},this._messages=[],this._currentUserChanged=new a.BehaviorSubject(null),this._messageReceived=new a.Subject,this._messageSent=new a.Subject;var r=["Whoa!","Cool!","Nifty!","Sweet!","@liam, awesome!","Crazy!","Wunderbar!","Lasagna!","Tacos!","@liam, Life is a box of chocolates, you never know which one... oh fuck it","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!","The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such."];setInterval((function(){var a=r[Math.floor(r.length*Math.random())],o={user:D[Math.floor(D.length*Math.random())],sentAt:Date.now(),upvotes:0,message:a,submessages:[]};e.addMessage(o),e.messageReceived.next(o)}),1e3),this._currentUserChanged.next(this.currentUser)}return e.prototype.close=function(){},e.prototype.addMessage=function(e){this._messages.push(e)},e.prototype.send=function(e){this.addMessage(e),this._messageSent.next(e)},Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),e}(),N=function(){function e(){var e=this;this.currentUser={id:"z",username:"liam",displayName:"Liam",avatarUrl:R},this._messages=[],this._currentUserChanged=new a.BehaviorSubject(null),this._messageReceived=new a.Subject,this._messageSent=new a.Subject;var r=['I think that Trump has a specific form of braindead called\n "Trumpitis".',"Other things that could be said will be said","If only things were as simple as they appear","Life is a box of chocolates, you never know which one... oh fuck it","More things that are done tomorrow may not be done today","Google is a useful tool to find things","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!"];setInterval((function(){var a=r[Math.floor(r.length*Math.random())],o=D[Math.floor(D.length*Math.random())],t={user:o,sentAt:Date.now(),upvotes:0,message:a,submessages:[{user:e.currentUser,message:"Good point!",sentAt:Date.now(),upvotes:0},{user:{id:"aa",avatarUrl:R,displayName:"FunnilyGuy",username:"funnyguy"},sentAt:Date.now(),message:"What would this mean for Buttigieg?",upvotes:0},{user:o,sentAt:Date.now(),message:"Klobucharino",upvotes:0},{user:e.currentUser,sentAt:Date.now(),message:"Good question!",upvotes:0},{user:o,sentAt:Date.now(),message:"But whyigieg",upvotes:0}]};e.addMessage(t),e.messageReceived.next(t)}),5e3),this._currentUserChanged.next(this.currentUser)}return e.prototype.addMessage=function(e){this._messages.push(e)},Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),e.prototype.send=function(e){this.addMessage(e),this._messageSent.next(e)},e}(),A=function(){function e(e,r){this.parentSource=e,this.message=r,this._messages=[],this._messageReceived=new a.Subject,this._messageSent=new a.Subject,this._currentUserChanged=e.currentUserChanged,this._messages=r.submessages}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),e.prototype.send=function(e){},e}(),F=function(){function e(e,r,o){this.banta=e,this.backend=r,this.matDialog=o,this._subs=new i.SubSink,this.auxOpen=!1,this.auxTitle="Notifications",this.auxMode="notifications",this.mobileFocus=null,this.newNotifications=!1,this._signInSelected=new a.Subject,this.pointOpen=null,this.pointSubChat=null,this.newPointSubMessage={},this.genericAvatarUrl="https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png"}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.currentUser=a})),this.backend.notificationsChanged.subscribe((function(a){return e.notifications=a})),this.backend.newNotification.subscribe((function(a){e.newNotifications=!0})))},e.prototype.newPointSubMessageKeyDown=function(e){},e.prototype.sendPointSubMessage=function(){return b(this,void 0,void 0,(function(){var e,a,r;return w(this,(function(o){switch(o.label){case 0:if(e=(this.newPointSubMessage.message||"").trim(),this.newPointSubMessage.message="",""===e)return[2];a={user:null,sentAt:Date.now(),upvotes:0,message:e},o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.pointSubChat.send(a)];case 2:return o.sent(),[3,4];case 3:return r=o.sent(),console.error("Failed to send point sub-message:"),console.error(r),[3,4];case 4:return[2]}}))}))},e.prototype.goToMessage=function(e){return b(this,void 0,void 0,(function(){var a,r,o,t,n;return w(this,(function(s){switch(s.label){case 0:return a=e,e.parentMessageId?[4,this.backend.getMessage(e.topicId,e.parentMessageId)]:[3,2];case 1:if(!(r=s.sent()))return console.error("Failed to look up parent message "+e.topicId+"/"+e.parentMessageId),console.error("Original message was:"),console.dir(a),[2];e=r,s.label=2;case 2:return"comment"!==(o=this.getViewType(e))?[3,5]:(this.pointSubChat&&(this.pointSubChat.close&&this.pointSubChat.close(),this.pointSubChat=null),this.mobileFocus="points",this.pointOpen=e,t=this,[4,this.backend.getSourceForThread(e.topicId,e.id)]);case 3:return t.pointSubChat=s.sent(),n=this,[4,this.backend.refreshMessage(e)];case 4:return n.pointOpen=s.sent(),this.newPointSubMessage={},[3,6];case 5:"chat"===o&&(this.mobileFocus="firehose",this.firehose.jumpToMessage(e)),s.label=6;case 6:return[2]}}))}))},e.prototype.pointUnfocus=function(){this.pointOpen=null,this.pointSubChat&&(this.pointSubChat.close&&this.pointSubChat.close(),this.pointSubChat=null)},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},e.prototype.showAux=function(e,a){this.auxOpen=!0,this.auxTitle=e,this.auxMode=a,this.mobileFocus="aux"},e.prototype.showNotifications=function(){this.showAux("Notifications","notifications")},Object.defineProperty(e.prototype,"topicID",{get:function(){return this._topicID},set:function(e){this._topicID=e,this.close(),this.connectToTopic(this._topicID)},enumerable:!0,configurable:!0}),e.prototype.connectToTopic=function(e){return b(this,void 0,void 0,(function(){var a,r;return w(this,(function(o){switch(o.label){case 0:return a=this,[4,this.backend.getSourceForTopic(e+"_firehose")];case 1:return a.firehoseSource=o.sent(),r=this,[4,this.backend.getSourceForTopic(e+"_thepoint")];case 2:return r.pointSource=o.sent(),[2]}}))}))},Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},e.prototype.close=function(){this.firehoseSource&&(this.firehoseSource.close&&this.firehoseSource.close(),this.firehoseSource=null),this.pointSource&&(this.pointSource.close&&this.pointSource.close(),this.pointSource=null)},Object.defineProperty(e.prototype,"hasPoint",{get:function(){return null!=this.pointOpen},enumerable:!0,configurable:!0}),e.prototype.closeAux=function(){this.auxOpen=!1,this.mobileFocus="firehose"},e.prototype.getViewType=function(e){return e.topicId.endsWith("_firehose")?"chat":(e.topicId.endsWith("_thepoint"),"comment")},e.prototype.upvoteMessage=function(e){return b(this,void 0,void 0,(function(){return w(this,(function(a){switch(a.label){case 0:return e.parentMessageId?[4,this.backend.upvoteMessage(e.topicId,e.parentMessageId,e.id)]:[3,2];case 1:return a.sent(),[3,4];case 2:return[4,this.backend.upvoteMessage(e.topicId,e.id)];case 3:a.sent(),a.label=4;case 4:return[2]}}))}))},e.prototype.showProfile=function(e){this.profileUser=e,this.showAux("@"+e.username+"'s Profile","profile")},e.prototype.sendReport=function(e){this.auxOpen=!1,alert("would send report")},e.prototype.reportMessage=function(e){this.reportedMessage=e,this.showAux("Report message from @"+e.user.username,"report")},e.ctorParameters=function(){return[{type:k},{type:z},{type:l.MatDialog}]},p([o.ViewChild("firehose",{static:!0}),m("design:type",C)],e.prototype,"firehose",void 0),p([o.Input(),m("design:type",String),m("design:paramtypes",[Object])],e.prototype,"topicID",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.HostBinding("class.point-focus"),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"hasPoint",null),e=p([o.Component({selector:"engage-chat",template:'\r\n<mat-menu #userMenu="matMenu">\r\n <ng-container *ngIf="currentUser">\r\n <button [disabled]="true" mat-menu-item>{{currentUser.displayName}} (@{{currentUser.username}})</button>\r\n <button mat-menu-item (click)="signOut()">Sign Out</button>\r\n </ng-container>\r\n <ng-container *ngIf="!currentUser">\r\n <button mat-menu-item>Sign In</button>\r\n </ng-container>\r\n <button mat-menu-item>Help</button>\r\n</mat-menu>\r\n\r\n<div class="tabs">\r\n <div>\r\n <a mat-button (click)="mobileFocus = \'firehose\'">Firehose</a>\r\n <a mat-button (click)="mobileFocus = \'points\'">The Point</a>\r\n </div>\r\n <div class="spacer"></div>\r\n <div>\r\n <ng-container *ngIf="currentUser">\r\n <button mat-button [matMenuTriggerFor]="userMenu">\r\n @{{currentUser.username}}\r\n </button>\r\n <button mat-icon-button (click)="showNotifications()">\r\n <mat-icon>notification_important</mat-icon>\r\n </button>\r\n </ng-container>\r\n \r\n <button mat-button *ngIf="!currentUser" (click)="showSignIn()">\r\n Sign In\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="firehose" [class.focus]="mobileFocus === \'firehose\'">\r\n <header>\r\n <div>\r\n <label (click)="mobileFocus = \'firehose\'">Firehose</label>\r\n <div class="spacer"></div>\r\n\r\n <ng-container *ngIf="currentUser">\r\n <button mat-button [matMenuTriggerFor]="userMenu">\r\n @{{currentUser.username}}\r\n </button>\r\n <button mat-icon-button (click)="showNotifications()">\r\n <mat-icon>notification_important</mat-icon>\r\n </button>\r\n </ng-container>\r\n \r\n <button mat-button *ngIf="!currentUser" (click)="showSignIn()">\r\n Sign In\r\n </button>\r\n </div>\r\n </header>\r\n <engage-firehose \r\n #firehose\r\n [source]="firehoseSource"\r\n (signInSelected)="showSignIn()"\r\n (upvoted)="upvoteMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n (reported)="reportMessage($event)"\r\n ></engage-firehose>\r\n</div>\r\n\r\n<div class="aux" [class.focus]="mobileFocus === \'aux\'" [class.open]="auxOpen">\r\n <header>\r\n <div>\r\n <label>{{auxTitle}}</label>\r\n <div class="spacer"></div>\r\n <button mat-icon-button (click)="auxOpen = false">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </header>\r\n <div class="aux-contents">\r\n <ng-container *ngIf="auxMode === \'profile\'">\r\n <ng-container *ngIf="profileUser">\r\n\r\n <div>\r\n <strong style="font-size: 125%;">\r\n {{profileUser.displayName}}\r\n </strong>\r\n @{{profileUser.username}}\r\n </div>\r\n\r\n <br/>\r\n <strong>Top Messages</strong>\r\n\r\n <div>\r\n <em>Not yet available</em>\r\n </div>\r\n\r\n <br/>\r\n <strong>Recent Messages</strong>\r\n\r\n <div>\r\n <em>Not yet available</em>\r\n </div>\r\n\r\n <pre>{{profileUser | json}}</pre>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="auxMode === \'report\'">\r\n <p>Are you sure you want to report this message?</p>\r\n\r\n <engage-live-message [message]="reportedMessage"></engage-live-message>\r\n\r\n <div style="text-align: center;">\r\n <button mat-raised-button color="primary" (click)="sendReport(reportedMessage)">Yes, Report</button>\r\n \r\n <button mat-raised-button color="secondary" (click)="auxOpen = false">No, Cancel</button>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <ng-container *ngIf="auxMode === \'notifications\'">\r\n\r\n <div *ngIf="!notifications || notifications.length === 0">\r\n <em>You do not have any notifications yet</em>\r\n </div>\r\n \r\n <div class="notifications">\r\n <div class="notification" *ngFor="let notif of notifications">\r\n <div>\r\n <ng-container *ngIf="notif.type === \'upvote\'">\r\n @{{notif.message?.user?.username}} upvoted your post\r\n \r\n <engage-live-message\r\n [message]="notif.message"\r\n (upvoted)="upvoteMessage(notif.message)"\r\n (reported)="reportMessage(notif.message)"\r\n (selected)="goToMessage(notif.message)">\r\n </engage-live-message>\r\n\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'notice\'">\r\n <div>\r\n {{notif.message}}\r\n </div>\r\n <a mat-button target="_blank" href="{{notif.actionUrl}}">\r\n {{notif.actionLabel}}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'mention\'">\r\n You were mentioned by @{{notif.message?.user?.username}}\r\n\r\n <engage-live-message\r\n [message]="notif.message"\r\n (upvoted)="upvoteMessage(notif.message)"\r\n (reported)="reportMessage(notif.message)"\r\n (selected)="goToMessage(notif.message)">\r\n </engage-live-message>\r\n\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'reply\'">\r\n @{{notif.replyMessage?.user?.username}} replied to your post\r\n \r\n <engage-live-message\r\n [message]="notif.replyMessage"\r\n (upvoted)="upvoteMessage(notif.replyMessage)"\r\n (reported)="reportMessage(notif.replyMessage)"\r\n (selected)="goToMessage(notif.replyMessage)">\r\n </engage-live-message>\r\n </ng-container>\r\n </div>\r\n\r\n <engage-timestamp [value]="notif.sentAt"></engage-timestamp>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<div class="points" [class.focus]="mobileFocus === \'points\'">\r\n <header>\r\n <div>\r\n <label>The Point</label>\r\n </div>\r\n </header>\r\n <div class="point-focus">\r\n <div class="actions">\r\n <button mat-button (click)="pointUnfocus()">\r\n <mat-icon>arrow_back</mat-icon>\r\n Back\r\n </button>\r\n\r\n <div class="spacer"></div>\r\n \r\n <ng-container *ngIf="pointOpen">\r\n <div class="counted-action">\r\n <div class="count-indicator"> \r\n {{pointOpen.upvotes}}\r\n </div>\r\n <button mat-icon-button>\r\n <mat-icon>thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf="!pointSubChat">\r\n Error: No subchat\r\n </div>\r\n \r\n <engage-comment-view\r\n class="subcomments"\r\n *ngIf="pointSubChat"\r\n [newestLast]="true"\r\n [allowReplies]="false"\r\n [source]="pointSubChat"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n >\r\n \r\n <engage-comment\r\n class="focused-comment"\r\n data-before\r\n *ngIf="pointOpen"\r\n (upvoted)="upvoteMessage(pointOpen)"\r\n (userSelected)="showProfile(pointOpen.user)"\r\n (reported)="reportMessage(pointOpen)"\r\n [showReplyAction]="false"\r\n [message]="pointOpen"\r\n ></engage-comment>\r\n \r\n <div class="message reply">\r\n Reply:\r\n <form class="new-message" (submit)="sendPointSubMessage()">\r\n <textarea \r\n name="message" \r\n (keydown)="newPointSubMessageKeyDown($event)"\r\n [(ngModel)]="newPointSubMessage.message"></textarea>\r\n \r\n <div class="actions">\r\n <button [disabled]="!newPointSubMessage.message" \r\n mat-raised-button color="primary">Send</button>\r\n </div>\r\n </form>\r\n </div>\r\n </engage-comment-view>\r\n </div>\r\n <div class="points-section">\r\n <engage-comments\r\n [source]="pointSource"\r\n (signInSelected)="showSignIn()"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n (selected)="goToMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n ></engage-comments>\r\n </div>\r\n</div>',styles:[':host{display:flex;flex-direction:row;padding:.5em;height:40em;position:relative}.counted-action{display:flex;align-items:center}.count-indicator{font-size:9pt;padding:0 3px;border-radius:3px;border:1px solid #333}header{position:relative;margin-bottom:1em}header div{display:flex;align-items:center;height:30px}header button{color:#666}header label{text-transform:uppercase;z-index:1;font-size:12pt;letter-spacing:2px;font-weight:100;color:#333;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}header:after{content:"";border:1px solid #ccc;height:0;width:100%;display:block;position:relative;z-index:0}.points{max-width:50em;display:flex;flex-direction:column}:host.point-focus .points{width:66%;max-width:50em}:host.point-focus .points .points-section{opacity:0;pointer-events:none}:host.point-focus .points .point-focus{opacity:1;pointer-events:initial}:host.point-focus .points .point-focus .actions{display:flex}engage-comments{flex-grow:1}.points{width:33%;margin-left:.5em;font-size:12pt;flex-shrink:0;max-width:30em;transition:width .2s ease-in,max-width .2s ease-in;position:relative}.points .points-section{flex-grow:1;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in;z-index:2}.points .point-focus{position:absolute;width:100%;bottom:0;top:1.75em;right:0;left:0;padding:.5em;opacity:0;transition:opacity .2s ease-in;flex-grow:1;display:flex;flex-direction:column}.firehose{flex-grow:1;font-size:10pt;display:flex;flex-direction:column}form{display:flex;padding:.5em 0;align-items:center}form textarea{font-size:14pt;background:#000;color:#fff;border:1px solid #333;min-height:6em;width:100%}form input[type=text]{background:#000;color:#fff;border:1px solid #333;width:100%;height:1em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}.subcomments ::ng-deep engage-comment{font-size:10pt}.subcomments ::ng-deep engage-comment.focused-comment{background:#001321;color:#fff;font-size:12pt}.aux{width:0;min-width:0;overflow-x:hidden;transition:width .4s ease-out,min-width .4s ease-out;display:flex;flex-direction:column}.aux.open{width:30em;min-width:18em}.aux .aux-contents{width:30em;min-width:10em;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1}.notifications .notification{border-bottom:1px solid #333;padding:1em}.notifications .notification engage-timestamp{display:block;text-align:right;font-size:9pt;color:#999}.message.reply{padding:1em}.tabs{display:none}@media (max-width:1015px){:host{flex-direction:column}.tabs{display:flex;position:absolute;top:0;left:0;right:0;width:100%;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.5)}.points{width:100%;max-width:100%;margin-left:0}header{display:none}:host.point-focus .points{width:100%;max-width:100%}.aux{width:100%;min-width:initial;max-width:100%}.aux,.firehose,.points{position:absolute;top:2em;left:0;right:0;bottom:0;z-index:0;background:#000}.aux.focus,.firehose.focus,.points.focus{z-index:2}}:host-context(.mat-dark-theme) :host{background:#090909;color:#fff}:host-context(.mat-dark-theme) form textarea{background:#ccc;color:#333}:host-context(.mat-dark-theme) header:after{border-color:#222}:host-context(.mat-dark-theme) header label{color:#aaa}']}),m("design:paramtypes",[k,z,l.MatDialog])],e)}(),$=function(){function e(){}return e=p([o.Component({selector:"engage-logo",template:"banta",styles:["\n :host {\n font-family: 'Odibee Sans', sans-serif;\n font-size: 40pt;\n }\n\n :host.small {\n font-size: 30pt;\n }\n "]})],e)}(),B=function(){function e(){this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){this._message=e,this.viewType=this.getViewType(e)},enumerable:!0,configurable:!0}),e.prototype.getViewType=function(e){return e.topicId.endsWith("_firehose")?"chat":(e.topicId.endsWith("_thepoint"),"comment")},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.report=function(){this._reported.next()},e.prototype.select=function(){this._selected.next()},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-message",template:'\n <ng-container *ngIf="message">\n <engage-live-chat-message\n *ngIf="viewType === \'chat\'"\n [message]="message"\n (upvoted)="upvote(message)"\n (reported)="report(message)"\n (selected)="select(message)">\n </engage-live-chat-message>\n\n <engage-live-comment \n *ngIf="viewType === \'comment\'"\n [message]="message"\n (upvoted)="upvote(message)"\n (reported)="report(message)"\n (selected)="select(message)">\n </engage-live-comment>\n </ng-container>\n ',styles:[""]}),m("design:paramtypes",[])],e)}(),G=function(){function e(){this._reported=new a.Subject,this._selected=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this.showReplyAction=!0}return Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.prototype.selectUser=function(){return this._userSelected.next()},e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},p([o.Input(),m("design:type",Object)],e.prototype,"message",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"showReplyAction",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),e=p([o.Component({selector:"engage-comment",template:'\r\n<mat-menu #pointItemMenu="matMenu">\r\n <button mat-menu-item (click)="report()">Report</button>\r\n <button mat-menu-item>Help</button>\r\n</mat-menu>\r\n\r\n<div class="message-content">\r\n <div class="user">\r\n <div class="avatar" \r\n (click)="selectUser()"\r\n [style.background-image]="avatarForUser(message.user)"></div>\r\n <label class="display-name" (click)="selectUser()">{{message.user.displayName}}</label>\r\n <label class="username" (click)="selectUser()">@{{message.user.username}}</label>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]="pointItemMenu">\r\n <mat-icon [inline]="true">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <div class="content" (click)="select()">\r\n {{message.message}}\r\n </div>\r\n \r\n <div class="actions">\r\n <engage-timestamp [value]="message.sentAt"></engage-timestamp>\r\n <div class="spacer"></div>\r\n <div class="counted-action" *ngIf="showReplyAction">\r\n <div class="count-indicator">\r\n {{message.submessages?.length || 0}}\r\n </div>\r\n <button mat-icon-button matTooltip="Comment" matTooltipPosition="below" (click)="select()">\r\n <mat-icon [inline]="true">comment</mat-icon>\r\n </button>\r\n </div>\r\n <div class="counted-action">\r\n <div class="count-indicator"> \r\n {{message.upvotes}}\r\n </div>\r\n <button mat-icon-button matTooltip="Upvote" matTooltipPosition="below" (click)="upvote()">\r\n <mat-icon [inline]="true">thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n',styles:[":host{display:flex;flex-direction:column;position:relative;padding:.5em}:host:hover{background:#eee}:host .message-content .content{margin-left:4em;margin-right:3em}:host.abbreviated .message-content .content{max-height:8.5em;text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:4em;align-items:center}:host .actions button{color:#666}:host .actions engage-timestamp{color:#666;font-size:10pt}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user label{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user label.username{color:#666;flex-shrink:0;flex-grow:1}.avatar{height:3em;width:3em;background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.count-indicator{font-size:9pt;padding:0 3px;border-radius:3px;border:1px solid #ccc;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}:host-context(.mat-dark-theme) .user label{color:#fff}"]})],e)}(),V=function(){function e(){this._sourceSubs=new i.SubSink,this._selected=new a.Subject,this._upvoted=new a.Subject,this._reported=new a.Subject,this._userSelected=new a.Subject,this.allowReplies=!0,this.menuMessage=null,this.messages=[],this.maxMessages=200,this.newestLast=!1}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){var a=this;if(this._sourceSubs&&(this._sourceSubs.unsubscribe(),this._sourceSubs=null),this._source=e,e){var r=e.messages||[];this._sourceSubs=new i.SubSink,this.messages=r.slice(),this._sourceSubs.add(this._source.messageReceived.subscribe((function(e){return a.messageReceived(e)})),this._source.messageSent.subscribe((function(e){return a.messageSent(e)}))),this._source.currentUserChanged&&this._sourceSubs.add(this._source.currentUserChanged.subscribe((function(e){return a.currentUser=e})))}},enumerable:!0,configurable:!0}),e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.prototype.addMessage=function(e){if(this.newestLast){for(;this.messages.length+1>this.maxMessages;)this.messages.shift();this.messages.push(e)}else{for(;this.messages.length+1>this.maxMessages;)this.messages.pop();this.messages.unshift(e)}},e.prototype.messageReceived=function(e){var a=this;this.addMessage(e),this.isScrolledToLatest()&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.isScrolledToLatest=function(){if(!this.messageContainer)return!1;var e=this.messageContainer.nativeElement;return e.scrollTop>e.scrollHeight-e.offsetHeight-10},e.prototype.messageSent=function(e){this.addMessage(e),this.messageContainer&&this.scrollToLatest()},e.prototype.scrollToLatest=function(){if(this.messageContainer){var e=this.messageContainer.nativeElement;e.scrollTop=e.scrollHeight}},e.prototype.mentionsMe=function(e){return!!this.currentUser&&!!e.message.includes("@"+this.currentUser.username)},e.prototype.avatarForUser=function(e){var a=this.genericAvatarUrl;return e&&e.avatarUrl&&(a=e.avatarUrl),"url("+a+")"},p([o.Input(),m("design:type",Object)],e.prototype,"allowReplies",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Input(),m("design:type",String)],e.prototype,"genericAvatarUrl",void 0),p([o.ViewChild("messageContainer"),m("design:type",o.ElementRef)],e.prototype,"messageContainer",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"maxMessages",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"newestLast",void 0),e=p([o.Component({selector:"engage-comment-view",template:'<div class="message-container">\r\n <ng-content select="[data-before]"></ng-content>\r\n <engage-comment \r\n *ngFor="let message of messages"\r\n class="abbreviated"\r\n [message]="message"\r\n [showReplyAction]="allowReplies"\r\n (userSelected)="selectMessageUser(message)"\r\n (upvoted)="upvoteMessage(message)"\r\n (reported)="reportMessage(message)"\r\n (selected)="selectMessage(message)"\r\n ></engage-comment>\r\n <ng-content select=":not([data-before])"></ng-content>\r\n</div>',styles:[":host{flex-grow:1;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}"]}),m("design:paramtypes",[])],e)}(),H=function(){function e(e,r){this.banta=e,this.backend=r,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject,this._userSelected=new a.Subject,this._subs=new i.SubSink,this._signInSelected=new a.Subject}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.user=a})))},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){this._source=e},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),e.prototype.onKeyDown=function(e){},e.prototype.insertEmoji=function(e){this.newMessageText+=e},e.prototype.sendMessage=function(){if(this.source){var e=(this.newMessageText||"").trim();if(this.newMessageText="",""!==e){var a={user:this.user,sentAt:Date.now(),upvotes:0,message:e};this.source.send(a)}}},e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.ctorParameters=function(){return[{type:k},{type:z}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),e=p([o.Component({selector:"engage-comments",template:'\r\n<form class="new-message" (submit)="sendMessage()">\r\n <div class="text-container">\r\n <textarea \r\n name="message" \r\n (keydown)="onKeyDown($event)"\r\n [(ngModel)]="newMessageText"></textarea>\r\n <emoji-selector-button \r\n class="top-right"\r\n (selected)="insertEmoji($event)"\r\n ></emoji-selector-button>\r\n </div>\r\n <div class="actions">\r\n\r\n <button \r\n *ngIf="!user" \r\n mat-raised-button \r\n color="primary"\r\n type="button"\r\n (click)="showSignIn()"\r\n >Sign In</button>\r\n <button \r\n *ngIf="user" \r\n mat-raised-button \r\n color="primary"\r\n [disabled]="!newMessageText" \r\n >Send</button>\r\n </div>\r\n</form>\r\n\r\n<engage-comment-view \r\n [source]="source"\r\n (userSelected)="selectMessageUser($event)"\r\n (selected)="selectMessage($event)"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n ></engage-comment-view>',styles:[":host{display:flex;flex-direction:column}form{display:flex;padding:.5em 0;align-items:center}form .text-container{position:relative;display:flex;flex-grow:1}form .text-container textarea{font-size:14pt;background-color:#fff;color:#333;border:1px solid #ccc;min-height:6em;width:100%}form .text-container emoji-selector-button{bottom:0;right:0;position:absolute}form input[type=text]{background:#000;color:#fff;border:1px solid #333;width:100%;height:1em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}:host-context(.mat-dark-theme) form .text-container textarea{background:#000;color:#fff;border-color:#333}"]}),m("design:paramtypes",[k,z])],e)}(),W=function(){function e(e){this.backend=e,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){var a=this,r=null;this._message&&(r=this._message.id),this._message=e,e&&r===e.id||(this.unsubscribe&&this.unsubscribe(),e&&(this.unsubscribe=this.backend.watchMessage(e,(function(e){return a.message=e}))))},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.ctorParameters=function(){return[{type:z}]},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-comment",template:'\n <engage-comment \n *ngIf="message"\n [message]="message"\n (upvoted)="upvote()"\n (reported)="report()"\n (selected)="select()"\n ></engage-comment>\n ',styles:[""]}),m("design:paramtypes",[z])],e)}(),K=[G,V,H,W],J=function(){function e(){}return e=p([o.NgModule({declarations:K,imports:[t.CommonModule,y.FormsModule,s.MatIconModule,c.MatButtonModule,d.MatMenuModule,j,q],exports:K})],e)}(),Y=[F,$,B],X=function(){function e(){}return e=p([o.NgModule({imports:[t.CommonModule,y.FormsModule,j.forRoot(),J,L,q,s.MatIconModule,c.MatButtonModule,g.MatTooltipModule,d.MatMenuModule,l.MatDialogModule,u.MatFormFieldModule,h.MatInputModule],declarations:Y,exports:Y})],e)}();e.BantaSdkModule=X,e.BantaService=k,e.ChatBackendService=z,e.ChatMessageComponent=I,e.ChatModule=L,e.ChatViewComponent=U,e.CommentComponent=G,e.CommentViewComponent=V,e.CommentsBoxComponent=H,e.CommentsModule=J,e.EMOJIS=x,e.EmojiModule=q,e.EmojiSelectorButtonComponent=M,e.EmojiSelectorPanelComponent=S,e.EngageCommonModule=j,e.EngageComponent=F,e.EngageLogoComponent=$,e.FirehoseChatComponent=C,e.LiveChatMessageComponent=P,e.LiveCommentComponent=W,e.LiveMessageComponent=B,e.MockFirehoseSource=E,e.MockPointSource=N,e.MockSubpointSource=A,e.TimestampComponent=_,e.lazyConnection=function(e){return new a.Observable((function(r){var o=new a.Subject,t=o.subscribe(r);return e.start(o),function(){t.unsubscribe(),e.stop()}})).pipe(r.publish()).refCount()},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
15
|
+
***************************************************************************** */function p(e,a,r,o){var t,n=arguments.length,s=n<3?a:null===o?o=Object.getOwnPropertyDescriptor(a,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,a,r,o);else for(var c=e.length-1;c>=0;c--)(t=e[c])&&(s=(n<3?t(s):n>3?t(a,r,s):t(a,r))||s);return n>3&&s&&Object.defineProperty(a,r,s),s}function m(e,a){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,a)}function b(e,a,r,o){return new(r||(r=Promise))((function(t,n){function s(e){try{i(o.next(e))}catch(e){n(e)}}function c(e){try{i(o.throw(e))}catch(e){n(e)}}function i(e){var a;e.done?t(e.value):(a=e.value,a instanceof r?a:new r((function(e){e(a)}))).then(s,c)}i((o=o.apply(e,a||[])).next())}))}function w(e,a){var r,o,t,n,s={label:0,sent:function(){if(1&t[0])throw t[1];return t[1]},trys:[],ops:[]};return n={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(n[Symbol.iterator]=function(){return this}),n;function c(n){return function(c){return function(n){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,o&&(t=2&n[0]?o.return:n[0]?o.throw||((t=o.return)&&t.call(o),0):o.next)&&!(t=t.call(o,n[1])).done)return t;switch(o=0,t&&(n=[2&n[0],t.value]),n[0]){case 0:case 1:t=n;break;case 4:return s.label++,{value:n[1],done:!1};case 5:s.label++,o=n[1],n=[0];continue;case 7:n=s.ops.pop(),s.trys.pop();continue;default:if(!(t=s.trys,(t=t.length>0&&t[t.length-1])||6!==n[0]&&2!==n[0])){s=0;continue}if(3===n[0]&&(!t||n[1]>t[0]&&n[1]<t[3])){s.label=n[1];break}if(6===n[0]&&s.label<t[1]){s.label=t[1],t=n;break}if(t&&s.label<t[2]){s.label=t[2],s.ops.push(n);break}t[2]&&s.ops.pop(),s.trys.pop();continue}n=a.call(e,s)}catch(e){n=[6,e],o=0}finally{r=t=0}if(5&n[0])throw n[1];return{value:n[0]?n[1]:void 0,done:!0}}([n,c])}}}function f(e){var a="function"==typeof Symbol&&Symbol.iterator,r=a&&e[a],o=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(a?"Object is not iterable.":"Symbol.iterator is not defined.")}var k=function(){function e(){this._userChanged=new a.BehaviorSubject(null)}return Object.defineProperty(e.prototype,"userChanged",{get:function(){return this._userChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"user",{get:function(){return this._user},set:function(e){this._user=e,this._userChanged.next(e)},enumerable:!0,configurable:!0}),e=p([o.Injectable()],e)}(),_=function(){function e(){this.relative="",this.tooltip="",this.updateInterval=null,this.showAbsolute=!1}return e.prototype.ngOnDestroy=function(){this.updateInterval&&clearInterval(this.updateInterval)},Object.defineProperty(e.prototype,"value",{get:function(){return this._value},set:function(e){this._value=e,this.update()},enumerable:!0,configurable:!0}),e.prototype.update=function(){var e=this,a=Date.now()-this.value,r=864e5;this.showAbsolute=!1;var o=0;if(a>31536e6)return this.showAbsolute=!0,void(this.relative="abs");if(a>2592e6){var t=Math.floor(a/2592e6);this.relative=1===t?t+" month ago":t+" months ago"}else if(a>6048e5){var n=Math.floor(a/6048e5);this.relative=1===n?n+" week ago":n+" weeks ago"}else if(a>r){var s=Math.floor(a/r);this.relative=1===s?s+" day ago":s+" days ago"}else if(a>36e5){var c=Math.floor(a/36e5);this.relative=1===c?c+" hour ago":c+" hours ago",o=18e5}else if(a>6e4){var i=Math.floor(a/6e4);this.relative=1===i?i+" minute ago":i+" minutes ago",o=45e3}else a>3e4?(this.relative="about a minute ago",o=6e4):(this.relative="just now",o=3e4);"undefined"!=typeof window&&(clearInterval(this.updateInterval),o>0&&(this.updateInterval=setInterval((function(){return e.update()}))))},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"value",null),e=p([o.Component({selector:"engage-timestamp",template:'\n <span *ngIf="showAbsolute" [title]="value | date : \'short\'">\n {{value | date : \'shortDate\'}}\n </span>\n <span *ngIf="!showAbsolute" [title]="value | date : \'short\'">\n {{relative}}\n </span>\n ',styles:[""]})],e)}(),v=[_],j=function(){function e(){}var a;return a=e,e.forRoot=function(){return{ngModule:a,providers:[k]}},e=a=p([o.NgModule({declarations:v,imports:[t.CommonModule],exports:v})],e)}(),x={grinning:{keywords:["face","smile","happy","joy",":D","grin"],char:"๐",category:"people"},grimacing:{keywords:["face","grimace","teeth"],char:"๐ฌ",category:"people"},grin:{keywords:["face","happy","smile","joy","kawaii"],char:"๐",category:"people"},joy:{keywords:["face","cry","tears","weep","happy","happytears","haha"],char:"๐",category:"people"},smiley:{keywords:["face","happy","joy","haha",":D",":)","smile","funny"],char:"๐",category:"people"},smile:{keywords:["face","happy","joy","funny","haha","laugh","like",":D",":)"],char:"๐",category:"people"},sweat_smile:{keywords:["face","hot","happy","laugh","sweat","smile","relief"],char:"๐
",category:"people"},laughing:{keywords:["happy","joy","lol","satisfied","haha","face","glad","XD","laugh"],char:"๐",category:"people"},innocent:{keywords:["face","angel","heaven","halo"],char:"๐",category:"people"},wink:{keywords:["face","happy","mischievous","secret",";)","smile"],char:"๐",category:"people"},blush:{keywords:["face","smile","happy","flushed","crush","embarrassed","shy","joy"],char:"๐",category:"people"},slightly_smiling:{keywords:["face","smile"],char:"๐",category:"people"},upside_down:{keywords:["face","flipped","silly","smile"],char:"๐",category:"people"},relaxed:{keywords:["face","blush","massage","happiness"],char:"โบ๏ธ",category:"people"},yum:{keywords:["happy","joy","tongue","smile","face","silly","yummy","nom"],char:"๐",category:"people"},relieved:{keywords:["face","relaxed","phew","massage","happiness"],char:"๐",category:"people"},heart_eyes:{keywords:["face","love","like","affection","valentines","infatuation","crush","heart"],char:"๐",category:"people"},kissing_heart:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing:{keywords:["love","like","face","3","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing_smiling_eyes:{keywords:["face","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},kissing_closed_eyes:{keywords:["face","love","like","affection","valentines","infatuation","kiss"],char:"๐",category:"people"},stuck_out_tongue_winking_eye:{keywords:["face","prank","childish","playful","mischievous","smile","wink","tongue"],char:"๐",category:"people"},stuck_out_tongue_closed_eyes:{keywords:["face","prank","playful","mischievous","smile","tongue"],char:"๐",category:"people"},stuck_out_tongue:{keywords:["face","prank","childish","playful","mischievous","smile","tongue"],char:"๐",category:"people"},money_mouth:{keywords:["face","rich","dollar","money"],char:"๐ค",category:"people"},nerd:{keywords:["face","nerdy","geek","dork"],char:"๐ค",category:"people"},sunglasses:{keywords:["face","cool","smile","summer","beach","sunglass"],char:"๐",category:"people"},hugging:{keywords:["face","smile","hug"],char:"๐ค",category:"people"},smirk:{keywords:["face","smile","mean","prank","smug","sarcasm"],char:"๐",category:"people"},no_mouth:{keywords:["face","hellokitty"],char:"๐ถ",category:"people"},neutral_face:{keywords:["indifference","meh",":|","neutral"],char:"๐",category:"people"},expressionless:{keywords:["face","indifferent","-_-","meh","deadpan"],char:"๐",category:"people"},unamused:{keywords:["indifference","bored","straight face","serious","sarcasm"],char:"๐",category:"people"},rolling_eyes:{keywords:["face","eyeroll","frustrated"],char:"๐",category:"people"},thinking:{keywords:["face","hmmm","think","consider"],char:"๐ค",category:"people"},flushed:{keywords:["face","blush","shy","flattered"],char:"๐ณ",category:"people"},disappointed:{keywords:["face","sad","upset","depressed",":("],char:"๐",category:"people"},worried:{keywords:["face","concern","nervous",":("],char:"๐",category:"people"},angry:{keywords:["mad","face","annoyed","frustrated"],char:"๐ ",category:"people"},rage:{keywords:["angry","mad","hate","despise"],char:"๐ก",category:"people"},pensive:{keywords:["face","sad","depressed","okay","upset"],char:"๐",category:"people"},confused:{keywords:["face","indifference","huh","weird","hmmm",":/"],char:"๐",category:"people"},slightly_sad:{keywords:["face","frowning","disappointed","sad","upset"],char:"๐",category:"people"},white_frowning:{keywords:["face","sad","upset","frown"],char:"โน",category:"people"},persevere:{keywords:["face","sick","no","upset","oops"],char:"๐ฃ",category:"people"},confounded:{keywords:["face","confused","sick","unwell","oops",":S"],char:"๐",category:"people"},tired_face:{keywords:["sick","whine","upset","frustrated"],char:"๐ซ",category:"people"},weary:{keywords:["face","tired","sleepy","sad","frustrated","upset"],char:"๐ฉ",category:"people"},triumph:{keywords:["face","gas","phew","proud","pride"],char:"๐ค",category:"people"},open_mouth:{keywords:["face","surprise","impressed","wow","whoa",":O"],char:"๐ฎ",category:"people"},scream:{keywords:["face","munch","scared","omg"],char:"๐ฑ",category:"people"},fearful:{keywords:["face","scared","terrified","nervous","oops","huh"],char:"๐จ",category:"people"},cold_sweat:{keywords:["face","nervous","sweat"],char:"๐ฐ",category:"people"},hushed:{keywords:["face","woo","shh"],char:"๐ฏ",category:"people"},frowning:{keywords:["face","aw","what"],char:"๐ฆ",category:"people"},anguished:{keywords:["face","stunned","nervous"],char:"๐ง",category:"people"},cry:{keywords:["face","tears","sad","depressed","upset",":'("],char:"๐ข",category:"people"},disappointed_relieved:{keywords:["face","phew","sweat","nervous"],char:"๐ฅ",category:"people"},sleepy:{keywords:["face","tired","rest","nap"],char:"๐ช",category:"people"},sweat:{keywords:["face","hot","sad","tired","exercise"],char:"๐",category:"people"},sob:{keywords:["face","cry","tears","sad","upset","depressed"],char:"๐ญ",category:"people"},dizzy_face:{keywords:["spent","unconscious","xox","dizzy"],char:"๐ต",category:"people"},astonished:{keywords:["face","xox","surprised","poisoned"],char:"๐ฒ",category:"people"},zipper_mouth:{keywords:["face","sealed","zipper","secret"],char:"๐ค",category:"people"},mask:{keywords:["face","sick","ill","disease"],char:"๐ท",category:"people"},thermometer_face:{keywords:["sick","temperature","thermometer","cold"],char:"๐ค",category:"people"},bandage_face:{keywords:["injured","clumsy","bandage","hurt"],char:"๐ค",category:"people"},sleeping:{keywords:["face","tired","sleepy","night","zzz"],char:"๐ด",category:"people"},zzz:{keywords:["sleepy","tired"],char:"๐ค",category:"people"},hankey:{keywords:["poop","shitface","fail","turd","shit"],char:"๐ฉ",category:"people"},smiling_imp:{keywords:["devil","horns"],char:"๐",category:"people"},imp:{keywords:["devil","angry","horns"],char:"๐ฟ",category:"people"},japanese_ogre:{keywords:["monster","red","mask","halloween","scary","creepy","devil","demon","japanese","ogre"],char:"๐น",category:"people"},japanese_goblin:{keywords:["red","evil","mask","monster","scary","creepy","japanese","goblin"],char:"๐บ",category:"people"},skull:{keywords:["dead","skeleton","creepy"],char:"๐",category:"people"},ghost:{keywords:["halloween","spooky","scary"],char:"๐ป",category:"people"},alien:{keywords:["UFO","paul","weird","outer_space"],char:"๐ฝ",category:"people"},robot:{keywords:["computer","machine"],char:"๐ค",category:"people"},smiley_cat:{keywords:["animal","cats","happy","smile"],char:"๐บ",category:"people"},smile_cat:{keywords:["animal","cats","smile"],char:"๐ธ",category:"people"},joy_cat:{keywords:["animal","cats","haha","happy","tears"],char:"๐น",category:"people"},heart_eyes_cat:{keywords:["animal","love","like","affection","cats","valentines","heart"],char:"๐ป",category:"people"},smirk_cat:{keywords:["animal","cats","smirk"],char:"๐ผ",category:"people"},kissing_cat:{keywords:["animal","cats","kiss"],char:"๐ฝ",category:"people"},scream_cat:{keywords:["animal","cats","munch","scared","scream"],char:"๐",category:"people"},crying_cat_face:{keywords:["animal","tears","weep","sad","cats","upset","cry"],char:"๐ฟ",category:"people"},pouting_cat:{keywords:["animal","cats"],char:"๐พ",category:"people"},raised_hands:{keywords:["gesture","hooray","yea","celebration","hands"],char:"๐",category:"people"},clap:{keywords:["hands","praise","applause","congrats","yay"],char:"๐",category:"people"},wave:{keywords:["hands","gesture","goodbye","solong","farewell","hello","palm"],char:"๐",category:"people"},"+1":{keywords:["thumbsup","yes","awesome","good","agree","accept","cool","hand","like"],char:"๐",category:"people"},minus1:{keywords:["thumbsdown","no","dislike","hand"],char:"๐",category:"people"},facepunch:{keywords:["angry","violence","fist","hit","attack","hand"],char:"๐",category:"people"},fist:{keywords:["fingers","hand","grasp"],char:"โ",category:"people"},v:{keywords:["fingers","ohyeah","hand","peace","victory","two"],char:"โ๏ธ",category:"people"},ok_hand:{keywords:["fingers","limbs","perfect","ok"],char:"๐",category:"people"},hand:{keywords:["fingers","stop","highfive","palm","ban","raised_hand"],char:"โ",category:"people"},open_hands:{keywords:["fingers","butterfly","hands","open"],char:"๐",category:"people"},muscle:{keywords:["arm","flex","hand","summer","strong","biceps"],char:"๐ช",category:"people"},pray:{keywords:["please","hope","wish","namaste","highfive"],char:"๐",category:"people"},point_up:{keywords:["hand","fingers","direction","up"],char:"โ๏ธ",category:"people"},point_up_2:{keywords:["fingers","hand","direction","up"],char:"๐",category:"people"},point_down:{keywords:["fingers","hand","direction","down"],char:"๐",category:"people"},point_left:{keywords:["direction","fingers","hand","left"],char:"๐",category:"people"},point_right:{keywords:["fingers","hand","direction","right"],char:"๐",category:"people"},middle_finger:{keywords:["hand","fingers","rude"],char:"๐",category:"people"},splayed_fingers:{keywords:["hand","fingers","palm"],char:"๐",category:"people"},sign_of_horns:{keywords:["hand","fingers","evil_eye","metal","rock_on"],char:"๐ค",category:"people"},vulcan_salute:{keywords:["hand","fingers","spock","star trek"],char:"๐",category:"people"},writing_hand:{keywords:["pen","stationery","write"],char:"โ",category:"people"},nail_care:{keywords:["beauty","manicure","finger","fashion","nail"],char:"๐
",category:"people"},lips:{keywords:["mouth","kiss"],char:"๐",category:"people"},tongue:{keywords:["mouth","playful"],char:"๐
",category:"people"},ear:{keywords:["face","hear","sound","listen"],char:"๐",category:"people"},nose:{keywords:["smell","sniff"],char:"๐",category:"people"},eye:{keywords:["face","look","see","watch","stare"],char:"๐",category:"people"},eyes:{keywords:["look","watch","stalk","peek","see"],char:"๐",category:"people"},bust_in_silhouette:{keywords:["user","person","human"],char:"๐ค",category:"people"},busts_in_silhouette:{keywords:["user","person","human","group","team"],char:"๐ฅ",category:"people"},speaking_head:{keywords:["user","person","human"],char:"๐ฃ",category:"people"},baby:{keywords:["child","boy","girl","toddler"],char:"๐ถ",category:"people"},boy:{keywords:["man","male","guy","teenager"],char:"๐ฆ",category:"people"},girl:{keywords:["female","woman","teenager"],char:"๐ง",category:"people"},man:{keywords:["mustache","father","dad","guy","classy","sir","moustache"],char:"๐จ",category:"people"},woman:{keywords:["female","girls","lady"],char:"๐ฉ",category:"people"},person_with_blond_hair:{keywords:["man","male","boy","blonde","guy","person"],char:"๐ฑ",category:"people"},older_man:{keywords:["human","male","men","old","elder","senior"],char:"๐ด",category:"people"},older_woman:{keywords:["human","female","women","lady","old","elder","senior"],char:"๐ต",category:"people"},man_with_gua_pi_mao:{keywords:["male","boy","chinese"],char:"๐ฒ",category:"people"},man_with_turban:{keywords:["male","indian","hinduism","arabs"],char:"๐ณ",category:"people"},cop:{keywords:["man","police","law","legal","enforcement","arrest","911"],char:"๐ฎ",category:"people"},construction_worker:{keywords:["male","human","wip","guy","build","construction","worker","labor"],char:"๐ท",category:"people"},guardsman:{keywords:["uk","gb","british","male","guy","royal"],char:"๐",category:"people"},sleuth:{keywords:["human","spy","detective"],char:"๐ต",category:"people"},santa:{keywords:["festival","man","male","xmas","father christmas"],char:"๐
",category:"people"},angel:{keywords:["heaven","wings","halo"],char:"๐ผ",category:"people"},princess:{keywords:["girl","woman","female","blond","crown","royal","queen"],char:"๐ธ",category:"people"},bride_with_veil:{keywords:["couple","marriage","wedding","woman","bride"],char:"๐ฐ",category:"people"},runner:{keywords:["man","walking","exercise","race","running"],char:"๐",category:"people"},walking:{keywords:["human","feet","steps"],char:"๐ถ",category:"people"},dancer:{keywords:["female","girl","woman","fun"],char:"๐",category:"people"},dancers:{keywords:["female","bunny","women","girls"],char:"๐ฏ",category:"people"},couple:{keywords:["pair","people","human","love","date","dating","like","affection","valentines","marriage"],char:"๐ซ",category:"people"},two_men_holding_hands:{keywords:["pair","couple","love","like","bromance","friendship","people","human"],char:"๐ฌ",category:"people"},two_women_holding_hands:{keywords:["pair","friendship","couple","love","like","female","people","human"],char:"๐ญ",category:"people"},bow:{keywords:["man","male","boy"],char:"๐",category:"people"},information_desk_person:{keywords:["female","girl","woman","human","information"],char:"๐",category:"people"},no_good:{keywords:["female","girl","woman","nope"],char:"๐
",category:"people"},ok_woman:{keywords:["women","girl","female","pink","human","woman"],char:"๐",category:"people"},raising_hand:{keywords:["female","girl","woman"],char:"๐",category:"people"},person_with_pouting_face:{keywords:["female","girl","woman"],char:"๐",category:"people"},person_frowning:{keywords:["female","girl","woman","sad","depressed","discouraged","unhappy"],char:"๐",category:"people"},haircut:{keywords:["female","girl","woman"],char:"๐",category:"people"},massage:{keywords:["female","girl","woman","head"],char:"๐",category:"people"},couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐",category:"people"},female_couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐ฉโโค๏ธโ๐ฉ",category:"people"},male_couple_with_heart:{keywords:["pair","love","like","affection","human","dating","valentines","marriage"],char:"๐จโโค๏ธโ๐จ",category:"people"},couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐",category:"people"},female_couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐ฉโโค๏ธโ๐โ๐ฉ",category:"people"},male_couplekiss:{keywords:["pair","valentines","love","like","dating","marriage"],char:"๐จโโค๏ธโ๐โ๐จ",category:"people"},family:{keywords:["home","parents","child","mom","dad","father","mother","people","human"],char:"๐ช",category:"people"},family_man_woman_girl:{keywords:["home","parents","people","human","child"],char:"๐จโ๐ฉโ๐ง",category:"people"},family_man_woman_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐งโ๐ฆ",category:"people"},family_man_woman_boys:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐ฆโ๐ฆ",category:"people"},family_man_woman_girls:{keywords:["home","parents","people","human","children"],char:"๐จโ๐ฉโ๐งโ๐ง",category:"people"},family_women_boy:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ฆ",category:"people"},family_women_girl:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ง",category:"people"},family_women_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐งโ๐ฆ",category:"people"},family_women_boys:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐ฆโ๐ฆ",category:"people"},family_women_girls:{keywords:["home","parents","people","human","children"],char:"๐ฉโ๐ฉโ๐งโ๐ง",category:"people"},family_men_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ฆ",category:"people"},family_men_girl:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ง",category:"people"},family_men_girl_boy:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐งโ๐ฆ",category:"people"},family_men_boys:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐ฆโ๐ฆ",category:"people"},family_men_girls:{keywords:["home","parents","people","human","children"],char:"๐จโ๐จโ๐งโ๐ง",category:"people"},womans_clothes:{keywords:["fashion","shopping","female"],char:"๐",category:"people"},shirt:{keywords:["fashion","cloth","casual","tshirt","tee"],char:"๐",category:"people"},jeans:{keywords:["fashion","shopping"],char:"๐",category:"people"},necktie:{keywords:["shirt","suitup","formal","fashion","cloth","business"],char:"๐",category:"people"},dress:{keywords:["clothes","fashion","shopping"],char:"๐",category:"people"},bikini:{keywords:["swimming","female","woman","girl","fashion","beach","summer"],char:"๐",category:"people"},kimono:{keywords:["dress","fashion","women","female","japanese"],char:"๐",category:"people"},lipstick:{keywords:["female","girl","fashion","woman"],char:"๐",category:"people"},kiss:{keywords:["face","lips","love","like","affection","valentines"],char:"๐",category:"people"},footprints:{keywords:["feet","tracking","walking","beach"],char:"๐ฃ",category:"people"},high_heel:{keywords:["fashion","shoes","female","pumps","stiletto"],char:"๐ ",category:"people"},sandal:{keywords:["shoes","fashion","flip flops"],char:"๐ก",category:"people"},boot:{keywords:["shoes","fashion"],char:"๐ข",category:"people"},mans_shoe:{keywords:["fashion","male"],char:"๐",category:"people"},athletic_shoe:{keywords:["shoes","sports","sneakers"],char:"๐",category:"people"},womans_hat:{keywords:["fashion","accessories","female","lady","spring"],char:"๐",category:"people"},tophat:{keywords:["magic","gentleman","classy","circus"],char:"๐ฉ",category:"people"},helmet:{keywords:["construction","build"],char:"โ",category:"people"},mortar_board:{keywords:["school","college","degree","university","graduation","cap","hat","legal","learn","education"],char:"๐",category:"people"},crown:{keywords:["king","kod","leader","royalty","lord"],char:"๐",category:"people"},school_satchel:{keywords:["student","education","bag","backpack"],char:"๐",category:"people"},pouch:{keywords:["bag","accessories","shopping"],char:"๐",category:"people"},purse:{keywords:["fashion","accessories","money","sales","shopping"],char:"๐",category:"people"},handbag:{keywords:["fashion","accessory","accessories","shopping"],char:"๐",category:"people"},briefcase:{keywords:["business","documents","work","law","legal"],char:"๐ผ",category:"people"},eyeglasses:{keywords:["fashion","accessories","eyesight","nerdy","dork","geek"],char:"๐",category:"people"},dark_sunglasses:{keywords:["face","cool","accessories"],char:"๐ถ",category:"people"},ring:{keywords:["wedding","propose","marriage","valentines","diamond","fashion","jewelry","gem","engagement"],char:"๐",category:"people"},closed_umbrella:{keywords:["weather","rain","drizzle"],char:"๐",category:"people"},dog:{keywords:["animal","friend","nature","woof","puppy","pet","faithful"],char:"๐ถ",category:"animals_and_nature"},cat:{keywords:["animal","meow","nature","pet","kitten"],char:"๐ฑ",category:"animals_and_nature"},mouse:{keywords:["animal","nature","cheese","rodent"],char:"๐ญ",category:"animals_and_nature"},hamster:{keywords:["animal","nature"],char:"๐น",category:"animals_and_nature"},rabbit:{keywords:["animal","nature","pet","spring","magic","bunny"],char:"๐ฐ",category:"animals_and_nature"},bear:{keywords:["animal","nature","wild"],char:"๐ป",category:"animals_and_nature"},panda_face:{keywords:["animal","nature","panda"],char:"๐ผ",category:"animals_and_nature"},koala:{keywords:["animal","nature"],char:"๐จ",category:"animals_and_nature"},tiger:{keywords:["animal","cat","danger","wild","nature","roar"],char:"๐ฏ",category:"animals_and_nature"},lion_face:{keywords:["animal","nature"],char:"๐ฆ",category:"animals_and_nature"},cow:{keywords:["beef","ox","animal","nature","moo","milk"],char:"๐ฎ",category:"animals_and_nature"},pig:{keywords:["animal","oink","nature"],char:"๐ท",category:"animals_and_nature"},pig_nose:{keywords:["animal","oink"],char:"๐ฝ",category:"animals_and_nature"},frog:{keywords:["animal","nature","croak","toad"],char:"๐ธ",category:"animals_and_nature"},octopus:{keywords:["animal","creature","ocean","sea","nature","beach"],char:"๐",category:"animals_and_nature"},monkey_face:{keywords:["animal","nature","circus"],char:"๐ต",category:"animals_and_nature"},see_no_evil:{keywords:["monkey","animal","nature","haha"],char:"๐",category:"animals_and_nature"},hear_no_evil:{keywords:["animal","monkey","nature"],char:"๐",category:"animals_and_nature"},speak_no_evil:{keywords:["monkey","animal","nature","omg"],char:"๐",category:"animals_and_nature"},monkey:{keywords:["animal","nature","banana","circus"],char:"๐",category:"animals_and_nature"},chicken:{keywords:["animal","cluck","nature","bird"],char:"๐",category:"animals_and_nature"},penguin:{keywords:["animal","nature"],char:"๐ง",category:"animals_and_nature"},bird:{keywords:["animal","nature","fly","tweet","spring"],char:"๐ฆ",category:"animals_and_nature"},baby_chick:{keywords:["animal","chicken","bird"],char:"๐ค",category:"animals_and_nature"},hatching_chick:{keywords:["animal","chicken","egg","born","baby","bird"],char:"๐ฃ",category:"animals_and_nature"},hatched_chick:{keywords:["animal","chicken","baby","bird"],char:"๐ฅ",category:"animals_and_nature"},wolf:{keywords:["animal","nature","wild"],char:"๐บ",category:"animals_and_nature"},boar:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},horse:{keywords:["animal","brown","nature"],char:"๐ด",category:"animals_and_nature"},unicorn_face:{keywords:["animal","nature","mystical"],char:"๐ฆ",category:"animals_and_nature"},bee:{keywords:["animal","insect","nature","bug","spring","honey"],char:"๐",category:"animals_and_nature"},bug:{keywords:["animal","insect","nature","worm"],char:"๐",category:"animals_and_nature"},snail:{keywords:["slow","animal","shell"],char:"๐",category:"animals_and_nature"},beetle:{keywords:["animal","insect","nature","ladybug"],char:"๐",category:"animals_and_nature"},ant:{keywords:["animal","insect","nature","bug"],char:"๐",category:"animals_and_nature"},spider:{keywords:["animal","arachnid"],char:"๐ท",category:"animals_and_nature"},scorpion:{keywords:["animal","arachnid"],char:"๐ฆ",category:"animals_and_nature"},crab:{keywords:["animal","crustacean"],char:"๐ฆ",category:"animals_and_nature"},snake:{keywords:["animal","evil","nature","hiss","python"],char:"๐",category:"animals_and_nature"},turtle:{keywords:["animal","slow","nature","tortoise"],char:"๐ข",category:"animals_and_nature"},tropical_fish:{keywords:["animal","swim","ocean","beach","nemo"],char:"๐ ",category:"animals_and_nature"},fish:{keywords:["animal","food","nature"],char:"๐",category:"animals_and_nature"},blowfish:{keywords:["animal","nature","food","sea","ocean"],char:"๐ก",category:"animals_and_nature"},dolphin:{keywords:["animal","nature","fish","sea","ocean","flipper","fins","beach"],char:"๐ฌ",category:"animals_and_nature"},whale:{keywords:["animal","nature","sea","ocean"],char:"๐ณ",category:"animals_and_nature"},whale2:{keywords:["animal","nature","sea","ocean"],char:"๐",category:"animals_and_nature"},crocodile:{keywords:["animal","nature","reptile","lizard","alligator"],char:"๐",category:"animals_and_nature"},leopard:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},tiger2:{keywords:["animal","nature","roar"],char:"๐
",category:"animals_and_nature"},water_buffalo:{keywords:["animal","nature","ox","cow"],char:"๐",category:"animals_and_nature"},ox:{keywords:["animal","cow","beef"],char:"๐",category:"animals_and_nature"},cow2:{keywords:["beef","ox","animal","nature","moo","milk"],char:"๐",category:"animals_and_nature"},dromedary_camel:{keywords:["animal","hot","desert","hump"],char:"๐ช",category:"animals_and_nature"},camel:{keywords:["animal","nature","hot","desert","hump"],char:"๐ซ",category:"animals_and_nature"},elephant:{keywords:["animal","nature","nose","thailand","circus"],char:"๐",category:"animals_and_nature"},goat:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},ram:{keywords:["animal","sheep","nature"],char:"๐",category:"animals_and_nature"},sheep:{keywords:["animal","nature","wool","shipit"],char:"๐",category:"animals_and_nature"},racehorse:{keywords:["animal","gamble","luck"],char:"๐",category:"animals_and_nature"},pig2:{keywords:["animal","nature"],char:"๐",category:"animals_and_nature"},rat:{keywords:["animal","mouse","rodent"],char:"๐",category:"animals_and_nature"},mouse2:{keywords:["animal","nature","rodent"],char:"๐",category:"animals_and_nature"},rooster:{keywords:["animal","nature","chicken"],char:"๐",category:"animals_and_nature"},turkey:{keywords:["animal","bird"],char:"๐ฆ",category:"animals_and_nature"},dove_of_peace:{keywords:["animal","bird"],char:"๐",category:"animals_and_nature"},dog2:{keywords:["animal","nature","friend","doge","pet","faithful"],char:"๐",category:"animals_and_nature"},poodle:{keywords:["dog","animal","101","nature","pet"],char:"๐ฉ",category:"animals_and_nature"},cat2:{keywords:["animal","meow","pet","cats"],char:"๐",category:"animals_and_nature"},rabbit2:{keywords:["animal","nature","pet","magic","spring"],char:"๐",category:"animals_and_nature"},chipmunk:{keywords:["animal","nature","rodent","squirrel"],char:"๐ฟ",category:"animals_and_nature"},feet:{keywords:["animal","tracking","footprints","dog","cat","pet","paw_prints"],char:"๐พ",category:"animals_and_nature"},dragon:{keywords:["animal","myth","nature","chinese","green"],char:"๐",category:"animals_and_nature"},dragon_face:{keywords:["animal","myth","nature","chinese","green"],char:"๐ฒ",category:"animals_and_nature"},cactus:{keywords:["vegetable","plant","nature"],char:"๐ต",category:"animals_and_nature"},christmas_tree:{keywords:["festival","vacation","december","xmas","celebration"],char:"๐",category:"animals_and_nature"},evergreen_tree:{keywords:["plant","nature"],char:"๐ฒ",category:"animals_and_nature"},deciduous_tree:{keywords:["plant","nature"],char:"๐ณ",category:"animals_and_nature"},palm_tree:{keywords:["plant","vegetable","nature","summer","beach","mojito","tropical"],char:"๐ด",category:"animals_and_nature"},seedling:{keywords:["plant","nature","grass","lawn","spring"],char:"๐ฑ",category:"animals_and_nature"},herb:{keywords:["vegetable","plant","medicine","weed","grass","lawn"],char:"๐ฟ",category:"animals_and_nature"},shamrock:{keywords:["vegetable","plant","nature","irish","clover"],char:"โ",category:"animals_and_nature"},four_leaf_clover:{keywords:["vegetable","plant","nature","lucky","irish"],char:"๐",category:"animals_and_nature"},bamboo:{keywords:["plant","nature","vegetable","panda","pine_decoration"],char:"๐",category:"animals_and_nature"},tanabata_tree:{keywords:["plant","nature","branch","summer"],char:"๐",category:"animals_and_nature"},leaves:{keywords:["nature","plant","tree","vegetable","grass","lawn","spring"],char:"๐",category:"animals_and_nature"},fallen_leaf:{keywords:["nature","plant","vegetable","leaves"],char:"๐",category:"animals_and_nature"},maple_leaf:{keywords:["nature","plant","vegetable","canada","fall"],char:"๐",category:"animals_and_nature"},ear_of_rice:{keywords:["nature","plant"],char:"๐พ",category:"animals_and_nature"},hibiscus:{keywords:["plant","vegetable","flowers","beach"],char:"๐บ",category:"animals_and_nature"},sunflower:{keywords:["nature","plant","fall"],char:"๐ป",category:"animals_and_nature"},rose:{keywords:["flowers","valentines","love","spring"],char:"๐น",category:"animals_and_nature"},tulip:{keywords:["flowers","plant","nature","summer","spring"],char:"๐ท",category:"animals_and_nature"},blossom:{keywords:["nature","flowers","yellow"],char:"๐ผ",category:"animals_and_nature"},cherry_blossom:{keywords:["nature","plant","spring","flower"],char:"๐ธ",category:"animals_and_nature"},bouquet:{keywords:["flowers","nature","spring"],char:"๐",category:"animals_and_nature"},mushroom:{keywords:["plant","vegetable"],char:"๐",category:"animals_and_nature"},chestnut:{keywords:["food","squirrel"],char:"๐ฐ",category:"animals_and_nature"},jack_o_lantern:{keywords:["halloween","light","pumpkin","creepy","fall"],char:"๐",category:"animals_and_nature"},shell:{keywords:["nature","sea","beach"],char:"๐",category:"animals_and_nature"},spider_web:{keywords:["animal","insect","arachnid","silk"],char:"๐ธ",category:"animals_and_nature"},earth_americas:{keywords:["globe","world","USA","international"],char:"๐",category:"animals_and_nature"},earth_africa:{keywords:["globe","world","international"],char:"๐",category:"animals_and_nature"},earth_asia:{keywords:["globe","world","east","international"],char:"๐",category:"animals_and_nature"},full_moon:{keywords:["nature","yellow","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waning_gibbous_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep","waxing_gibbous_moon"],char:"๐",category:"animals_and_nature"},last_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waning_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},new_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},waxing_crescent_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},first_quarter_moon:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},moon:{keywords:["nature","night","sky","gray","twilight","planet","space","evening","sleep"],char:"๐",category:"animals_and_nature"},new_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},full_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},first_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},last_quarter_moon_with_face:{keywords:["nature","twilight","planet","space","night","evening","sleep"],char:"๐",category:"animals_and_nature"},sun_with_face:{keywords:["nature","morning","sky"],char:"๐",category:"animals_and_nature"},crescent_moon:{keywords:["night","sleep","sky","evening","magic"],char:"๐",category:"animals_and_nature"},star:{keywords:["night","yellow"],char:"โญ",category:"animals_and_nature"},star2:{keywords:["night","sparkle","awesome","good","magic"],char:"๐",category:"animals_and_nature"},dizzy:{keywords:["star","sparkle","shoot","magic"],char:"๐ซ",category:"animals_and_nature"},sparkles:{keywords:["stars","shine","shiny","cool","awesome","good","magic"],char:"โจ",category:"animals_and_nature"},comet:{keywords:["space"],char:"โ",category:"animals_and_nature"},sunny:{keywords:["weather","nature","brightness","summer","beach","spring"],char:"โ๏ธ",category:"animals_and_nature"},white_sun_with_small_cloud:{keywords:["weather"],char:"๐ค",category:"animals_and_nature"},partly_sunny:{keywords:["weather","nature","cloudy","morning","fall","spring"],char:"โ
",category:"animals_and_nature"},white_sun_behind_cloud:{keywords:["weather"],char:"๐ฅ",category:"animals_and_nature"},white_sun_behind_cloud_with_rain:{keywords:["weather"],char:"๐ฆ",category:"animals_and_nature"},cloud:{keywords:["weather","sky"],char:"โ๏ธ",category:"animals_and_nature"},cloud_with_rain:{keywords:["weather"],char:"๐ง",category:"animals_and_nature"},thunder_cloud_and_rain:{keywords:["weather","lightning"],char:"โ",category:"animals_and_nature"},cloud_with_lightning:{keywords:["weather","thunder"],char:"๐ฉ",category:"animals_and_nature"},zap:{keywords:["thunder","weather","lightning bolt","fast"],char:"โก",category:"animals_and_nature"},fire:{keywords:["hot","cook","flame"],char:"๐ฅ",category:"animals_and_nature"},boom:{keywords:["bomb","explode","explosion","collision","blown"],char:"๐ฅ",category:"animals_and_nature"},snowflake:{keywords:["winter","season","cold","weather","christmas","xmas"],char:"โ๏ธ",category:"animals_and_nature"},cloud_with_snow:{keywords:["weather"],char:"๐จ",category:"animals_and_nature"},snowman:{keywords:["winter","season","cold","weather","christmas","xmas","frozen","without_snow"],char:"โ",category:"animals_and_nature"},snowman_with_snow:{keywords:["winter","season","cold","weather","christmas","xmas","frozen"],char:"โ",category:"animals_and_nature"},wind_blowing_face:{keywords:["gust","air"],char:"๐ฌ",category:"animals_and_nature"},dash:{keywords:["wind","air","fast","shoo","fart","smoke","puff"],char:"๐จ",category:"animals_and_nature"},cloud_with_tornado:{keywords:["weather","cyclone","twister"],char:"๐ช",category:"animals_and_nature"},fog:{keywords:["weather"],char:"๐ซ",category:"animals_and_nature"},umbrella_without_rain:{keywords:["weather","spring"],char:"โ",category:"animals_and_nature"},umbrella:{keywords:["rainy","weather","spring"],char:"โ",category:"animals_and_nature"},droplet:{keywords:["water","drip","faucet","spring"],char:"๐ง",category:"animals_and_nature"},sweat_drops:{keywords:["water","drip","oops"],char:"๐ฆ",category:"animals_and_nature"},ocean:{keywords:["sea","water","wave","nature","tsunami","disaster"],char:"๐",category:"animals_and_nature"},green_apple:{keywords:["fruit","nature"],char:"๐",category:"food_and_drink"},apple:{keywords:["fruit","mac","school"],char:"๐",category:"food_and_drink"},pear:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},tangerine:{keywords:["food","fruit","nature","orange"],char:"๐",category:"food_and_drink"},lemon:{keywords:["fruit","nature"],char:"๐",category:"food_and_drink"},banana:{keywords:["fruit","food","monkey"],char:"๐",category:"food_and_drink"},watermelon:{keywords:["fruit","food","picnic","summer"],char:"๐",category:"food_and_drink"},grapes:{keywords:["fruit","food","wine"],char:"๐",category:"food_and_drink"},strawberry:{keywords:["fruit","food","nature"],char:"๐",category:"food_and_drink"},melon:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},cherries:{keywords:["food","fruit"],char:"๐",category:"food_and_drink"},peach:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},pineapple:{keywords:["fruit","nature","food"],char:"๐",category:"food_and_drink"},tomato:{keywords:["fruit","vegetable","nature","food"],char:"๐
",category:"food_and_drink"},eggplant:{keywords:["vegetable","nature","food","aubergine"],char:"๐",category:"food_and_drink"},hot_pepper:{keywords:["food","spicy","chilli","chili"],char:"๐ถ",category:"food_and_drink"},corn:{keywords:["food","vegetable","plant"],char:"๐ฝ",category:"food_and_drink"},sweet_potato:{keywords:["food","nature"],char:"๐ ",category:"food_and_drink"},honey_pot:{keywords:["bees","sweet","kitchen"],char:"๐ฏ",category:"food_and_drink"},bread:{keywords:["food","wheat","breakfast","toast"],char:"๐",category:"food_and_drink"},cheese_wedge:{keywords:["food","chadder"],char:"๐ง",category:"food_and_drink"},poultry_leg:{keywords:["food","meat","drumstick","bird","chicken","turkey"],char:"๐",category:"food_and_drink"},meat_on_bone:{keywords:["good","food","drumstick"],char:"๐",category:"food_and_drink"},fried_shrimp:{keywords:["food","animal","appetizer","summer"],char:"๐ค",category:"food_and_drink"},egg:{keywords:["food","breakfast","kitchen"],char:"๐ณ",category:"food_and_drink"},hamburger:{keywords:["meat","fast food","beef","cheeseburger","mcdonalds","burger king"],char:"๐",category:"food_and_drink"},fries:{keywords:["chips","snack","fast food"],char:"๐",category:"food_and_drink"},hot_dog:{keywords:["food","frankfurter","hotdog"],char:"๐ญ",category:"food_and_drink"},pizza:{keywords:["food","party"],char:"๐",category:"food_and_drink"},spaghetti:{keywords:["food","italian","noodle"],char:"๐",category:"food_and_drink"},taco:{keywords:["food","mexican"],char:"๐ฎ",category:"food_and_drink"},burrito:{keywords:["food","mexican"],char:"๐ฏ",category:"food_and_drink"},ramen:{keywords:["food","japanese","noodle","chopsticks"],char:"๐",category:"food_and_drink"},stew:{keywords:["food","meat","soup"],char:"๐ฒ",category:"food_and_drink"},fish_cake:{keywords:["food","japan","sea","beach"],char:"๐ฅ",category:"food_and_drink"},sushi:{keywords:["food","fish","japanese","rice"],char:"๐ฃ",category:"food_and_drink"},bento:{keywords:["food","japanese","box"],char:"๐ฑ",category:"food_and_drink"},curry:{keywords:["food","spicy","hot","indian"],char:"๐",category:"food_and_drink"},rice_ball:{keywords:["food","japanese"],char:"๐",category:"food_and_drink"},rice:{keywords:["food","china","asian"],char:"๐",category:"food_and_drink"},rice_cracker:{keywords:["food","japanese"],char:"๐",category:"food_and_drink"},oden:{keywords:["food","japanese"],char:"๐ข",category:"food_and_drink"},dango:{keywords:["food","dessert","sweet","japanese","barbecue","meat"],char:"๐ก",category:"food_and_drink"},shaved_ice:{keywords:["hot","dessert","summer"],char:"๐ง",category:"food_and_drink"},ice_cream:{keywords:["food","hot","dessert"],char:"๐จ",category:"food_and_drink"},icecream:{keywords:["food","hot","dessert","summer"],char:"๐ฆ",category:"food_and_drink"},cake:{keywords:["food","dessert"],char:"๐ฐ",category:"food_and_drink"},birthday:{keywords:["food","dessert","cake"],char:"๐",category:"food_and_drink"},custard:{keywords:["dessert","food"],char:"๐ฎ",category:"food_and_drink"},candy:{keywords:["snack","dessert","sweet","lolly"],char:"๐ฌ",category:"food_and_drink"},lollipop:{keywords:["food","snack","candy","sweet"],char:"๐ญ",category:"food_and_drink"},chocolate_bar:{keywords:["food","snack","dessert","sweet"],char:"๐ซ",category:"food_and_drink"},popcorn:{keywords:["food","movie theater","films","snack"],char:"๐ฟ",category:"food_and_drink"},doughnut:{keywords:["food","dessert","snack","sweet","donut"],char:"๐ฉ",category:"food_and_drink"},cookie:{keywords:["food","snack","oreo","chocolate","sweet","dessert"],char:"๐ช",category:"food_and_drink"},beer:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"๐บ",category:"food_and_drink"},beers:{keywords:["relax","beverage","drink","drunk","party","pub","summer","alcohol","booze"],char:"๐ป",category:"food_and_drink"},wine_glass:{keywords:["drink","beverage","drunk","alcohol","booze"],char:"๐ท",category:"food_and_drink"},cocktail:{keywords:["drink","drunk","alcohol","beverage","booze","mojito"],char:"๐ธ",category:"food_and_drink"},tropical_drink:{keywords:["beverage","cocktail","summer","beach","alcohol","booze","mojito"],char:"๐น",category:"food_and_drink"},bottle:{keywords:["drink","wine","champagne"],char:"๐พ",category:"food_and_drink"},sake:{keywords:["wine","drink","drunk","beverage","japanese","alcohol","booze"],char:"๐ถ",category:"food_and_drink"},tea:{keywords:["drink","bowl","breakfast","green","british"],char:"๐ต",category:"food_and_drink"},coffee:{keywords:["beverage","caffeine","latte","espresso"],char:"โ",category:"food_and_drink"},baby_bottle:{keywords:["food","container","milk"],char:"๐ผ",category:"food_and_drink"},fork_and_knife:{keywords:["cutlery","kitchen"],char:"๐ด",category:"food_and_drink"},fork_and_knife_with_plate:{keywords:["food","eat","meal","lunch","dinner","restaurant"],char:"๐ฝ",category:"food_and_drink"},soccer:{keywords:["sports","football"],char:"โฝ",category:"activity"},basketball:{keywords:["sports","balls","NBA"],char:"๐",category:"activity"},football:{keywords:["sports","balls","NFL"],char:"๐",category:"activity"},baseball:{keywords:["sports","balls"],char:"โพ",category:"activity"},tennis:{keywords:["sports","balls","green"],char:"๐พ",category:"activity"},volleyball:{keywords:["sports","balls"],char:"๐",category:"activity"},rugby_football:{keywords:["sports","team"],char:"๐",category:"activity"},"8ball":{keywords:["pool","hobby","game","luck","magic"],char:"๐ฑ",category:"activity"},golf:{keywords:["sports","business","flag","hole","summer"],char:"โณ",category:"activity"},golfer:{keywords:["sports","business"],char:"๐",category:"activity"},table_tennis:{keywords:["sports","pingpong"],char:"๐",category:"activity"},badminton:{keywords:["sports"],char:"๐ธ",category:"activity"},ice_hockey:{keywords:["sports"],char:"๐",category:"activity"},field_hockey:{keywords:["sports"],char:"๐",category:"activity"},cricket:{keywords:["sports"],char:"๐",category:"activity"},ski:{keywords:["sports","winter","cold","snow"],char:"๐ฟ",category:"activity"},skier:{keywords:["sports","winter","snow"],char:"โท",category:"activity"},snowboarder:{keywords:["sports","winter"],char:"๐",category:"activity"},ice_skate:{keywords:["sports"],char:"โธ",category:"activity"},bow_and_arrow:{keywords:["sports"],char:"๐น",category:"activity"},fishing_pole_and_fish:{keywords:["food","hobby","summer"],char:"๐ฃ",category:"activity"},rowboat:{keywords:["sports","hobby","water","ship"],char:"๐ฃ",category:"activity"},swimmer:{keywords:["sports","exercise","human","athlete","water","summer"],char:"๐",category:"activity"},surfer:{keywords:["sports","ocean","sea","summer","beach"],char:"๐",category:"activity"},bath:{keywords:["clean","shower","bathroom"],char:"๐",category:"activity"},person_with_ball:{keywords:["sports","human"],char:"โน",category:"activity"},weight_lifter:{keywords:["sports","training","exercise"],char:"๐",category:"activity"},bicyclist:{keywords:["sports","bike","exercise","hipster"],char:"๐ด",category:"activity"},mountain_bicyclist:{keywords:["transportation","sports","human","race","bike"],char:"๐ต",category:"activity"},horse_racing:{keywords:["animal","betting","competition","gambling","luck"],char:"๐",category:"activity"},man_levitating:{keywords:["suit","business","levitate","hover","jump"],char:"๐ด",category:"activity"},trophy:{keywords:["win","award","contest","place","ftw","ceremony"],char:"๐",category:"activity"},running_shirt_with_sash:{keywords:["play","pageant"],char:"๐ฝ",category:"activity"},sports_medal:{keywords:["award","winning"],char:"๐
",category:"activity"},military_medal:{keywords:["award","winning","army"],char:"๐",category:"activity"},reminder_ribbon:{keywords:["sports","cause","support","awareness"],char:"๐",category:"activity"},rosette:{keywords:["flower","decoration","military"],char:"๐ต",category:"activity"},ticket:{keywords:["event","concert","pass"],char:"๐ซ",category:"activity"},admission_ticket:{keywords:["sports","concert","entrance"],char:"๐",category:"activity"},performing_arts:{keywords:["acting","theater","drama"],char:"๐ญ",category:"activity"},art:{keywords:["design","paint","draw","colors"],char:"๐จ",category:"activity"},circus_tent:{keywords:["festival","carnival","party"],char:"๐ช",category:"activity"},microphone:{keywords:["sound","music","PA"],char:"๐ค",category:"activity"},headphones:{keywords:["music","score","gadgets"],char:"๐ง",category:"activity"},musical_score:{keywords:["treble","clef"],char:"๐ผ",category:"activity"},musical_keyboard:{keywords:["piano","instrument"],char:"๐น",category:"activity"},saxophone:{keywords:["music","instrument","jazz","blues"],char:"๐ท",category:"activity"},trumpet:{keywords:["music","brass"],char:"๐บ",category:"activity"},guitar:{keywords:["music","instrument"],char:"๐ธ",category:"activity"},violin:{keywords:["music","instrument","orchestra","symphony"],char:"๐ป",category:"activity"},clapper:{keywords:["movie","film","record"],char:"๐ฌ",category:"activity"},video_game:{keywords:["play","console","PS4","controller"],char:"๐ฎ",category:"activity"},space_invader:{keywords:["game","arcade","play"],char:"๐พ",category:"activity"},dart:{keywords:["game","play","bar"],char:"๐ฏ",category:"activity"},game_die:{keywords:["dice","random","tabletop","play","luck"],char:"๐ฒ",category:"activity"},slot_machine:{keywords:["bet","gamble","vegas","fruit machine","luck","casino"],char:"๐ฐ",category:"activity"},bowling:{keywords:["sports","fun","play"],char:"๐ณ",category:"activity"},car:{keywords:["red","transportation","vehicle"],char:"๐",category:"travel_and_places"},taxi:{keywords:["uber","vehicle","cars","transportation"],char:"๐",category:"travel_and_places"},blue_car:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bus:{keywords:["car","vehicle","transportation"],char:"๐",category:"travel_and_places"},trolleybus:{keywords:["bart","transportation","vehicle"],char:"๐",category:"travel_and_places"},racing_car:{keywords:["sports","race","fast","formula","f1"],char:"๐",category:"travel_and_places"},police_car:{keywords:["vehicle","cars","transportation","law","legal","enforcement"],char:"๐",category:"travel_and_places"},ambulance:{keywords:["health","911","hospital"],char:"๐",category:"travel_and_places"},fire_engine:{keywords:["transportation","cars","vehicle"],char:"๐",category:"travel_and_places"},minibus:{keywords:["vehicle","car","transportation"],char:"๐",category:"travel_and_places"},truck:{keywords:["cars","transportation"],char:"๐",category:"travel_and_places"},articulated_lorry:{keywords:["vehicle","cars","transportation","express"],char:"๐",category:"travel_and_places"},tractor:{keywords:["vehicle","car","farming","agriculture"],char:"๐",category:"travel_and_places"},racing_motorcycle:{keywords:["race","sports","fast"],char:"๐",category:"travel_and_places"},bike:{keywords:["sports","bicycle","exercise","hipster"],char:"๐ฒ",category:"travel_and_places"},rotating_light:{keywords:["police","ambulance","911","emergency","alert","error","pinged","law","legal"],char:"๐จ",category:"travel_and_places"},oncoming_police_car:{keywords:["vehicle","law","legal","enforcement","911"],char:"๐",category:"travel_and_places"},oncoming_bus:{keywords:["vehicle","transportation"],char:"๐",category:"travel_and_places"},oncoming_automobile:{keywords:["car","vehicle","transportation"],char:"๐",category:"travel_and_places"},oncoming_taxi:{keywords:["vehicle","cars","uber"],char:"๐",category:"travel_and_places"},aerial_tramway:{keywords:["transportation","vehicle","ski"],char:"๐ก",category:"travel_and_places"},mountain_cableway:{keywords:["transportation","vehicle","ski"],char:"๐ ",category:"travel_and_places"},suspension_railway:{keywords:["vehicle","transportation"],char:"๐",category:"travel_and_places"},railway_car:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},train:{keywords:["transportation","vehicle","carriage","public","travel"],char:"๐",category:"travel_and_places"},monorail:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bullettrain_side:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},bullettrain_front:{keywords:["transportation","vehicle","speed","fast","public","travel"],char:"๐
",category:"travel_and_places"},light_rail:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},mountain_railway:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},steam_locomotive:{keywords:["transportation","vehicle","train"],char:"๐",category:"travel_and_places"},train2:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},metro:{keywords:["transportation","blue-square","mrt","underground","tube"],char:"๐",category:"travel_and_places"},tram:{keywords:["transportation","vehicle"],char:"๐",category:"travel_and_places"},station:{keywords:["transportation","vehicle","public"],char:"๐",category:"travel_and_places"},helicopter:{keywords:["transportation","vehicle","fly"],char:"๐",category:"travel_and_places"},small_airplane:{keywords:["flight","transportation","fly","vehicle"],char:"๐ฉ",category:"travel_and_places"},airplane:{keywords:["vehicle","transportation","flight","fly"],char:"โ๏ธ",category:"travel_and_places"},airplane_departure:{keywords:["airport","flight","landing"],char:"๐ซ",category:"travel_and_places"},airplane_arrival:{keywords:["airport","flight","boarding"],char:"๐ฌ",category:"travel_and_places"},boat:{keywords:["ship","summer","transportation","water","sailing","sailboat"],char:"โต",category:"travel_and_places"},motor_boat:{keywords:["ship"],char:"๐ฅ",category:"travel_and_places"},speedboat:{keywords:["ship","transportation","vehicle","summer"],char:"๐ค",category:"travel_and_places"},ferry:{keywords:["boat","ship","yacht"],char:"โด",category:"travel_and_places"},passenger_ship:{keywords:["yacht","cruise","ferry"],char:"๐ณ",category:"travel_and_places"},rocket:{keywords:["launch","ship","staffmode","NASA","outer space","outer_space","fly"],char:"๐",category:"travel_and_places"},artificial_satellite:{keywords:["communication","gps","orbit","spaceflight","NASA","ISS"],char:"๐ฐ",category:"travel_and_places"},seat:{keywords:["sit","airplane","transport","bus","flight","fly"],char:"๐บ",category:"travel_and_places"},anchor:{keywords:["ship","ferry","sea","boat"],char:"โ",category:"travel_and_places"},construction:{keywords:["wip","progress","caution","warning"],char:"๐ง",category:"travel_and_places"},fuelpump:{keywords:["gas station","petroleum"],char:"โฝ",category:"travel_and_places"},busstop:{keywords:["transportation","wait"],char:"๐",category:"travel_and_places"},vertical_traffic_light:{keywords:["transportation","driving"],char:"๐ฆ",category:"travel_and_places"},traffic_light:{keywords:["transportation","signal"],char:"๐ฅ",category:"travel_and_places"},checkered_flag:{keywords:["contest","finishline","race","gokart"],char:"๐",category:"travel_and_places"},ship:{keywords:["transportation","titanic","deploy"],char:"๐ข",category:"travel_and_places"},ferris_wheel:{keywords:["photo","carnival","londoneye"],char:"๐ก",category:"travel_and_places"},roller_coaster:{keywords:["carnival","playground","photo","fun"],char:"๐ข",category:"travel_and_places"},carousel_horse:{keywords:["photo","carnival"],char:"๐ ",category:"travel_and_places"},building_construction:{keywords:["wip","working","progress"],char:"๐",category:"travel_and_places"},foggy:{keywords:["photo","mountain"],char:"๐",category:"travel_and_places"},tokyo_tower:{keywords:["photo","japanese"],char:"๐ผ",category:"travel_and_places"},factory:{keywords:["building","industry","pollution","smoke"],char:"๐ญ",category:"travel_and_places"},fountain:{keywords:["photo","summer","water","fresh"],char:"โฒ",category:"travel_and_places"},rice_scene:{keywords:["photo","japan","asia","tsukimi"],char:"๐",category:"travel_and_places"},mountain:{keywords:["photo","nature","environment"],char:"โฐ",category:"travel_and_places"},snow_capped_mountain:{keywords:["photo","nature","environment","winter","cold"],char:"๐",category:"travel_and_places"},mount_fuji:{keywords:["photo","mountain","nature","japanese"],char:"๐ป",category:"travel_and_places"},volcano:{keywords:["photo","nature","disaster"],char:"๐",category:"travel_and_places"},japan:{keywords:["nation","country","japanese","asia"],char:"๐พ",category:"travel_and_places"},camping:{keywords:["photo","outdoors","tent"],char:"๐",category:"travel_and_places"},tent:{keywords:["photo","camping","outdoors"],char:"โบ",category:"travel_and_places"},national_park:{keywords:["photo","environment","nature"],char:"๐",category:"travel_and_places"},motorway:{keywords:["road","cupertino","interstate","highway"],char:"๐ฃ",category:"travel_and_places"},railway_track:{keywords:["train","transportation"],char:"๐ค",category:"travel_and_places"},sunrise:{keywords:["morning","view","vacation","photo"],char:"๐
",category:"travel_and_places"},sunrise_over_mountains:{keywords:["view","vacation","photo"],char:"๐",category:"travel_and_places"},desert:{keywords:["photo","warm","saharah"],char:"๐",category:"travel_and_places"},beach_with_umbrella:{keywords:["weather","summer","sunny","sand","mojito"],char:"๐",category:"travel_and_places"},desert_island:{keywords:["photo","tropical","mojito"],char:"๐",category:"travel_and_places"},city_sunrise:{keywords:["photo","good morning","dawn"],char:"๐",category:"travel_and_places"},city_sunset:{keywords:["photo","evening","sky","buildings"],char:"๐",category:"travel_and_places"},cityscape:{keywords:["photo","night life","urban"],char:"๐",category:"travel_and_places"},night_with_stars:{keywords:["evening","city","downtown"],char:"๐",category:"travel_and_places"},bridge_at_night:{keywords:["photo","sanfrancisco"],char:"๐",category:"travel_and_places"},milky_way:{keywords:["photo","space","stars"],char:"๐",category:"travel_and_places"},stars:{keywords:["night","photo"],char:"๐ ",category:"travel_and_places"},sparkler:{keywords:["stars","night","shine"],char:"๐",category:"travel_and_places"},fireworks:{keywords:["photo","festival","carnival","congratulations"],char:"๐",category:"travel_and_places"},rainbow:{keywords:["nature","happy","unicorn","photo","sky","spring"],char:"๐",category:"travel_and_places"},buildings:{keywords:["houses","photo"],char:"๐",category:"travel_and_places"},european_castle:{keywords:["building","royalty","history"],char:"๐ฐ",category:"travel_and_places"},japanese_castle:{keywords:["photo","building"],char:"๐ฏ",category:"travel_and_places"},stadium:{keywords:["photo","place","sports","concert","venue"],char:"๐",category:"travel_and_places"},statue_of_liberty:{keywords:["american","newyork"],char:"๐ฝ",category:"travel_and_places"},house:{keywords:["building","home"],char:"๐ ",category:"travel_and_places"},house_with_garden:{keywords:["home","plant","nature"],char:"๐ก",category:"travel_and_places"},derelict_house:{keywords:["abandon","evict","broken","building"],char:"๐",category:"travel_and_places"},office:{keywords:["building","bureau","work"],char:"๐ข",category:"travel_and_places"},department_store:{keywords:["building","shopping","mall"],char:"๐ฌ",category:"travel_and_places"},post_office:{keywords:["building","email","communication"],char:"๐ฃ",category:"travel_and_places"},european_post_office:{keywords:["building","email"],char:"๐ค",category:"travel_and_places"},hospital:{keywords:["building","health","surgery","doctor"],char:"๐ฅ",category:"travel_and_places"},bank:{keywords:["building","money","sales","cash","business","enterprise"],char:"๐ฆ",category:"travel_and_places"},hotel:{keywords:["building","accomodation","checkin"],char:"๐จ",category:"travel_and_places"},convenience_store:{keywords:["building","shopping","groceries"],char:"๐ช",category:"travel_and_places"},school:{keywords:["building","student","education","learn","teach"],char:"๐ซ",category:"travel_and_places"},love_hotel:{keywords:["like","affection","dating"],char:"๐ฉ",category:"travel_and_places"},wedding:{keywords:["love","like","affection","couple","marriage","bride","groom"],char:"๐",category:"travel_and_places"},museum:{keywords:["art","culture","history"],char:"๐",category:"travel_and_places"},church:{keywords:["building","religion","christ"],char:"โช",category:"travel_and_places"},mosque:{keywords:["islam","worship","minaret"],char:"๐",category:"travel_and_places"},synagogue:{keywords:["judaism","worship","temple","jewish"],char:"๐",category:"travel_and_places"},kaaba:{keywords:["mecca","mosque","islam"],char:"๐",category:"travel_and_places"},shinto_shrine:{keywords:["temple","japan","kyoto"],char:"โฉ",category:"travel_and_places"},watch:{keywords:["time","accessories"],char:"โ",category:"objects"},iphone:{keywords:["technology","apple","gadgets","dial"],char:"๐ฑ",category:"objects"},calling:{keywords:["iphone","incoming"],char:"๐ฒ",category:"objects"},computer:{keywords:["technology","laptop","screen","display","monitor"],char:"๐ป",category:"objects"},keyboard:{keywords:["technology","computer","type","input","text"],char:"โจ",category:"objects"},desktop_computer:{keywords:["technology","computing","screen"],char:"๐ฅ",category:"objects"},printer:{keywords:["paper","ink"],char:"๐จ",category:"objects"},three_button_mouse:{keywords:["click"],char:"๐ฑ",category:"objects"},trackball:{keywords:["technology","trackpad"],char:"๐ฒ",category:"objects"},joystick:{keywords:["game","play"],char:"๐น",category:"objects"},compression:{keywords:["tool"],char:"๐",category:"objects"},minidisc:{keywords:["technology","record","data","disk","90s"],char:"๐ฝ",category:"objects"},floppy_disk:{keywords:["oldschool","technology","save","90s","80s"],char:"๐พ",category:"objects"},cd:{keywords:["technology","dvd","disk","disc","90s"],char:"๐ฟ",category:"objects"},dvd:{keywords:["cd","disk","disc"],char:"๐",category:"objects"},vhs:{keywords:["record","video","oldschool","90s","80s"],char:"๐ผ",category:"objects"},camera:{keywords:["gadgets","photography"],char:"๐ท",category:"objects"},camera_with_flash:{keywords:["photography","gadgets"],char:"๐ธ",category:"objects"},video_camera:{keywords:["film","record"],char:"๐น",category:"objects"},movie_camera:{keywords:["film","record"],char:"๐ฅ",category:"objects"},film_projector:{keywords:["video","tape","record","movie"],char:"๐ฝ",category:"objects"},film_frames:{keywords:["movie"],char:"๐",category:"objects"},telephone_receiver:{keywords:["technology","communication","dial"],char:"๐",category:"objects"},phone:{keywords:["technology","communication","dial","telephone"],char:"โ๏ธ",category:"objects"},pager:{keywords:["bbcall","oldschool","90s"],char:"๐",category:"objects"},fax:{keywords:["communication","technology"],char:"๐ ",category:"objects"},tv:{keywords:["technology","program","oldschool","show","television"],char:"๐บ",category:"objects"},radio:{keywords:["communication","music","podcast","program"],char:"๐ป",category:"objects"},studio_microphone:{keywords:["singer","recording","artist"],char:"๐",category:"objects"},level_slider:{keywords:["scale"],char:"๐",category:"objects"},control_knobs:{keywords:["dial"],char:"๐",category:"objects"},stopwatch:{keywords:["time","deadline"],char:"โฑ",category:"objects"},timer_clock:{keywords:["alarm"],char:"โฒ",category:"objects"},alarm_clock:{keywords:["time","wake"],char:"โฐ",category:"objects"},mantelpiece_clock:{keywords:["time"],char:"๐ฐ",category:"objects"},hourglass_flowing_sand:{keywords:["oldschool","time","countdown"],char:"โณ",category:"objects"},hourglass:{keywords:["time","clock","oldschool","limit","exam","quiz","test"],char:"โ",category:"objects"},satellite:{keywords:["communication","future","radio","space"],char:"๐ก",category:"objects"},battery:{keywords:["power","energy","sustain"],char:"๐",category:"objects"},electric_plug:{keywords:["charger","power"],char:"๐",category:"objects"},bulb:{keywords:["light","electricity","idea"],char:"๐ก",category:"objects"},flashlight:{keywords:["dark","camping","sight","night"],char:"๐ฆ",category:"objects"},candle:{keywords:["fire","wax"],char:"๐ฏ",category:"objects"},wastebasket:{keywords:["bin","trash","rubbish","garbage","toss"],char:"๐",category:"objects"},oil_drum:{keywords:["barrell"],char:"๐ข",category:"objects"},money_with_wings:{keywords:["dollar","bills","payment","sale"],char:"๐ธ",category:"objects"},dollar:{keywords:["money","sales","bill","currency"],char:"๐ต",category:"objects"},yen:{keywords:["money","sales","japanese","dollar","currency"],char:"๐ด",category:"objects"},euro:{keywords:["money","sales","dollar","currency"],char:"๐ถ",category:"objects"},pound:{keywords:["british","sterling","money","sales","bills","uk","england","currency"],char:"๐ท",category:"objects"},moneybag:{keywords:["dollar","payment","coins","sale"],char:"๐ฐ",category:"objects"},credit_card:{keywords:["money","sales","dollar","bill","payment","shopping"],char:"๐ณ",category:"objects"},gem:{keywords:["blue","ruby","diamond","jewelry"],char:"๐",category:"objects"},scales:{keywords:["law","fairness","weight"],char:"โ",category:"objects"},wrench:{keywords:["tools","diy","ikea","fix","maintainer"],char:"๐ง",category:"objects"},hammer:{keywords:["tools","build","create"],char:"๐จ",category:"objects"},hammer_and_pick:{keywords:["tools","build","create"],char:"โ",category:"objects"},hammer_and_wrench:{keywords:["tools","build","create"],char:"๐ ",category:"objects"},pick:{keywords:["tools","dig"],char:"โ",category:"objects"},nut_and_bolt:{keywords:["handy","tools","fix"],char:"๐ฉ",category:"objects"},gear:{keywords:["cog"],char:"โ",category:"objects"},chains:{keywords:["lock","arrest"],char:"โ",category:"objects"},gun:{keywords:["violence","weapon","pistol","revolver"],char:"๐ซ",category:"objects"},bomb:{keywords:["boom","explode","explosion","terrorism"],char:"๐ฃ",category:"objects"},hocho:{keywords:["knife","blade","cutlery","kitchen","weapon"],char:"๐ช",category:"objects"},dagger_knife:{keywords:["weapon"],char:"๐ก",category:"objects"},crossed_swords:{keywords:["weapon"],char:"โ",category:"objects"},shield:{keywords:["protection","security"],char:"๐ก",category:"objects"},smoking:{keywords:["kills","tobacco","cigarette","joint","smoke"],char:"๐ฌ",category:"objects"},skull_and_crossbones:{keywords:["poison","danger","deadly","scary"],char:"โ ",category:"objects"},coffin:{keywords:["vampire","dead","die","death","rip","graveyard","cemetery"],char:"โฐ",category:"objects"},funeral_urn:{keywords:["dead","die","death","rip","ashes"],char:"โฑ",category:"objects"},amphora:{keywords:["vase","jar"],char:"๐บ",category:"objects"},crystal_ball:{keywords:["disco","party","magic","circus","fortune_teller"],char:"๐ฎ",category:"objects"},prayer_beads:{keywords:["dhikr","religious"],char:"๐ฟ",category:"objects"},barber:{keywords:["hair","salon","style"],char:"๐",category:"objects"},alembic:{keywords:["distilling","science","experiment"],char:"โ",category:"objects"},telescope:{keywords:["stars","space","zoom"],char:"๐ญ",category:"objects"},microscope:{keywords:["laboratory","experiment","zoomin","science","study"],char:"๐ฌ",category:"objects"},hole:{keywords:["embarrassing"],char:"๐ณ",category:"objects"},pill:{keywords:["health","medicine","doctor","pharmacy","drug"],char:"๐",category:"objects"},syringe:{keywords:["health","hospital","drugs","blood","medicine","needle","doctor","nurse"],char:"๐",category:"objects"},thermometer:{keywords:["weather","temperature","hot","cold"],char:"๐ก",category:"objects"},label:{keywords:["sale","tag"],char:"๐ท",category:"objects"},bookmark:{keywords:["favorite","label","save"],char:"๐",category:"objects"},toilet:{keywords:["restroom","wc","washroom","bathroom","potty"],char:"๐ฝ",category:"objects"},shower:{keywords:["clean","water","bathroom"],char:"๐ฟ",category:"objects"},bathtub:{keywords:["clean","shower","bathroom"],char:"๐",category:"objects"},key:{keywords:["lock","door","password"],char:"๐",category:"objects"},old_key:{keywords:["lock","door","password"],char:"๐",category:"objects"},couch_and_lamp:{keywords:["read","chill"],char:"๐",category:"objects"},sleeping_accommodation:{keywords:["bed","rest"],char:"๐",category:"objects"},bed:{keywords:["sleep","rest"],char:"๐",category:"objects"},door:{keywords:["house","entry","exit"],char:"๐ช",category:"objects"},bellhop_bell:{keywords:["service"],char:"๐",category:"objects"},frame_with_picture:{keywords:["photography"],char:"๐ผ",category:"objects"},world_map:{keywords:["location","direction"],char:"๐บ",category:"objects"},umbrella_on_ground:{keywords:["weather","summer"],char:"โฑ",category:"objects"},moyai:{keywords:["rock","easter island","moai"],char:"๐ฟ",category:"objects"},shopping_bags:{keywords:["mall","buy","purchase"],char:"๐",category:"objects"},balloon:{keywords:["party","celebration","birthday","circus"],char:"๐",category:"objects"},flags:{keywords:["fish","japanese","koinobori","carp","banner"],char:"๐",category:"objects"},ribbon:{keywords:["decoration","pink","girl","bowtie"],char:"๐",category:"objects"},gift:{keywords:["present","birthday","christmas","xmas"],char:"๐",category:"objects"},confetti_ball:{keywords:["festival","party","birthday","circus"],char:"๐",category:"objects"},tada:{keywords:["party","contulations","birthday","magic","circus"],char:"๐",category:"objects"},dolls:{keywords:["japanese","toy","kimono"],char:"๐",category:"objects"},wind_chime:{keywords:["nature","ding","spring","bell"],char:"๐",category:"objects"},crossed_flags:{keywords:["japanese","nation","country","border"],char:"๐",category:"objects"},izakaya_lantern:{keywords:["light","paper","halloween","spooky"],char:"๐ฎ",category:"objects"},envelope:{keywords:["letter","postal","inbox","communication"],char:"โ๏ธ",category:"objects"},envelope_with_arrow:{keywords:["email","communication"],char:"๐ฉ",category:"objects"},incoming_envelope:{keywords:["email","inbox"],char:"๐จ",category:"objects"},email:{keywords:["communication","inbox"],char:"๐ง",category:"objects"},love_letter:{keywords:["email","like","affection","envelope","valentines"],char:"๐",category:"objects"},postbox:{keywords:["email","letter","envelope"],char:"๐ฎ",category:"objects"},mailbox_closed:{keywords:["email","communication","inbox"],char:"๐ช",category:"objects"},mailbox:{keywords:["email","inbox","communication"],char:"๐ซ",category:"objects"},mailbox_with_mail:{keywords:["email","inbox","communication"],char:"๐ฌ",category:"objects"},mailbox_with_no_mail:{keywords:["email","inbox"],char:"๐ญ",category:"objects"},package:{keywords:["mail","gift","cardboard","box","moving"],char:"๐ฆ",category:"objects"},postal_horn:{keywords:["instrument","music"],char:"๐ฏ",category:"objects"},inbox_tray:{keywords:["email","documents"],char:"๐ฅ",category:"objects"},outbox_tray:{keywords:["inbox","email"],char:"๐ค",category:"objects"},scroll:{keywords:["documents","ancient","history","paper"],char:"๐",category:"objects"},page_with_curl:{keywords:["documents","office","paper"],char:"๐",category:"objects"},bookmark_tabs:{keywords:["favorite","save","order","tidy"],char:"๐",category:"objects"},bar_chart:{keywords:["graph","presentation","stats"],char:"๐",category:"objects"},chart_with_upwards_trend:{keywords:["graph","presentation","stats","recovery","business","economics","money","sales","good","success"],char:"๐",category:"objects"},chart_with_downwards_trend:{keywords:["graph","presentation","stats","recession","business","economics","money","sales","bad","failure"],char:"๐",category:"objects"},page_facing_up:{keywords:["documents","office","paper","information"],char:"๐",category:"objects"},date:{keywords:["calendar","schedule"],char:"๐
",category:"objects"},calendar:{keywords:["schedule","date","planning"],char:"๐",category:"objects"},spiral_calendar_pad:{keywords:["date","schedule","planning"],char:"๐",category:"objects"},card_index:{keywords:["business","stationery"],char:"๐",category:"objects"},card_file_box:{keywords:["business","stationery"],char:"๐",category:"objects"},ballot_box_with_ballot:{keywords:["election","vote"],char:"๐ณ",category:"objects"},file_cabinet:{keywords:["filing","organizing"],char:"๐",category:"objects"},clipboard:{keywords:["stationery","documents"],char:"๐",category:"objects"},spiral_note_pad:{keywords:["memo","stationery"],char:"๐",category:"objects"},file_folder:{keywords:["documents","business","office"],char:"๐",category:"objects"},open_file_folder:{keywords:["documents","load"],char:"๐",category:"objects"},card_index_dividers:{keywords:["organizing","business","stationery"],char:"๐",category:"objects"},rolled_up_newspaper:{keywords:["press","headline"],char:"๐",category:"objects"},newspaper:{keywords:["press","headline"],char:"๐ฐ",category:"objects"},notebook:{keywords:["stationery","record","notes","paper","study"],char:"๐",category:"objects"},closed_book:{keywords:["read","library","knowledge","textbook","learn"],char:"๐",category:"objects"},green_book:{keywords:["read","library","knowledge","study"],char:"๐",category:"objects"},blue_book:{keywords:["read","library","knowledge","learn","study"],char:"๐",category:"objects"},orange_book:{keywords:["read","library","knowledge","textbook","study"],char:"๐",category:"objects"},notebook_with_decorative_cover:{keywords:["classroom","notes","record","paper","study"],char:"๐",category:"objects"},ledger:{keywords:["notes","paper"],char:"๐",category:"objects"},books:{keywords:["literature","library","study"],char:"๐",category:"objects"},book:{keywords:["open_book","read","library","knowledge","literature","learn","study"],char:"๐",category:"objects"},link:{keywords:["rings","url"],char:"๐",category:"objects"},paperclip:{keywords:["documents","stationery"],char:"๐",category:"objects"},linked_paperclips:{keywords:["documents","stationery"],char:"๐",category:"objects"},scissors:{keywords:["stationery","cut"],char:"โ๏ธ",category:"objects"},triangular_ruler:{keywords:["stationery","math","architect","sketch"],char:"๐",category:"objects"},straight_ruler:{keywords:["stationery","calculate","length","math","school","drawing","architect","sketch"],char:"๐",category:"objects"},pushpin:{keywords:["stationery","mark","here"],char:"๐",category:"objects"},round_pushpin:{keywords:["stationery","location","map","here"],char:"๐",category:"objects"},triangular_flag_on_post:{keywords:["mark","milestone","place"],char:"๐ฉ",category:"objects"},waving_white_flag:{keywords:["losing","loser","lost","surrender","give up","fail"],char:"๐ณ",category:"objects"},waving_black_flag:{keywords:["pirate"],char:"๐ด",category:"objects"},closed_lock_with_key:{keywords:["security","privacy"],char:"๐",category:"objects"},lock:{keywords:["security","password","padlock"],char:"๐",category:"objects"},unlock:{keywords:["privacy","security"],char:"๐",category:"objects"},lock_with_ink_pen:{keywords:["security","secret"],char:"๐",category:"objects"},lower_left_ballpoint_pen:{keywords:["stationery","writing","write"],char:"๐",category:"objects"},lower_left_fountain_pen:{keywords:["stationery","writing","write"],char:"๐",category:"objects"},black_nib:{keywords:["pen","stationery","writing","write"],char:"โ๏ธ",category:"objects"},memo:{keywords:["write","documents","stationery","pencil","paper","writing","legal","exam","quiz","test","study"],char:"๐",category:"objects"},pencil2:{keywords:["stationery","write","paper","writing","school","study"],char:"โ๏ธ",category:"objects"},lower_left_crayon:{keywords:["drawing","creativity"],char:"๐",category:"objects"},lower_left_paintbrush:{keywords:["drawing","creativity","art"],char:"๐",category:"objects"},mag:{keywords:["search","zoom","find","detective"],char:"๐",category:"objects"},mag_right:{keywords:["search","zoom","find","detective"],char:"๐",category:"objects"},heart:{keywords:["love","like","valentines"],char:"โค๏ธ",category:"symbols"},yellow_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},green_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},blue_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},purple_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},broken_heart:{keywords:["sad","sorry","break","heart","heartbreak"],char:"๐",category:"symbols"},heavy_heart_exclamation_mark_ornament:{keywords:["decoration","love"],char:"โฃ",category:"symbols"},two_hearts:{keywords:["love","like","affection","valentines","heart"],char:"๐",category:"symbols"},revolving_hearts:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},heartbeat:{keywords:["love","like","affection","valentines","pink","heart"],char:"๐",category:"symbols"},heartpulse:{keywords:["like","love","affection","valentines","pink"],char:"๐",category:"symbols"},sparkling_heart:{keywords:["love","like","affection","valentines"],char:"๐",category:"symbols"},cupid:{keywords:["love","like","heart","affection","valentines"],char:"๐",category:"symbols"},gift_heart:{keywords:["love","valentines"],char:"๐",category:"symbols"},heart_decoration:{keywords:["purple-square","love","like"],char:"๐",category:"symbols"},peace_symbol:{keywords:["hippie"],char:"โฎ",category:"symbols"},latin_cross:{keywords:["christianity"],char:"โ",category:"symbols"},star_and_crescent:{keywords:["islam"],char:"โช",category:"symbols"},om_symbol:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"๐",category:"symbols"},wheel_of_dharma:{keywords:["hinduism","buddhism","sikhism","jainism"],char:"โธ",category:"symbols"},star_of_david:{keywords:["judaism"],char:"โก",category:"symbols"},six_pointed_star:{keywords:["purple-square","religion","jewish","hexagram"],char:"๐ฏ",category:"symbols"},menorah_with_nine_branches:{keywords:["hanukkah","candles","jewish"],char:"๐",category:"symbols"},yin_yang:{keywords:["balance"],char:"โฏ",category:"symbols"},orthodox_cross:{keywords:["suppedaneum","religion"],char:"โฆ",category:"symbols"},place_of_worship:{keywords:["religion","church","temple","prayer"],char:"๐",category:"symbols"},ophiuchus:{keywords:["sign","purple-square","constellation","astrology"],char:"โ",category:"symbols"},aries:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},taurus:{keywords:["purple-square","sign","zodiac","astrology"],char:"โ",category:"symbols"},gemini:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},cancer:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},leo:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},virgo:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},libra:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},scorpius:{keywords:["sign","zodiac","purple-square","astrology","scorpio"],char:"โ",category:"symbols"},sagittarius:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},capricorn:{keywords:["sign","zodiac","purple-square","astrology"],char:"โ",category:"symbols"},aquarius:{keywords:["sign","purple-square","zodiac","astrology"],char:"โ",category:"symbols"},pisces:{keywords:["purple-square","sign","zodiac","astrology"],char:"โ",category:"symbols"},id:{keywords:["purple-square","words"],char:"๐",category:"symbols"},atom_symbol:{keywords:["science"],char:"โ",category:"symbols"},u7a7a:{keywords:["kanji","japanese","chinese","empty","sky","blue-square"],char:"๐ณ",category:"symbols"},u5272:{keywords:["cut","divide","chinese","kanji","pink-square"],char:"๐น",category:"symbols"},radioactive_sign:{keywords:["nuclear","danger"],char:"โข",category:"symbols"},biohazard_sign:{keywords:["danger"],char:"โฃ",category:"symbols"},mobile_phone_off:{keywords:["mute","orange-square","silence","quiet"],char:"๐ด",category:"symbols"},vibration_mode:{keywords:["orange-square","phone"],char:"๐ณ",category:"symbols"},u6709:{keywords:["orange-square","chinese","have","kanji"],char:"๐ถ",category:"symbols"},u7121:{keywords:["nothing","chinese","kanji","japanese","orange-square"],char:"๐",category:"symbols"},u7533:{keywords:["chinese","japanese","kanji","orange-square"],char:"๐ธ",category:"symbols"},u55b6:{keywords:["japanese","opening hours","orange-square"],char:"๐บ",category:"symbols"},u6708:{keywords:["chinese","month","moon","japanese","orange-square","kanji"],char:"๐ท๏ธ",category:"symbols"},eight_pointed_black_star:{keywords:["orange-square","shape","polygon"],char:"โด๏ธ",category:"symbols"},vs:{keywords:["words","orange-square"],char:"๐",category:"symbols"},accept:{keywords:["ok","good","chinese","kanji","agree","yes","orange-circle"],char:"๐",category:"symbols"},white_flower:{keywords:["japanese","spring"],char:"๐ฎ",category:"symbols"},ideograph_advantage:{keywords:["chinese","kanji","obtain","get","circle"],char:"๐",category:"symbols"},secret:{keywords:["privacy","chinese","sshh","kanji","red-circle"],char:"ใ๏ธ",category:"symbols"},congratulations:{keywords:["chinese","kanji","japanese","red-circle"],char:"ใ๏ธ",category:"symbols"},u5408:{keywords:["japanese","chinese","join","kanji","red-square"],char:"๐ด",category:"symbols"},u6e80:{keywords:["full","chinese","japanese","red-square","kanji"],char:"๐ต",category:"symbols"},u7981:{keywords:["kanji","japanese","chinese","forbidden","limit","restricted","red-square"],char:"๐ฒ",category:"symbols"},a:{keywords:["red-square","alphabet","letter"],char:"๐
ฐ๏ธ",category:"symbols"},b:{keywords:["red-square","alphabet","letter"],char:"๐
ฑ๏ธ",category:"symbols"},ab:{keywords:["red-square","alphabet"],char:"๐",category:"symbols"},cl:{keywords:["alphabet","words","red-square"],char:"๐",category:"symbols"},o2:{keywords:["alphabet","red-square","letter"],char:"๐
พ๏ธ",category:"symbols"},sos:{keywords:["help","red-square","words","emergency","911"],char:"๐",category:"symbols"},no_entry:{keywords:["limit","security","privacy","bad","denied","stop","circle"],char:"โ",category:"symbols"},name_badge:{keywords:["fire","forbid"],char:"๐",category:"symbols"},no_entry_sign:{keywords:["forbid","stop","limit","denied","disallow","circle"],char:"๐ซ",category:"symbols"},x:{keywords:["no","delete","remove","cancel"],char:"โ",category:"symbols"},o:{keywords:["circle","round"],char:"โญ",category:"symbols"},anger:{keywords:["angry","mad"],char:"๐ข",category:"symbols"},hotsprings:{keywords:["bath","warm","relax"],char:"โจ๏ธ",category:"symbols"},no_pedestrians:{keywords:["rules","crossing","walking","circle"],char:"๐ท",category:"symbols"},do_not_litter:{keywords:["trash","bin","garbage","circle"],char:"๐ฏ",category:"symbols"},no_bicycles:{keywords:["cyclist","prohibited","circle"],char:"๐ณ",category:"symbols"},"non-potable_water":{keywords:["drink","faucet","tap","circle"],char:"๐ฑ",category:"symbols"},underage:{keywords:["18","drink","pub","night","minor","circle"],char:"๐",category:"symbols"},no_mobile_phones:{keywords:["iphone","mute","circle"],char:"๐ต",category:"symbols"},exclamation:{keywords:["heavy_exclamation_mark","danger","surprise","punctuation","wow","warning"],char:"โ",category:"symbols"},grey_exclamation:{keywords:["surprise","punctuation","gray","wow","warning"],char:"โ",category:"symbols"},question:{keywords:["doubt","confused"],char:"โ",category:"symbols"},grey_question:{keywords:["doubts","gray","huh","confused"],char:"โ",category:"symbols"},bangbang:{keywords:["exclamation","surprise"],char:"โผ๏ธ",category:"symbols"},interrobang:{keywords:["wat","punctuation","surprise"],char:"โ๏ธ",category:"symbols"},100:{keywords:["score","perfect","numbers","century","exam","quiz","test","pass","hundred"],char:"๐ฏ",category:"symbols"},low_brightness:{keywords:["sun","afternoon","warm","summer"],char:"๐
",category:"symbols"},high_brightness:{keywords:["sun","light"],char:"๐",category:"symbols"},trident:{keywords:["weapon","spear"],char:"๐ฑ",category:"symbols"},fleur_de_lis:{keywords:["decorative","scout"],char:"โ",category:"symbols"},part_alternation_mark:{keywords:["graph","presentation","stats","business","economics","bad"],char:"ใฝ๏ธ",category:"symbols"},warning:{keywords:["exclamation","wip","alert","error","problem","issue"],char:"โ ๏ธ",category:"symbols"},children_crossing:{keywords:["school","warning","danger","sign","driving","yellow-diamond"],char:"๐ธ",category:"symbols"},beginner:{keywords:["badge","shield"],char:"๐ฐ",category:"symbols"},recycle:{keywords:["arrow","environment","garbage","trash"],char:"โป๏ธ",category:"symbols"},u6307:{keywords:["chinese","point","green-square","kanji"],char:"๐ฏ",category:"symbols"},chart:{keywords:["green-square","graph","presentation","stats"],char:"๐น",category:"symbols"},sparkle:{keywords:["stars","green-square","awesome","good","fireworks"],char:"โ๏ธ",category:"symbols"},eight_spoked_asterisk:{keywords:["star","sparkle","green-square"],char:"โณ๏ธ",category:"symbols"},negative_squared_cross_mark:{keywords:["x","green-square","no","deny"],char:"โ",category:"symbols"},white_check_mark:{keywords:["green-square","ok","agree","vote","election","answer"],char:"โ
",category:"symbols"},diamond_shape_with_a_dot_inside:{keywords:["jewel","blue","gem","crystal","fancy"],char:"๐ ",category:"symbols"},cyclone:{keywords:["weather","swirl","blue","cloud","vortex","spiral","whirlpool","spin"],char:"๐",category:"symbols"},loop:{keywords:["tape","cassette"],char:"โฟ",category:"symbols"},globe_with_meridians:{keywords:["earth","international","world","internet","interweb","i18n"],char:"๐",category:"symbols"},m:{keywords:["alphabet","blue-circle","letter"],char:"โ๏ธ",category:"symbols"},atm:{keywords:["money","sales","cash","blue-square","payment","bank"],char:"๐ง",category:"symbols"},sa:{keywords:["japanese","blue-square","katakana"],char:"๐๏ธ",category:"symbols"},passport_control:{keywords:["custom","blue-square"],char:"๐",category:"symbols"},customs:{keywords:["passport","border","blue-square"],char:"๐",category:"symbols"},baggage_claim:{keywords:["blue-square","airport","transport"],char:"๐",category:"symbols"},left_luggage:{keywords:["blue-square","travel"],char:"๐
",category:"symbols"},wheelchair:{keywords:["blue-square","disabled","a11y","accessibility"],char:"โฟ",category:"symbols"},no_smoking:{keywords:["cigarette","blue-square","smell","smoke"],char:"๐ญ",category:"symbols"},wc:{keywords:["toilet","restroom","blue-square"],char:"๐พ",category:"symbols"},parking:{keywords:["cars","blue-square","alphabet","letter"],char:"๐
ฟ๏ธ",category:"symbols"},potable_water:{keywords:["blue-square","liquid","restroom","cleaning","faucet"],char:"๐ฐ",category:"symbols"},mens:{keywords:["toilet","restroom","wc","blue-square","gender","male"],char:"๐น",category:"symbols"},womens:{keywords:["purple-square","woman","female","toilet","loo","restroom","gender"],char:"๐บ",category:"symbols"},baby_symbol:{keywords:["orange-square","child"],char:"๐ผ",category:"symbols"},restroom:{keywords:["blue-square","toilet","refresh","wc","gender"],char:"๐ป",category:"symbols"},put_litter_in_its_place:{keywords:["blue-square","sign","human","info"],char:"๐ฎ",category:"symbols"},cinema:{keywords:["blue-square","record","film","movie","curtain","stage","theater"],char:"๐ฆ",category:"symbols"},signal_strength:{keywords:["blue-square","reception","phone","internet","connection","wifi","bluetooth","bars"],char:"๐ถ",category:"symbols"},koko:{keywords:["blue-square","here","katakana","japanese","destination"],char:"๐",category:"symbols"},ng:{keywords:["blue-square","words","shape","icon"],char:"๐",category:"symbols"},ok:{keywords:["good","agree","yes","blue-square"],char:"๐",category:"symbols"},up:{keywords:["blue-square","above","high"],char:"๐",category:"symbols"},cool:{keywords:["words","blue-square"],char:"๐",category:"symbols"},new:{keywords:["blue-square","words","start"],char:"๐",category:"symbols"},free:{keywords:["blue-square","words"],char:"๐",category:"symbols"},zero:{keywords:["0","numbers","blue-square","null"],char:"0๏ธโฃ",category:"symbols"},one:{keywords:["blue-square","numbers","1"],char:"1๏ธโฃ",category:"symbols"},two:{keywords:["numbers","2","prime","blue-square"],char:"2๏ธโฃ",category:"symbols"},three:{keywords:["3","numbers","prime","blue-square"],char:"3๏ธโฃ",category:"symbols"},four:{keywords:["4","numbers","blue-square"],char:"4๏ธโฃ",category:"symbols"},five:{keywords:["5","numbers","blue-square","prime"],char:"5๏ธโฃ",category:"symbols"},six:{keywords:["6","numbers","blue-square"],char:"6๏ธโฃ",category:"symbols"},seven:{keywords:["7","numbers","blue-square","prime"],char:"7๏ธโฃ",category:"symbols"},eight:{keywords:["8","blue-square","numbers"],char:"8๏ธโฃ",category:"symbols"},nine:{keywords:["blue-square","numbers","9"],char:"9๏ธโฃ",category:"symbols"},keycap_ten:{keywords:["numbers","10","blue-square"],char:"๐",category:"symbols"},keycap_star:{keywords:["asterisk"],char:"*โฃ",category:"symbols"},1234:{keywords:["numbers","blue-square"],char:"๐ข",category:"symbols"},arrow_forward:{keywords:["blue-square","right","direction","play"],char:"โถ๏ธ",category:"symbols"},double_vertical_bar:{keywords:["pause","blue-square"],char:"โธ",category:"symbols"},black_right_pointing_triangle_with_double_vertical_bar:{keywords:["forward","next","blue-square"],char:"โญ",category:"symbols"},black_square_for_stop:{keywords:["blue-square"],char:"โน",category:"symbols"},black_circle_for_record:{keywords:["blue-square"],char:"โบ",category:"symbols"},black_right_pointing_double_triangle_with_vertical_bar:{keywords:["blue-square","play","pause"],char:"โฏ",category:"symbols"},black_left_pointing_double_triangle_with_vertical_bar:{keywords:["backward"],char:"โฎ",category:"symbols"},fast_forward:{keywords:["blue-square","play","speed","continue"],char:"โฉ",category:"symbols"},rewind:{keywords:["play","blue-square"],char:"โช",category:"symbols"},twisted_rightwards_arrows:{keywords:["blue-square","shuffle","music","random"],char:"๐",category:"symbols"},repeat:{keywords:["loop","record"],char:"๐",category:"symbols"},repeat_one:{keywords:["blue-square","loop"],char:"๐",category:"symbols"},arrow_backward:{keywords:["blue-square","left","direction"],char:"โ๏ธ",category:"symbols"},arrow_up_small:{keywords:["blue-square","triangle","direction","point","forward","top"],char:"๐ผ",category:"symbols"},arrow_down_small:{keywords:["blue-square","direction","bottom"],char:"๐ฝ",category:"symbols"},arrow_double_up:{keywords:["blue-square","direction","top"],char:"โซ",category:"symbols"},arrow_double_down:{keywords:["blue-square","direction","bottom"],char:"โฌ",category:"symbols"},arrow_right:{keywords:["blue-square","next"],char:"โก๏ธ",category:"symbols"},arrow_left:{keywords:["blue-square","previous","back"],char:"โฌ
๏ธ",category:"symbols"},arrow_up:{keywords:["blue-square","continue","top","direction"],char:"โฌ๏ธ",category:"symbols"},arrow_down:{keywords:["blue-square","direction","bottom"],char:"โฌ๏ธ",category:"symbols"},arrow_upper_right:{keywords:["blue-square","point","direction","diagonal","northeast"],char:"โ๏ธ",category:"symbols"},arrow_lower_right:{keywords:["blue-square","direction","diagonal","southeast"],char:"โ๏ธ",category:"symbols"},arrow_lower_left:{keywords:["blue-square","direction","diagonal","southwest"],char:"โ๏ธ",category:"symbols"},arrow_upper_left:{keywords:["blue-square","point","direction","diagonal","northwest"],char:"โ๏ธ",category:"symbols"},arrow_up_down:{keywords:["blue-square","direction","way","vertical"],char:"โ๏ธ",category:"symbols"},left_right_arrow:{keywords:["shape","direction","horizontal","sideways"],char:"โ๏ธ",category:"symbols"},arrows_counterclockwise:{keywords:["blue-square","sync","cycle"],char:"๐",category:"symbols"},arrow_right_hook:{keywords:["blue-square","return","rotate","direction"],char:"โช๏ธ",category:"symbols"},leftwards_arrow_with_hook:{keywords:["back","return","blue-square","undo","enter"],char:"โฉ๏ธ",category:"symbols"},arrow_heading_up:{keywords:["blue-square","direction","top"],char:"โคด๏ธ",category:"symbols"},arrow_heading_down:{keywords:["blue-square","direction","bottom"],char:"โคต๏ธ",category:"symbols"},hash:{keywords:["symbol","blue-square","twitter"],char:"#๏ธโฃ",category:"symbols"},information_source:{keywords:["blue-square","alphabet","letter"],char:"โน๏ธ",category:"symbols"},abc:{keywords:["blue-square","alphabet"],char:"๐ค",category:"symbols"},abcd:{keywords:["blue-square","alphabet"],char:"๐ก",category:"symbols"},capital_abcd:{keywords:["alphabet","words","blue-square"],char:"๐ ",category:"symbols"},symbols:{keywords:["blue-square","music","note","ampersand","percent","glyphs","characters"],char:"๐ฃ",category:"symbols"},musical_note:{keywords:["score","tone","sound"],char:"๐ต",category:"symbols"},notes:{keywords:["music","score"],char:"๐ถ",category:"symbols"},wavy_dash:{keywords:["draw","line","moustache","mustache","squiggle","scribble"],char:"ใฐ๏ธ",category:"symbols"},curly_loop:{keywords:["scribble","draw","shape","squiggle"],char:"โฐ",category:"symbols"},heavy_check_mark:{keywords:["ok","nike","answer","yes","tick"],char:"โ๏ธ",category:"symbols"},arrows_clockwise:{keywords:["sync","cycle","round","repeat"],char:"๐",category:"symbols"},heavy_plus_sign:{keywords:["math","calculation","addition","more","increase"],char:"โ",category:"symbols"},heavy_minus_sign:{keywords:["math","calculation","subtract","less"],char:"โ",category:"symbols"},heavy_division_sign:{keywords:["divide","math","calculation"],char:"โ",category:"symbols"},heavy_multiplication_x:{keywords:["math","calculation"],char:"โ๏ธ",category:"symbols"},heavy_dollar_sign:{keywords:["money","sales","payment","currency","buck"],char:"๐ฒ",category:"symbols"},currency_exchange:{keywords:["money","sales","dollar","travel"],char:"๐ฑ",category:"symbols"},copyright:{keywords:["ip","license","circle","law","legal"],char:"ยฉ๏ธ",category:"symbols"},registered:{keywords:["alphabet","circle"],char:"ยฎ๏ธ",category:"symbols"},tm:{keywords:["trademark","brand","law","legal"],char:"โข๏ธ",category:"symbols"},end:{keywords:["words","arrow"],char:"๐",category:"symbols"},back:{keywords:["arrow","words","return"],char:"๐",category:"symbols"},on:{keywords:["arrow","words"],char:"๐",category:"symbols"},top:{keywords:["words","blue-square"],char:"๐",category:"symbols"},soon:{keywords:["arrow","words"],char:"๐",category:"symbols"},ballot_box_with_check:{keywords:["ok","agree","confirm","black-square","vote","election","yes"],char:"โ๏ธ",category:"symbols"},radio_button:{keywords:["input","old","music","circle"],char:"๐",category:"symbols"},white_circle:{keywords:["shape","round"],char:"โช",category:"symbols"},black_circle:{keywords:["shape","button","round"],char:"โซ",category:"symbols"},red_circle:{keywords:["shape","error","danger"],char:"๐ด",category:"symbols"},large_blue_circle:{keywords:["shape","icon","button"],char:"๐ต",category:"symbols"},small_orange_diamond:{keywords:["shape","jewel","gem"],char:"๐ธ",category:"symbols"},small_blue_diamond:{keywords:["shape","jewel","gem"],char:"๐น",category:"symbols"},large_orange_diamond:{keywords:["shape","jewel","gem"],char:"๐ถ",category:"symbols"},large_blue_diamond:{keywords:["shape","jewel","gem"],char:"๐ท",category:"symbols"},small_red_triangle:{keywords:["shape","direction","up","top"],char:"๐บ",category:"symbols"},black_small_square:{keywords:["shape","icon"],char:"โช๏ธ",category:"symbols"},white_small_square:{keywords:["shape","icon"],char:"โซ๏ธ",category:"symbols"},black_large_square:{keywords:["shape","icon","button"],char:"โฌ",category:"symbols"},white_large_square:{keywords:["shape","icon","stone","button"],char:"โฌ",category:"symbols"},small_red_triangle_down:{keywords:["shape","direction","bottom"],char:"๐ป",category:"symbols"},black_medium_square:{keywords:["shape","button","icon"],char:"โผ๏ธ",category:"symbols"},white_medium_square:{keywords:["shape","stone","icon"],char:"โป๏ธ",category:"symbols"},black_medium_small_square:{keywords:["icon","shape","button"],char:"โพ",category:"symbols"},white_medium_small_square:{keywords:["shape","stone","icon","button"],char:"โฝ",category:"symbols"},black_square_button:{keywords:["shape","input","frame"],char:"๐ฒ",category:"symbols"},white_square_button:{keywords:["shape","input"],char:"๐ณ",category:"symbols"},speaker:{keywords:["sound","volume","silence","broadcast"],char:"๐",category:"symbols"},sound:{keywords:["volume","speaker","broadcast"],char:"๐",category:"symbols"},loud_sound:{keywords:["volume","noise","noisy","speaker","broadcast"],char:"๐",category:"symbols"},mute:{keywords:["sound","volume","silence","quiet"],char:"๐",category:"symbols"},mega:{keywords:["sound","speaker","volume"],char:"๐ฃ",category:"symbols"},loudspeaker:{keywords:["volume","sound"],char:"๐ข",category:"symbols"},bell:{keywords:["sound","notification","christmas","xmas","chime"],char:"๐",category:"symbols"},no_bell:{keywords:["sound","volume","mute","quiet","silent"],char:"๐",category:"symbols"},black_joker:{keywords:["poker","cards","game","play","magic"],char:"๐",category:"symbols"},mahjong:{keywords:["game","play","chinese","kanji"],char:"๐",category:"symbols"},spades:{keywords:["poker","cards","suits","magic"],char:"โ ๏ธ",category:"symbols"},clubs:{keywords:["poker","cards","magic","suits"],char:"โฃ๏ธ",category:"symbols"},hearts:{keywords:["poker","cards","magic","suits"],char:"โฅ๏ธ",category:"symbols"},diamonds:{keywords:["poker","cards","magic","suits"],char:"โฆ๏ธ",category:"symbols"},flower_playing_cards:{keywords:["game","sunset","red"],char:"๐ด",category:"symbols"},thought_balloon:{keywords:["bubble","cloud","speech","thinking"],char:"๐ญ",category:"symbols"},right_anger_bubble:{keywords:["caption","speech","thinking","mad"],char:"๐ฏ",category:"symbols"},speech_balloon:{keywords:["bubble","words","message","talk","chatting"],char:"๐ฌ",category:"symbols"},left_speech_bubble:{keywords:["words","message","talk","chatting"],char:"๐จ",category:"symbols"},clock1:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock2:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock3:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock4:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock5:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock6:{keywords:["time","late","early","schedule","dawn","dusk"],char:"๐",category:"symbols"},clock7:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock8:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock9:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock10:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock11:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock12:{keywords:["time","noon","midnight","midday","late","early","schedule"],char:"๐",category:"symbols"},clock130:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock230:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock330:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock430:{keywords:["time","late","early","schedule"],char:"๐",category:"symbols"},clock530:{keywords:["time","late","early","schedule"],char:"๐ ",category:"symbols"},clock630:{keywords:["time","late","early","schedule"],char:"๐ก",category:"symbols"},clock730:{keywords:["time","late","early","schedule"],char:"๐ข",category:"symbols"},clock830:{keywords:["time","late","early","schedule"],char:"๐ฃ",category:"symbols"},clock930:{keywords:["time","late","early","schedule"],char:"๐ค",category:"symbols"},clock1030:{keywords:["time","late","early","schedule"],char:"๐ฅ",category:"symbols"},clock1130:{keywords:["time","late","early","schedule"],char:"๐ฆ",category:"symbols"},clock1230:{keywords:["time","late","early","schedule"],char:"๐ง",category:"symbols"},af:{keywords:["afghanistan","flag","nation","country","banner"],char:"๐ฆ๐ซ",category:"flags"},ax:{keywords:["ร
land","islands","flag","nation","country","banner"],char:"๐ฆ๐ฝ",category:"flags"},al:{keywords:["albania","flag","nation","country","banner"],char:"๐ฆ๐ฑ",category:"flags"},dz:{keywords:["algeria","flag","nation","country","banner"],char:"๐ฉ๐ฟ",category:"flags"},as:{keywords:["american","samoa","flag","nation","country","banner"],char:"๐ฆ๐ธ",category:"flags"},ad:{keywords:["andorra","flag","nation","country","banner"],char:"๐ฆ๐ฉ",category:"flags"},ao:{keywords:["angola","flag","nation","country","banner"],char:"๐ฆ๐ด",category:"flags"},ai:{keywords:["anguilla","flag","nation","country","banner"],char:"๐ฆ๐ฎ",category:"flags"},aq:{keywords:["antarctica","flag","nation","country","banner"],char:"๐ฆ๐ถ",category:"flags"},ag:{keywords:["antigua","barbuda","flag","nation","country","banner"],char:"๐ฆ๐ฌ",category:"flags"},ar:{keywords:["argentina","flag","nation","country","banner"],char:"๐ฆ๐ท",category:"flags"},am:{keywords:["armenia","flag","nation","country","banner"],char:"๐ฆ๐ฒ",category:"flags"},aw:{keywords:["aruba","flag","nation","country","banner"],char:"๐ฆ๐ผ",category:"flags"},au:{keywords:["australia","flag","nation","country","banner"],char:"๐ฆ๐บ",category:"flags"},at:{keywords:["austria","flag","nation","country","banner"],char:"๐ฆ๐น",category:"flags"},az:{keywords:["azerbaijan","flag","nation","country","banner"],char:"๐ฆ๐ฟ",category:"flags"},bs:{keywords:["bahamas","flag","nation","country","banner"],char:"๐ง๐ธ",category:"flags"},bh:{keywords:["bahrain","flag","nation","country","banner"],char:"๐ง๐ญ",category:"flags"},bd:{keywords:["bangladesh","flag","nation","country","banner"],char:"๐ง๐ฉ",category:"flags"},bb:{keywords:["barbados","flag","nation","country","banner"],char:"๐ง๐ง",category:"flags"},by:{keywords:["belarus","flag","nation","country","banner"],char:"๐ง๐พ",category:"flags"},be:{keywords:["belgium","flag","nation","country","banner"],char:"๐ง๐ช",category:"flags"},bz:{keywords:["belize","flag","nation","country","banner"],char:"๐ง๐ฟ",category:"flags"},bj:{keywords:["benin","flag","nation","country","banner"],char:"๐ง๐ฏ",category:"flags"},bm:{keywords:["bermuda","flag","nation","country","banner"],char:"๐ง๐ฒ",category:"flags"},bt:{keywords:["bhutan","flag","nation","country","banner"],char:"๐ง๐น",category:"flags"},bo:{keywords:["bolivia","flag","nation","country","banner"],char:"๐ง๐ด",category:"flags"},bq:{keywords:["bonaire","flag","nation","country","banner"],char:"๐ง๐ถ",category:"flags"},ba:{keywords:["bosnia","herzegovina","flag","nation","country","banner"],char:"๐ง๐ฆ",category:"flags"},bw:{keywords:["botswana","flag","nation","country","banner"],char:"๐ง๐ผ",category:"flags"},br:{keywords:["brazil","flag","nation","country","banner"],char:"๐ง๐ท",category:"flags"},io:{keywords:["british","indian","ocean","territory","flag","nation","country","banner"],char:"๐ฎ๐ด",category:"flags"},vg:{keywords:["british","virgin","islands","bvi","flag","nation","country","banner"],char:"๐ป๐ฌ",category:"flags"},bn:{keywords:["brunei","darussalam","flag","nation","country","banner"],char:"๐ง๐ณ",category:"flags"},bg:{keywords:["bulgaria","flag","nation","country","banner"],char:"๐ง๐ฌ",category:"flags"},bf:{keywords:["burkina","faso","flag","nation","country","banner"],char:"๐ง๐ซ",category:"flags"},bi:{keywords:["burundi","flag","nation","country","banner"],char:"๐ง๐ฎ",category:"flags"},cv:{keywords:["cabo","verde","flag","nation","country","banner"],char:"๐จ๐ป",category:"flags"},kh:{keywords:["cambodia","flag","nation","country","banner"],char:"๐ฐ๐ญ",category:"flags"},cm:{keywords:["cameroon","flag","nation","country","banner"],char:"๐จ๐ฒ",category:"flags"},ca:{keywords:["canada","flag","nation","country","banner"],char:"๐จ๐ฆ",category:"flags"},ic:{keywords:["canary","islands","flag","nation","country","banner"],char:"๐ฎ๐จ",category:"flags"},ky:{keywords:["cayman","islands","flag","nation","country","banner"],char:"๐ฐ๐พ",category:"flags"},cf:{keywords:["central","african","republic","flag","nation","country","banner"],char:"๐จ๐ซ",category:"flags"},td:{keywords:["chad","flag","nation","country","banner"],char:"๐น๐ฉ",category:"flags"},chile:{keywords:["flag","nation","country","banner"],char:"๐จ๐ฑ",category:"flags"},cn:{keywords:["china","chinese","prc","flag","country","nation","banner"],char:"๐จ๐ณ",category:"flags"},cx:{keywords:["christmas","island","flag","nation","country","banner"],char:"๐จ๐ฝ",category:"flags"},cc:{keywords:["cocos","keeling","islands","flag","nation","country","banner"],char:"๐จ๐จ",category:"flags"},co:{keywords:["colombia","flag","nation","country","banner"],char:"๐จ๐ด",category:"flags"},km:{keywords:["comoros","flag","nation","country","banner"],char:"๐ฐ๐ฒ",category:"flags"},cg:{keywords:["congo","flag","nation","country","banner"],char:"๐จ๐ฌ",category:"flags"},drc:{keywords:["congo","democratic","republic","flag","nation","country","banner"],char:"๐จ๐ฉ",category:"flags"},ck:{keywords:["cook","islands","flag","nation","country","banner"],char:"๐จ๐ฐ",category:"flags"},cr:{keywords:["costa","rica","flag","nation","country","banner"],char:"๐จ๐ท",category:"flags"},hr:{keywords:["croatia","flag","nation","country","banner"],char:"๐ญ๐ท",category:"flags"},cu:{keywords:["cuba","flag","nation","country","banner"],char:"๐จ๐บ",category:"flags"},cw:{keywords:["curaรงao","flag","nation","country","banner"],char:"๐จ๐ผ",category:"flags"},cy:{keywords:["cyprus","flag","nation","country","banner"],char:"๐จ๐พ",category:"flags"},cz:{keywords:["czech_republic","flag","nation","country","banner"],char:"๐จ๐ฟ",category:"flags"},dk:{keywords:["denmark","flag","nation","country","banner"],char:"๐ฉ๐ฐ",category:"flags"},dj:{keywords:["djibouti","flag","nation","country","banner"],char:"๐ฉ๐ฏ",category:"flags"},dm:{keywords:["dominica","flag","nation","country","banner"],char:"๐ฉ๐ฒ",category:"flags"},do:{keywords:["dominican","republic","flag","nation","country","banner"],char:"๐ฉ๐ด",category:"flags"},ec:{keywords:["ecuador","flag","nation","country","banner"],char:"๐ช๐จ",category:"flags"},eg:{keywords:["egypt","flag","nation","country","banner"],char:"๐ช๐ฌ",category:"flags"},sv:{keywords:["el","salvador","flag","nation","country","banner"],char:"๐ธ๐ป",category:"flags"},gq:{keywords:["equatorial","guinea","flag","nation","country","banner"],char:"๐ฌ๐ถ",category:"flags"},er:{keywords:["eritrea","flag","nation","country","banner"],char:"๐ช๐ท",category:"flags"},ee:{keywords:["estonia","flag","nation","country","banner"],char:"๐ช๐ช",category:"flags"},et:{keywords:["ethiopia","flag","nation","country","banner"],char:"๐ช๐น",category:"flags"},eu:{keywords:["european","union","flag","banner"],char:"๐ช๐บ",category:"flags"},fk:{keywords:["falkland","islands","malvinas","flag","nation","country","banner"],char:"๐ซ๐ฐ",category:"flags"},fo:{keywords:["faroe","islands","flag","nation","country","banner"],char:"๐ซ๐ด",category:"flags"},fj:{keywords:["fiji","flag","nation","country","banner"],char:"๐ซ๐ฏ",category:"flags"},fi:{keywords:["finland","flag","nation","country","banner"],char:"๐ซ๐ฎ",category:"flags"},fr:{keywords:["banner","flag","nation","france","french","country"],char:"๐ซ๐ท",category:"flags"},gf:{keywords:["french","guiana","flag","nation","country","banner"],char:"๐ฌ๐ซ",category:"flags"},pf:{keywords:["french","polynesia","flag","nation","country","banner"],char:"๐ต๐ซ",category:"flags"},tf:{keywords:["french","southern","territories","flag","nation","country","banner"],char:"๐น๐ซ",category:"flags"},ga:{keywords:["gabon","flag","nation","country","banner"],char:"๐ฌ๐ฆ",category:"flags"},gm:{keywords:["gambia","flag","nation","country","banner"],char:"๐ฌ๐ฒ",category:"flags"},ge:{keywords:["georgia","flag","nation","country","banner"],char:"๐ฌ๐ช",category:"flags"},de:{keywords:["german","nation","flag","country","banner"],char:"๐ฉ๐ช",category:"flags"},gh:{keywords:["ghana","flag","nation","country","banner"],char:"๐ฌ๐ญ",category:"flags"},gi:{keywords:["gibraltar","flag","nation","country","banner"],char:"๐ฌ๐ฎ",category:"flags"},gr:{keywords:["greece","flag","nation","country","banner"],char:"๐ฌ๐ท",category:"flags"},gl:{keywords:["greenland","flag","nation","country","banner"],char:"๐ฌ๐ฑ",category:"flags"},gd:{keywords:["grenada","flag","nation","country","banner"],char:"๐ฌ๐ฉ",category:"flags"},gp:{keywords:["guadeloupe","flag","nation","country","banner"],char:"๐ฌ๐ต",category:"flags"},gu:{keywords:["guam","flag","nation","country","banner"],char:"๐ฌ๐บ",category:"flags"},gt:{keywords:["guatemala","flag","nation","country","banner"],char:"๐ฌ๐น",category:"flags"},gg:{keywords:["guernsey","flag","nation","country","banner"],char:"๐ฌ๐ฌ",category:"flags"},gn:{keywords:["guinea","flag","nation","country","banner"],char:"๐ฌ๐ณ",category:"flags"},gw:{keywords:["guinea","bissau","flag","nation","country","banner"],char:"๐ฌ๐ผ",category:"flags"},gy:{keywords:["guyana","flag","nation","country","banner"],char:"๐ฌ๐พ",category:"flags"},ht:{keywords:["haiti","flag","nation","country","banner"],char:"๐ญ๐น",category:"flags"},hn:{keywords:["honduras","flag","nation","country","banner"],char:"๐ญ๐ณ",category:"flags"},hk:{keywords:["hong","kong","flag","nation","country","banner"],char:"๐ญ๐ฐ",category:"flags"},hu:{keywords:["hungary","flag","nation","country","banner"],char:"๐ญ๐บ",category:"flags"},is:{keywords:["iceland","flag","nation","country","banner"],char:"๐ฎ๐ธ",category:"flags"},in:{keywords:["india","flag","nation","country","banner"],char:"๐ฎ๐ณ",category:"flags"},indonesia:{keywords:["flag","nation","country","banner"],char:"๐ฎ๐ฉ",category:"flags"},ir:{keywords:["iran,","islamic","republic","flag","nation","country","banner"],char:"๐ฎ๐ท",category:"flags"},iq:{keywords:["iraq","flag","nation","country","banner"],char:"๐ฎ๐ถ",category:"flags"},ie:{keywords:["ireland","flag","nation","country","banner"],char:"๐ฎ๐ช",category:"flags"},im:{keywords:["isle","man","flag","nation","country","banner"],char:"๐ฎ๐ฒ",category:"flags"},il:{keywords:["israel","flag","nation","country","banner"],char:"๐ฎ๐ฑ",category:"flags"},it:{keywords:["italy","flag","nation","country","banner"],char:"๐ฎ๐น",category:"flags"},ci:{keywords:["ivory","coast","flag","nation","country","banner"],char:"๐จ๐ฎ",category:"flags"},jm:{keywords:["jamaica","flag","nation","country","banner"],char:"๐ฏ๐ฒ",category:"flags"},jp:{keywords:["japanese","nation","flag","country","banner"],char:"๐ฏ๐ต",category:"flags"},je:{keywords:["jersey","flag","nation","country","banner"],char:"๐ฏ๐ช",category:"flags"},jo:{keywords:["jordan","flag","nation","country","banner"],char:"๐ฏ๐ด",category:"flags"},kz:{keywords:["kazakhstan","flag","nation","country","banner"],char:"๐ฐ๐ฟ",category:"flags"},ke:{keywords:["kenya","flag","nation","country","banner"],char:"๐ฐ๐ช",category:"flags"},ki:{keywords:["kiribati","flag","nation","country","banner"],char:"๐ฐ๐ฎ",category:"flags"},xk:{keywords:["kosovo","flag","nation","country","banner"],char:"๐ฝ๐ฐ",category:"flags"},kw:{keywords:["kuwait","flag","nation","country","banner"],char:"๐ฐ๐ผ",category:"flags"},kg:{keywords:["kyrgyzstan","flag","nation","country","banner"],char:"๐ฐ๐ฌ",category:"flags"},la:{keywords:["lao","democratic","republic","flag","nation","country","banner"],char:"๐ฑ๐ฆ",category:"flags"},lv:{keywords:["latvia","flag","nation","country","banner"],char:"๐ฑ๐ป",category:"flags"},lb:{keywords:["lebanon","flag","nation","country","banner"],char:"๐ฑ๐ง",category:"flags"},ls:{keywords:["lesotho","flag","nation","country","banner"],char:"๐ฑ๐ธ",category:"flags"},lr:{keywords:["liberia","flag","nation","country","banner"],char:"๐ฑ๐ท",category:"flags"},ly:{keywords:["libya","flag","nation","country","banner"],char:"๐ฑ๐พ",category:"flags"},li:{keywords:["liechtenstein","flag","nation","country","banner"],char:"๐ฑ๐ฎ",category:"flags"},lt:{keywords:["lithuania","flag","nation","country","banner"],char:"๐ฑ๐น",category:"flags"},lu:{keywords:["luxembourg","flag","nation","country","banner"],char:"๐ฑ๐บ",category:"flags"},mo:{keywords:["macao","flag","nation","country","banner"],char:"๐ฒ๐ด",category:"flags"},mk:{keywords:["macedonia,","flag","nation","country","banner"],char:"๐ฒ๐ฐ",category:"flags"},mg:{keywords:["madagascar","flag","nation","country","banner"],char:"๐ฒ๐ฌ",category:"flags"},mw:{keywords:["malawi","flag","nation","country","banner"],char:"๐ฒ๐ผ",category:"flags"},my:{keywords:["malaysia","flag","nation","country","banner"],char:"๐ฒ๐พ",category:"flags"},mv:{keywords:["maldives","flag","nation","country","banner"],char:"๐ฒ๐ป",category:"flags"},ml:{keywords:["mali","flag","nation","country","banner"],char:"๐ฒ๐ฑ",category:"flags"},mt:{keywords:["malta","flag","nation","country","banner"],char:"๐ฒ๐น",category:"flags"},mh:{keywords:["marshall","islands","flag","nation","country","banner"],char:"๐ฒ๐ญ",category:"flags"},mq:{keywords:["martinique","flag","nation","country","banner"],char:"๐ฒ๐ถ",category:"flags"},mr:{keywords:["mauritania","flag","nation","country","banner"],char:"๐ฒ๐ท",category:"flags"},mu:{keywords:["mauritius","flag","nation","country","banner"],char:"๐ฒ๐บ",category:"flags"},yt:{keywords:["mayotte","flag","nation","country","banner"],char:"๐พ๐น",category:"flags"},mx:{keywords:["mexico","flag","nation","country","banner"],char:"๐ฒ๐ฝ",category:"flags"},fm:{keywords:["micronesia,","federated","states","flag","nation","country","banner"],char:"๐ซ๐ฒ",category:"flags"},md:{keywords:["moldova,","republic","flag","nation","country","banner"],char:"๐ฒ๐ฉ",category:"flags"},mc:{keywords:["monaco","flag","nation","country","banner"],char:"๐ฒ๐จ",category:"flags"},mn:{keywords:["mongolia","flag","nation","country","banner"],char:"๐ฒ๐ณ",category:"flags"},me:{keywords:["montenegro","flag","nation","country","banner"],char:"๐ฒ๐ช",category:"flags"},ms:{keywords:["montserrat","flag","nation","country","banner"],char:"๐ฒ๐ธ",category:"flags"},ma:{keywords:["morocco","flag","nation","country","banner"],char:"๐ฒ๐ฆ",category:"flags"},mz:{keywords:["mozambique","flag","nation","country","banner"],char:"๐ฒ๐ฟ",category:"flags"},mm:{keywords:["myanmar","flag","nation","country","banner"],char:"๐ฒ๐ฒ",category:"flags"},na:{keywords:["namibia","flag","nation","country","banner"],char:"๐ณ๐ฆ",category:"flags"},nr:{keywords:["nauru","flag","nation","country","banner"],char:"๐ณ๐ท",category:"flags"},np:{keywords:["nepal","flag","nation","country","banner"],char:"๐ณ๐ต",category:"flags"},nl:{keywords:["netherlands","flag","nation","country","banner"],char:"๐ณ๐ฑ",category:"flags"},nc:{keywords:["new","caledonia","flag","nation","country","banner"],char:"๐ณ๐จ",category:"flags"},nz:{keywords:["new","zealand","flag","nation","country","banner"],char:"๐ณ๐ฟ",category:"flags"},ni:{keywords:["nicaragua","flag","nation","country","banner"],char:"๐ณ๐ฎ",category:"flags"},ne:{keywords:["niger","flag","nation","country","banner"],char:"๐ณ๐ช",category:"flags"},nigeria:{keywords:["flag","nation","country","banner"],char:"๐ณ๐ฌ",category:"flags"},nu:{keywords:["niue","flag","nation","country","banner"],char:"๐ณ๐บ",category:"flags"},nf:{keywords:["norfolk","island","flag","nation","country","banner"],char:"๐ณ๐ซ",category:"flags"},mp:{keywords:["northern","mariana","islands","flag","nation","country","banner"],char:"๐ฒ๐ต",category:"flags"},kp:{keywords:["north","korea","nation","flag","country","banner"],char:"๐ฐ๐ต",category:"flags"},no:{keywords:["norway","flag","nation","country","banner"],char:"๐ณ๐ด",category:"flags"},om:{keywords:["oman","flag","nation","country","banner"],char:"๐ด๐ฒ",category:"flags"},pk:{keywords:["pakistan","flag","nation","country","banner"],char:"๐ต๐ฐ",category:"flags"},pw:{keywords:["palau","flag","nation","country","banner"],char:"๐ต๐ผ",category:"flags"},ps:{keywords:["palestine","palestinian","territories","flag","nation","country","banner"],char:"๐ต๐ธ",category:"flags"},pa:{keywords:["panama","flag","nation","country","banner"],char:"๐ต๐ฆ",category:"flags"},pg:{keywords:["papua","new","guinea","flag","nation","country","banner"],char:"๐ต๐ฌ",category:"flags"},py:{keywords:["paraguay","flag","nation","country","banner"],char:"๐ต๐พ",category:"flags"},pe:{keywords:["peru","flag","nation","country","banner"],char:"๐ต๐ช",category:"flags"},ph:{keywords:["philippines","flag","nation","country","banner"],char:"๐ต๐ญ",category:"flags"},pn:{keywords:["pitcairn","flag","nation","country","banner"],char:"๐ต๐ณ",category:"flags"},pl:{keywords:["poland","flag","nation","country","banner"],char:"๐ต๐ฑ",category:"flags"},pt:{keywords:["portugal","flag","nation","country","banner"],char:"๐ต๐น",category:"flags"},pr:{keywords:["puerto","rico","flag","nation","country","banner"],char:"๐ต๐ท",category:"flags"},qa:{keywords:["qatar","flag","nation","country","banner"],char:"๐ถ๐ฆ",category:"flags"},re:{keywords:["rรฉunion","flag","nation","country","banner"],char:"๐ท๐ช",category:"flags"},ro:{keywords:["romania","flag","nation","country","banner"],char:"๐ท๐ด",category:"flags"},ru:{keywords:["russian","federation","flag","nation","country","banner"],char:"๐ท๐บ",category:"flags"},rw:{keywords:["rwanda","flag","nation","country","banner"],char:"๐ท๐ผ",category:"flags"},bl:{keywords:["saint","barthรฉlemy","flag","nation","country","banner"],char:"๐ง๐ฑ",category:"flags"},sh:{keywords:["saint","helena","ascension","tristan","cunha","flag","nation","country","banner"],char:"๐ธ๐ญ",category:"flags"},kn:{keywords:["saint","kitts","nevis","flag","nation","country","banner"],char:"๐ฐ๐ณ",category:"flags"},lc:{keywords:["saint","lucia","flag","nation","country","banner"],char:"๐ฑ๐จ",category:"flags"},pm:{keywords:["saint","pierre","miquelon","flag","nation","country","banner"],char:"๐ต๐ฒ",category:"flags"},vc:{keywords:["saint","vincent","grenadines","flag","nation","country","banner"],char:"๐ป๐จ",category:"flags"},ws:{keywords:["samoa","flag","nation","country","banner"],char:"๐ผ๐ธ",category:"flags"},sm:{keywords:["san","marino","flag","nation","country","banner"],char:"๐ธ๐ฒ",category:"flags"},st:{keywords:["sao","tome","principe","flag","nation","country","banner"],char:"๐ธ๐น",category:"flags"},saudi_arabia:{keywords:["flag","nation","country","banner"],char:"๐ธ๐ฆ",category:"flags"},sn:{keywords:["senegal","flag","nation","country","banner"],char:"๐ธ๐ณ",category:"flags"},rs:{keywords:["serbia","flag","nation","country","banner"],char:"๐ท๐ธ",category:"flags"},sc:{keywords:["seychelles","flag","nation","country","banner"],char:"๐ธ๐จ",category:"flags"},sl:{keywords:["sierra","leone","flag","nation","country","banner"],char:"๐ธ๐ฑ",category:"flags"},sg:{keywords:["singapore","flag","nation","country","banner"],char:"๐ธ๐ฌ",category:"flags"},sx:{keywords:["sint","maarten","dutch","flag","nation","country","banner"],char:"๐ธ๐ฝ",category:"flags"},sk:{keywords:["slovakia","flag","nation","country","banner"],char:"๐ธ๐ฐ",category:"flags"},si:{keywords:["slovenia","flag","nation","country","banner"],char:"๐ธ๐ฎ",category:"flags"},sb:{keywords:["solomon","islands","flag","nation","country","banner"],char:"๐ธ๐ง",category:"flags"},so:{keywords:["somalia","flag","nation","country","banner"],char:"๐ธ๐ด",category:"flags"},za:{keywords:["south","africa","flag","nation","country","banner"],char:"๐ฟ๐ฆ",category:"flags"},gs:{keywords:["south","georgia","sandwich","islands","flag","nation","country","banner"],char:"๐ฌ๐ธ",category:"flags"},kr:{keywords:["south","korea","nation","flag","country","banner"],char:"๐ฐ๐ท",category:"flags"},ss:{keywords:["south","sudan","flag","nation","country","banner"],char:"๐ธ๐ธ",category:"flags"},es:{keywords:["spain","flag","nation","country","banner"],char:"๐ช๐ธ",category:"flags"},lk:{keywords:["sri","lanka","flag","nation","country","banner"],char:"๐ฑ๐ฐ",category:"flags"},sd:{keywords:["sudan","flag","nation","country","banner"],char:"๐ธ๐ฉ",category:"flags"},sr:{keywords:["suriname","flag","nation","country","banner"],char:"๐ธ๐ท",category:"flags"},sz:{keywords:["swaziland","flag","nation","country","banner"],char:"๐ธ๐ฟ",category:"flags"},se:{keywords:["sweden","flag","nation","country","banner"],char:"๐ธ๐ช",category:"flags"},ch:{keywords:["switzerland","flag","nation","country","banner"],char:"๐จ๐ญ",category:"flags"},sy:{keywords:["syrian","arab","republic","flag","nation","country","banner"],char:"๐ธ๐พ",category:"flags"},tw:{keywords:["taiwan","flag","nation","country","banner"],char:"๐น๐ผ",category:"flags"},tj:{keywords:["tajikistan","flag","nation","country","banner"],char:"๐น๐ฏ",category:"flags"},tz:{keywords:["tanzania,","united","republic","flag","nation","country","banner"],char:"๐น๐ฟ",category:"flags"},th:{keywords:["thailand","flag","nation","country","banner"],char:"๐น๐ญ",category:"flags"},tl:{keywords:["timor","leste","flag","nation","country","banner"],char:"๐น๐ฑ",category:"flags"},tg:{keywords:["togo","flag","nation","country","banner"],char:"๐น๐ฌ",category:"flags"},tk:{keywords:["tokelau","flag","nation","country","banner"],char:"๐น๐ฐ",category:"flags"},to:{keywords:["tonga","flag","nation","country","banner"],char:"๐น๐ด",category:"flags"},tt:{keywords:["trinidad","tobago","flag","nation","country","banner"],char:"๐น๐น",category:"flags"},tn:{keywords:["tunisia","flag","nation","country","banner"],char:"๐น๐ณ",category:"flags"},tr:{keywords:["turkey","flag","nation","country","banner"],char:"๐น๐ท",category:"flags"},turkmenistan:{keywords:["flag","nation","country","banner"],char:"๐น๐ฒ",category:"flags"},tc:{keywords:["turks","caicos","islands","flag","nation","country","banner"],char:"๐น๐จ",category:"flags"},tuvalu:{keywords:["flag","nation","country","banner"],char:"๐น๐ป",category:"flags"},ug:{keywords:["uganda","flag","nation","country","banner"],char:"๐บ๐ฌ",category:"flags"},ua:{keywords:["ukraine","flag","nation","country","banner"],char:"๐บ๐ฆ",category:"flags"},ae:{keywords:["united","arab","emirates","flag","nation","country","banner"],char:"๐ฆ๐ช",category:"flags"},gb:{keywords:["united","kingdom","great","britain","northern","ireland","flag","nation","country","banner","british","UK","english","england","union jack"],char:"๐ฌ๐ง",category:"flags"},us:{keywords:["united","states","america","flag","nation","country","banner"],char:"๐บ๐ธ",category:"flags"},vi:{keywords:["virgin","islands","us","flag","nation","country","banner"],char:"๐ป๐ฎ",category:"flags"},uy:{keywords:["uruguay","flag","nation","country","banner"],char:"๐บ๐พ",category:"flags"},uz:{keywords:["uzbekistan","flag","nation","country","banner"],char:"๐บ๐ฟ",category:"flags"},vu:{keywords:["vanuatu","flag","nation","country","banner"],char:"๐ป๐บ",category:"flags"},va:{keywords:["vatican","city","flag","nation","country","banner"],char:"๐ป๐ฆ",category:"flags"},ve:{keywords:["venezuela","bolivarian","republic","flag","nation","country","banner"],char:"๐ป๐ช",category:"flags"},vn:{keywords:["viet","nam","flag","nation","country","banner"],char:"๐ป๐ณ",category:"flags"},wf:{keywords:["wallis","futuna","flag","nation","country","banner"],char:"๐ผ๐ซ",category:"flags"},eh:{keywords:["western","sahara","flag","nation","country","banner"],char:"๐ช๐ญ",category:"flags"},ye:{keywords:["yemen","flag","nation","country","banner"],char:"๐พ๐ช",category:"flags"},zm:{keywords:["zambia","flag","nation","country","banner"],char:"๐ฟ๐ฒ",category:"flags"},zw:{keywords:["zimbabwe","flag","nation","country","banner"],char:"๐ฟ๐ผ",category:"flags"},octocat:{keywords:["animal","octopus","github","custom_"],char:null,category:"_custom"},shipit:{keywords:["squirrel","detective","animal","sherlock","inspector","custom_"],char:null,category:"_custom"},bowtie:{keywords:["face","formal","fashion","suit","classy","magic","circus"],char:null,category:"_custom"},neckbeard:{keywords:["nerdy","face","custom_"],char:null,category:"_custom"},metal:{keywords:["fingers","rocknroll","concert","band","custom_"],char:null,category:"_custom"},fu:{keywords:["fuck","finger","dislike","thumbsdown","disapprove","no","custom_"],char:null,category:"_custom"},trollface:{keywords:["internet","meme","custom_"],char:null,category:"_custom"},godmode:{keywords:["doom","oldschool"],char:null,category:"_custom"},goberserk:{keywords:["doom","rage","bloody","hurt"],char:null,category:"_custom"},finnadie:{keywords:["doom","oldschool"],char:null,category:"_custom"},feelsgood:{keywords:["doom","oldschool"],char:null,category:"_custom"},rage1:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage2:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage3:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},rage4:{keywords:["angry","mad","hate","despise"],char:null,category:"_custom"},suspect:{keywords:["mad","custom_"],char:null,category:"_custom"},hurtrealbad:{keywords:["mad","injured","doom","oldschool","custom_"],char:null,category:"_custom"}},S=function(){function e(e){this.sanitizer=e,this.activeCategory="people",this.selected=new a.Subject}return e.prototype.select=function(e){this.selected.next(e)},e.prototype.pairs=function(e){return Object.keys(e).map((function(a){return[a,e[a]]}))},e.prototype.ngOnInit=function(){var e,a,r={},o={symbols:"warning",people:"people",animals_and_nature:"nature",travel_and_places:"location_on",activity:"local_activity",food_and_drink:"restaurant",objects:"computer",flags:"flag"};try{for(var t=f(this.pairs(x)),n=t.next();!n.done;n=t.next()){var s=n.value,c=(s[0],s[1]);r[c.category]||(r[c.category]={name:c.category,icon:o[c.category]||"code",emojis:[]}),c.html=this.sanitizer.bypassSecurityTrustHtml(twemoji.parse(c.char||"")),r[c.category].emojis.push(c)}}catch(a){e={error:a}}finally{try{n&&!n.done&&(a=t.return)&&a.call(t)}finally{if(e)throw e.error}}this.categories=this.pairs(r).map((function(e){return e[1]}))},e.ctorParameters=function(){return[{type:n.DomSanitizer}]},p([o.Output(),m("design:type",a.Subject)],e.prototype,"selected",void 0),e=p([o.Component({selector:"emoji-selector-panel",template:'<div class="categories">\r\n\t<a title="{{category.name}}" mat-icon-button *ngFor="let category of categories" (click)="activeCategory = category.name">\r\n\t\t<mat-icon>{{category.icon}}</mat-icon>\r\n\t</a>\r\n</div>\r\n\r\n<div *ngFor="let category of categories">\r\n\t<div class="emoji-list" *ngIf="activeCategory && activeCategory == category.name">\r\n\t\t<a href="javascript:;" (click)="select(emoji.char)" *ngFor="let emoji of category.emojis" [innerHtml]="emoji.html || \'\'">\r\n\t\t</a>\r\n\t</div>\r\n</div>',styles:[":host{background:#111;border:1px solid #333;border-radius:5px;padding:.5em;display:flex;flex-direction:column;width:calc(8*(32px + 1em))}.emoji-list{flex-grow:1;overflow-y:auto;height:20em}.emoji-list a{display:inline-block;padding:2px;margin:4px;background-color:#111}.emoji-list a ::ng-deep .emoji{width:32px;height:32px}.emoji-list a:hover{background-color:#333}"]}),m("design:paramtypes",[n.DomSanitizer])],e)}(),M=function(){function e(){this._selected=new a.Subject,this.showEmojiPanel=!1}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){this.removeListener()},e.prototype.removeListener=function(){document.removeEventListener("click",this.clickListener)},e.prototype.show=function(){var e=this;this.showEmojiPanel?this.showEmojiPanel=!1:(this.showEmojiPanel=!0,setTimeout((function(){e.clickListener=function(a){for(var r=a.target,o=!1;r;)r.matches("emoji-selector-panel")&&(o=!0),r=r.parentElement;o||(e.showEmojiPanel=!1,e.removeListener())},document.addEventListener("click",e.clickListener)})))},e.prototype.insert=function(e){this._selected.next(e)},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),e=p([o.Component({selector:"emoji-selector-button",template:'\n <button mat-icon-button (click)="show()">\n <mat-icon>emoji_emotions</mat-icon>\n </button>\n <emoji-selector-panel \n (selected)="insert($event)"\n [class.visible]="showEmojiPanel"\n ></emoji-selector-panel>\n ',styles:["\n :host {\n display: block;\n position: relative;\n }\n\n emoji-selector-panel {\n position: absolute;\n bottom: 2.5em;\n right: 0;\n opacity: 0;\n pointer-events: none;\n z-index: 10;\n }\n\n emoji-selector-panel.visible {\n pointer-events: initial;\n opacity: 1;\n }\n\n button {\n color: #666\n }\n\n :host.bottom-left emoji-selector-panel {\n right: auto;\n left: 0;\n }\n\n :host.top-right emoji-selector-panel {\n top: 2.4em;\n bottom: auto;\n }\n\n :host.top-left emoji-selector-panel {\n top: 2.4em;\n bottom: auto;\n left: 0;\n right: auto;\n }\n "]})],e)}(),O=[S,M],q=function(){function e(){}return e=p([o.NgModule({declarations:O,imports:[t.CommonModule,s.MatIconModule,c.MatButtonModule],exports:O})],e)}(),I=function(){function e(){this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject}return Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.report=function(){this._reported.next()},e.prototype.select=function(){this._selected.next()},e.prototype.selectUser=function(){this._userSelected.next()},p([o.Input(),m("design:type",Object)],e.prototype,"message",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),e=p([o.Component({selector:"engage-chat-message",template:'<div class="message-content">\r\n <div class="user" (click)="selectUser()">\r\n <div class="avatar" [style.background-image]="avatarForUser(message.user)"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class="content">\r\n <div (click)="select()">\r\n {{message.message}}\r\n </div>\r\n <div class="status">\r\n <div class="count-indicator" *ngIf="message.upvotes > 0">\r\n {{message.upvotes}} <mat-icon [inline]="true">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class="actions">\r\n <button mat-icon-button matTooltip="Upvote" matTooltipPosition="below" (click)="upvote()">\r\n <mat-icon [inline]="true">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip="Report" matTooltipPosition="below" (click)="report()">\r\n <mat-icon [inline]="true">report</mat-icon>\r\n </button>\r\n</div>',styles:[':host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:":";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}']})],e)}(),z=function(){function e(){}return e=p([o.Injectable()],e)}(),P=function(){function e(e){this.backend=e,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){var a=this,r=null;this._message&&(r=this._message.id),this._message=e,e&&r===e.id||(this.unsubscribe&&this.unsubscribe(),e&&(this.unsubscribe=this.backend.watchMessage(e,(function(e){return a.message=e}))))},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.ctorParameters=function(){return[{type:z}]},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-chat-message",template:'\n <engage-chat-message \n *ngIf="message"\n [message]="message"\n (upvoted)="upvote()"\n (reported)="report()"\n (selected)="select()"\n ></engage-chat-message>\n ',styles:[""]}),m("design:paramtypes",[z])],e)}(),U=function(){function e(e){this.elementRef=e,this._sourceSubs=new i.SubSink,this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this.messages=[],this.maxMessages=200}return Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){var a=this;this._sourceSubs&&(this._sourceSubs.unsubscribe(),this._sourceSubs=null),this._source=e,this.messages=[],e&&(this._sourceSubs=new i.SubSink,this.messages=e.messages.slice(),console.log("Source set:"),console.dir(e),console.log("Messages loaded:"),console.dir(this.messages),this._sourceSubs.add(this._source.messageReceived.subscribe((function(e){return a.messageReceived(e)})),this._source.messageSent.subscribe((function(e){return a.messageSent(e)}))),this._source.currentUserChanged&&this._sourceSubs.add(this._source.currentUserChanged.subscribe((function(e){return a.currentUser=e}))))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),e.prototype.addMessage=function(e){if(this.messages.length>this.maxMessages+1)for(;this.messages.length>this.maxMessages;)this.messages.shift();this.messages.push(e)},e.prototype.messageReceived=function(e){var a=this;this.addMessage(e),this.isScrolledToLatest()&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.isScrolledToLatest=function(){if(!this.messageContainer)return!1;var e=this.messageContainer.nativeElement;return e.scrollTop>e.scrollHeight-e.offsetHeight-10},e.prototype.messageSent=function(e){var a=this;this.addMessage(e),this.messageContainer&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.scrollToLatest=function(){if(this.messageContainer){var e=this.messageContainer.nativeElement;e.scrollTop=e.scrollHeight}},e.prototype.jumpTo=function(e){var a=this.elementRef.nativeElement.querySelector('engage-chat-message[data-id="'+e.id+'"]');a?(a.scrollIntoView({behavior:"smooth"}),this.flashMessage(e)):alert("could not find message "+e.id)},e.prototype.flashMessage=function(e){e&&(this.flashedMessageId=e.id)},e.prototype.mentionsMe=function(e){return!!this.currentUser&&!!e.message.includes("@"+this.currentUser.username)},e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},e.ctorParameters=function(){return[{type:o.ElementRef}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.ViewChild("messageContainer"),m("design:type",o.ElementRef)],e.prototype,"messageContainer",void 0),p([o.Input(),m("design:type",Number)],e.prototype,"maxMessages",void 0),e=p([o.Component({selector:"engage-chat-view",template:'<div class="message-container" #messageContainer>\r\n <ng-content select="[data-before]"></ng-content>\r\n <engage-chat-message \r\n *ngFor="let message of messages"\r\n [message]="message"\r\n [class.highlight]="mentionsMe(message)" \r\n [class.flash]="message.id === flashedMessageId"\r\n (selected)="selectMessage(message)"\r\n (upvoted)="upvoteMessage(message)"\r\n (reported)="reportMessage(message)"\r\n (userSelected)="selectMessageUser(message)"\r\n [attr.data-id]="message.id"\r\n >\r\n </engage-chat-message>\r\n <ng-content select=":not([data-before])"></ng-content>\r\n</div>',styles:[":host{display:flex;flex-direction:column;flex-grow:1}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}engage-chat-message.flash{-webkit-animation:2.5s flash;animation:2.5s flash}@-webkit-keyframes flash{0%{transform:scale(1);background:#425700}25%,75%{transform:scale(1.05)}100%,50%{transform:scale(1)}}@keyframes flash{0%{transform:scale(1);background:#425700}25%,75%{transform:scale(1.05)}100%,50%{transform:scale(1)}}"]}),m("design:paramtypes",[o.ElementRef])],e)}(),C=function(){function e(e,r,o){this.banta=e,this.backend=r,this.elementRef=o,this._subs=new i.SubSink,this.user=null,this._selected=new a.Subject,this._reported=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this._signInSelected=new a.Subject,this.showEmojiPanel=!1,this.newMessage={}}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.user=a})))},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){this._source=e},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},e.prototype.insertEmoji=function(e){var a=this.newMessage.message||"";this.newMessage.message=a+e},e.prototype.onKeyDown=function(e){},e.prototype.jumpToMessage=function(e){this.chatView&&this.chatView.jumpTo(e)},e.prototype.select=function(e){this._selected.next(e)},e.prototype.selectUser=function(e){this._userSelected.next(e)},e.prototype.report=function(e){this._reported.next(e)},e.prototype.upvote=function(e){this._upvoted.next(e)},Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),e.prototype.sendMessage=function(){if(this.source){var e=(this.newMessage.message||"").trim();if(this.newMessage.message="",""!==e){var a={user:null,sentAt:Date.now(),upvotes:0,message:e};this.source.send(a)}}},e.ctorParameters=function(){return[{type:k},{type:z},{type:o.ElementRef}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.ViewChild("chatView",{static:!0}),m("design:type",U)],e.prototype,"chatView",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),e=p([o.Component({selector:"engage-firehose",template:'<engage-chat-view \r\n #chatView\r\n [source]="source"\r\n (upvoted)="upvote($event)"\r\n (reported)="report($event)"\r\n (selected)="select($event)"\r\n (userSelected)="selectUser($event)"\r\n ></engage-chat-view>\r\n\r\n<form class="new-message" (submit)="sendMessage()">\r\n \r\n <div class="entry-container">\r\n <input\r\n type="text"\r\n name="message" \r\n (keydown)="onKeyDown($event)"\r\n [(ngModel)]="newMessage.message" />\r\n \r\n <emoji-selector-button\r\n (selected)="insertEmoji($event)"\r\n ></emoji-selector-button>\r\n </div>\r\n\r\n <div class="actions">\r\n\r\n <button type="button" *ngIf="!user" (click)="showSignIn()" mat-raised-button color="primary">Sign In</button>\r\n\r\n <button *ngIf="user" [disabled]="!newMessage.message" mat-raised-button color="primary">Send</button>\r\n </div>\r\n</form>',styles:[":host{display:flex;flex-direction:column;border-radius:5px;padding:10px;flex-grow:1;font-size:10pt}.entry-container{display:flex;flex-direction:row;flex-grow:1;position:relative}.entry-container emoji-selector-button{position:absolute;right:0;top:.15em}.entry-container input{height:2.6em;font-size:12pt;padding-left:1em}.entry-container input:-webkit-autofill,.entry-container input:-webkit-autofill:focus,.entry-container input:-webkit-autofill:hover{outline:#9da302 solid 1px;-webkit-text-fill-color:#9da302;-webkit-box-shadow:0 0 0 1000px #211e07 inset;-webkit-transition:background-color 5000s ease-in-out;transition:background-color 5000s ease-in-out;caret-color:#9da302}.entry-container emoji-selector-panel{pointer-events:none;opacity:0;position:absolute;bottom:3.5em;right:0}.entry-container emoji-selector-panel.visible{opacity:1;pointer-events:initial}form{display:flex;padding:.5em 0;align-items:center}form textarea{font-size:14pt;background:#000;color:#fff;border:1px solid #333;min-height:6em;width:100%}form input[type=text]{background:#fff;color:#000;border:1px solid #ccc;width:100%;height:2.5em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}:host-context(.mat-dark-theme) form input[type=text]{background:#000;color:#fff;border:1px solid #333}"]}),m("design:paramtypes",[k,z,o.ElementRef])],e)}(),T=[I,P,U,C],L=function(){function e(){}return e=p([o.NgModule({declarations:T,imports:[t.CommonModule,y.FormsModule,s.MatIconModule,c.MatButtonModule,q],exports:T})],e)}(),R="https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png",D=[{id:"a",avatarUrl:R,displayName:"Tom",username:"tom"},{id:"b",avatarUrl:R,displayName:"Dick",username:"dick"},{id:"c",avatarUrl:R,displayName:"Harry",username:"harry"},{id:"d",avatarUrl:R,displayName:"John",username:"john"},{id:"e",avatarUrl:R,displayName:"Wayne",username:"wayne"},{id:"f",avatarUrl:R,displayName:"Heather",username:"heather"},{id:"g",avatarUrl:R,displayName:"Mary",username:"mary"},{id:"h",avatarUrl:R,displayName:"Jennifer",username:"jennifer"},{id:"i",avatarUrl:R,displayName:"Kyle",username:"kyle"},{id:"j",avatarUrl:R,displayName:"Wanda",username:"wanda"},{id:"k",avatarUrl:R,displayName:"Josh",username:"josh"},{id:"l",avatarUrl:R,displayName:"Jane",username:"jane"},{id:"m",avatarUrl:R,displayName:"Joy",username:"joy"},{id:"n",avatarUrl:R,displayName:"Jesus",username:"jesus"},{id:"o",avatarUrl:R,displayName:"I bathe in Bernie's tears of joy",username:"landem"},{id:"p",avatarUrl:R,displayName:"The thing about socialism is that its the best",username:"mangahead"},{id:"q",avatarUrl:R,displayName:"If only I knew the first thing about this stuff",username:"redstripe"},{id:"r",avatarUrl:R,displayName:"Time is not something that should be treated unfairly",username:"fantom"},{id:"s",avatarUrl:R,displayName:"What is the meaning of this capitalism?",username:"ganjaking"},{id:"t",avatarUrl:R,displayName:"The world is not ready for us",username:"leggo"},{id:"u",avatarUrl:R,displayName:"Make or break, now is our time",username:"mako"}],E=function(){function e(){var e=this;this.currentUser={id:"z",username:"liam",displayName:"Liam",avatarUrl:R},this._messages=[],this._currentUserChanged=new a.BehaviorSubject(null),this._messageReceived=new a.Subject,this._messageSent=new a.Subject;var r=["Whoa!","Cool!","Nifty!","Sweet!","@liam, awesome!","Crazy!","Wunderbar!","Lasagna!","Tacos!","@liam, Life is a box of chocolates, you never know which one... oh fuck it","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!","The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such."];setInterval((function(){var a=r[Math.floor(r.length*Math.random())],o={user:D[Math.floor(D.length*Math.random())],sentAt:Date.now(),upvotes:0,message:a,submessages:[]};e.addMessage(o),e.messageReceived.next(o)}),1e3),this._currentUserChanged.next(this.currentUser)}return e.prototype.close=function(){},e.prototype.addMessage=function(e){this._messages.push(e)},e.prototype.send=function(e){this.addMessage(e),this._messageSent.next(e)},Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),e}(),N=function(){function e(){var e=this;this.currentUser={id:"z",username:"liam",displayName:"Liam",avatarUrl:R},this._messages=[],this._currentUserChanged=new a.BehaviorSubject(null),this._messageReceived=new a.Subject,this._messageSent=new a.Subject;var r=['I think that Trump has a specific form of braindead called\n "Trumpitis".',"Other things that could be said will be said","If only things were as simple as they appear","Life is a box of chocolates, you never know which one... oh fuck it","More things that are done tomorrow may not be done today","Google is a useful tool to find things","Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!"];setInterval((function(){var a=r[Math.floor(r.length*Math.random())],o=D[Math.floor(D.length*Math.random())],t={user:o,sentAt:Date.now(),upvotes:0,message:a,submessages:[{user:e.currentUser,message:"Good point!",sentAt:Date.now(),upvotes:0},{user:{id:"aa",avatarUrl:R,displayName:"FunnilyGuy",username:"funnyguy"},sentAt:Date.now(),message:"What would this mean for Buttigieg?",upvotes:0},{user:o,sentAt:Date.now(),message:"Klobucharino",upvotes:0},{user:e.currentUser,sentAt:Date.now(),message:"Good question!",upvotes:0},{user:o,sentAt:Date.now(),message:"But whyigieg",upvotes:0}]};e.addMessage(t),e.messageReceived.next(t)}),5e3),this._currentUserChanged.next(this.currentUser)}return e.prototype.addMessage=function(e){this._messages.push(e)},Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),e.prototype.send=function(e){this.addMessage(e),this._messageSent.next(e)},e}(),A=function(){function e(e,r){this.parentSource=e,this.message=r,this._messages=[],this._messageReceived=new a.Subject,this._messageSent=new a.Subject,this._currentUserChanged=e.currentUserChanged,this._messages=r.submessages}return Object.defineProperty(e.prototype,"messages",{get:function(){return this._messages},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageReceived",{get:function(){return this._messageReceived},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"messageSent",{get:function(){return this._messageSent},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"currentUserChanged",{get:function(){return this._currentUserChanged},enumerable:!0,configurable:!0}),e.prototype.send=function(e){},e}(),F=function(){function e(e,r,o){this.banta=e,this.backend=r,this.matDialog=o,this._subs=new i.SubSink,this.auxOpen=!1,this.auxTitle="Notifications",this.auxMode="notifications",this.mobileFocus=null,this.newNotifications=!1,this._signInSelected=new a.Subject,this.pointOpen=null,this.pointSubChat=null,this.newPointSubMessage={},this.genericAvatarUrl="https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png"}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.currentUser=a})),this.backend.notificationsChanged.subscribe((function(a){return e.notifications=a})),this.backend.newNotification.subscribe((function(a){e.newNotifications=!0})))},e.prototype.newPointSubMessageKeyDown=function(e){},e.prototype.sendPointSubMessage=function(){return b(this,void 0,void 0,(function(){var e,a,r;return w(this,(function(o){switch(o.label){case 0:if(e=(this.newPointSubMessage.message||"").trim(),this.newPointSubMessage.message="",""===e)return[2];a={user:null,sentAt:Date.now(),upvotes:0,message:e},o.label=1;case 1:return o.trys.push([1,3,,4]),[4,this.pointSubChat.send(a)];case 2:return o.sent(),[3,4];case 3:return r=o.sent(),console.error("Failed to send point sub-message:"),console.error(r),[3,4];case 4:return[2]}}))}))},e.prototype.goToMessage=function(e){return b(this,void 0,void 0,(function(){var a,r,o,t,n;return w(this,(function(s){switch(s.label){case 0:return a=e,e.parentMessageId?[4,this.backend.getMessage(e.topicId,e.parentMessageId)]:[3,2];case 1:if(!(r=s.sent()))return console.error("Failed to look up parent message "+e.topicId+"/"+e.parentMessageId),console.error("Original message was:"),console.dir(a),[2];e=r,s.label=2;case 2:return"comment"!==(o=this.getViewType(e))?[3,5]:(this.pointSubChat&&(this.pointSubChat.close&&this.pointSubChat.close(),this.pointSubChat=null),this.mobileFocus="points",this.pointOpen=e,t=this,[4,this.backend.getSourceForThread(e.topicId,e.id)]);case 3:return t.pointSubChat=s.sent(),n=this,[4,this.backend.refreshMessage(e)];case 4:return n.pointOpen=s.sent(),this.newPointSubMessage={},[3,6];case 5:"chat"===o&&(this.mobileFocus="firehose",this.firehose.jumpToMessage(e)),s.label=6;case 6:return[2]}}))}))},e.prototype.pointUnfocus=function(){this.pointOpen=null,this.pointSubChat&&(this.pointSubChat.close&&this.pointSubChat.close(),this.pointSubChat=null)},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},e.prototype.showAux=function(e,a){this.auxOpen=!0,this.auxTitle=e,this.auxMode=a,this.mobileFocus="aux"},e.prototype.showNotifications=function(){this.showAux("Notifications","notifications")},Object.defineProperty(e.prototype,"topicID",{get:function(){return this._topicID},set:function(e){this._topicID=e,this.close(),this.connectToTopic(this._topicID)},enumerable:!0,configurable:!0}),e.prototype.connectToTopic=function(e){return b(this,void 0,void 0,(function(){var a,r;return w(this,(function(o){switch(o.label){case 0:return a=this,[4,this.backend.getSourceForTopic(e+"_firehose")];case 1:return a.firehoseSource=o.sent(),r=this,[4,this.backend.getSourceForTopic(e+"_thepoint")];case 2:return r.pointSource=o.sent(),[2]}}))}))},Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},e.prototype.close=function(){this.firehoseSource&&(this.firehoseSource.close&&this.firehoseSource.close(),this.firehoseSource=null),this.pointSource&&(this.pointSource.close&&this.pointSource.close(),this.pointSource=null)},Object.defineProperty(e.prototype,"hasPoint",{get:function(){return null!=this.pointOpen},enumerable:!0,configurable:!0}),e.prototype.closeAux=function(){this.auxOpen=!1,this.mobileFocus="firehose"},e.prototype.getViewType=function(e){return e.topicId.endsWith("_firehose")?"chat":(e.topicId.endsWith("_thepoint"),"comment")},e.prototype.upvoteMessage=function(e){return b(this,void 0,void 0,(function(){return w(this,(function(a){switch(a.label){case 0:return e.parentMessageId?[4,this.backend.upvoteMessage(e.topicId,e.parentMessageId,e.id)]:[3,2];case 1:return a.sent(),[3,4];case 2:return[4,this.backend.upvoteMessage(e.topicId,e.id)];case 3:a.sent(),a.label=4;case 4:return[2]}}))}))},e.prototype.showProfile=function(e){this.profileUser=e,this.showAux("@"+e.username+"'s Profile","profile")},e.prototype.sendReport=function(e){this.auxOpen=!1,alert("would send report")},e.prototype.reportMessage=function(e){this.reportedMessage=e,this.showAux("Report message from @"+e.user.username,"report")},e.ctorParameters=function(){return[{type:k},{type:z},{type:l.MatDialog}]},p([o.ViewChild("firehose",{static:!0}),m("design:type",C)],e.prototype,"firehose",void 0),p([o.Input(),m("design:type",String),m("design:paramtypes",[Object])],e.prototype,"topicID",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.HostBinding("class.point-focus"),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"hasPoint",null),e=p([o.Component({selector:"engage-chat",template:'\r\n<mat-menu #userMenu="matMenu">\r\n <ng-container *ngIf="currentUser">\r\n <button [disabled]="true" mat-menu-item>{{currentUser.displayName}} (@{{currentUser.username}})</button>\r\n <button mat-menu-item (click)="signOut()">Sign Out</button>\r\n </ng-container>\r\n <ng-container *ngIf="!currentUser">\r\n <button mat-menu-item>Sign In</button>\r\n </ng-container>\r\n <button mat-menu-item>Help</button>\r\n</mat-menu>\r\n\r\n<div class="tabs">\r\n <div>\r\n <a mat-button (click)="mobileFocus = \'firehose\'">Firehose</a>\r\n <a mat-button (click)="mobileFocus = \'points\'">The Point</a>\r\n </div>\r\n <div class="spacer"></div>\r\n <div>\r\n <ng-container *ngIf="currentUser">\r\n <button mat-button [matMenuTriggerFor]="userMenu">\r\n @{{currentUser.username}}\r\n </button>\r\n <button mat-icon-button (click)="showNotifications()">\r\n <mat-icon>notification_important</mat-icon>\r\n </button>\r\n </ng-container>\r\n \r\n <button mat-button *ngIf="!currentUser" (click)="showSignIn()">\r\n Sign In\r\n </button>\r\n </div>\r\n</div>\r\n\r\n<div class="firehose" [class.focus]="mobileFocus === \'firehose\'">\r\n <header>\r\n <div>\r\n <label (click)="mobileFocus = \'firehose\'">Firehose</label>\r\n <div class="spacer"></div>\r\n\r\n <ng-container *ngIf="currentUser">\r\n <button mat-button [matMenuTriggerFor]="userMenu">\r\n @{{currentUser.username}}\r\n </button>\r\n <button mat-icon-button (click)="showNotifications()">\r\n <mat-icon>notification_important</mat-icon>\r\n </button>\r\n </ng-container>\r\n \r\n <button mat-button *ngIf="!currentUser" (click)="showSignIn()">\r\n Sign In\r\n </button>\r\n </div>\r\n </header>\r\n <engage-firehose \r\n #firehose\r\n [source]="firehoseSource"\r\n (signInSelected)="showSignIn()"\r\n (upvoted)="upvoteMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n (reported)="reportMessage($event)"\r\n ></engage-firehose>\r\n</div>\r\n\r\n<div class="aux" [class.focus]="mobileFocus === \'aux\'" [class.open]="auxOpen">\r\n <header>\r\n <div>\r\n <label>{{auxTitle}}</label>\r\n <div class="spacer"></div>\r\n <button mat-icon-button (click)="auxOpen = false">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </header>\r\n <div class="aux-contents">\r\n <ng-container *ngIf="auxMode === \'profile\'">\r\n <ng-container *ngIf="profileUser">\r\n\r\n <div>\r\n <strong style="font-size: 125%;">\r\n {{profileUser.displayName}}\r\n </strong>\r\n @{{profileUser.username}}\r\n </div>\r\n\r\n <br/>\r\n <strong>Top Messages</strong>\r\n\r\n <div>\r\n <em>Not yet available</em>\r\n </div>\r\n\r\n <br/>\r\n <strong>Recent Messages</strong>\r\n\r\n <div>\r\n <em>Not yet available</em>\r\n </div>\r\n\r\n <pre>{{profileUser | json}}</pre>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf="auxMode === \'report\'">\r\n <p>Are you sure you want to report this message?</p>\r\n\r\n <engage-live-message [message]="reportedMessage"></engage-live-message>\r\n\r\n <div style="text-align: center;">\r\n <button mat-raised-button color="primary" (click)="sendReport(reportedMessage)">Yes, Report</button>\r\n \r\n <button mat-raised-button color="secondary" (click)="auxOpen = false">No, Cancel</button>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <ng-container *ngIf="auxMode === \'notifications\'">\r\n\r\n <div *ngIf="!notifications || notifications.length === 0">\r\n <em>You do not have any notifications yet</em>\r\n </div>\r\n \r\n <div class="notifications">\r\n <div class="notification" *ngFor="let notif of notifications">\r\n <div>\r\n <ng-container *ngIf="notif.type === \'upvote\'">\r\n @{{notif.message?.user?.username}} upvoted your post\r\n \r\n <engage-live-message\r\n [message]="notif.message"\r\n (upvoted)="upvoteMessage(notif.message)"\r\n (reported)="reportMessage(notif.message)"\r\n (selected)="goToMessage(notif.message)">\r\n </engage-live-message>\r\n\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'notice\'">\r\n <div>\r\n {{notif.message}}\r\n </div>\r\n <a mat-button target="_blank" href="{{notif.actionUrl}}">\r\n {{notif.actionLabel}}\r\n </a>\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'mention\'">\r\n You were mentioned by @{{notif.message?.user?.username}}\r\n\r\n <engage-live-message\r\n [message]="notif.message"\r\n (upvoted)="upvoteMessage(notif.message)"\r\n (reported)="reportMessage(notif.message)"\r\n (selected)="goToMessage(notif.message)">\r\n </engage-live-message>\r\n\r\n </ng-container>\r\n <ng-container *ngIf="notif.type === \'reply\'">\r\n @{{notif.replyMessage?.user?.username}} replied to your post\r\n \r\n <engage-live-message\r\n [message]="notif.replyMessage"\r\n (upvoted)="upvoteMessage(notif.replyMessage)"\r\n (reported)="reportMessage(notif.replyMessage)"\r\n (selected)="goToMessage(notif.replyMessage)">\r\n </engage-live-message>\r\n </ng-container>\r\n </div>\r\n\r\n <engage-timestamp [value]="notif.sentAt"></engage-timestamp>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n<div class="points" [class.focus]="mobileFocus === \'points\'">\r\n <header>\r\n <div>\r\n <label>The Point</label>\r\n </div>\r\n </header>\r\n <div class="point-focus">\r\n <div class="actions">\r\n <button mat-button (click)="pointUnfocus()">\r\n <mat-icon>arrow_back</mat-icon>\r\n Back\r\n </button>\r\n\r\n <div class="spacer"></div>\r\n \r\n <ng-container *ngIf="pointOpen">\r\n <div class="counted-action">\r\n <div class="count-indicator"> \r\n {{pointOpen.upvotes}}\r\n </div>\r\n <button mat-icon-button>\r\n <mat-icon>thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div *ngIf="!pointSubChat">\r\n Error: No subchat\r\n </div>\r\n \r\n <engage-comment-view\r\n class="subcomments"\r\n *ngIf="pointSubChat"\r\n [newestLast]="true"\r\n [allowReplies]="false"\r\n [source]="pointSubChat"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n >\r\n \r\n <engage-comment\r\n class="focused-comment"\r\n data-before\r\n *ngIf="pointOpen"\r\n (upvoted)="upvoteMessage(pointOpen)"\r\n (userSelected)="showProfile(pointOpen.user)"\r\n (reported)="reportMessage(pointOpen)"\r\n [showReplyAction]="false"\r\n [message]="pointOpen"\r\n ></engage-comment>\r\n \r\n <div class="message reply">\r\n Reply:\r\n <form class="new-message" (submit)="sendPointSubMessage()">\r\n <textarea \r\n name="message" \r\n (keydown)="newPointSubMessageKeyDown($event)"\r\n [(ngModel)]="newPointSubMessage.message"></textarea>\r\n \r\n <div class="actions">\r\n <button [disabled]="!newPointSubMessage.message" \r\n mat-raised-button color="primary">Send</button>\r\n </div>\r\n </form>\r\n </div>\r\n </engage-comment-view>\r\n </div>\r\n <div class="points-section">\r\n <engage-comments\r\n [source]="pointSource"\r\n (signInSelected)="showSignIn()"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n (selected)="goToMessage($event)"\r\n (userSelected)="showProfile($event.user)"\r\n ></engage-comments>\r\n </div>\r\n</div>',styles:[':host{display:flex;flex-direction:row;padding:.5em;height:40em;position:relative}.counted-action{display:flex;align-items:center}.count-indicator{font-size:9pt;padding:0 3px;border-radius:3px;border:1px solid #333}header{position:relative;margin-bottom:1em}header div{display:flex;align-items:center;height:30px}header button{color:#666}header label{text-transform:uppercase;z-index:1;font-size:12pt;letter-spacing:2px;font-weight:100;color:#333;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;position:relative;white-space:nowrap;overflow-x:hidden;text-overflow:ellipsis}header:after{content:"";border:1px solid #ccc;height:0;width:100%;display:block;position:relative;z-index:0}.points{max-width:50em;display:flex;flex-direction:column}:host.point-focus .points{width:66%;max-width:50em}:host.point-focus .points .points-section{opacity:0;pointer-events:none}:host.point-focus .points .point-focus{opacity:1;pointer-events:initial}:host.point-focus .points .point-focus .actions{display:flex}engage-comments{flex-grow:1}.points{width:33%;margin-left:.5em;font-size:12pt;flex-shrink:0;max-width:30em;transition:width .2s ease-in,max-width .2s ease-in;position:relative}.points .points-section{flex-grow:1;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in;z-index:2}.points .point-focus{position:absolute;width:100%;bottom:0;top:1.75em;right:0;left:0;padding:.5em;opacity:0;transition:opacity .2s ease-in;flex-grow:1;display:flex;flex-direction:column}.firehose{flex-grow:1;font-size:10pt;display:flex;flex-direction:column}form{display:flex;padding:.5em 0;align-items:center}form textarea{font-size:14pt;background:#000;color:#fff;border:1px solid #333;min-height:6em;width:100%}form input[type=text]{background:#000;color:#fff;border:1px solid #333;width:100%;height:1em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}.subcomments ::ng-deep engage-comment{font-size:10pt}.subcomments ::ng-deep engage-comment.focused-comment{background:#001321;color:#fff;font-size:12pt}.aux{width:0;min-width:0;overflow-x:hidden;transition:width .4s ease-out,min-width .4s ease-out;display:flex;flex-direction:column}.aux.open{width:30em;min-width:18em}.aux .aux-contents{width:30em;min-width:10em;max-width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-grow:1}.notifications .notification{border-bottom:1px solid #333;padding:1em}.notifications .notification engage-timestamp{display:block;text-align:right;font-size:9pt;color:#999}.message.reply{padding:1em}.tabs{display:none}@media (max-width:1015px){:host{flex-direction:column}.tabs{display:flex;position:absolute;top:0;left:0;right:0;width:100%;z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.5)}.points{width:100%;max-width:100%;margin-left:0}header{display:none}:host.point-focus .points{width:100%;max-width:100%}.aux{width:100%;min-width:initial;max-width:100%}.aux,.firehose,.points{position:absolute;top:2em;left:0;right:0;bottom:0;z-index:0;background:#000}.aux.focus,.firehose.focus,.points.focus{z-index:2}}:host-context(.mat-dark-theme) :host{background:#090909;color:#fff}:host-context(.mat-dark-theme) form textarea{background:#ccc;color:#333}:host-context(.mat-dark-theme) header:after{border-color:#222}:host-context(.mat-dark-theme) header label{color:#aaa}']}),m("design:paramtypes",[k,z,l.MatDialog])],e)}(),$=function(){function e(){}return e=p([o.Component({selector:"engage-logo",template:"banta",styles:["\n :host {\n font-family: 'Odibee Sans', sans-serif;\n font-size: 40pt;\n }\n\n :host.small {\n font-size: 30pt;\n }\n "]})],e)}(),B=function(){function e(){this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){this._message=e,this.viewType=this.getViewType(e)},enumerable:!0,configurable:!0}),e.prototype.getViewType=function(e){return e.topicId.endsWith("_firehose")?"chat":(e.topicId.endsWith("_thepoint"),"comment")},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.report=function(){this._reported.next()},e.prototype.select=function(){this._selected.next()},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-message",template:'\n <ng-container *ngIf="message">\n <engage-live-chat-message\n *ngIf="viewType === \'chat\'"\n [message]="message"\n (upvoted)="upvote(message)"\n (reported)="report(message)"\n (selected)="select(message)">\n </engage-live-chat-message>\n\n <engage-live-comment \n *ngIf="viewType === \'comment\'"\n [message]="message"\n (upvoted)="upvote(message)"\n (reported)="report(message)"\n (selected)="select(message)">\n </engage-live-comment>\n </ng-container>\n ',styles:[""]}),m("design:paramtypes",[])],e)}(),G=function(){function e(){this._reported=new a.Subject,this._selected=new a.Subject,this._upvoted=new a.Subject,this._userSelected=new a.Subject,this.showReplyAction=!0}return Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.prototype.selectUser=function(){return this._userSelected.next()},e.prototype.avatarForUser=function(e){return e&&e.avatarUrl?"url("+e.avatarUrl+")":null},p([o.Input(),m("design:type",Object)],e.prototype,"message",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"showReplyAction",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),e=p([o.Component({selector:"engage-comment",template:'\r\n<mat-menu #pointItemMenu="matMenu">\r\n <button mat-menu-item (click)="report()">Report</button>\r\n <button mat-menu-item>Help</button>\r\n</mat-menu>\r\n\r\n<div class="message-content">\r\n <div class="user">\r\n <div class="avatar" \r\n (click)="selectUser()"\r\n [style.background-image]="avatarForUser(message.user)"></div>\r\n <label class="display-name" (click)="selectUser()">{{message.user.displayName}}</label>\r\n <label class="username" (click)="selectUser()">@{{message.user.username}}</label>\r\n\r\n <button mat-icon-button [matMenuTriggerFor]="pointItemMenu">\r\n <mat-icon [inline]="true">more_vert</mat-icon>\r\n </button>\r\n </div>\r\n <div class="content" (click)="select()">\r\n {{message.message}}\r\n </div>\r\n \r\n <div class="actions">\r\n <engage-timestamp [value]="message.sentAt"></engage-timestamp>\r\n <div class="spacer"></div>\r\n <div class="counted-action" *ngIf="showReplyAction">\r\n <div class="count-indicator">\r\n {{message.submessages?.length || 0}}\r\n </div>\r\n <button mat-icon-button matTooltip="Comment" matTooltipPosition="below" (click)="select()">\r\n <mat-icon [inline]="true">comment</mat-icon>\r\n </button>\r\n </div>\r\n <div class="counted-action">\r\n <div class="count-indicator"> \r\n {{message.upvotes}}\r\n </div>\r\n <button mat-icon-button matTooltip="Upvote" matTooltipPosition="below" (click)="upvote()">\r\n <mat-icon [inline]="true">thumb_up</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n',styles:[":host{display:flex;flex-direction:column;position:relative;padding:.5em}:host:hover{background:#eee}:host .message-content .content{margin-left:4em;margin-right:3em}:host.abbreviated .message-content .content{max-height:8.5em;text-overflow:ellipsis;overflow-y:hidden}:host .actions{display:flex;padding-right:10px;margin-left:4em;align-items:center}:host .actions button{color:#666}:host .actions engage-timestamp{color:#666;font-size:10pt}.user{position:relative;margin:1em 0 0;display:flex;align-items:center}.user label{z-index:1;position:relative;padding:0 0 0 1em;font-size:10pt;color:#000;margin:0 auto 0 0;display:block;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;flex-shrink:1;flex-grow:0}.user label.username{color:#666;flex-shrink:0;flex-grow:1}.avatar{height:3em;width:3em;background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0}.counted-action{display:flex;align-items:center}.count-indicator{font-size:9pt;padding:0 3px;border-radius:3px;border:1px solid #ccc;color:#666}:host-context(.mat-dark-theme) .count-indicator{border-color:#333}:host-context(.mat-dark-theme):hover{background:#060606}:host-context(.mat-dark-theme) .user label{color:#fff}"]})],e)}(),V=function(){function e(){this._sourceSubs=new i.SubSink,this._selected=new a.Subject,this._upvoted=new a.Subject,this._reported=new a.Subject,this._userSelected=new a.Subject,this.allowReplies=!0,this.menuMessage=null,this.messages=[],this.maxMessages=200,this.newestLast=!1}return Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){var a=this;if(this._sourceSubs&&(this._sourceSubs.unsubscribe(),this._sourceSubs=null),this._source=e,e){var r=e.messages||[];this._sourceSubs=new i.SubSink,this.messages=r.slice(),this._sourceSubs.add(this._source.messageReceived.subscribe((function(e){return a.messageReceived(e)})),this._source.messageSent.subscribe((function(e){return a.messageSent(e)}))),this._source.currentUserChanged&&this._sourceSubs.add(this._source.currentUserChanged.subscribe((function(e){return a.currentUser=e})))}},enumerable:!0,configurable:!0}),e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.prototype.addMessage=function(e){if(this.newestLast){for(;this.messages.length+1>this.maxMessages;)this.messages.shift();this.messages.push(e)}else{for(;this.messages.length+1>this.maxMessages;)this.messages.pop();this.messages.unshift(e)}},e.prototype.messageReceived=function(e){var a=this;this.addMessage(e),this.isScrolledToLatest()&&setTimeout((function(){return a.scrollToLatest()}))},e.prototype.isScrolledToLatest=function(){if(!this.messageContainer)return!1;var e=this.messageContainer.nativeElement;return e.scrollTop>e.scrollHeight-e.offsetHeight-10},e.prototype.messageSent=function(e){this.addMessage(e),this.messageContainer&&this.scrollToLatest()},e.prototype.scrollToLatest=function(){if(this.messageContainer){var e=this.messageContainer.nativeElement;e.scrollTop=e.scrollHeight}},e.prototype.mentionsMe=function(e){return!!this.currentUser&&!!e.message.includes("@"+this.currentUser.username)},e.prototype.avatarForUser=function(e){var a=this.genericAvatarUrl;return e&&e.avatarUrl&&(a=e.avatarUrl),"url("+a+")"},p([o.Input(),m("design:type",Object)],e.prototype,"allowReplies",void 0),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Input(),m("design:type",String)],e.prototype,"genericAvatarUrl",void 0),p([o.ViewChild("messageContainer"),m("design:type",o.ElementRef)],e.prototype,"messageContainer",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"maxMessages",void 0),p([o.Input(),m("design:type",Object)],e.prototype,"newestLast",void 0),e=p([o.Component({selector:"engage-comment-view",template:'<div class="message-container">\r\n <ng-content select="[data-before]"></ng-content>\r\n <engage-comment \r\n *ngFor="let message of messages"\r\n class="abbreviated"\r\n [message]="message"\r\n [showReplyAction]="allowReplies"\r\n (userSelected)="selectMessageUser(message)"\r\n (upvoted)="upvoteMessage(message)"\r\n (reported)="reportMessage(message)"\r\n (selected)="selectMessage(message)"\r\n ></engage-comment>\r\n <ng-content select=":not([data-before])"></ng-content>\r\n</div>',styles:[":host{flex-grow:1;display:flex;flex-direction:column;opacity:1;transition:opacity .2s ease-in}.message-container{flex-grow:1;overflow-y:auto;overflow-x:hidden;height:10em;color:#000;background:#fff;padding:.5em 1em .5em .5em}.message-container.no-scroll{height:auto;overflow-y:visible}:host-context(.mat-dark-theme) .message-container{color:#fff;background:#000}"]}),m("design:paramtypes",[])],e)}(),H=function(){function e(e,r){this.banta=e,this.backend=r,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject,this._userSelected=new a.Subject,this._subs=new i.SubSink,this._signInSelected=new a.Subject}return e.prototype.ngOnInit=function(){var e=this;this._subs.add(this.banta.userChanged.subscribe((function(a){return e.user=a})))},e.prototype.ngOnDestroy=function(){this._subs.unsubscribe()},Object.defineProperty(e.prototype,"source",{get:function(){return this._source},set:function(e){this._source=e},enumerable:!0,configurable:!0}),e.prototype.showSignIn=function(){this._signInSelected.next()},Object.defineProperty(e.prototype,"signInSelected",{get:function(){return this._signInSelected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"userSelected",{get:function(){return this._userSelected},enumerable:!0,configurable:!0}),e.prototype.onKeyDown=function(e){},e.prototype.insertEmoji=function(e){this.newMessageText+=e},e.prototype.sendMessage=function(){if(this.source){var e=(this.newMessageText||"").trim();if(this.newMessageText="",""!==e){var a={user:this.user,sentAt:Date.now(),upvotes:0,message:e};this.source.send(a)}}},e.prototype.upvoteMessage=function(e){this._upvoted.next(e)},e.prototype.reportMessage=function(e){this._reported.next(e)},e.prototype.selectMessage=function(e){this._selected.next(e)},e.prototype.selectMessageUser=function(e){this._userSelected.next(e)},e.ctorParameters=function(){return[{type:k},{type:z}]},p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"source",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"signInSelected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Output(),m("design:type",Object),m("design:paramtypes",[])],e.prototype,"userSelected",null),e=p([o.Component({selector:"engage-comments",template:'\r\n<form class="new-message" (submit)="sendMessage()">\r\n <div class="text-container">\r\n <textarea \r\n name="message" \r\n (keydown)="onKeyDown($event)"\r\n [(ngModel)]="newMessageText"></textarea>\r\n <emoji-selector-button \r\n class="top-right"\r\n (selected)="insertEmoji($event)"\r\n ></emoji-selector-button>\r\n </div>\r\n <div class="actions">\r\n\r\n <button \r\n *ngIf="!user" \r\n mat-raised-button \r\n color="primary"\r\n type="button"\r\n (click)="showSignIn()"\r\n >Sign In</button>\r\n <button \r\n *ngIf="user" \r\n mat-raised-button \r\n color="primary"\r\n [disabled]="!newMessageText" \r\n >Send</button>\r\n </div>\r\n</form>\r\n\r\n<engage-comment-view \r\n [source]="source"\r\n (userSelected)="selectMessageUser($event)"\r\n (selected)="selectMessage($event)"\r\n (upvoted)="upvoteMessage($event)"\r\n (reported)="reportMessage($event)"\r\n ></engage-comment-view>',styles:[":host{display:flex;flex-direction:column}form{display:flex;padding:.5em 0;align-items:center}form .text-container{position:relative;display:flex;flex-grow:1}form .text-container textarea{font-size:14pt;background-color:#fff;color:#333;border:1px solid #ccc;min-height:6em;width:100%}form .text-container emoji-selector-button{bottom:0;right:0;position:absolute}form input[type=text]{background:#000;color:#fff;border:1px solid #333;width:100%;height:1em}form .actions{margin-left:1em}form button{display:block;margin:0 0 0 auto}:host-context(.mat-dark-theme) form .text-container textarea{background:#000;color:#fff;border-color:#333}"]}),m("design:paramtypes",[k,z])],e)}(),W=function(){function e(e){this.backend=e,this._upvoted=new a.Subject,this._reported=new a.Subject,this._selected=new a.Subject}return Object.defineProperty(e.prototype,"upvoted",{get:function(){return this._upvoted},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"reported",{get:function(){return this._reported},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"selected",{get:function(){return this._selected},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"message",{get:function(){return this._message},set:function(e){var a=this,r=null;this._message&&(r=this._message.id),this._message=e,e&&r===e.id||(this.unsubscribe&&this.unsubscribe(),e&&(this.unsubscribe=this.backend.watchMessage(e,(function(e){return a.message=e}))))},enumerable:!0,configurable:!0}),e.prototype.report=function(){this._reported.next()},e.prototype.upvote=function(){this._upvoted.next()},e.prototype.select=function(){this._selected.next()},e.ctorParameters=function(){return[{type:z}]},p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"upvoted",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"reported",null),p([o.Output(),m("design:type",a.Observable),m("design:paramtypes",[])],e.prototype,"selected",null),p([o.Input(),m("design:type",Object),m("design:paramtypes",[Object])],e.prototype,"message",null),e=p([o.Component({selector:"engage-live-comment",template:'\n <engage-comment \n *ngIf="message"\n [message]="message"\n (upvoted)="upvote()"\n (reported)="report()"\n (selected)="select()"\n ></engage-comment>\n ',styles:[""]}),m("design:paramtypes",[z])],e)}(),K=[G,V,H,W],J=function(){function e(){}return e=p([o.NgModule({declarations:K,imports:[t.CommonModule,y.FormsModule,s.MatIconModule,c.MatButtonModule,d.MatMenuModule,j,q],exports:K})],e)}(),Y=[F,$,B],X=function(){function e(){}return e=p([o.NgModule({imports:[t.CommonModule,y.FormsModule,j.forRoot(),J,L,q,s.MatIconModule,c.MatButtonModule,g.MatTooltipModule,d.MatMenuModule,l.MatDialogModule,u.MatFormFieldModule,h.MatInputModule],declarations:Y,exports:Y})],e)}();e.BantaSdkModule=X,e.BantaService=k,e.ChatBackendService=z,e.ChatMessageComponent=I,e.ChatModule=L,e.ChatViewComponent=U,e.CommentComponent=G,e.CommentViewComponent=V,e.CommentsBoxComponent=H,e.CommentsModule=J,e.EMOJIS=x,e.EmojiModule=q,e.EmojiSelectorButtonComponent=M,e.EmojiSelectorPanelComponent=S,e.EngageCommonModule=j,e.EngageComponent=F,e.EngageLogoComponent=$,e.FirehoseChatComponent=C,e.LiveChatMessageComponent=P,e.LiveCommentComponent=W,e.LiveMessageComponent=B,e.MockFirehoseSource=E,e.MockPointSource=N,e.MockSubpointSource=A,e.TimestampComponent=_,e.lazyConnection=function(e){return new a.Observable((function(r){var o=new a.Subject,t=o.subscribe(r);return e.start(o),function(){t.unsubscribe(),e.stop()}})).pipe(r.publish()).refCount()},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
16
16
|
//# sourceMappingURL=banta-sdk.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@banta/sdk/lib/common/banta.service.ts","ng://@banta/sdk/lib/common/timestamp.component.ts","ng://@banta/sdk/lib/common/common.module.ts","ng://@banta/sdk/lib/emoji/emojis.ts","ng://@banta/sdk/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.ts","ng://@banta/sdk/lib/emoji/emoji-selector-button.component.ts","ng://@banta/sdk/lib/emoji/emoji.module.ts","ng://@banta/sdk/lib/chat/chat-message/chat-message.component.ts","ng://@banta/sdk/lib/chat-backend.service.ts","ng://@banta/sdk/lib/chat/live-chat-message.component.ts","ng://@banta/sdk/lib/chat/chat-view/chat-view.component.ts","ng://@banta/sdk/lib/chat/firehose-chat/firehose-chat.component.ts","ng://@banta/sdk/lib/chat/chat.module.ts","ng://@banta/sdk/lib/engage/engage.component.ts","ng://@banta/sdk/lib/engage-logo.component.ts","ng://@banta/sdk/lib/live-message.component.ts","ng://@banta/sdk/lib/comments/comment/comment.component.ts","ng://@banta/sdk/lib/comments/comment-view/comment-view.component.ts","ng://@banta/sdk/lib/comments/comments-box/comments-box.component.ts","ng://@banta/sdk/lib/comments/live-comment.component.ts","ng://@banta/sdk/lib/comments/comments.module.ts","ng://@banta/sdk/lib/banta-sdk.module.ts","ng://@banta/sdk/lib/common/lazy-connection.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","push","__values","o","s","m","BantaService","_userChanged","BehaviorSubject","prototype","_user","user","Injectable","TimestampComponent","relative","tooltip","updateInterval","showAbsolute","ngOnDestroy","clearInterval","_value","update","_this","diff","Date","now","day","hour","updateTime","months","Math","floor","weeks","days","minute","hours","minutes","window","setInterval","Input","Component","selector","template","COMPONENTS","EngageCommonModule","forRoot","ngModule","EngageCommonModule_1","providers","NgModule","declarations","imports","CommonModule","exports","EMOJIS","grinning","keywords","char","category","grimacing","grin","joy","smiley","smile","sweat_smile","laughing","innocent","wink","blush","slightly_smiling","upside_down","relaxed","yum","relieved","heart_eyes","kissing_heart","kissing","kissing_smiling_eyes","kissing_closed_eyes","stuck_out_tongue_winking_eye","stuck_out_tongue_closed_eyes","stuck_out_tongue","money_mouth","nerd","sunglasses","hugging","smirk","no_mouth","neutral_face","expressionless","unamused","rolling_eyes","thinking","flushed","disappointed","worried","angry","rage","pensive","confused","slightly_sad","white_frowning","persevere","confounded","tired_face","weary","triumph","open_mouth","scream","fearful","cold_sweat","hushed","frowning","anguished","cry","disappointed_relieved","sleepy","sweat","sob","dizzy_face","astonished","zipper_mouth","mask","thermometer_face","bandage_face","sleeping","zzz","hankey","smiling_imp","imp","japanese_ogre","japanese_goblin","skull","ghost","alien","robot","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","raised_hands","clap","wave","+1","minus1","facepunch","fist","ok_hand","hand","open_hands","muscle","pray","point_up","point_up_2","point_down","point_left","point_right","middle_finger","splayed_fingers","sign_of_horns","vulcan_salute","writing_hand","nail_care","lips","tongue","ear","nose","eye","eyes","bust_in_silhouette","busts_in_silhouette","speaking_head","baby","boy","girl","man","woman","person_with_blond_hair","older_man","older_woman","man_with_gua_pi_mao","man_with_turban","cop","construction_worker","guardsman","sleuth","santa","angel","princess","bride_with_veil","runner","walking","dancer","dancers","couple","two_men_holding_hands","two_women_holding_hands","bow","information_desk_person","no_good","ok_woman","raising_hand","person_with_pouting_face","person_frowning","haircut","massage","couple_with_heart","female_couple_with_heart","male_couple_with_heart","couplekiss","female_couplekiss","male_couplekiss","family","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_boys","family_man_woman_girls","family_women_boy","family_women_girl","family_women_girl_boy","family_women_boys","family_women_girls","family_men_boy","family_men_girl","family_men_girl_boy","family_men_boys","family_men_girls","womans_clothes","shirt","jeans","necktie","dress","bikini","kimono","lipstick","kiss","footprints","high_heel","sandal","boot","mans_shoe","athletic_shoe","womans_hat","tophat","helmet","mortar_board","crown","school_satchel","pouch","purse","handbag","briefcase","eyeglasses","dark_sunglasses","ring","closed_umbrella","dog","cat","mouse","hamster","rabbit","bear","panda_face","koala","tiger","lion_face","cow","pig","pig_nose","frog","octopus","monkey_face","see_no_evil","hear_no_evil","speak_no_evil","monkey","chicken","penguin","bird","baby_chick","hatching_chick","hatched_chick","wolf","boar","horse","unicorn_face","bee","bug","snail","beetle","ant","spider","scorpion","crab","snake","turtle","tropical_fish","fish","blowfish","dolphin","whale","whale2","crocodile","leopard","tiger2","water_buffalo","ox","cow2","dromedary_camel","camel","elephant","goat","ram","sheep","racehorse","pig2","rat","mouse2","rooster","turkey","dove_of_peace","dog2","poodle","cat2","rabbit2","chipmunk","feet","dragon","dragon_face","cactus","christmas_tree","evergreen_tree","deciduous_tree","palm_tree","seedling","herb","shamrock","four_leaf_clover","bamboo","tanabata_tree","leaves","fallen_leaf","maple_leaf","ear_of_rice","hibiscus","sunflower","rose","tulip","blossom","cherry_blossom","bouquet","mushroom","chestnut","jack_o_lantern","shell","spider_web","earth_americas","earth_africa","earth_asia","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","new_moon","waxing_crescent_moon","first_quarter_moon","moon","new_moon_with_face","full_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","sun_with_face","crescent_moon","star","star2","dizzy","sparkles","comet","sunny","white_sun_with_small_cloud","partly_sunny","white_sun_behind_cloud","white_sun_behind_cloud_with_rain","cloud","cloud_with_rain","thunder_cloud_and_rain","cloud_with_lightning","zap","fire","boom","snowflake","cloud_with_snow","snowman","snowman_with_snow","wind_blowing_face","dash","cloud_with_tornado","fog","umbrella_without_rain","umbrella","droplet","sweat_drops","ocean","green_apple","apple","pear","tangerine","lemon","banana","watermelon","grapes","strawberry","melon","cherries","peach","pineapple","tomato","eggplant","hot_pepper","corn","sweet_potato","honey_pot","bread","cheese_wedge","poultry_leg","meat_on_bone","fried_shrimp","egg","hamburger","fries","hot_dog","pizza","spaghetti","taco","burrito","ramen","stew","fish_cake","sushi","bento","curry","rice_ball","rice","rice_cracker","oden","dango","shaved_ice","ice_cream","icecream","cake","birthday","custard","candy","lollipop","chocolate_bar","popcorn","doughnut","cookie","beer","beers","wine_glass","cocktail","tropical_drink","bottle","sake","tea","coffee","baby_bottle","fork_and_knife","fork_and_knife_with_plate","soccer","basketball","football","baseball","tennis","volleyball","rugby_football","8ball","golf","golfer","table_tennis","badminton","ice_hockey","field_hockey","cricket","ski","skier","snowboarder","ice_skate","bow_and_arrow","fishing_pole_and_fish","rowboat","swimmer","surfer","bath","person_with_ball","weight_lifter","bicyclist","mountain_bicyclist","horse_racing","man_levitating","trophy","running_shirt_with_sash","sports_medal","military_medal","reminder_ribbon","rosette","ticket","admission_ticket","performing_arts","art","circus_tent","microphone","headphones","musical_score","musical_keyboard","saxophone","trumpet","guitar","violin","clapper","video_game","space_invader","dart","game_die","slot_machine","bowling","car","taxi","blue_car","bus","trolleybus","racing_car","police_car","ambulance","fire_engine","minibus","truck","articulated_lorry","tractor","racing_motorcycle","bike","rotating_light","oncoming_police_car","oncoming_bus","oncoming_automobile","oncoming_taxi","aerial_tramway","mountain_cableway","suspension_railway","railway_car","train","monorail","bullettrain_side","bullettrain_front","light_rail","mountain_railway","steam_locomotive","train2","metro","tram","station","helicopter","small_airplane","airplane","airplane_departure","airplane_arrival","boat","motor_boat","speedboat","ferry","passenger_ship","rocket","artificial_satellite","seat","anchor","construction","fuelpump","busstop","vertical_traffic_light","traffic_light","checkered_flag","ship","ferris_wheel","roller_coaster","carousel_horse","building_construction","foggy","tokyo_tower","factory","fountain","rice_scene","mountain","snow_capped_mountain","mount_fuji","volcano","japan","camping","tent","national_park","motorway","railway_track","sunrise","sunrise_over_mountains","desert","beach_with_umbrella","desert_island","city_sunrise","city_sunset","cityscape","night_with_stars","bridge_at_night","milky_way","stars","sparkler","fireworks","rainbow","buildings","european_castle","japanese_castle","stadium","statue_of_liberty","house","house_with_garden","derelict_house","office","department_store","post_office","european_post_office","hospital","bank","hotel","convenience_store","school","love_hotel","wedding","museum","church","mosque","synagogue","kaaba","shinto_shrine","watch","iphone","calling","computer","keyboard","desktop_computer","printer","three_button_mouse","trackball","joystick","compression","minidisc","floppy_disk","cd","dvd","vhs","camera","camera_with_flash","video_camera","movie_camera","film_projector","film_frames","telephone_receiver","phone","pager","fax","tv","radio","studio_microphone","level_slider","control_knobs","stopwatch","timer_clock","alarm_clock","mantelpiece_clock","hourglass_flowing_sand","hourglass","satellite","battery","electric_plug","bulb","flashlight","candle","wastebasket","oil_drum","money_with_wings","dollar","yen","euro","pound","moneybag","credit_card","gem","scales","wrench","hammer","hammer_and_pick","hammer_and_wrench","pick","nut_and_bolt","gear","chains","gun","bomb","hocho","dagger_knife","crossed_swords","shield","smoking","skull_and_crossbones","coffin","funeral_urn","amphora","crystal_ball","prayer_beads","barber","alembic","telescope","microscope","hole","pill","syringe","thermometer","bookmark","toilet","shower","bathtub","old_key","couch_and_lamp","sleeping_accommodation","bed","door","bellhop_bell","frame_with_picture","world_map","umbrella_on_ground","moyai","shopping_bags","balloon","flags","ribbon","gift","confetti_ball","tada","dolls","wind_chime","crossed_flags","izakaya_lantern","envelope","envelope_with_arrow","incoming_envelope","email","love_letter","postbox","mailbox_closed","mailbox","mailbox_with_mail","mailbox_with_no_mail","package","postal_horn","inbox_tray","outbox_tray","scroll","page_with_curl","bookmark_tabs","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","page_facing_up","date","calendar","spiral_calendar_pad","card_index","card_file_box","ballot_box_with_ballot","file_cabinet","clipboard","spiral_note_pad","file_folder","open_file_folder","card_index_dividers","rolled_up_newspaper","newspaper","notebook","closed_book","green_book","blue_book","orange_book","notebook_with_decorative_cover","ledger","books","book","link","paperclip","linked_paperclips","scissors","triangular_ruler","straight_ruler","pushpin","round_pushpin","triangular_flag_on_post","waving_white_flag","waving_black_flag","closed_lock_with_key","lock","unlock","lock_with_ink_pen","lower_left_ballpoint_pen","lower_left_fountain_pen","black_nib","memo","pencil2","lower_left_crayon","lower_left_paintbrush","mag","mag_right","heart","yellow_heart","green_heart","blue_heart","purple_heart","broken_heart","heavy_heart_exclamation_mark_ornament","two_hearts","revolving_hearts","heartbeat","heartpulse","sparkling_heart","cupid","gift_heart","heart_decoration","peace_symbol","latin_cross","star_and_crescent","om_symbol","wheel_of_dharma","star_of_david","six_pointed_star","menorah_with_nine_branches","yin_yang","orthodox_cross","place_of_worship","ophiuchus","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","id","atom_symbol","u7a7a","u5272","radioactive_sign","biohazard_sign","mobile_phone_off","vibration_mode","u6709","u7121","u7533","u55b6","u6708","eight_pointed_black_star","vs","accept","white_flower","ideograph_advantage","secret","congratulations","u5408","u6e80","u7981","a","b","ab","cl","o2","sos","no_entry","name_badge","no_entry_sign","x","anger","hotsprings","no_pedestrians","do_not_litter","no_bicycles","non-potable_water","underage","no_mobile_phones","exclamation","grey_exclamation","question","grey_question","bangbang","interrobang","100","low_brightness","high_brightness","trident","fleur_de_lis","part_alternation_mark","warning","children_crossing","beginner","recycle","u6307","chart","sparkle","eight_spoked_asterisk","negative_squared_cross_mark","white_check_mark","diamond_shape_with_a_dot_inside","cyclone","loop","globe_with_meridians","atm","sa","passport_control","customs","baggage_claim","left_luggage","wheelchair","no_smoking","wc","parking","potable_water","mens","womens","baby_symbol","restroom","put_litter_in_its_place","cinema","signal_strength","koko","ng","ok","up","cool","new","free","zero","one","two","three","four","five","six","seven","eight","nine","keycap_ten","keycap_star","1234","arrow_forward","double_vertical_bar","black_right_pointing_triangle_with_double_vertical_bar","black_square_for_stop","black_circle_for_record","black_right_pointing_double_triangle_with_vertical_bar","black_left_pointing_double_triangle_with_vertical_bar","fast_forward","rewind","twisted_rightwards_arrows","repeat","repeat_one","arrow_backward","arrow_up_small","arrow_down_small","arrow_double_up","arrow_double_down","arrow_right","arrow_left","arrow_up","arrow_down","arrow_upper_right","arrow_lower_right","arrow_lower_left","arrow_upper_left","arrow_up_down","left_right_arrow","arrows_counterclockwise","arrow_right_hook","leftwards_arrow_with_hook","arrow_heading_up","arrow_heading_down","hash","information_source","abc","abcd","capital_abcd","symbols","musical_note","notes","wavy_dash","curly_loop","heavy_check_mark","arrows_clockwise","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_multiplication_x","heavy_dollar_sign","currency_exchange","copyright","registered","tm","end","back","on","top","soon","ballot_box_with_check","radio_button","white_circle","black_circle","red_circle","large_blue_circle","small_orange_diamond","small_blue_diamond","large_orange_diamond","large_blue_diamond","small_red_triangle","black_small_square","white_small_square","black_large_square","white_large_square","small_red_triangle_down","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_square_button","white_square_button","speaker","sound","loud_sound","mute","mega","loudspeaker","bell","no_bell","black_joker","mahjong","spades","clubs","hearts","diamonds","flower_playing_cards","thought_balloon","right_anger_bubble","speech_balloon","left_speech_bubble","clock1","clock2","clock3","clock4","clock5","clock6","clock7","clock8","clock9","clock10","clock11","clock12","clock130","clock230","clock330","clock430","clock530","clock630","clock730","clock830","clock930","clock1030","clock1130","clock1230","af","ax","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","bq","ba","bw","br","io","vg","bn","bg","bf","bi","cv","kh","cm","ca","ic","ky","cf","td","chile","cn","cx","cc","co","km","cg","drc","ck","cr","hr","cu","cw","cy","cz","dk","dj","dm","do","ec","eg","sv","gq","er","ee","et","eu","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hn","hk","hu","is","in","indonesia","ir","iq","ie","im","il","it","ci","jm","jp","je","jo","kz","ke","ki","xk","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","nigeria","nu","nf","mp","kp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","re","ro","ru","rw","bl","sh","kn","lc","pm","vc","ws","sm","st","saudi_arabia","sn","rs","sc","sl","sg","sx","sk","si","sb","so","za","gs","kr","ss","es","lk","sd","sr","sz","se","ch","sy","tw","tj","tz","th","tl","tg","tk","to","tt","tn","tr","turkmenistan","tc","tuvalu","ug","ua","ae","gb","us","vi","uy","uz","vu","va","ve","vn","wf","eh","ye","zm","zw","octocat","shipit","bowtie","neckbeard","metal","fu","trollface","godmode","goberserk","finnadie","feelsgood","rage1","rage2","rage3","rage4","suspect","hurtrealbad","EmojiSelectorPanelComponent","sanitizer","activeCategory","selected","Subject","select","pairs","object","keys","map","ngOnInit","cats","categoryIcons","people","animals_and_nature","travel_and_places","activity","food_and_drink","objects","_b","_c","pair","emoji","name","icon","emojis","html","bypassSecurityTrustHtml","twemoji","parse","categories","DomSanitizer","Output","EmojiSelectorButtonComponent","_selected","showEmojiPanel","removeListener","document","removeEventListener","clickListener","show","setTimeout","ev","parent","isInDialog","matches","parentElement","addEventListener","insert","str","Observable","EmojiModule","MatIconModule","MatButtonModule","ChatMessageComponent","_reported","_upvoted","_userSelected","avatarForUser","avatarUrl","upvote","report","selectUser","ChatBackendService","LiveChatMessageComponent","backend","_message","originalId","unsubscribe","watchMessage","message","ChatViewComponent","elementRef","_sourceSubs","SubSink","messages","maxMessages","_source","slice","console","log","dir","add","messageReceived","subscribe","msg","messageSent","currentUserChanged","currentUser","addMessage","shift","isScrolledToLatest","scrollToLatest","messageContainer","el","nativeElement","scrollTop","scrollHeight","offsetHeight","jumpTo","messageElement","querySelector","scrollIntoView","behavior","flashMessage","alert","flashedMessageId","mentionsMe","includes","username","upvoteMessage","reportMessage","selectMessage","selectMessageUser","ElementRef","ViewChild","FirehoseChatComponent","banta","_subs","_signInSelected","newMessage","userChanged","showSignIn","insertEmoji","onKeyDown","event","jumpToMessage","chatView","sendMessage","source","text","trim","sentAt","upvotes","send","static","ChatModule","FormsModule","GENERIC_AVATAR_URL","MOCK_USERS","displayName","MockFirehoseSource","_messages","_currentUserChanged","_messageReceived","_messageSent","randomMessages","messageText","random","submessages","close","MockPointSource","randomPoints","MockSubpointSource","parentSource","EngageComponent","matDialog","auxOpen","auxTitle","auxMode","mobileFocus","newNotifications","pointOpen","pointSubChat","newPointSubMessage","genericAvatarUrl","notificationsChanged","notifs","notifications","newNotification","notif","newPointSubMessageKeyDown","sendPointSubMessage","_a","error","e_1","goToMessage","targetMessage","parentMessageId","getMessage","topicId","parentMessage","viewType","getViewType","getSourceForThread","refreshMessage","firehose","pointUnfocus","showAux","title","mode","showNotifications","_topicID","connectToTopic","getSourceForTopic","firehoseSource","pointSource","closeAux","endsWith","showProfile","profileUser","sendReport","reportedMessage","MatDialog","HostBinding","EngageLogoComponent","LiveMessageComponent","CommentComponent","showReplyAction","CommentViewComponent","allowReplies","menuMessage","newestLast","unshift","url","CommentsBoxComponent","newMessageText","LiveCommentComponent","CommentsModule","MatMenuModule","BantaSdkModule","MatTooltipModule","MatDialogModule","MatFormFieldModule","MatInputModule","options","observer","subject","subscription","start","stop","pipe","publish","refCount"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { User } from '@banta/common';\r\n\r\n@Injectable()\r\nexport class BantaService {\r\n private _userChanged = new BehaviorSubject<User>(null);\r\n private _user : User;\r\n \r\n get userChanged() : Observable<User> {\r\n return this._userChanged;\r\n }\r\n \r\n set user(user : User) {\r\n this._user = user;\r\n this._userChanged.next(user);\r\n }\r\n\r\n get user() {\r\n return this._user;\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'engage-timestamp',\r\n template: `\r\n <span *ngIf=\"showAbsolute\" [title]=\"value | date : 'short'\">\r\n {{value | date : 'shortDate'}}\r\n </span>\r\n <span *ngIf=\"!showAbsolute\" [title]=\"value | date : 'short'\">\r\n {{relative}}\r\n </span>\r\n `,\r\n styles: [``]\r\n})\r\nexport class TimestampComponent {\r\n private _value : number;\r\n relative = '';\r\n tooltip = '';\r\n\r\n private updateInterval = null;\r\n\r\n ngOnDestroy() {\r\n if (this.updateInterval)\r\n clearInterval(this.updateInterval);\r\n }\r\n\r\n @Input()\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n showAbsolute = false;\r\n\r\n update() {\r\n \r\n let now = Date.now();\r\n let diff = now - this.value;\r\n let minute = 1000*60;\r\n let hour = minute * 60;\r\n let day = hour * 24;\r\n let week = day * 7;\r\n let month = day * 30;\r\n let year = day * 365;\r\n this.showAbsolute = false;\r\n let updateTime = 0;\r\n\r\n if (diff > year) {\r\n this.showAbsolute = true;\r\n this.relative = 'abs';\r\n return;\r\n }\r\n\r\n if (diff > month) {\r\n let months = Math.floor(diff / month);\r\n\r\n if (months === 1)\r\n this.relative = `${months} month ago`;\r\n else\r\n this.relative = `${months} months ago`;\r\n \r\n } else if (diff > week) {\r\n let weeks = Math.floor(diff / week);\r\n\r\n if (weeks === 1)\r\n this.relative = `${weeks} week ago`;\r\n else\r\n this.relative = `${weeks} weeks ago`;\r\n } else if (diff > day) {\r\n let days = Math.floor(diff / day);\r\n if (days === 1)\r\n this.relative = `${days} day ago`;\r\n else\r\n this.relative = `${days} days ago`;\r\n } else if (diff > hour) {\r\n let hours = Math.floor(diff / hour);\r\n if (hours === 1)\r\n this.relative = `${hours} hour ago`;\r\n else\r\n this.relative = `${hours} hours ago`;\r\n \r\n updateTime = 1000 * 60 * 30;\r\n } else if (diff > minute) {\r\n let minutes = Math.floor(diff / minute);\r\n if (minutes === 1)\r\n this.relative = `${minutes} minute ago`;\r\n else\r\n this.relative = `${minutes} minutes ago`;\r\n updateTime = 1000 * 45;\r\n } else if (diff > 30_000) {\r\n this.relative = `about a minute ago`;\r\n updateTime = 1000 * 60;\r\n } else {\r\n this.relative = `just now`;\r\n updateTime = 1000 * 30;\r\n }\r\n \r\n if (typeof window !== 'undefined') {\r\n clearInterval(this.updateInterval);\r\n if (updateTime > 0) {\r\n this.updateInterval = setInterval(() => this.update());\r\n }\r\n }\r\n }\r\n\r\n set value(v) {\r\n this._value = v;\r\n this.update();\r\n }\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TimestampComponent } from './timestamp.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BantaService } from './banta.service';\r\n\r\nconst COMPONENTS = [\r\n TimestampComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class EngageCommonModule {\r\n static forRoot(): ModuleWithProviders<EngageCommonModule> {\r\n return {\r\n ngModule: EngageCommonModule,\r\n providers: [\r\n BantaService\r\n ]\r\n }\r\n }\r\n}","export const EMOJIS = {\r\n \"grinning\": {\r\n \"keywords\": [\"face\", \"smile\", \"happy\", \"joy\", \":D\", \"grin\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"grimacing\": {\r\n \"keywords\": [\"face\", \"grimace\", \"teeth\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"people\"\r\n },\r\n \"grin\": {\r\n \"keywords\": [\"face\", \"happy\", \"smile\", \"joy\", \"kawaii\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"joy\": {\r\n \"keywords\": [\"face\", \"cry\", \"tears\", \"weep\", \"happy\", \"happytears\", \"haha\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"smiley\": {\r\n \"keywords\": [\"face\", \"happy\", \"joy\", \"haha\", \":D\", \":)\", \"smile\", \"funny\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"smile\": {\r\n \"keywords\": [\"face\", \"happy\", \"joy\", \"funny\", \"haha\", \"laugh\", \"like\", \":D\", \":)\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sweat_smile\": {\r\n \"keywords\": [\"face\", \"hot\", \"happy\", \"laugh\", \"sweat\", \"smile\", \"relief\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"laughing\": {\r\n \"keywords\": [\"happy\", \"joy\", \"lol\", \"satisfied\", \"haha\", \"face\", \"glad\", \"XD\", \"laugh\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"innocent\": {\r\n \"keywords\": [\"face\", \"angel\", \"heaven\", \"halo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"wink\": {\r\n \"keywords\": [\"face\", \"happy\", \"mischievous\", \"secret\", \";)\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"blush\": {\r\n \"keywords\": [\"face\", \"smile\", \"happy\", \"flushed\", \"crush\", \"embarrassed\", \"shy\", \"joy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"slightly_smiling\": {\r\n \"keywords\": [\"face\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"upside_down\": {\r\n \"keywords\": [\"face\", \"flipped\", \"silly\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"relaxed\": {\r\n \"keywords\": [\"face\", \"blush\", \"massage\", \"happiness\"],\r\n \"char\": \"โบ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"yum\": {\r\n \"keywords\": [\"happy\", \"joy\", \"tongue\", \"smile\", \"face\", \"silly\", \"yummy\", \"nom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"relieved\": {\r\n \"keywords\": [\"face\", \"relaxed\", \"phew\", \"massage\", \"happiness\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"heart_eyes\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"crush\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_heart\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing\": {\r\n \"keywords\": [\"love\", \"like\", \"face\", \"3\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_smiling_eyes\": {\r\n \"keywords\": [\"face\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_closed_eyes\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue_winking_eye\": {\r\n \"keywords\": [\"face\", \"prank\", \"childish\", \"playful\", \"mischievous\", \"smile\", \"wink\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue_closed_eyes\": {\r\n \"keywords\": [\"face\", \"prank\", \"playful\", \"mischievous\", \"smile\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue\": {\r\n \"keywords\": [\"face\", \"prank\", \"childish\", \"playful\", \"mischievous\", \"smile\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"money_mouth\": {\r\n \"keywords\": [\"face\", \"rich\", \"dollar\", \"money\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"nerd\": {\r\n \"keywords\": [\"face\", \"nerdy\", \"geek\", \"dork\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"sunglasses\": {\r\n \"keywords\": [\"face\", \"cool\", \"smile\", \"summer\", \"beach\", \"sunglass\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"hugging\": {\r\n \"keywords\": [\"face\", \"smile\", \"hug\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"smirk\": {\r\n \"keywords\": [\"face\", \"smile\", \"mean\", \"prank\", \"smug\", \"sarcasm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"no_mouth\": {\r\n \"keywords\": [\"face\", \"hellokitty\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"neutral_face\": {\r\n \"keywords\": [\"indifference\", \"meh\", \":|\", \"neutral\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"expressionless\": {\r\n \"keywords\": [\"face\", \"indifferent\", \"-_-\", \"meh\", \"deadpan\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"unamused\": {\r\n \"keywords\": [\"indifference\", \"bored\", \"straight face\", \"serious\", \"sarcasm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"rolling_eyes\": {\r\n \"keywords\": [\"face\", \"eyeroll\", \"frustrated\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"thinking\": {\r\n \"keywords\": [\"face\", \"hmmm\", \"think\", \"consider\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"flushed\": {\r\n \"keywords\": [\"face\", \"blush\", \"shy\", \"flattered\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"people\"\r\n },\r\n \"disappointed\": {\r\n \"keywords\": [\"face\", \"sad\", \"upset\", \"depressed\", \":(\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"worried\": {\r\n \"keywords\": [\"face\", \"concern\", \"nervous\", \":(\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"angry\": {\r\n \"keywords\": [\"mad\", \"face\", \"annoyed\", \"frustrated\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"people\"\r\n },\r\n \"rage\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"people\"\r\n },\r\n \"pensive\": {\r\n \"keywords\": [\"face\", \"sad\", \"depressed\", \"okay\", \"upset\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"confused\": {\r\n \"keywords\": [\"face\", \"indifference\", \"huh\", \"weird\", \"hmmm\", \":/\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"slightly_sad\": {\r\n \"keywords\": [\"face\", \"frowning\", \"disappointed\", \"sad\", \"upset\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"white_frowning\": {\r\n \"keywords\": [\"face\", \"sad\", \"upset\", \"frown\"],\r\n \"char\": \"โน\",\r\n \"category\": \"people\"\r\n },\r\n \"persevere\": {\r\n \"keywords\": [\"face\", \"sick\", \"no\", \"upset\", \"oops\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"confounded\": {\r\n \"keywords\": [\"face\", \"confused\", \"sick\", \"unwell\", \"oops\", \":S\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tired_face\": {\r\n \"keywords\": [\"sick\", \"whine\", \"upset\", \"frustrated\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"people\"\r\n },\r\n \"weary\": {\r\n \"keywords\": [\"face\", \"tired\", \"sleepy\", \"sad\", \"frustrated\", \"upset\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"triumph\": {\r\n \"keywords\": [\"face\", \"gas\", \"phew\", \"proud\", \"pride\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"open_mouth\": {\r\n \"keywords\": [\"face\", \"surprise\", \"impressed\", \"wow\", \"whoa\", \":O\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"people\"\r\n },\r\n \"scream\": {\r\n \"keywords\": [\"face\", \"munch\", \"scared\", \"omg\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"people\"\r\n },\r\n \"fearful\": {\r\n \"keywords\": [\"face\", \"scared\", \"terrified\", \"nervous\", \"oops\", \"huh\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"cold_sweat\": {\r\n \"keywords\": [\"face\", \"nervous\", \"sweat\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"people\"\r\n },\r\n \"hushed\": {\r\n \"keywords\": [\"face\", \"woo\", \"shh\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"people\"\r\n },\r\n \"frowning\": {\r\n \"keywords\": [\"face\", \"aw\", \"what\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"anguished\": {\r\n \"keywords\": [\"face\", \"stunned\", \"nervous\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"cry\": {\r\n \"keywords\": [\"face\", \"tears\", \"sad\", \"depressed\", \"upset\", \":'(\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"people\"\r\n },\r\n \"disappointed_relieved\": {\r\n \"keywords\": [\"face\", \"phew\", \"sweat\", \"nervous\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"people\"\r\n },\r\n \"sleepy\": {\r\n \"keywords\": [\"face\", \"tired\", \"rest\", \"nap\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"sweat\": {\r\n \"keywords\": [\"face\", \"hot\", \"sad\", \"tired\", \"exercise\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sob\": {\r\n \"keywords\": [\"face\", \"cry\", \"tears\", \"sad\", \"upset\", \"depressed\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"people\"\r\n },\r\n \"dizzy_face\": {\r\n \"keywords\": [\"spent\", \"unconscious\", \"xox\", \"dizzy\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"astonished\": {\r\n \"keywords\": [\"face\", \"xox\", \"surprised\", \"poisoned\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"people\"\r\n },\r\n \"zipper_mouth\": {\r\n \"keywords\": [\"face\", \"sealed\", \"zipper\", \"secret\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"mask\": {\r\n \"keywords\": [\"face\", \"sick\", \"ill\", \"disease\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"people\"\r\n },\r\n \"thermometer_face\": {\r\n \"keywords\": [\"sick\", \"temperature\", \"thermometer\", \"cold\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"bandage_face\": {\r\n \"keywords\": [\"injured\", \"clumsy\", \"bandage\", \"hurt\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"sleeping\": {\r\n \"keywords\": [\"face\", \"tired\", \"sleepy\", \"night\", \"zzz\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"people\"\r\n },\r\n \"zzz\": {\r\n \"keywords\": [\"sleepy\", \"tired\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"hankey\": {\r\n \"keywords\": [\"poop\", \"shitface\", \"fail\", \"turd\", \"shit\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"smiling_imp\": {\r\n \"keywords\": [\"devil\", \"horns\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"imp\": {\r\n \"keywords\": [\"devil\", \"angry\", \"horns\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"people\"\r\n },\r\n \"japanese_ogre\": {\r\n \"keywords\": [\"monster\", \"red\", \"mask\", \"halloween\", \"scary\", \"creepy\", \"devil\", \"demon\", \"japanese\", \"ogre\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"people\"\r\n },\r\n \"japanese_goblin\": {\r\n \"keywords\": [\"red\", \"evil\", \"mask\", \"monster\", \"scary\", \"creepy\", \"japanese\", \"goblin\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"people\"\r\n },\r\n \"skull\": {\r\n \"keywords\": [\"dead\", \"skeleton\", \"creepy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"ghost\": {\r\n \"keywords\": [\"halloween\", \"spooky\", \"scary\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"people\"\r\n },\r\n \"alien\": {\r\n \"keywords\": [\"UFO\", \"paul\", \"weird\", \"outer_space\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"people\"\r\n },\r\n \"robot\": {\r\n \"keywords\": [\"computer\", \"machine\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"smiley_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"happy\", \"smile\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"people\"\r\n },\r\n \"smile_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"smile\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"joy_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"haha\", \"happy\", \"tears\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"people\"\r\n },\r\n \"heart_eyes_cat\": {\r\n \"keywords\": [\"animal\", \"love\", \"like\", \"affection\", \"cats\", \"valentines\", \"heart\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"people\"\r\n },\r\n \"smirk_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"smirk\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"kiss\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"people\"\r\n },\r\n \"scream_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"munch\", \"scared\", \"scream\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"crying_cat_face\": {\r\n \"keywords\": [\"animal\", \"tears\", \"weep\", \"sad\", \"cats\", \"upset\", \"cry\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"people\"\r\n },\r\n \"pouting_cat\": {\r\n \"keywords\": [\"animal\", \"cats\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"people\"\r\n },\r\n \"raised_hands\": {\r\n \"keywords\": [\"gesture\", \"hooray\", \"yea\", \"celebration\", \"hands\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"clap\": {\r\n \"keywords\": [\"hands\", \"praise\", \"applause\", \"congrats\", \"yay\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"wave\": {\r\n \"keywords\": [\"hands\", \"gesture\", \"goodbye\", \"solong\", \"farewell\", \"hello\", \"palm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"+1\": {\r\n \"keywords\": [\"thumbsup\", \"yes\", \"awesome\", \"good\", \"agree\", \"accept\", \"cool\", \"hand\", \"like\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"minus1\": { // TODO: should be \"-1\", fix TS bug\r\n \"keywords\": [\"thumbsdown\", \"no\", \"dislike\", \"hand\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"facepunch\": {\r\n \"keywords\": [\"angry\", \"violence\", \"fist\", \"hit\", \"attack\", \"hand\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"fist\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"grasp\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"v\": {\r\n \"keywords\": [\"fingers\", \"ohyeah\", \"hand\", \"peace\", \"victory\", \"two\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"ok_hand\": {\r\n \"keywords\": [\"fingers\", \"limbs\", \"perfect\", \"ok\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"hand\": {\r\n \"keywords\": [\"fingers\", \"stop\", \"highfive\", \"palm\", \"ban\", \"raised_hand\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"open_hands\": {\r\n \"keywords\": [\"fingers\", \"butterfly\", \"hands\", \"open\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"muscle\": {\r\n \"keywords\": [\"arm\", \"flex\", \"hand\", \"summer\", \"strong\", \"biceps\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"pray\": {\r\n \"keywords\": [\"please\", \"hope\", \"wish\", \"namaste\", \"highfive\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_up\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"direction\", \"up\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"point_up_2\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"up\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_down\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"down\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_left\": {\r\n \"keywords\": [\"direction\", \"fingers\", \"hand\", \"left\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_right\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"right\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"middle_finger\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"rude\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"splayed_fingers\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"palm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sign_of_horns\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"evil_eye\", \"metal\", \"rock_on\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"vulcan_salute\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"spock\", \"star trek\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"writing_hand\": {\r\n \"keywords\": [\"pen\", \"stationery\", \"write\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"nail_care\": {\r\n \"keywords\": [\"beauty\", \"manicure\", \"finger\", \"fashion\", \"nail\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"lips\": {\r\n \"keywords\": [\"mouth\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tongue\": {\r\n \"keywords\": [\"mouth\", \"playful\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"ear\": {\r\n \"keywords\": [\"face\", \"hear\", \"sound\", \"listen\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"nose\": {\r\n \"keywords\": [\"smell\", \"sniff\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"eye\": {\r\n \"keywords\": [\"face\", \"look\", \"see\", \"watch\", \"stare\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"eyes\": {\r\n \"keywords\": [\"look\", \"watch\", \"stalk\", \"peek\", \"see\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"bust_in_silhouette\": {\r\n \"keywords\": [\"user\", \"person\", \"human\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"busts_in_silhouette\": {\r\n \"keywords\": [\"user\", \"person\", \"human\", \"group\", \"team\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"people\"\r\n },\r\n \"speaking_head\": {\r\n \"keywords\": [\"user\", \"person\", \"human\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"baby\": {\r\n \"keywords\": [\"child\", \"boy\", \"girl\", \"toddler\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"boy\": {\r\n \"keywords\": [\"man\", \"male\", \"guy\", \"teenager\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"girl\": {\r\n \"keywords\": [\"female\", \"woman\", \"teenager\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"man\": {\r\n \"keywords\": [\"mustache\", \"father\", \"dad\", \"guy\", \"classy\", \"sir\", \"moustache\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"woman\": {\r\n \"keywords\": [\"female\", \"girls\", \"lady\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"person_with_blond_hair\": {\r\n \"keywords\": [\"man\", \"male\", \"boy\", \"blonde\", \"guy\", \"person\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"people\"\r\n },\r\n \"older_man\": {\r\n \"keywords\": [\"human\", \"male\", \"men\", \"old\", \"elder\", \"senior\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"people\"\r\n },\r\n \"older_woman\": {\r\n \"keywords\": [\"human\", \"female\", \"women\", \"lady\", \"old\", \"elder\", \"senior\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"man_with_gua_pi_mao\": {\r\n \"keywords\": [\"male\", \"boy\", \"chinese\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"people\"\r\n },\r\n \"man_with_turban\": {\r\n \"keywords\": [\"male\", \"indian\", \"hinduism\", \"arabs\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"people\"\r\n },\r\n \"cop\": {\r\n \"keywords\": [\"man\", \"police\", \"law\", \"legal\", \"enforcement\", \"arrest\", \"911\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"people\"\r\n },\r\n \"construction_worker\": {\r\n \"keywords\": [\"male\", \"human\", \"wip\", \"guy\", \"build\", \"construction\", \"worker\", \"labor\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"people\"\r\n },\r\n \"guardsman\": {\r\n \"keywords\": [\"uk\", \"gb\", \"british\", \"male\", \"guy\", \"royal\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sleuth\": {\r\n \"keywords\": [\"human\", \"spy\", \"detective\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"santa\": {\r\n \"keywords\": [\"festival\", \"man\", \"male\", \"xmas\", \"father christmas\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"angel\": {\r\n \"keywords\": [\"heaven\", \"wings\", \"halo\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"princess\": {\r\n \"keywords\": [\"girl\", \"woman\", \"female\", \"blond\", \"crown\", \"royal\", \"queen\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"bride_with_veil\": {\r\n \"keywords\": [\"couple\", \"marriage\", \"wedding\", \"woman\", \"bride\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"people\"\r\n },\r\n \"runner\": {\r\n \"keywords\": [\"man\", \"walking\", \"exercise\", \"race\", \"running\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"walking\": {\r\n \"keywords\": [\"human\", \"feet\", \"steps\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"dancer\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"fun\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dancers\": {\r\n \"keywords\": [\"female\", \"bunny\", \"women\", \"girls\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"people\"\r\n },\r\n \"couple\": {\r\n \"keywords\": [\"pair\", \"people\", \"human\", \"love\", \"date\", \"dating\", \"like\", \"affection\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"people\"\r\n },\r\n \"two_men_holding_hands\": {\r\n \"keywords\": [\"pair\", \"couple\", \"love\", \"like\", \"bromance\", \"friendship\", \"people\", \"human\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"people\"\r\n },\r\n \"two_women_holding_hands\": {\r\n \"keywords\": [\"pair\", \"friendship\", \"couple\", \"love\", \"like\", \"female\", \"people\", \"human\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"people\"\r\n },\r\n \"bow\": {\r\n \"keywords\": [\"man\", \"male\", \"boy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"information_desk_person\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"human\", \"information\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"no_good\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"nope\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"ok_woman\": {\r\n \"keywords\": [\"women\", \"girl\", \"female\", \"pink\", \"human\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"raising_hand\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"person_with_pouting_face\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"person_frowning\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"sad\", \"depressed\", \"discouraged\", \"unhappy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"haircut\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"massage\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"head\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"female_couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐ฉโโค๏ธโ๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"male_couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐จโโค๏ธโ๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"female_couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐ฉโโค๏ธโ๐โ๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"male_couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐จโโค๏ธโ๐โ๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"family\": {\r\n \"keywords\": [\"home\", \"parents\", \"child\", \"mom\", \"dad\", \"father\", \"mother\", \"people\", \"human\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"child\"],\r\n \"char\": \"๐จโ๐ฉโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"womans_clothes\": {\r\n \"keywords\": [\"fashion\", \"shopping\", \"female\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"shirt\": {\r\n \"keywords\": [\"fashion\", \"cloth\", \"casual\", \"tshirt\", \"tee\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"jeans\": {\r\n \"keywords\": [\"fashion\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"necktie\": {\r\n \"keywords\": [\"shirt\", \"suitup\", \"formal\", \"fashion\", \"cloth\", \"business\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dress\": {\r\n \"keywords\": [\"clothes\", \"fashion\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"bikini\": {\r\n \"keywords\": [\"swimming\", \"female\", \"woman\", \"girl\", \"fashion\", \"beach\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kimono\": {\r\n \"keywords\": [\"dress\", \"fashion\", \"women\", \"female\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"lipstick\": {\r\n \"keywords\": [\"female\", \"girl\", \"fashion\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kiss\": {\r\n \"keywords\": [\"face\", \"lips\", \"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"footprints\": {\r\n \"keywords\": [\"feet\", \"tracking\", \"walking\", \"beach\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"high_heel\": {\r\n \"keywords\": [\"fashion\", \"shoes\", \"female\", \"pumps\", \"stiletto\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"people\"\r\n },\r\n \"sandal\": {\r\n \"keywords\": [\"shoes\", \"fashion\", \"flip flops\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"people\"\r\n },\r\n \"boot\": {\r\n \"keywords\": [\"shoes\", \"fashion\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"people\"\r\n },\r\n \"mans_shoe\": {\r\n \"keywords\": [\"fashion\", \"male\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"athletic_shoe\": {\r\n \"keywords\": [\"shoes\", \"sports\", \"sneakers\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"womans_hat\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"female\", \"lady\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tophat\": {\r\n \"keywords\": [\"magic\", \"gentleman\", \"classy\", \"circus\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"helmet\": {\r\n \"keywords\": [\"construction\", \"build\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"mortar_board\": {\r\n \"keywords\": [\"school\", \"college\", \"degree\", \"university\", \"graduation\", \"cap\", \"hat\", \"legal\", \"learn\", \"education\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"crown\": {\r\n \"keywords\": [\"king\", \"kod\", \"leader\", \"royalty\", \"lord\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"school_satchel\": {\r\n \"keywords\": [\"student\", \"education\", \"bag\", \"backpack\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"pouch\": {\r\n \"keywords\": [\"bag\", \"accessories\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"purse\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"money\", \"sales\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"handbag\": {\r\n \"keywords\": [\"fashion\", \"accessory\", \"accessories\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"briefcase\": {\r\n \"keywords\": [\"business\", \"documents\", \"work\", \"law\", \"legal\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"eyeglasses\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"eyesight\", \"nerdy\", \"dork\", \"geek\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dark_sunglasses\": {\r\n \"keywords\": [\"face\", \"cool\", \"accessories\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"ring\": {\r\n \"keywords\": [\"wedding\", \"propose\", \"marriage\", \"valentines\", \"diamond\", \"fashion\", \"jewelry\", \"gem\", \"engagement\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"closed_umbrella\": {\r\n \"keywords\": [\"weather\", \"rain\", \"drizzle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dog\": {\r\n \"keywords\": [\"animal\", \"friend\", \"nature\", \"woof\", \"puppy\", \"pet\", \"faithful\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cat\": {\r\n \"keywords\": [\"animal\", \"meow\", \"nature\", \"pet\", \"kitten\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mouse\": {\r\n \"keywords\": [\"animal\", \"nature\", \"cheese\", \"rodent\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hamster\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rabbit\": {\r\n \"keywords\": [\"animal\", \"nature\", \"pet\", \"spring\", \"magic\", \"bunny\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bear\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wild\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"panda_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"panda\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"koala\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tiger\": {\r\n \"keywords\": [\"animal\", \"cat\", \"danger\", \"wild\", \"nature\", \"roar\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"lion_face\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cow\": {\r\n \"keywords\": [\"beef\", \"ox\", \"animal\", \"nature\", \"moo\", \"milk\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig\": {\r\n \"keywords\": [\"animal\", \"oink\", \"nature\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig_nose\": {\r\n \"keywords\": [\"animal\", \"oink\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"frog\": {\r\n \"keywords\": [\"animal\", \"nature\", \"croak\", \"toad\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"octopus\": {\r\n \"keywords\": [\"animal\", \"creature\", \"ocean\", \"sea\", \"nature\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"monkey_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"circus\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"see_no_evil\": {\r\n \"keywords\": [\"monkey\", \"animal\", \"nature\", \"haha\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hear_no_evil\": {\r\n \"keywords\": [\"animal\", \"monkey\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"speak_no_evil\": {\r\n \"keywords\": [\"monkey\", \"animal\", \"nature\", \"omg\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"monkey\": {\r\n \"keywords\": [\"animal\", \"nature\", \"banana\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chicken\": {\r\n \"keywords\": [\"animal\", \"cluck\", \"nature\", \"bird\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"penguin\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bird\": {\r\n \"keywords\": [\"animal\", \"nature\", \"fly\", \"tweet\", \"spring\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"baby_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"bird\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hatching_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"egg\", \"born\", \"baby\", \"bird\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hatched_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"baby\", \"bird\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"wolf\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wild\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"boar\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"horse\": {\r\n \"keywords\": [\"animal\", \"brown\", \"nature\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"unicorn_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"mystical\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bee\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"bug\", \"spring\", \"honey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bug\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"worm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snail\": {\r\n \"keywords\": [\"slow\", \"animal\", \"shell\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"beetle\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"ladybug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ant\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"bug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"spider\": {\r\n \"keywords\": [\"animal\", \"arachnid\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"scorpion\": {\r\n \"keywords\": [\"animal\", \"arachnid\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crab\": {\r\n \"keywords\": [\"animal\", \"crustacean\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snake\": {\r\n \"keywords\": [\"animal\", \"evil\", \"nature\", \"hiss\", \"python\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"turtle\": {\r\n \"keywords\": [\"animal\", \"slow\", \"nature\", \"tortoise\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tropical_fish\": {\r\n \"keywords\": [\"animal\", \"swim\", \"ocean\", \"beach\", \"nemo\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fish\": {\r\n \"keywords\": [\"animal\", \"food\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"blowfish\": {\r\n \"keywords\": [\"animal\", \"nature\", \"food\", \"sea\", \"ocean\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dolphin\": {\r\n \"keywords\": [\"animal\", \"nature\", \"fish\", \"sea\", \"ocean\", \"flipper\", \"fins\", \"beach\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"whale\": {\r\n \"keywords\": [\"animal\", \"nature\", \"sea\", \"ocean\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"whale2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"sea\", \"ocean\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crocodile\": {\r\n \"keywords\": [\"animal\", \"nature\", \"reptile\", \"lizard\", \"alligator\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"leopard\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tiger2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"roar\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"water_buffalo\": {\r\n \"keywords\": [\"animal\", \"nature\", \"ox\", \"cow\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ox\": {\r\n \"keywords\": [\"animal\", \"cow\", \"beef\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cow2\": {\r\n \"keywords\": [\"beef\", \"ox\", \"animal\", \"nature\", \"moo\", \"milk\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dromedary_camel\": {\r\n \"keywords\": [\"animal\", \"hot\", \"desert\", \"hump\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"camel\": {\r\n \"keywords\": [\"animal\", \"nature\", \"hot\", \"desert\", \"hump\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"elephant\": {\r\n \"keywords\": [\"animal\", \"nature\", \"nose\", \"thailand\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"goat\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ram\": {\r\n \"keywords\": [\"animal\", \"sheep\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sheep\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wool\", \"shipit\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"racehorse\": {\r\n \"keywords\": [\"animal\", \"gamble\", \"luck\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig2\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rat\": {\r\n \"keywords\": [\"animal\", \"mouse\", \"rodent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mouse2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"rodent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rooster\": {\r\n \"keywords\": [\"animal\", \"nature\", \"chicken\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"turkey\": {\r\n \"keywords\": [\"animal\", \"bird\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dove_of_peace\": {\r\n \"keywords\": [\"animal\", \"bird\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dog2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"friend\", \"doge\", \"pet\", \"faithful\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"poodle\": {\r\n \"keywords\": [\"dog\", \"animal\", \"101\", \"nature\", \"pet\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cat2\": {\r\n \"keywords\": [\"animal\", \"meow\", \"pet\", \"cats\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rabbit2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"pet\", \"magic\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chipmunk\": {\r\n \"keywords\": [\"animal\", \"nature\", \"rodent\", \"squirrel\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"feet\": {\r\n \"keywords\": [\"animal\", \"tracking\", \"footprints\", \"dog\", \"cat\", \"pet\", \"paw_prints\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dragon\": {\r\n \"keywords\": [\"animal\", \"myth\", \"nature\", \"chinese\", \"green\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dragon_face\": {\r\n \"keywords\": [\"animal\", \"myth\", \"nature\", \"chinese\", \"green\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cactus\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"christmas_tree\": {\r\n \"keywords\": [\"festival\", \"vacation\", \"december\", \"xmas\", \"celebration\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"evergreen_tree\": {\r\n \"keywords\": [\"plant\", \"nature\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"deciduous_tree\": {\r\n \"keywords\": [\"plant\", \"nature\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"palm_tree\": {\r\n \"keywords\": [\"plant\", \"vegetable\", \"nature\", \"summer\", \"beach\", \"mojito\", \"tropical\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"seedling\": {\r\n \"keywords\": [\"plant\", \"nature\", \"grass\", \"lawn\", \"spring\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"herb\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"medicine\", \"weed\", \"grass\", \"lawn\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"shamrock\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\", \"irish\", \"clover\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"four_leaf_clover\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\", \"lucky\", \"irish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bamboo\": {\r\n \"keywords\": [\"plant\", \"nature\", \"vegetable\", \"panda\", \"pine_decoration\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tanabata_tree\": {\r\n \"keywords\": [\"plant\", \"nature\", \"branch\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"leaves\": {\r\n \"keywords\": [\"nature\", \"plant\", \"tree\", \"vegetable\", \"grass\", \"lawn\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fallen_leaf\": {\r\n \"keywords\": [\"nature\", \"plant\", \"vegetable\", \"leaves\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"maple_leaf\": {\r\n \"keywords\": [\"nature\", \"plant\", \"vegetable\", \"canada\", \"fall\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ear_of_rice\": {\r\n \"keywords\": [\"nature\", \"plant\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hibiscus\": {\r\n \"keywords\": [\"plant\", \"vegetable\", \"flowers\", \"beach\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sunflower\": {\r\n \"keywords\": [\"nature\", \"plant\", \"fall\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rose\": {\r\n \"keywords\": [\"flowers\", \"valentines\", \"love\", \"spring\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tulip\": {\r\n \"keywords\": [\"flowers\", \"plant\", \"nature\", \"summer\", \"spring\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"blossom\": {\r\n \"keywords\": [\"nature\", \"flowers\", \"yellow\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cherry_blossom\": {\r\n \"keywords\": [\"nature\", \"plant\", \"spring\", \"flower\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bouquet\": {\r\n \"keywords\": [\"flowers\", \"nature\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mushroom\": {\r\n \"keywords\": [\"plant\", \"vegetable\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chestnut\": {\r\n \"keywords\": [\"food\", \"squirrel\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"jack_o_lantern\": {\r\n \"keywords\": [\"halloween\", \"light\", \"pumpkin\", \"creepy\", \"fall\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"shell\": {\r\n \"keywords\": [\"nature\", \"sea\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"spider_web\": {\r\n \"keywords\": [\"animal\", \"insect\", \"arachnid\", \"silk\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_americas\": {\r\n \"keywords\": [\"globe\", \"world\", \"USA\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_africa\": {\r\n \"keywords\": [\"globe\", \"world\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_asia\": {\r\n \"keywords\": [\"globe\", \"world\", \"east\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"full_moon\": {\r\n \"keywords\": [\"nature\", \"yellow\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waning_gibbous_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\", \"waxing_gibbous_moon\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"last_quarter_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waning_crescent_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"new_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waxing_crescent_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"first_quarter_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"moon\": {\r\n \"keywords\": [\"nature\", \"night\", \"sky\", \"gray\", \"twilight\", \"planet\", \"space\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"new_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"full_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"first_quarter_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"last_quarter_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sun_with_face\": {\r\n \"keywords\": [\"nature\", \"morning\", \"sky\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crescent_moon\": {\r\n \"keywords\": [\"night\", \"sleep\", \"sky\", \"evening\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"star\": {\r\n \"keywords\": [\"night\", \"yellow\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"star2\": {\r\n \"keywords\": [\"night\", \"sparkle\", \"awesome\", \"good\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dizzy\": {\r\n \"keywords\": [\"star\", \"sparkle\", \"shoot\", \"magic\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sparkles\": {\r\n \"keywords\": [\"stars\", \"shine\", \"shiny\", \"cool\", \"awesome\", \"good\", \"magic\"],\r\n \"char\": \"โจ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"comet\": {\r\n \"keywords\": [\"space\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sunny\": {\r\n \"keywords\": [\"weather\", \"nature\", \"brightness\", \"summer\", \"beach\", \"spring\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_with_small_cloud\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"partly_sunny\": {\r\n \"keywords\": [\"weather\", \"nature\", \"cloudy\", \"morning\", \"fall\", \"spring\"],\r\n \"char\": \"โ
\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_behind_cloud\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_behind_cloud_with_rain\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud\": {\r\n \"keywords\": [\"weather\", \"sky\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_rain\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"thunder_cloud_and_rain\": {\r\n \"keywords\": [\"weather\", \"lightning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_lightning\": {\r\n \"keywords\": [\"weather\", \"thunder\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"zap\": {\r\n \"keywords\": [\"thunder\", \"weather\", \"lightning bolt\", \"fast\"],\r\n \"char\": \"โก\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fire\": {\r\n \"keywords\": [\"hot\", \"cook\", \"flame\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"boom\": {\r\n \"keywords\": [\"bomb\", \"explode\", \"explosion\", \"collision\", \"blown\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowflake\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_snow\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowman\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\", \"frozen\", \"without_snow\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowman_with_snow\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\", \"frozen\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"wind_blowing_face\": {\r\n \"keywords\": [\"gust\", \"air\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dash\": {\r\n \"keywords\": [\"wind\", \"air\", \"fast\", \"shoo\", \"fart\", \"smoke\", \"puff\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_tornado\": {\r\n \"keywords\": [\"weather\", \"cyclone\", \"twister\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fog\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"umbrella_without_rain\": {\r\n \"keywords\": [\"weather\", \"spring\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"umbrella\": {\r\n \"keywords\": [\"rainy\", \"weather\", \"spring\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"droplet\": {\r\n \"keywords\": [\"water\", \"drip\", \"faucet\", \"spring\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sweat_drops\": {\r\n \"keywords\": [\"water\", \"drip\", \"oops\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ocean\": {\r\n \"keywords\": [\"sea\", \"water\", \"wave\", \"nature\", \"tsunami\", \"disaster\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"green_apple\": {\r\n \"keywords\": [\"fruit\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"apple\": {\r\n \"keywords\": [\"fruit\", \"mac\", \"school\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pear\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tangerine\": {\r\n \"keywords\": [\"food\", \"fruit\", \"nature\", \"orange\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"lemon\": {\r\n \"keywords\": [\"fruit\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"banana\": {\r\n \"keywords\": [\"fruit\", \"food\", \"monkey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"watermelon\": {\r\n \"keywords\": [\"fruit\", \"food\", \"picnic\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"grapes\": {\r\n \"keywords\": [\"fruit\", \"food\", \"wine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"strawberry\": {\r\n \"keywords\": [\"fruit\", \"food\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"melon\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cherries\": {\r\n \"keywords\": [\"food\", \"fruit\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"peach\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pineapple\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tomato\": {\r\n \"keywords\": [\"fruit\", \"vegetable\", \"nature\", \"food\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"eggplant\": {\r\n \"keywords\": [\"vegetable\", \"nature\", \"food\", \"aubergine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hot_pepper\": {\r\n \"keywords\": [\"food\", \"spicy\", \"chilli\", \"chili\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"corn\": {\r\n \"keywords\": [\"food\", \"vegetable\", \"plant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sweet_potato\": {\r\n \"keywords\": [\"food\", \"nature\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"honey_pot\": {\r\n \"keywords\": [\"bees\", \"sweet\", \"kitchen\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bread\": {\r\n \"keywords\": [\"food\", \"wheat\", \"breakfast\", \"toast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cheese_wedge\": {\r\n \"keywords\": [\"food\", \"chadder\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"poultry_leg\": {\r\n \"keywords\": [\"food\", \"meat\", \"drumstick\", \"bird\", \"chicken\", \"turkey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"meat_on_bone\": {\r\n \"keywords\": [\"good\", \"food\", \"drumstick\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fried_shrimp\": {\r\n \"keywords\": [\"food\", \"animal\", \"appetizer\", \"summer\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"egg\": {\r\n \"keywords\": [\"food\", \"breakfast\", \"kitchen\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hamburger\": {\r\n \"keywords\": [\"meat\", \"fast food\", \"beef\", \"cheeseburger\", \"mcdonalds\", \"burger king\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fries\": {\r\n \"keywords\": [\"chips\", \"snack\", \"fast food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hot_dog\": {\r\n \"keywords\": [\"food\", \"frankfurter\", \"hotdog\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pizza\": {\r\n \"keywords\": [\"food\", \"party\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"spaghetti\": {\r\n \"keywords\": [\"food\", \"italian\", \"noodle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"taco\": {\r\n \"keywords\": [\"food\", \"mexican\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"burrito\": {\r\n \"keywords\": [\"food\", \"mexican\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"ramen\": {\r\n \"keywords\": [\"food\", \"japanese\", \"noodle\", \"chopsticks\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"stew\": {\r\n \"keywords\": [\"food\", \"meat\", \"soup\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fish_cake\": {\r\n \"keywords\": [\"food\", \"japan\", \"sea\", \"beach\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sushi\": {\r\n \"keywords\": [\"food\", \"fish\", \"japanese\", \"rice\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bento\": {\r\n \"keywords\": [\"food\", \"japanese\", \"box\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"curry\": {\r\n \"keywords\": [\"food\", \"spicy\", \"hot\", \"indian\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice_ball\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice\": {\r\n \"keywords\": [\"food\", \"china\", \"asian\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice_cracker\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"oden\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"dango\": {\r\n \"keywords\": [\"food\", \"dessert\", \"sweet\", \"japanese\", \"barbecue\", \"meat\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"shaved_ice\": {\r\n \"keywords\": [\"hot\", \"dessert\", \"summer\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"ice_cream\": {\r\n \"keywords\": [\"food\", \"hot\", \"dessert\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"icecream\": {\r\n \"keywords\": [\"food\", \"hot\", \"dessert\", \"summer\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cake\": {\r\n \"keywords\": [\"food\", \"dessert\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"birthday\": {\r\n \"keywords\": [\"food\", \"dessert\", \"cake\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"custard\": {\r\n \"keywords\": [\"dessert\", \"food\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"candy\": {\r\n \"keywords\": [\"snack\", \"dessert\", \"sweet\", \"lolly\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"lollipop\": {\r\n \"keywords\": [\"food\", \"snack\", \"candy\", \"sweet\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"chocolate_bar\": {\r\n \"keywords\": [\"food\", \"snack\", \"dessert\", \"sweet\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"popcorn\": {\r\n \"keywords\": [\"food\", \"movie theater\", \"films\", \"snack\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"doughnut\": {\r\n \"keywords\": [\"food\", \"dessert\", \"snack\", \"sweet\", \"donut\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cookie\": {\r\n \"keywords\": [\"food\", \"snack\", \"oreo\", \"chocolate\", \"sweet\", \"dessert\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"beer\": {\r\n \"keywords\": [\"relax\", \"beverage\", \"drink\", \"drunk\", \"party\", \"pub\", \"summer\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"beers\": {\r\n \"keywords\": [\"relax\", \"beverage\", \"drink\", \"drunk\", \"party\", \"pub\", \"summer\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"wine_glass\": {\r\n \"keywords\": [\"drink\", \"beverage\", \"drunk\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cocktail\": {\r\n \"keywords\": [\"drink\", \"drunk\", \"alcohol\", \"beverage\", \"booze\", \"mojito\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tropical_drink\": {\r\n \"keywords\": [\"beverage\", \"cocktail\", \"summer\", \"beach\", \"alcohol\", \"booze\", \"mojito\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bottle\": {\r\n \"keywords\": [\"drink\", \"wine\", \"champagne\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sake\": {\r\n \"keywords\": [\"wine\", \"drink\", \"drunk\", \"beverage\", \"japanese\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tea\": {\r\n \"keywords\": [\"drink\", \"bowl\", \"breakfast\", \"green\", \"british\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"coffee\": {\r\n \"keywords\": [\"beverage\", \"caffeine\", \"latte\", \"espresso\"],\r\n \"char\": \"โ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"baby_bottle\": {\r\n \"keywords\": [\"food\", \"container\", \"milk\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fork_and_knife\": {\r\n \"keywords\": [\"cutlery\", \"kitchen\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fork_and_knife_with_plate\": {\r\n \"keywords\": [\"food\", \"eat\", \"meal\", \"lunch\", \"dinner\", \"restaurant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"soccer\": {\r\n \"keywords\": [\"sports\", \"football\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"activity\"\r\n },\r\n \"basketball\": {\r\n \"keywords\": [\"sports\", \"balls\", \"NBA\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"football\": {\r\n \"keywords\": [\"sports\", \"balls\", \"NFL\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"baseball\": {\r\n \"keywords\": [\"sports\", \"balls\"],\r\n \"char\": \"โพ\",\r\n \"category\": \"activity\"\r\n },\r\n \"tennis\": {\r\n \"keywords\": [\"sports\", \"balls\", \"green\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"activity\"\r\n },\r\n \"volleyball\": {\r\n \"keywords\": [\"sports\", \"balls\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"rugby_football\": {\r\n \"keywords\": [\"sports\", \"team\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"8ball\": {\r\n \"keywords\": [\"pool\", \"hobby\", \"game\", \"luck\", \"magic\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"activity\"\r\n },\r\n \"golf\": {\r\n \"keywords\": [\"sports\", \"business\", \"flag\", \"hole\", \"summer\"],\r\n \"char\": \"โณ\",\r\n \"category\": \"activity\"\r\n },\r\n \"golfer\": {\r\n \"keywords\": [\"sports\", \"business\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"table_tennis\": {\r\n \"keywords\": [\"sports\", \"pingpong\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"badminton\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"ice_hockey\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"field_hockey\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"cricket\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"ski\": {\r\n \"keywords\": [\"sports\", \"winter\", \"cold\", \"snow\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"activity\"\r\n },\r\n \"skier\": {\r\n \"keywords\": [\"sports\", \"winter\", \"snow\"],\r\n \"char\": \"โท\",\r\n \"category\": \"activity\"\r\n },\r\n \"snowboarder\": {\r\n \"keywords\": [\"sports\", \"winter\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"ice_skate\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"bow_and_arrow\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"activity\"\r\n },\r\n \"fishing_pole_and_fish\": {\r\n \"keywords\": [\"food\", \"hobby\", \"summer\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"activity\"\r\n },\r\n \"rowboat\": {\r\n \"keywords\": [\"sports\", \"hobby\", \"water\", \"ship\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"activity\"\r\n },\r\n \"swimmer\": {\r\n \"keywords\": [\"sports\", \"exercise\", \"human\", \"athlete\", \"water\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"surfer\": {\r\n \"keywords\": [\"sports\", \"ocean\", \"sea\", \"summer\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"bath\": {\r\n \"keywords\": [\"clean\", \"shower\", \"bathroom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"person_with_ball\": {\r\n \"keywords\": [\"sports\", \"human\"],\r\n \"char\": \"โน\",\r\n \"category\": \"activity\"\r\n },\r\n \"weight_lifter\": {\r\n \"keywords\": [\"sports\", \"training\", \"exercise\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"bicyclist\": {\r\n \"keywords\": [\"sports\", \"bike\", \"exercise\", \"hipster\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"activity\"\r\n },\r\n \"mountain_bicyclist\": {\r\n \"keywords\": [\"transportation\", \"sports\", \"human\", \"race\", \"bike\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"activity\"\r\n },\r\n \"horse_racing\": {\r\n \"keywords\": [\"animal\", \"betting\", \"competition\", \"gambling\", \"luck\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"man_levitating\": {\r\n \"keywords\": [\"suit\", \"business\", \"levitate\", \"hover\", \"jump\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"activity\"\r\n },\r\n \"trophy\": {\r\n \"keywords\": [\"win\", \"award\", \"contest\", \"place\", \"ftw\", \"ceremony\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"running_shirt_with_sash\": {\r\n \"keywords\": [\"play\", \"pageant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"activity\"\r\n },\r\n \"sports_medal\": {\r\n \"keywords\": [\"award\", \"winning\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"activity\"\r\n },\r\n \"military_medal\": {\r\n \"keywords\": [\"award\", \"winning\", \"army\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"reminder_ribbon\": {\r\n \"keywords\": [\"sports\", \"cause\", \"support\", \"awareness\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"rosette\": {\r\n \"keywords\": [\"flower\", \"decoration\", \"military\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"activity\"\r\n },\r\n \"ticket\": {\r\n \"keywords\": [\"event\", \"concert\", \"pass\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"activity\"\r\n },\r\n \"admission_ticket\": {\r\n \"keywords\": [\"sports\", \"concert\", \"entrance\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"performing_arts\": {\r\n \"keywords\": [\"acting\", \"theater\", \"drama\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"activity\"\r\n },\r\n \"art\": {\r\n \"keywords\": [\"design\", \"paint\", \"draw\", \"colors\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"activity\"\r\n },\r\n \"circus_tent\": {\r\n \"keywords\": [\"festival\", \"carnival\", \"party\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"activity\"\r\n },\r\n \"microphone\": {\r\n \"keywords\": [\"sound\", \"music\", \"PA\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"activity\"\r\n },\r\n \"headphones\": {\r\n \"keywords\": [\"music\", \"score\", \"gadgets\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"activity\"\r\n },\r\n \"musical_score\": {\r\n \"keywords\": [\"treble\", \"clef\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"activity\"\r\n },\r\n \"musical_keyboard\": {\r\n \"keywords\": [\"piano\", \"instrument\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"activity\"\r\n },\r\n \"saxophone\": {\r\n \"keywords\": [\"music\", \"instrument\", \"jazz\", \"blues\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"activity\"\r\n },\r\n \"trumpet\": {\r\n \"keywords\": [\"music\", \"brass\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"activity\"\r\n },\r\n \"guitar\": {\r\n \"keywords\": [\"music\", \"instrument\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"violin\": {\r\n \"keywords\": [\"music\", \"instrument\", \"orchestra\", \"symphony\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"activity\"\r\n },\r\n \"clapper\": {\r\n \"keywords\": [\"movie\", \"film\", \"record\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"activity\"\r\n },\r\n \"video_game\": {\r\n \"keywords\": [\"play\", \"console\", \"PS4\", \"controller\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"activity\"\r\n },\r\n \"space_invader\": {\r\n \"keywords\": [\"game\", \"arcade\", \"play\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"activity\"\r\n },\r\n \"dart\": {\r\n \"keywords\": [\"game\", \"play\", \"bar\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"activity\"\r\n },\r\n \"game_die\": {\r\n \"keywords\": [\"dice\", \"random\", \"tabletop\", \"play\", \"luck\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"activity\"\r\n },\r\n \"slot_machine\": {\r\n \"keywords\": [\"bet\", \"gamble\", \"vegas\", \"fruit machine\", \"luck\", \"casino\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"activity\"\r\n },\r\n \"bowling\": {\r\n \"keywords\": [\"sports\", \"fun\", \"play\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"activity\"\r\n },\r\n \"car\": {\r\n \"keywords\": [\"red\", \"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"taxi\": {\r\n \"keywords\": [\"uber\", \"vehicle\", \"cars\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"blue_car\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bus\": {\r\n \"keywords\": [\"car\", \"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"trolleybus\": {\r\n \"keywords\": [\"bart\", \"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"racing_car\": {\r\n \"keywords\": [\"sports\", \"race\", \"fast\", \"formula\", \"f1\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"police_car\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"transportation\", \"law\", \"legal\", \"enforcement\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ambulance\": {\r\n \"keywords\": [\"health\", \"911\", \"hospital\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fire_engine\": {\r\n \"keywords\": [\"transportation\", \"cars\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"minibus\": {\r\n \"keywords\": [\"vehicle\", \"car\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"truck\": {\r\n \"keywords\": [\"cars\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"articulated_lorry\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"transportation\", \"express\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tractor\": {\r\n \"keywords\": [\"vehicle\", \"car\", \"farming\", \"agriculture\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"racing_motorcycle\": {\r\n \"keywords\": [\"race\", \"sports\", \"fast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bike\": {\r\n \"keywords\": [\"sports\", \"bicycle\", \"exercise\", \"hipster\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rotating_light\": {\r\n \"keywords\": [\"police\", \"ambulance\", \"911\", \"emergency\", \"alert\", \"error\", \"pinged\", \"law\", \"legal\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_police_car\": {\r\n \"keywords\": [\"vehicle\", \"law\", \"legal\", \"enforcement\", \"911\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_bus\": {\r\n \"keywords\": [\"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_automobile\": {\r\n \"keywords\": [\"car\", \"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_taxi\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"uber\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"aerial_tramway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"ski\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain_cableway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"ski\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"suspension_railway\": {\r\n \"keywords\": [\"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"railway_car\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"train\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"carriage\", \"public\", \"travel\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"monorail\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bullettrain_side\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bullettrain_front\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"speed\", \"fast\", \"public\", \"travel\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"light_rail\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain_railway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"steam_locomotive\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"train\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"train2\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"metro\": {\r\n \"keywords\": [\"transportation\", \"blue-square\", \"mrt\", \"underground\", \"tube\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tram\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"station\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"public\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"helicopter\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"fly\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"small_airplane\": {\r\n \"keywords\": [\"flight\", \"transportation\", \"fly\", \"vehicle\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane\": {\r\n \"keywords\": [\"vehicle\", \"transportation\", \"flight\", \"fly\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane_departure\": {\r\n \"keywords\": [\"airport\", \"flight\", \"landing\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane_arrival\": {\r\n \"keywords\": [\"airport\", \"flight\", \"boarding\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"boat\": {\r\n \"keywords\": [\"ship\", \"summer\", \"transportation\", \"water\", \"sailing\", \"sailboat\"],\r\n \"char\": \"โต\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"motor_boat\": {\r\n \"keywords\": [\"ship\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"speedboat\": {\r\n \"keywords\": [\"ship\", \"transportation\", \"vehicle\", \"summer\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ferry\": {\r\n \"keywords\": [\"boat\", \"ship\", \"yacht\"],\r\n \"char\": \"โด\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"passenger_ship\": {\r\n \"keywords\": [\"yacht\", \"cruise\", \"ferry\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rocket\": {\r\n \"keywords\": [\"launch\", \"ship\", \"staffmode\", \"NASA\", \"outer space\", \"outer_space\", \"fly\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"artificial_satellite\": {\r\n \"keywords\": [\"communication\", \"gps\", \"orbit\", \"spaceflight\", \"NASA\", \"ISS\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"seat\": {\r\n \"keywords\": [\"sit\", \"airplane\", \"transport\", \"bus\", \"flight\", \"fly\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"anchor\": {\r\n \"keywords\": [\"ship\", \"ferry\", \"sea\", \"boat\"],\r\n \"char\": \"โ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"construction\": {\r\n \"keywords\": [\"wip\", \"progress\", \"caution\", \"warning\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fuelpump\": {\r\n \"keywords\": [\"gas station\", \"petroleum\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"busstop\": {\r\n \"keywords\": [\"transportation\", \"wait\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"vertical_traffic_light\": {\r\n \"keywords\": [\"transportation\", \"driving\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"traffic_light\": {\r\n \"keywords\": [\"transportation\", \"signal\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"checkered_flag\": {\r\n \"keywords\": [\"contest\", \"finishline\", \"race\", \"gokart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ship\": {\r\n \"keywords\": [\"transportation\", \"titanic\", \"deploy\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ferris_wheel\": {\r\n \"keywords\": [\"photo\", \"carnival\", \"londoneye\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"roller_coaster\": {\r\n \"keywords\": [\"carnival\", \"playground\", \"photo\", \"fun\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"carousel_horse\": {\r\n \"keywords\": [\"photo\", \"carnival\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"building_construction\": {\r\n \"keywords\": [\"wip\", \"working\", \"progress\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"foggy\": {\r\n \"keywords\": [\"photo\", \"mountain\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tokyo_tower\": {\r\n \"keywords\": [\"photo\", \"japanese\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"factory\": {\r\n \"keywords\": [\"building\", \"industry\", \"pollution\", \"smoke\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fountain\": {\r\n \"keywords\": [\"photo\", \"summer\", \"water\", \"fresh\"],\r\n \"char\": \"โฒ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rice_scene\": {\r\n \"keywords\": [\"photo\", \"japan\", \"asia\", \"tsukimi\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain\": {\r\n \"keywords\": [\"photo\", \"nature\", \"environment\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"snow_capped_mountain\": {\r\n \"keywords\": [\"photo\", \"nature\", \"environment\", \"winter\", \"cold\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mount_fuji\": {\r\n \"keywords\": [\"photo\", \"mountain\", \"nature\", \"japanese\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"volcano\": {\r\n \"keywords\": [\"photo\", \"nature\", \"disaster\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"japan\": {\r\n \"keywords\": [\"nation\", \"country\", \"japanese\", \"asia\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"camping\": {\r\n \"keywords\": [\"photo\", \"outdoors\", \"tent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tent\": {\r\n \"keywords\": [\"photo\", \"camping\", \"outdoors\"],\r\n \"char\": \"โบ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"national_park\": {\r\n \"keywords\": [\"photo\", \"environment\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"motorway\": {\r\n \"keywords\": [\"road\", \"cupertino\", \"interstate\", \"highway\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"railway_track\": {\r\n \"keywords\": [\"train\", \"transportation\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sunrise\": {\r\n \"keywords\": [\"morning\", \"view\", \"vacation\", \"photo\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sunrise_over_mountains\": {\r\n \"keywords\": [\"view\", \"vacation\", \"photo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"desert\": {\r\n \"keywords\": [\"photo\", \"warm\", \"saharah\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"beach_with_umbrella\": {\r\n \"keywords\": [\"weather\", \"summer\", \"sunny\", \"sand\", \"mojito\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"desert_island\": {\r\n \"keywords\": [\"photo\", \"tropical\", \"mojito\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"city_sunrise\": {\r\n \"keywords\": [\"photo\", \"good morning\", \"dawn\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"city_sunset\": {\r\n \"keywords\": [\"photo\", \"evening\", \"sky\", \"buildings\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"cityscape\": {\r\n \"keywords\": [\"photo\", \"night life\", \"urban\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"night_with_stars\": {\r\n \"keywords\": [\"evening\", \"city\", \"downtown\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bridge_at_night\": {\r\n \"keywords\": [\"photo\", \"sanfrancisco\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"milky_way\": {\r\n \"keywords\": [\"photo\", \"space\", \"stars\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"stars\": {\r\n \"keywords\": [\"night\", \"photo\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sparkler\": {\r\n \"keywords\": [\"stars\", \"night\", \"shine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fireworks\": {\r\n \"keywords\": [\"photo\", \"festival\", \"carnival\", \"congratulations\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rainbow\": {\r\n \"keywords\": [\"nature\", \"happy\", \"unicorn\", \"photo\", \"sky\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"buildings\": {\r\n \"keywords\": [\"houses\", \"photo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"european_castle\": {\r\n \"keywords\": [\"building\", \"royalty\", \"history\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"japanese_castle\": {\r\n \"keywords\": [\"photo\", \"building\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"stadium\": {\r\n \"keywords\": [\"photo\", \"place\", \"sports\", \"concert\", \"venue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"statue_of_liberty\": {\r\n \"keywords\": [\"american\", \"newyork\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"house\": {\r\n \"keywords\": [\"building\", \"home\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"house_with_garden\": {\r\n \"keywords\": [\"home\", \"plant\", \"nature\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"derelict_house\": {\r\n \"keywords\": [\"abandon\", \"evict\", \"broken\", \"building\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"office\": {\r\n \"keywords\": [\"building\", \"bureau\", \"work\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"department_store\": {\r\n \"keywords\": [\"building\", \"shopping\", \"mall\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"post_office\": {\r\n \"keywords\": [\"building\", \"email\", \"communication\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"european_post_office\": {\r\n \"keywords\": [\"building\", \"email\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"hospital\": {\r\n \"keywords\": [\"building\", \"health\", \"surgery\", \"doctor\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bank\": {\r\n \"keywords\": [\"building\", \"money\", \"sales\", \"cash\", \"business\", \"enterprise\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"hotel\": {\r\n \"keywords\": [\"building\", \"accomodation\", \"checkin\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"convenience_store\": {\r\n \"keywords\": [\"building\", \"shopping\", \"groceries\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"school\": {\r\n \"keywords\": [\"building\", \"student\", \"education\", \"learn\", \"teach\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"love_hotel\": {\r\n \"keywords\": [\"like\", \"affection\", \"dating\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"wedding\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"couple\", \"marriage\", \"bride\", \"groom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"museum\": {\r\n \"keywords\": [\"art\", \"culture\", \"history\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"church\": {\r\n \"keywords\": [\"building\", \"religion\", \"christ\"],\r\n \"char\": \"โช\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mosque\": {\r\n \"keywords\": [\"islam\", \"worship\", \"minaret\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"synagogue\": {\r\n \"keywords\": [\"judaism\", \"worship\", \"temple\", \"jewish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"kaaba\": {\r\n \"keywords\": [\"mecca\", \"mosque\", \"islam\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"shinto_shrine\": {\r\n \"keywords\": [\"temple\", \"japan\", \"kyoto\"],\r\n \"char\": \"โฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"watch\": {\r\n \"keywords\": [\"time\", \"accessories\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"iphone\": {\r\n \"keywords\": [\"technology\", \"apple\", \"gadgets\", \"dial\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"calling\": {\r\n \"keywords\": [\"iphone\", \"incoming\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"computer\": {\r\n \"keywords\": [\"technology\", \"laptop\", \"screen\", \"display\", \"monitor\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"objects\"\r\n },\r\n \"keyboard\": {\r\n \"keywords\": [\"technology\", \"computer\", \"type\", \"input\", \"text\"],\r\n \"char\": \"โจ\",\r\n \"category\": \"objects\"\r\n },\r\n \"desktop_computer\": {\r\n \"keywords\": [\"technology\", \"computing\", \"screen\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"printer\": {\r\n \"keywords\": [\"paper\", \"ink\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"three_button_mouse\": {\r\n \"keywords\": [\"click\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"trackball\": {\r\n \"keywords\": [\"technology\", \"trackpad\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"joystick\": {\r\n \"keywords\": [\"game\", \"play\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"objects\"\r\n },\r\n \"compression\": {\r\n \"keywords\": [\"tool\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"minidisc\": {\r\n \"keywords\": [\"technology\", \"record\", \"data\", \"disk\", \"90s\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"floppy_disk\": {\r\n \"keywords\": [\"oldschool\", \"technology\", \"save\", \"90s\", \"80s\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"objects\"\r\n },\r\n \"cd\": {\r\n \"keywords\": [\"technology\", \"dvd\", \"disk\", \"disc\", \"90s\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"dvd\": {\r\n \"keywords\": [\"cd\", \"disk\", \"disc\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"vhs\": {\r\n \"keywords\": [\"record\", \"video\", \"oldschool\", \"90s\", \"80s\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"objects\"\r\n },\r\n \"camera\": {\r\n \"keywords\": [\"gadgets\", \"photography\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"camera_with_flash\": {\r\n \"keywords\": [\"photography\", \"gadgets\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"video_camera\": {\r\n \"keywords\": [\"film\", \"record\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"objects\"\r\n },\r\n \"movie_camera\": {\r\n \"keywords\": [\"film\", \"record\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"film_projector\": {\r\n \"keywords\": [\"video\", \"tape\", \"record\", \"movie\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"film_frames\": {\r\n \"keywords\": [\"movie\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"telephone_receiver\": {\r\n \"keywords\": [\"technology\", \"communication\", \"dial\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"phone\": {\r\n \"keywords\": [\"technology\", \"communication\", \"dial\", \"telephone\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pager\": {\r\n \"keywords\": [\"bbcall\", \"oldschool\", \"90s\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"fax\": {\r\n \"keywords\": [\"communication\", \"technology\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"objects\"\r\n },\r\n \"tv\": {\r\n \"keywords\": [\"technology\", \"program\", \"oldschool\", \"show\", \"television\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"radio\": {\r\n \"keywords\": [\"communication\", \"music\", \"podcast\", \"program\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"objects\"\r\n },\r\n \"studio_microphone\": {\r\n \"keywords\": [\"singer\", \"recording\", \"artist\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"level_slider\": {\r\n \"keywords\": [\"scale\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"control_knobs\": {\r\n \"keywords\": [\"dial\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"stopwatch\": {\r\n \"keywords\": [\"time\", \"deadline\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"timer_clock\": {\r\n \"keywords\": [\"alarm\"],\r\n \"char\": \"โฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"alarm_clock\": {\r\n \"keywords\": [\"time\", \"wake\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mantelpiece_clock\": {\r\n \"keywords\": [\"time\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hourglass_flowing_sand\": {\r\n \"keywords\": [\"oldschool\", \"time\", \"countdown\"],\r\n \"char\": \"โณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hourglass\": {\r\n \"keywords\": [\"time\", \"clock\", \"oldschool\", \"limit\", \"exam\", \"quiz\", \"test\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"satellite\": {\r\n \"keywords\": [\"communication\", \"future\", \"radio\", \"space\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"battery\": {\r\n \"keywords\": [\"power\", \"energy\", \"sustain\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"electric_plug\": {\r\n \"keywords\": [\"charger\", \"power\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bulb\": {\r\n \"keywords\": [\"light\", \"electricity\", \"idea\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"flashlight\": {\r\n \"keywords\": [\"dark\", \"camping\", \"sight\", \"night\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"objects\"\r\n },\r\n \"candle\": {\r\n \"keywords\": [\"fire\", \"wax\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"objects\"\r\n },\r\n \"wastebasket\": {\r\n \"keywords\": [\"bin\", \"trash\", \"rubbish\", \"garbage\", \"toss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"oil_drum\": {\r\n \"keywords\": [\"barrell\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"objects\"\r\n },\r\n \"money_with_wings\": {\r\n \"keywords\": [\"dollar\", \"bills\", \"payment\", \"sale\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"dollar\": {\r\n \"keywords\": [\"money\", \"sales\", \"bill\", \"currency\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"objects\"\r\n },\r\n \"yen\": {\r\n \"keywords\": [\"money\", \"sales\", \"japanese\", \"dollar\", \"currency\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"objects\"\r\n },\r\n \"euro\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"currency\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pound\": {\r\n \"keywords\": [\"british\", \"sterling\", \"money\", \"sales\", \"bills\", \"uk\", \"england\", \"currency\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"moneybag\": {\r\n \"keywords\": [\"dollar\", \"payment\", \"coins\", \"sale\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"credit_card\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"bill\", \"payment\", \"shopping\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gem\": {\r\n \"keywords\": [\"blue\", \"ruby\", \"diamond\", \"jewelry\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"scales\": {\r\n \"keywords\": [\"law\", \"fairness\", \"weight\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"wrench\": {\r\n \"keywords\": [\"tools\", \"diy\", \"ikea\", \"fix\", \"maintainer\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer_and_pick\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer_and_wrench\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"objects\"\r\n },\r\n \"pick\": {\r\n \"keywords\": [\"tools\", \"dig\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"nut_and_bolt\": {\r\n \"keywords\": [\"handy\", \"tools\", \"fix\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gear\": {\r\n \"keywords\": [\"cog\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"chains\": {\r\n \"keywords\": [\"lock\", \"arrest\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gun\": {\r\n \"keywords\": [\"violence\", \"weapon\", \"pistol\", \"revolver\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"objects\"\r\n },\r\n \"bomb\": {\r\n \"keywords\": [\"boom\", \"explode\", \"explosion\", \"terrorism\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hocho\": {\r\n \"keywords\": [\"knife\", \"blade\", \"cutlery\", \"kitchen\", \"weapon\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"dagger_knife\": {\r\n \"keywords\": [\"weapon\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"crossed_swords\": {\r\n \"keywords\": [\"weapon\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shield\": {\r\n \"keywords\": [\"protection\", \"security\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"smoking\": {\r\n \"keywords\": [\"kills\", \"tobacco\", \"cigarette\", \"joint\", \"smoke\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"skull_and_crossbones\": {\r\n \"keywords\": [\"poison\", \"danger\", \"deadly\", \"scary\"],\r\n \"char\": \"โ \",\r\n \"category\": \"objects\"\r\n },\r\n \"coffin\": {\r\n \"keywords\": [\"vampire\", \"dead\", \"die\", \"death\", \"rip\", \"graveyard\", \"cemetery\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"funeral_urn\": {\r\n \"keywords\": [\"dead\", \"die\", \"death\", \"rip\", \"ashes\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"amphora\": {\r\n \"keywords\": [\"vase\", \"jar\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"crystal_ball\": {\r\n \"keywords\": [\"disco\", \"party\", \"magic\", \"circus\", \"fortune_teller\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"prayer_beads\": {\r\n \"keywords\": [\"dhikr\", \"religious\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"barber\": {\r\n \"keywords\": [\"hair\", \"salon\", \"style\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"alembic\": {\r\n \"keywords\": [\"distilling\", \"science\", \"experiment\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"telescope\": {\r\n \"keywords\": [\"stars\", \"space\", \"zoom\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"objects\"\r\n },\r\n \"microscope\": {\r\n \"keywords\": [\"laboratory\", \"experiment\", \"zoomin\", \"science\", \"study\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hole\": {\r\n \"keywords\": [\"embarrassing\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pill\": {\r\n \"keywords\": [\"health\", \"medicine\", \"doctor\", \"pharmacy\", \"drug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"syringe\": {\r\n \"keywords\": [\"health\", \"hospital\", \"drugs\", \"blood\", \"medicine\", \"needle\", \"doctor\", \"nurse\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"thermometer\": {\r\n \"keywords\": [\"weather\", \"temperature\", \"hot\", \"cold\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"label\": {\r\n \"keywords\": [\"sale\", \"tag\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"bookmark\": {\r\n \"keywords\": [\"favorite\", \"label\", \"save\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"toilet\": {\r\n \"keywords\": [\"restroom\", \"wc\", \"washroom\", \"bathroom\", \"potty\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shower\": {\r\n \"keywords\": [\"clean\", \"water\", \"bathroom\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"bathtub\": {\r\n \"keywords\": [\"clean\", \"shower\", \"bathroom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"key\": {\r\n \"keywords\": [\"lock\", \"door\", \"password\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"old_key\": {\r\n \"keywords\": [\"lock\", \"door\", \"password\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"couch_and_lamp\": {\r\n \"keywords\": [\"read\", \"chill\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"sleeping_accommodation\": {\r\n \"keywords\": [\"bed\", \"rest\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bed\": {\r\n \"keywords\": [\"sleep\", \"rest\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"door\": {\r\n \"keywords\": [\"house\", \"entry\", \"exit\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"bellhop_bell\": {\r\n \"keywords\": [\"service\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"frame_with_picture\": {\r\n \"keywords\": [\"photography\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"objects\"\r\n },\r\n \"world_map\": {\r\n \"keywords\": [\"location\", \"direction\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"umbrella_on_ground\": {\r\n \"keywords\": [\"weather\", \"summer\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"moyai\": {\r\n \"keywords\": [\"rock\", \"easter island\", \"moai\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shopping_bags\": {\r\n \"keywords\": [\"mall\", \"buy\", \"purchase\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"balloon\": {\r\n \"keywords\": [\"party\", \"celebration\", \"birthday\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"flags\": {\r\n \"keywords\": [\"fish\", \"japanese\", \"koinobori\", \"carp\", \"banner\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ribbon\": {\r\n \"keywords\": [\"decoration\", \"pink\", \"girl\", \"bowtie\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"gift\": {\r\n \"keywords\": [\"present\", \"birthday\", \"christmas\", \"xmas\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"confetti_ball\": {\r\n \"keywords\": [\"festival\", \"party\", \"birthday\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"tada\": {\r\n \"keywords\": [\"party\", \"contulations\", \"birthday\", \"magic\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"dolls\": {\r\n \"keywords\": [\"japanese\", \"toy\", \"kimono\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"wind_chime\": {\r\n \"keywords\": [\"nature\", \"ding\", \"spring\", \"bell\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"crossed_flags\": {\r\n \"keywords\": [\"japanese\", \"nation\", \"country\", \"border\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"izakaya_lantern\": {\r\n \"keywords\": [\"light\", \"paper\", \"halloween\", \"spooky\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"envelope\": {\r\n \"keywords\": [\"letter\", \"postal\", \"inbox\", \"communication\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"envelope_with_arrow\": {\r\n \"keywords\": [\"email\", \"communication\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"incoming_envelope\": {\r\n \"keywords\": [\"email\", \"inbox\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"email\": {\r\n \"keywords\": [\"communication\", \"inbox\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"objects\"\r\n },\r\n \"love_letter\": {\r\n \"keywords\": [\"email\", \"like\", \"affection\", \"envelope\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"postbox\": {\r\n \"keywords\": [\"email\", \"letter\", \"envelope\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_closed\": {\r\n \"keywords\": [\"email\", \"communication\", \"inbox\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox\": {\r\n \"keywords\": [\"email\", \"inbox\", \"communication\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_with_mail\": {\r\n \"keywords\": [\"email\", \"inbox\", \"communication\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_with_no_mail\": {\r\n \"keywords\": [\"email\", \"inbox\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"objects\"\r\n },\r\n \"package\": {\r\n \"keywords\": [\"mail\", \"gift\", \"cardboard\", \"box\", \"moving\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"objects\"\r\n },\r\n \"postal_horn\": {\r\n \"keywords\": [\"instrument\", \"music\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"objects\"\r\n },\r\n \"inbox_tray\": {\r\n \"keywords\": [\"email\", \"documents\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"outbox_tray\": {\r\n \"keywords\": [\"inbox\", \"email\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"objects\"\r\n },\r\n \"scroll\": {\r\n \"keywords\": [\"documents\", \"ancient\", \"history\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"page_with_curl\": {\r\n \"keywords\": [\"documents\", \"office\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bookmark_tabs\": {\r\n \"keywords\": [\"favorite\", \"save\", \"order\", \"tidy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bar_chart\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"chart_with_upwards_trend\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"recovery\", \"business\", \"economics\", \"money\", \"sales\", \"good\", \"success\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"chart_with_downwards_trend\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"recession\", \"business\", \"economics\", \"money\", \"sales\", \"bad\", \"failure\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"page_facing_up\": {\r\n \"keywords\": [\"documents\", \"office\", \"paper\", \"information\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"date\": {\r\n \"keywords\": [\"calendar\", \"schedule\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"objects\"\r\n },\r\n \"calendar\": {\r\n \"keywords\": [\"schedule\", \"date\", \"planning\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"spiral_calendar_pad\": {\r\n \"keywords\": [\"date\", \"schedule\", \"planning\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_index\": {\r\n \"keywords\": [\"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_file_box\": {\r\n \"keywords\": [\"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ballot_box_with_ballot\": {\r\n \"keywords\": [\"election\", \"vote\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"file_cabinet\": {\r\n \"keywords\": [\"filing\", \"organizing\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"clipboard\": {\r\n \"keywords\": [\"stationery\", \"documents\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"spiral_note_pad\": {\r\n \"keywords\": [\"memo\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"file_folder\": {\r\n \"keywords\": [\"documents\", \"business\", \"office\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"open_file_folder\": {\r\n \"keywords\": [\"documents\", \"load\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_index_dividers\": {\r\n \"keywords\": [\"organizing\", \"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"rolled_up_newspaper\": {\r\n \"keywords\": [\"press\", \"headline\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"newspaper\": {\r\n \"keywords\": [\"press\", \"headline\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"notebook\": {\r\n \"keywords\": [\"stationery\", \"record\", \"notes\", \"paper\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"closed_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"textbook\", \"learn\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"green_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"blue_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"learn\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"orange_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"textbook\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"notebook_with_decorative_cover\": {\r\n \"keywords\": [\"classroom\", \"notes\", \"record\", \"paper\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ledger\": {\r\n \"keywords\": [\"notes\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"books\": {\r\n \"keywords\": [\"literature\", \"library\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"book\": {\r\n \"keywords\": [\"open_book\", \"read\", \"library\", \"knowledge\", \"literature\", \"learn\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"link\": {\r\n \"keywords\": [\"rings\", \"url\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"paperclip\": {\r\n \"keywords\": [\"documents\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"linked_paperclips\": {\r\n \"keywords\": [\"documents\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"scissors\": {\r\n \"keywords\": [\"stationery\", \"cut\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"triangular_ruler\": {\r\n \"keywords\": [\"stationery\", \"math\", \"architect\", \"sketch\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"straight_ruler\": {\r\n \"keywords\": [\"stationery\", \"calculate\", \"length\", \"math\", \"school\", \"drawing\", \"architect\", \"sketch\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"pushpin\": {\r\n \"keywords\": [\"stationery\", \"mark\", \"here\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"round_pushpin\": {\r\n \"keywords\": [\"stationery\", \"location\", \"map\", \"here\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"triangular_flag_on_post\": {\r\n \"keywords\": [\"mark\", \"milestone\", \"place\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"waving_white_flag\": {\r\n \"keywords\": [\"losing\", \"loser\", \"lost\", \"surrender\", \"give up\", \"fail\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"waving_black_flag\": {\r\n \"keywords\": [\"pirate\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"objects\"\r\n },\r\n \"closed_lock_with_key\": {\r\n \"keywords\": [\"security\", \"privacy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lock\": {\r\n \"keywords\": [\"security\", \"password\", \"padlock\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"unlock\": {\r\n \"keywords\": [\"privacy\", \"security\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lock_with_ink_pen\": {\r\n \"keywords\": [\"security\", \"secret\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_ballpoint_pen\": {\r\n \"keywords\": [\"stationery\", \"writing\", \"write\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_fountain_pen\": {\r\n \"keywords\": [\"stationery\", \"writing\", \"write\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"black_nib\": {\r\n \"keywords\": [\"pen\", \"stationery\", \"writing\", \"write\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"memo\": {\r\n \"keywords\": [\"write\", \"documents\", \"stationery\", \"pencil\", \"paper\", \"writing\", \"legal\", \"exam\", \"quiz\", \"test\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"pencil2\": {\r\n \"keywords\": [\"stationery\", \"write\", \"paper\", \"writing\", \"school\", \"study\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_crayon\": {\r\n \"keywords\": [\"drawing\", \"creativity\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_paintbrush\": {\r\n \"keywords\": [\"drawing\", \"creativity\", \"art\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"mag\": {\r\n \"keywords\": [\"search\", \"zoom\", \"find\", \"detective\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"mag_right\": {\r\n \"keywords\": [\"search\", \"zoom\", \"find\", \"detective\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"heart\": {\r\n \"keywords\": [\"love\", \"like\", \"valentines\"],\r\n \"char\": \"โค๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"yellow_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"green_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"blue_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"purple_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"broken_heart\": {\r\n \"keywords\": [\"sad\", \"sorry\", \"break\", \"heart\", \"heartbreak\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_heart_exclamation_mark_ornament\": {\r\n \"keywords\": [\"decoration\", \"love\"],\r\n \"char\": \"โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"two_hearts\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"revolving_hearts\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heartbeat\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\", \"pink\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heartpulse\": {\r\n \"keywords\": [\"like\", \"love\", \"affection\", \"valentines\", \"pink\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sparkling_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cupid\": {\r\n \"keywords\": [\"love\", \"like\", \"heart\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"gift_heart\": {\r\n \"keywords\": [\"love\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heart_decoration\": {\r\n \"keywords\": [\"purple-square\", \"love\", \"like\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"peace_symbol\": {\r\n \"keywords\": [\"hippie\"],\r\n \"char\": \"โฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"latin_cross\": {\r\n \"keywords\": [\"christianity\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"star_and_crescent\": {\r\n \"keywords\": [\"islam\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"om_symbol\": {\r\n \"keywords\": [\"hinduism\", \"buddhism\", \"sikhism\", \"jainism\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wheel_of_dharma\": {\r\n \"keywords\": [\"hinduism\", \"buddhism\", \"sikhism\", \"jainism\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"star_of_david\": {\r\n \"keywords\": [\"judaism\"],\r\n \"char\": \"โก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"six_pointed_star\": {\r\n \"keywords\": [\"purple-square\", \"religion\", \"jewish\", \"hexagram\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"menorah_with_nine_branches\": {\r\n \"keywords\": [\"hanukkah\", \"candles\", \"jewish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"yin_yang\": {\r\n \"keywords\": [\"balance\"],\r\n \"char\": \"โฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"orthodox_cross\": {\r\n \"keywords\": [\"suppedaneum\", \"religion\"],\r\n \"char\": \"โฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"place_of_worship\": {\r\n \"keywords\": [\"religion\", \"church\", \"temple\", \"prayer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ophiuchus\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"constellation\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"aries\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"taurus\": {\r\n \"keywords\": [\"purple-square\", \"sign\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"gemini\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cancer\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"leo\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"virgo\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"libra\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"scorpius\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\", \"scorpio\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sagittarius\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"capricorn\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"aquarius\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"pisces\": {\r\n \"keywords\": [\"purple-square\", \"sign\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"id\": {\r\n \"keywords\": [\"purple-square\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"atom_symbol\": {\r\n \"keywords\": [\"science\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7a7a\": {\r\n \"keywords\": [\"kanji\", \"japanese\", \"chinese\", \"empty\", \"sky\", \"blue-square\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u5272\": {\r\n \"keywords\": [\"cut\", \"divide\", \"chinese\", \"kanji\", \"pink-square\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"radioactive_sign\": {\r\n \"keywords\": [\"nuclear\", \"danger\"],\r\n \"char\": \"โข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"biohazard_sign\": {\r\n \"keywords\": [\"danger\"],\r\n \"char\": \"โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mobile_phone_off\": {\r\n \"keywords\": [\"mute\", \"orange-square\", \"silence\", \"quiet\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"vibration_mode\": {\r\n \"keywords\": [\"orange-square\", \"phone\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6709\": {\r\n \"keywords\": [\"orange-square\", \"chinese\", \"have\", \"kanji\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7121\": {\r\n \"keywords\": [\"nothing\", \"chinese\", \"kanji\", \"japanese\", \"orange-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7533\": {\r\n \"keywords\": [\"chinese\", \"japanese\", \"kanji\", \"orange-square\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u55b6\": {\r\n \"keywords\": [\"japanese\", \"opening hours\", \"orange-square\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6708\": {\r\n \"keywords\": [\"chinese\", \"month\", \"moon\", \"japanese\", \"orange-square\", \"kanji\"],\r\n \"char\": \"๐ท๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight_pointed_black_star\": {\r\n \"keywords\": [\"orange-square\", \"shape\", \"polygon\"],\r\n \"char\": \"โด๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"vs\": {\r\n \"keywords\": [\"words\", \"orange-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"accept\": {\r\n \"keywords\": [\"ok\", \"good\", \"chinese\", \"kanji\", \"agree\", \"yes\", \"orange-circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_flower\": {\r\n \"keywords\": [\"japanese\", \"spring\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ideograph_advantage\": {\r\n \"keywords\": [\"chinese\", \"kanji\", \"obtain\", \"get\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"secret\": {\r\n \"keywords\": [\"privacy\", \"chinese\", \"sshh\", \"kanji\", \"red-circle\"],\r\n \"char\": \"ใ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"congratulations\": {\r\n \"keywords\": [\"chinese\", \"kanji\", \"japanese\", \"red-circle\"],\r\n \"char\": \"ใ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u5408\": {\r\n \"keywords\": [\"japanese\", \"chinese\", \"join\", \"kanji\", \"red-square\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6e80\": {\r\n \"keywords\": [\"full\", \"chinese\", \"japanese\", \"red-square\", \"kanji\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7981\": {\r\n \"keywords\": [\"kanji\", \"japanese\", \"chinese\", \"forbidden\", \"limit\", \"restricted\", \"red-square\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"a\": {\r\n \"keywords\": [\"red-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฐ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"b\": {\r\n \"keywords\": [\"red-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฑ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ab\": {\r\n \"keywords\": [\"red-square\", \"alphabet\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cl\": {\r\n \"keywords\": [\"alphabet\", \"words\", \"red-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"o2\": {\r\n \"keywords\": [\"alphabet\", \"red-square\", \"letter\"],\r\n \"char\": \"๐
พ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sos\": {\r\n \"keywords\": [\"help\", \"red-square\", \"words\", \"emergency\", \"911\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_entry\": {\r\n \"keywords\": [\"limit\", \"security\", \"privacy\", \"bad\", \"denied\", \"stop\", \"circle\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"name_badge\": {\r\n \"keywords\": [\"fire\", \"forbid\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_entry_sign\": {\r\n \"keywords\": [\"forbid\", \"stop\", \"limit\", \"denied\", \"disallow\", \"circle\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"x\": {\r\n \"keywords\": [\"no\", \"delete\", \"remove\", \"cancel\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"o\": {\r\n \"keywords\": [\"circle\", \"round\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"anger\": {\r\n \"keywords\": [\"angry\", \"mad\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hotsprings\": {\r\n \"keywords\": [\"bath\", \"warm\", \"relax\"],\r\n \"char\": \"โจ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_pedestrians\": {\r\n \"keywords\": [\"rules\", \"crossing\", \"walking\", \"circle\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"symbols\"\r\n },\r\n \"do_not_litter\": {\r\n \"keywords\": [\"trash\", \"bin\", \"garbage\", \"circle\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_bicycles\": {\r\n \"keywords\": [\"cyclist\", \"prohibited\", \"circle\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"non-potable_water\": {\r\n \"keywords\": [\"drink\", \"faucet\", \"tap\", \"circle\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"underage\": {\r\n \"keywords\": [\"18\", \"drink\", \"pub\", \"night\", \"minor\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_mobile_phones\": {\r\n \"keywords\": [\"iphone\", \"mute\", \"circle\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"exclamation\": {\r\n \"keywords\": [\"heavy_exclamation_mark\", \"danger\", \"surprise\", \"punctuation\", \"wow\", \"warning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"grey_exclamation\": {\r\n \"keywords\": [\"surprise\", \"punctuation\", \"gray\", \"wow\", \"warning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"question\": {\r\n \"keywords\": [\"doubt\", \"confused\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"grey_question\": {\r\n \"keywords\": [\"doubts\", \"gray\", \"huh\", \"confused\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"bangbang\": {\r\n \"keywords\": [\"exclamation\", \"surprise\"],\r\n \"char\": \"โผ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"interrobang\": {\r\n \"keywords\": [\"wat\", \"punctuation\", \"surprise\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"100\": {\r\n \"keywords\": [\"score\", \"perfect\", \"numbers\", \"century\", \"exam\", \"quiz\", \"test\", \"pass\", \"hundred\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"low_brightness\": {\r\n \"keywords\": [\"sun\", \"afternoon\", \"warm\", \"summer\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"high_brightness\": {\r\n \"keywords\": [\"sun\", \"light\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"trident\": {\r\n \"keywords\": [\"weapon\", \"spear\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"fleur_de_lis\": {\r\n \"keywords\": [\"decorative\", \"scout\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"part_alternation_mark\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"business\", \"economics\", \"bad\"],\r\n \"char\": \"ใฝ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"warning\": {\r\n \"keywords\": [\"exclamation\", \"wip\", \"alert\", \"error\", \"problem\", \"issue\"],\r\n \"char\": \"โ ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"children_crossing\": {\r\n \"keywords\": [\"school\", \"warning\", \"danger\", \"sign\", \"driving\", \"yellow-diamond\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"beginner\": {\r\n \"keywords\": [\"badge\", \"shield\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"recycle\": {\r\n \"keywords\": [\"arrow\", \"environment\", \"garbage\", \"trash\"],\r\n \"char\": \"โป๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6307\": {\r\n \"keywords\": [\"chinese\", \"point\", \"green-square\", \"kanji\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"chart\": {\r\n \"keywords\": [\"green-square\", \"graph\", \"presentation\", \"stats\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sparkle\": {\r\n \"keywords\": [\"stars\", \"green-square\", \"awesome\", \"good\", \"fireworks\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight_spoked_asterisk\": {\r\n \"keywords\": [\"star\", \"sparkle\", \"green-square\"],\r\n \"char\": \"โณ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"negative_squared_cross_mark\": {\r\n \"keywords\": [\"x\", \"green-square\", \"no\", \"deny\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_check_mark\": {\r\n \"keywords\": [\"green-square\", \"ok\", \"agree\", \"vote\", \"election\", \"answer\"],\r\n \"char\": \"โ
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"diamond_shape_with_a_dot_inside\": {\r\n \"keywords\": [\"jewel\", \"blue\", \"gem\", \"crystal\", \"fancy\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"cyclone\": {\r\n \"keywords\": [\"weather\", \"swirl\", \"blue\", \"cloud\", \"vortex\", \"spiral\", \"whirlpool\", \"spin\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loop\": {\r\n \"keywords\": [\"tape\", \"cassette\"],\r\n \"char\": \"โฟ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"globe_with_meridians\": {\r\n \"keywords\": [\"earth\", \"international\", \"world\", \"internet\", \"interweb\", \"i18n\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"m\": {\r\n \"keywords\": [\"alphabet\", \"blue-circle\", \"letter\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"atm\": {\r\n \"keywords\": [\"money\", \"sales\", \"cash\", \"blue-square\", \"payment\", \"bank\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sa\": {\r\n \"keywords\": [\"japanese\", \"blue-square\", \"katakana\"],\r\n \"char\": \"๐๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"passport_control\": {\r\n \"keywords\": [\"custom\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"customs\": {\r\n \"keywords\": [\"passport\", \"border\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"baggage_claim\": {\r\n \"keywords\": [\"blue-square\", \"airport\", \"transport\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_luggage\": {\r\n \"keywords\": [\"blue-square\", \"travel\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wheelchair\": {\r\n \"keywords\": [\"blue-square\", \"disabled\", \"a11y\", \"accessibility\"],\r\n \"char\": \"โฟ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_smoking\": {\r\n \"keywords\": [\"cigarette\", \"blue-square\", \"smell\", \"smoke\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wc\": {\r\n \"keywords\": [\"toilet\", \"restroom\", \"blue-square\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"parking\": {\r\n \"keywords\": [\"cars\", \"blue-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฟ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"potable_water\": {\r\n \"keywords\": [\"blue-square\", \"liquid\", \"restroom\", \"cleaning\", \"faucet\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mens\": {\r\n \"keywords\": [\"toilet\", \"restroom\", \"wc\", \"blue-square\", \"gender\", \"male\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"womens\": {\r\n \"keywords\": [\"purple-square\", \"woman\", \"female\", \"toilet\", \"loo\", \"restroom\", \"gender\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"baby_symbol\": {\r\n \"keywords\": [\"orange-square\", \"child\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"restroom\": {\r\n \"keywords\": [\"blue-square\", \"toilet\", \"refresh\", \"wc\", \"gender\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"symbols\"\r\n },\r\n \"put_litter_in_its_place\": {\r\n \"keywords\": [\"blue-square\", \"sign\", \"human\", \"info\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cinema\": {\r\n \"keywords\": [\"blue-square\", \"record\", \"film\", \"movie\", \"curtain\", \"stage\", \"theater\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"signal_strength\": {\r\n \"keywords\": [\"blue-square\", \"reception\", \"phone\", \"internet\", \"connection\", \"wifi\", \"bluetooth\", \"bars\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"koko\": {\r\n \"keywords\": [\"blue-square\", \"here\", \"katakana\", \"japanese\", \"destination\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ng\": {\r\n \"keywords\": [\"blue-square\", \"words\", \"shape\", \"icon\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ok\": {\r\n \"keywords\": [\"good\", \"agree\", \"yes\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"up\": {\r\n \"keywords\": [\"blue-square\", \"above\", \"high\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cool\": {\r\n \"keywords\": [\"words\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"new\": {\r\n \"keywords\": [\"blue-square\", \"words\", \"start\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"free\": {\r\n \"keywords\": [\"blue-square\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"zero\": {\r\n \"keywords\": [\"0\", \"numbers\", \"blue-square\", \"null\"],\r\n \"char\": \"0๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"one\": {\r\n \"keywords\": [\"blue-square\", \"numbers\", \"1\"],\r\n \"char\": \"1๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"two\": {\r\n \"keywords\": [\"numbers\", \"2\", \"prime\", \"blue-square\"],\r\n \"char\": \"2๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"three\": {\r\n \"keywords\": [\"3\", \"numbers\", \"prime\", \"blue-square\"],\r\n \"char\": \"3๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"four\": {\r\n \"keywords\": [\"4\", \"numbers\", \"blue-square\"],\r\n \"char\": \"4๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"five\": {\r\n \"keywords\": [\"5\", \"numbers\", \"blue-square\", \"prime\"],\r\n \"char\": \"5๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"six\": {\r\n \"keywords\": [\"6\", \"numbers\", \"blue-square\"],\r\n \"char\": \"6๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"seven\": {\r\n \"keywords\": [\"7\", \"numbers\", \"blue-square\", \"prime\"],\r\n \"char\": \"7๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight\": {\r\n \"keywords\": [\"8\", \"blue-square\", \"numbers\"],\r\n \"char\": \"8๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"nine\": {\r\n \"keywords\": [\"blue-square\", \"numbers\", \"9\"],\r\n \"char\": \"9๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"keycap_ten\": {\r\n \"keywords\": [\"numbers\", \"10\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"keycap_star\": {\r\n \"keywords\": [\"asterisk\"],\r\n \"char\": \"*โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"1234\": {\r\n \"keywords\": [\"numbers\", \"blue-square\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_forward\": {\r\n \"keywords\": [\"blue-square\", \"right\", \"direction\", \"play\"],\r\n \"char\": \"โถ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"double_vertical_bar\": {\r\n \"keywords\": [\"pause\", \"blue-square\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_right_pointing_triangle_with_double_vertical_bar\": {\r\n \"keywords\": [\"forward\", \"next\", \"blue-square\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_square_for_stop\": {\r\n \"keywords\": [\"blue-square\"],\r\n \"char\": \"โน\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_circle_for_record\": {\r\n \"keywords\": [\"blue-square\"],\r\n \"char\": \"โบ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_right_pointing_double_triangle_with_vertical_bar\": {\r\n \"keywords\": [\"blue-square\", \"play\", \"pause\"],\r\n \"char\": \"โฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_left_pointing_double_triangle_with_vertical_bar\": {\r\n \"keywords\": [\"backward\"],\r\n \"char\": \"โฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"fast_forward\": {\r\n \"keywords\": [\"blue-square\", \"play\", \"speed\", \"continue\"],\r\n \"char\": \"โฉ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"rewind\": {\r\n \"keywords\": [\"play\", \"blue-square\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"twisted_rightwards_arrows\": {\r\n \"keywords\": [\"blue-square\", \"shuffle\", \"music\", \"random\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"repeat\": {\r\n \"keywords\": [\"loop\", \"record\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"repeat_one\": {\r\n \"keywords\": [\"blue-square\", \"loop\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_backward\": {\r\n \"keywords\": [\"blue-square\", \"left\", \"direction\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up_small\": {\r\n \"keywords\": [\"blue-square\", \"triangle\", \"direction\", \"point\", \"forward\", \"top\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_down_small\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_double_up\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"top\"],\r\n \"char\": \"โซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_double_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_right\": {\r\n \"keywords\": [\"blue-square\", \"next\"],\r\n \"char\": \"โก๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_left\": {\r\n \"keywords\": [\"blue-square\", \"previous\", \"back\"],\r\n \"char\": \"โฌ
๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up\": {\r\n \"keywords\": [\"blue-square\", \"continue\", \"top\", \"direction\"],\r\n \"char\": \"โฌ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โฌ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_upper_right\": {\r\n \"keywords\": [\"blue-square\", \"point\", \"direction\", \"diagonal\", \"northeast\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_lower_right\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"diagonal\", \"southeast\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_lower_left\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"diagonal\", \"southwest\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_upper_left\": {\r\n \"keywords\": [\"blue-square\", \"point\", \"direction\", \"diagonal\", \"northwest\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"way\", \"vertical\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_right_arrow\": {\r\n \"keywords\": [\"shape\", \"direction\", \"horizontal\", \"sideways\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrows_counterclockwise\": {\r\n \"keywords\": [\"blue-square\", \"sync\", \"cycle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_right_hook\": {\r\n \"keywords\": [\"blue-square\", \"return\", \"rotate\", \"direction\"],\r\n \"char\": \"โช๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"leftwards_arrow_with_hook\": {\r\n \"keywords\": [\"back\", \"return\", \"blue-square\", \"undo\", \"enter\"],\r\n \"char\": \"โฉ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_heading_up\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"top\"],\r\n \"char\": \"โคด๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_heading_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โคต๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hash\": {\r\n \"keywords\": [\"symbol\", \"blue-square\", \"twitter\"],\r\n \"char\": \"#๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"information_source\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"โน๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"abc\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"symbols\"\r\n },\r\n \"abcd\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"capital_abcd\": {\r\n \"keywords\": [\"alphabet\", \"words\", \"blue-square\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"symbols\": {\r\n \"keywords\": [\"blue-square\", \"music\", \"note\", \"ampersand\", \"percent\", \"glyphs\", \"characters\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"musical_note\": {\r\n \"keywords\": [\"score\", \"tone\", \"sound\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"notes\": {\r\n \"keywords\": [\"music\", \"score\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wavy_dash\": {\r\n \"keywords\": [\"draw\", \"line\", \"moustache\", \"mustache\", \"squiggle\", \"scribble\"],\r\n \"char\": \"ใฐ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"curly_loop\": {\r\n \"keywords\": [\"scribble\", \"draw\", \"shape\", \"squiggle\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_check_mark\": {\r\n \"keywords\": [\"ok\", \"nike\", \"answer\", \"yes\", \"tick\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrows_clockwise\": {\r\n \"keywords\": [\"sync\", \"cycle\", \"round\", \"repeat\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_plus_sign\": {\r\n \"keywords\": [\"math\", \"calculation\", \"addition\", \"more\", \"increase\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_minus_sign\": {\r\n \"keywords\": [\"math\", \"calculation\", \"subtract\", \"less\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_division_sign\": {\r\n \"keywords\": [\"divide\", \"math\", \"calculation\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_multiplication_x\": {\r\n \"keywords\": [\"math\", \"calculation\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_dollar_sign\": {\r\n \"keywords\": [\"money\", \"sales\", \"payment\", \"currency\", \"buck\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"currency_exchange\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"travel\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"copyright\": {\r\n \"keywords\": [\"ip\", \"license\", \"circle\", \"law\", \"legal\"],\r\n \"char\": \"ยฉ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"registered\": {\r\n \"keywords\": [\"alphabet\", \"circle\"],\r\n \"char\": \"ยฎ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"tm\": {\r\n \"keywords\": [\"trademark\", \"brand\", \"law\", \"legal\"],\r\n \"char\": \"โข๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"end\": {\r\n \"keywords\": [\"words\", \"arrow\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"back\": {\r\n \"keywords\": [\"arrow\", \"words\", \"return\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"on\": {\r\n \"keywords\": [\"arrow\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"top\": {\r\n \"keywords\": [\"words\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"soon\": {\r\n \"keywords\": [\"arrow\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ballot_box_with_check\": {\r\n \"keywords\": [\"ok\", \"agree\", \"confirm\", \"black-square\", \"vote\", \"election\", \"yes\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"radio_button\": {\r\n \"keywords\": [\"input\", \"old\", \"music\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_circle\": {\r\n \"keywords\": [\"shape\", \"round\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_circle\": {\r\n \"keywords\": [\"shape\", \"button\", \"round\"],\r\n \"char\": \"โซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"red_circle\": {\r\n \"keywords\": [\"shape\", \"error\", \"danger\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_blue_circle\": {\r\n \"keywords\": [\"shape\", \"icon\", \"button\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_orange_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_blue_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_orange_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_blue_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_red_triangle\": {\r\n \"keywords\": [\"shape\", \"direction\", \"up\", \"top\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_small_square\": {\r\n \"keywords\": [\"shape\", \"icon\"],\r\n \"char\": \"โช๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_small_square\": {\r\n \"keywords\": [\"shape\", \"icon\"],\r\n \"char\": \"โซ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_large_square\": {\r\n \"keywords\": [\"shape\", \"icon\", \"button\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_large_square\": {\r\n \"keywords\": [\"shape\", \"icon\", \"stone\", \"button\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_red_triangle_down\": {\r\n \"keywords\": [\"shape\", \"direction\", \"bottom\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_medium_square\": {\r\n \"keywords\": [\"shape\", \"button\", \"icon\"],\r\n \"char\": \"โผ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_medium_square\": {\r\n \"keywords\": [\"shape\", \"stone\", \"icon\"],\r\n \"char\": \"โป๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_medium_small_square\": {\r\n \"keywords\": [\"icon\", \"shape\", \"button\"],\r\n \"char\": \"โพ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_medium_small_square\": {\r\n \"keywords\": [\"shape\", \"stone\", \"icon\", \"button\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_square_button\": {\r\n \"keywords\": [\"shape\", \"input\", \"frame\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_square_button\": {\r\n \"keywords\": [\"shape\", \"input\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"speaker\": {\r\n \"keywords\": [\"sound\", \"volume\", \"silence\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sound\": {\r\n \"keywords\": [\"volume\", \"speaker\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loud_sound\": {\r\n \"keywords\": [\"volume\", \"noise\", \"noisy\", \"speaker\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mute\": {\r\n \"keywords\": [\"sound\", \"volume\", \"silence\", \"quiet\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mega\": {\r\n \"keywords\": [\"sound\", \"speaker\", \"volume\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loudspeaker\": {\r\n \"keywords\": [\"volume\", \"sound\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"bell\": {\r\n \"keywords\": [\"sound\", \"notification\", \"christmas\", \"xmas\", \"chime\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_bell\": {\r\n \"keywords\": [\"sound\", \"volume\", \"mute\", \"quiet\", \"silent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_joker\": {\r\n \"keywords\": [\"poker\", \"cards\", \"game\", \"play\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mahjong\": {\r\n \"keywords\": [\"game\", \"play\", \"chinese\", \"kanji\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"spades\": {\r\n \"keywords\": [\"poker\", \"cards\", \"suits\", \"magic\"],\r\n \"char\": \"โ ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clubs\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฃ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hearts\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฅ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"diamonds\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฆ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"flower_playing_cards\": {\r\n \"keywords\": [\"game\", \"sunset\", \"red\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"thought_balloon\": {\r\n \"keywords\": [\"bubble\", \"cloud\", \"speech\", \"thinking\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"right_anger_bubble\": {\r\n \"keywords\": [\"caption\", \"speech\", \"thinking\", \"mad\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"speech_balloon\": {\r\n \"keywords\": [\"bubble\", \"words\", \"message\", \"talk\", \"chatting\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_speech_bubble\": {\r\n \"keywords\": [\"words\", \"message\", \"talk\", \"chatting\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock2\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock3\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock4\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock5\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock6\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\", \"dawn\", \"dusk\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock7\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock8\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock9\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock10\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock11\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock12\": {\r\n \"keywords\": [\"time\", \"noon\", \"midnight\", \"midday\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock130\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock230\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock330\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock430\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock530\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock630\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock730\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock830\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock930\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1030\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1130\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1230\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"symbols\"\r\n },\r\n \"af\": {\r\n \"keywords\": [\"afghanistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ax\": {\r\n \"keywords\": [\"ร
land\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"al\": {\r\n \"keywords\": [\"albania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dz\": {\r\n \"keywords\": [\"algeria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"as\": {\r\n \"keywords\": [\"american\", \"samoa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ad\": {\r\n \"keywords\": [\"andorra\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ao\": {\r\n \"keywords\": [\"angola\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ai\": {\r\n \"keywords\": [\"anguilla\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"aq\": {\r\n \"keywords\": [\"antarctica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ag\": {\r\n \"keywords\": [\"antigua\", \"barbuda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ar\": {\r\n \"keywords\": [\"argentina\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"am\": {\r\n \"keywords\": [\"armenia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"aw\": {\r\n \"keywords\": [\"aruba\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"au\": {\r\n \"keywords\": [\"australia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"at\": {\r\n \"keywords\": [\"austria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"az\": {\r\n \"keywords\": [\"azerbaijan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bs\": {\r\n \"keywords\": [\"bahamas\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bh\": {\r\n \"keywords\": [\"bahrain\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bd\": {\r\n \"keywords\": [\"bangladesh\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bb\": {\r\n \"keywords\": [\"barbados\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"by\": {\r\n \"keywords\": [\"belarus\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"be\": {\r\n \"keywords\": [\"belgium\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"bz\": {\r\n \"keywords\": [\"belize\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bj\": {\r\n \"keywords\": [\"benin\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bm\": {\r\n \"keywords\": [\"bermuda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bt\": {\r\n \"keywords\": [\"bhutan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"bo\": {\r\n \"keywords\": [\"bolivia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"bq\": {\r\n \"keywords\": [\"bonaire\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ba\": {\r\n \"keywords\": [\"bosnia\", \"herzegovina\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bw\": {\r\n \"keywords\": [\"botswana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"br\": {\r\n \"keywords\": [\"brazil\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"io\": {\r\n \"keywords\": [\"british\", \"indian\", \"ocean\", \"territory\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"vg\": {\r\n \"keywords\": [\"british\", \"virgin\", \"islands\", \"bvi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bn\": {\r\n \"keywords\": [\"brunei\", \"darussalam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bg\": {\r\n \"keywords\": [\"bulgaria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bf\": {\r\n \"keywords\": [\"burkina\", \"faso\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bi\": {\r\n \"keywords\": [\"burundi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cv\": {\r\n \"keywords\": [\"cabo\", \"verde\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"kh\": {\r\n \"keywords\": [\"cambodia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cm\": {\r\n \"keywords\": [\"cameroon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ca\": {\r\n \"keywords\": [\"canada\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ic\": {\r\n \"keywords\": [\"canary\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ky\": {\r\n \"keywords\": [\"cayman\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cf\": {\r\n \"keywords\": [\"central\", \"african\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"td\": {\r\n \"keywords\": [\"chad\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"chile\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cn\": {\r\n \"keywords\": [\"china\", \"chinese\", \"prc\", \"flag\", \"country\", \"nation\", \"banner\"],\r\n \"char\": \"๐จ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cx\": {\r\n \"keywords\": [\"christmas\", \"island\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cc\": {\r\n \"keywords\": [\"cocos\", \"keeling\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"co\": {\r\n \"keywords\": [\"colombia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"km\": {\r\n \"keywords\": [\"comoros\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cg\": {\r\n \"keywords\": [\"congo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"drc\": {\r\n \"keywords\": [\"congo\", \"democratic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ck\": {\r\n \"keywords\": [\"cook\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cr\": {\r\n \"keywords\": [\"costa\", \"rica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"hr\": {\r\n \"keywords\": [\"croatia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"cu\": {\r\n \"keywords\": [\"cuba\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cw\": {\r\n \"keywords\": [\"curaรงao\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cy\": {\r\n \"keywords\": [\"cyprus\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cz\": {\r\n \"keywords\": [\"czech_republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dk\": {\r\n \"keywords\": [\"denmark\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dj\": {\r\n \"keywords\": [\"djibouti\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dm\": {\r\n \"keywords\": [\"dominica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"do\": {\r\n \"keywords\": [\"dominican\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ec\": {\r\n \"keywords\": [\"ecuador\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"eg\": {\r\n \"keywords\": [\"egypt\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sv\": {\r\n \"keywords\": [\"el\", \"salvador\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"gq\": {\r\n \"keywords\": [\"equatorial\", \"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"er\": {\r\n \"keywords\": [\"eritrea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ee\": {\r\n \"keywords\": [\"estonia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"et\": {\r\n \"keywords\": [\"ethiopia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"eu\": {\r\n \"keywords\": [\"european\", \"union\", \"flag\", \"banner\"],\r\n \"char\": \"๐ช๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fk\": {\r\n \"keywords\": [\"falkland\", \"islands\", \"malvinas\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fo\": {\r\n \"keywords\": [\"faroe\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"fj\": {\r\n \"keywords\": [\"fiji\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fi\": {\r\n \"keywords\": [\"finland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fr\": {\r\n \"keywords\": [\"banner\", \"flag\", \"nation\", \"france\", \"french\", \"country\"],\r\n \"char\": \"๐ซ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"gf\": {\r\n \"keywords\": [\"french\", \"guiana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pf\": {\r\n \"keywords\": [\"french\", \"polynesia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tf\": {\r\n \"keywords\": [\"french\", \"southern\", \"territories\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ga\": {\r\n \"keywords\": [\"gabon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gm\": {\r\n \"keywords\": [\"gambia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ge\": {\r\n \"keywords\": [\"georgia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"de\": {\r\n \"keywords\": [\"german\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"gh\": {\r\n \"keywords\": [\"ghana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gi\": {\r\n \"keywords\": [\"gibraltar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gr\": {\r\n \"keywords\": [\"greece\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"gl\": {\r\n \"keywords\": [\"greenland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gd\": {\r\n \"keywords\": [\"grenada\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gp\": {\r\n \"keywords\": [\"guadeloupe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"gu\": {\r\n \"keywords\": [\"guam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gt\": {\r\n \"keywords\": [\"guatemala\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"gg\": {\r\n \"keywords\": [\"guernsey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gn\": {\r\n \"keywords\": [\"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gw\": {\r\n \"keywords\": [\"guinea\", \"bissau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gy\": {\r\n \"keywords\": [\"guyana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ht\": {\r\n \"keywords\": [\"haiti\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"hn\": {\r\n \"keywords\": [\"honduras\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"hk\": {\r\n \"keywords\": [\"hong\", \"kong\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"hu\": {\r\n \"keywords\": [\"hungary\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"is\": {\r\n \"keywords\": [\"iceland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"in\": {\r\n \"keywords\": [\"india\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"indonesia\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ir\": {\r\n \"keywords\": [\"iran,\", \"islamic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"iq\": {\r\n \"keywords\": [\"iraq\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ie\": {\r\n \"keywords\": [\"ireland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"im\": {\r\n \"keywords\": [\"isle\", \"man\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"il\": {\r\n \"keywords\": [\"israel\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"it\": {\r\n \"keywords\": [\"italy\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"ci\": {\r\n \"keywords\": [\"ivory\", \"coast\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"jm\": {\r\n \"keywords\": [\"jamaica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"jp\": {\r\n \"keywords\": [\"japanese\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"je\": {\r\n \"keywords\": [\"jersey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"jo\": {\r\n \"keywords\": [\"jordan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"kz\": {\r\n \"keywords\": [\"kazakhstan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ke\": {\r\n \"keywords\": [\"kenya\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ki\": {\r\n \"keywords\": [\"kiribati\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"xk\": {\r\n \"keywords\": [\"kosovo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฝ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kw\": {\r\n \"keywords\": [\"kuwait\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kg\": {\r\n \"keywords\": [\"kyrgyzstan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"la\": {\r\n \"keywords\": [\"lao\", \"democratic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lv\": {\r\n \"keywords\": [\"latvia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"lb\": {\r\n \"keywords\": [\"lebanon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"ls\": {\r\n \"keywords\": [\"lesotho\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lr\": {\r\n \"keywords\": [\"liberia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ly\": {\r\n \"keywords\": [\"libya\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"li\": {\r\n \"keywords\": [\"liechtenstein\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lt\": {\r\n \"keywords\": [\"lithuania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"lu\": {\r\n \"keywords\": [\"luxembourg\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mo\": {\r\n \"keywords\": [\"macao\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"mk\": {\r\n \"keywords\": [\"macedonia,\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mg\": {\r\n \"keywords\": [\"madagascar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mw\": {\r\n \"keywords\": [\"malawi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"my\": {\r\n \"keywords\": [\"malaysia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mv\": {\r\n \"keywords\": [\"maldives\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"ml\": {\r\n \"keywords\": [\"mali\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mt\": {\r\n \"keywords\": [\"malta\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"mh\": {\r\n \"keywords\": [\"marshall\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mq\": {\r\n \"keywords\": [\"martinique\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mr\": {\r\n \"keywords\": [\"mauritania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"mu\": {\r\n \"keywords\": [\"mauritius\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"yt\": {\r\n \"keywords\": [\"mayotte\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐พ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"mx\": {\r\n \"keywords\": [\"mexico\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fm\": {\r\n \"keywords\": [\"micronesia,\", \"federated\", \"states\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"md\": {\r\n \"keywords\": [\"moldova,\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mc\": {\r\n \"keywords\": [\"monaco\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mn\": {\r\n \"keywords\": [\"mongolia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"me\": {\r\n \"keywords\": [\"montenegro\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ms\": {\r\n \"keywords\": [\"montserrat\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ma\": {\r\n \"keywords\": [\"morocco\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mz\": {\r\n \"keywords\": [\"mozambique\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mm\": {\r\n \"keywords\": [\"myanmar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"na\": {\r\n \"keywords\": [\"namibia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nr\": {\r\n \"keywords\": [\"nauru\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"np\": {\r\n \"keywords\": [\"nepal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"nl\": {\r\n \"keywords\": [\"netherlands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nc\": {\r\n \"keywords\": [\"new\", \"caledonia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nz\": {\r\n \"keywords\": [\"new\", \"zealand\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ni\": {\r\n \"keywords\": [\"nicaragua\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ne\": {\r\n \"keywords\": [\"niger\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"nigeria\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nu\": {\r\n \"keywords\": [\"niue\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nf\": {\r\n \"keywords\": [\"norfolk\", \"island\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mp\": {\r\n \"keywords\": [\"northern\", \"mariana\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"kp\": {\r\n \"keywords\": [\"north\", \"korea\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"no\": {\r\n \"keywords\": [\"norway\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"om\": {\r\n \"keywords\": [\"oman\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ด๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pk\": {\r\n \"keywords\": [\"pakistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pw\": {\r\n \"keywords\": [\"palau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ps\": {\r\n \"keywords\": [\"palestine\", \"palestinian\", \"territories\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pa\": {\r\n \"keywords\": [\"panama\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pg\": {\r\n \"keywords\": [\"papua\", \"new\", \"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"py\": {\r\n \"keywords\": [\"paraguay\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pe\": {\r\n \"keywords\": [\"peru\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ph\": {\r\n \"keywords\": [\"philippines\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pn\": {\r\n \"keywords\": [\"pitcairn\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pl\": {\r\n \"keywords\": [\"poland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pt\": {\r\n \"keywords\": [\"portugal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"pr\": {\r\n \"keywords\": [\"puerto\", \"rico\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"qa\": {\r\n \"keywords\": [\"qatar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ถ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"re\": {\r\n \"keywords\": [\"rรฉunion\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ro\": {\r\n \"keywords\": [\"romania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ru\": {\r\n \"keywords\": [\"russian\", \"federation\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"rw\": {\r\n \"keywords\": [\"rwanda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bl\": {\r\n \"keywords\": [\"saint\", \"barthรฉlemy\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sh\": {\r\n \"keywords\": [\"saint\", \"helena\", \"ascension\", \"tristan\", \"cunha\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kn\": {\r\n \"keywords\": [\"saint\", \"kitts\", \"nevis\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lc\": {\r\n \"keywords\": [\"saint\", \"lucia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pm\": {\r\n \"keywords\": [\"saint\", \"pierre\", \"miquelon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vc\": {\r\n \"keywords\": [\"saint\", \"vincent\", \"grenadines\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ws\": {\r\n \"keywords\": [\"samoa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ผ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sm\": {\r\n \"keywords\": [\"san\", \"marino\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"st\": {\r\n \"keywords\": [\"sao\", \"tome\", \"principe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"saudi_arabia\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sn\": {\r\n \"keywords\": [\"senegal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"rs\": {\r\n \"keywords\": [\"serbia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sc\": {\r\n \"keywords\": [\"seychelles\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sl\": {\r\n \"keywords\": [\"sierra\", \"leone\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sg\": {\r\n \"keywords\": [\"singapore\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sx\": {\r\n \"keywords\": [\"sint\", \"maarten\", \"dutch\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sk\": {\r\n \"keywords\": [\"slovakia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"si\": {\r\n \"keywords\": [\"slovenia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sb\": {\r\n \"keywords\": [\"solomon\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"so\": {\r\n \"keywords\": [\"somalia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"za\": {\r\n \"keywords\": [\"south\", \"africa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gs\": {\r\n \"keywords\": [\"south\", \"georgia\", \"sandwich\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kr\": {\r\n \"keywords\": [\"south\", \"korea\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ss\": {\r\n \"keywords\": [\"south\", \"sudan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"es\": {\r\n \"keywords\": [\"spain\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lk\": {\r\n \"keywords\": [\"sri\", \"lanka\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sd\": {\r\n \"keywords\": [\"sudan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sr\": {\r\n \"keywords\": [\"suriname\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"sz\": {\r\n \"keywords\": [\"swaziland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"se\": {\r\n \"keywords\": [\"sweden\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ch\": {\r\n \"keywords\": [\"switzerland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sy\": {\r\n \"keywords\": [\"syrian\", \"arab\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tw\": {\r\n \"keywords\": [\"taiwan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tj\": {\r\n \"keywords\": [\"tajikistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tz\": {\r\n \"keywords\": [\"tanzania,\", \"united\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"th\": {\r\n \"keywords\": [\"thailand\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tl\": {\r\n \"keywords\": [\"timor\", \"leste\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tg\": {\r\n \"keywords\": [\"togo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tk\": {\r\n \"keywords\": [\"tokelau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"to\": {\r\n \"keywords\": [\"tonga\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"tt\": {\r\n \"keywords\": [\"trinidad\", \"tobago\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"tn\": {\r\n \"keywords\": [\"tunisia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tr\": {\r\n \"keywords\": [\"turkey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"turkmenistan\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tc\": {\r\n \"keywords\": [\"turks\", \"caicos\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tuvalu\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"ug\": {\r\n \"keywords\": [\"uganda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ua\": {\r\n \"keywords\": [\"ukraine\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ae\": {\r\n \"keywords\": [\"united\", \"arab\", \"emirates\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"gb\": {\r\n \"keywords\": [\"united\", \"kingdom\", \"great\", \"britain\", \"northern\", \"ireland\", \"flag\", \"nation\", \"country\", \"banner\", \"british\", \"UK\", \"english\", \"england\", \"union jack\"],\r\n \"char\": \"๐ฌ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"us\": {\r\n \"keywords\": [\"united\", \"states\", \"america\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vi\": {\r\n \"keywords\": [\"virgin\", \"islands\", \"us\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"uy\": {\r\n \"keywords\": [\"uruguay\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"uz\": {\r\n \"keywords\": [\"uzbekistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vu\": {\r\n \"keywords\": [\"vanuatu\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"va\": {\r\n \"keywords\": [\"vatican\", \"city\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ve\": {\r\n \"keywords\": [\"venezuela\", \"bolivarian\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"vn\": {\r\n \"keywords\": [\"viet\", \"nam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"wf\": {\r\n \"keywords\": [\"wallis\", \"futuna\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ผ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"eh\": {\r\n \"keywords\": [\"western\", \"sahara\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ye\": {\r\n \"keywords\": [\"yemen\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐พ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"zm\": {\r\n \"keywords\": [\"zambia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"zw\": {\r\n \"keywords\": [\"zimbabwe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"octocat\": {\r\n \"keywords\": [\"animal\", \"octopus\", \"github\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"shipit\": {\r\n \"keywords\": [\"squirrel\", \"detective\", \"animal\", \"sherlock\", \"inspector\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"bowtie\": {\r\n \"keywords\": [\"face\", \"formal\", \"fashion\", \"suit\", \"classy\", \"magic\", \"circus\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"neckbeard\": {\r\n \"keywords\": [\"nerdy\", \"face\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"metal\": {\r\n \"keywords\": [\"fingers\", \"rocknroll\", \"concert\", \"band\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"fu\": {\r\n \"keywords\": [\"fuck\", \"finger\", \"dislike\", \"thumbsdown\", \"disapprove\", \"no\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"trollface\": {\r\n \"keywords\": [\"internet\", \"meme\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"godmode\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"goberserk\": {\r\n \"keywords\": [\"doom\", \"rage\", \"bloody\", \"hurt\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"finnadie\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"feelsgood\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage1\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage2\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage3\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage4\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"suspect\": {\r\n \"keywords\": [\"mad\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"hurtrealbad\": {\r\n \"keywords\": [\"mad\", \"injured\", \"doom\", \"oldschool\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n }\r\n}","declare var twemoji: {\r\n parse(str: string, options?: { folder: string, ext: string }): string;\r\n}\r\n\r\nimport { Component, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Subject } from 'rxjs';\r\n\r\ninterface Emoji {\r\n\tkeywords : string[];\r\n\tchar : string;\r\n\thtml? : SafeHtml;\r\n\tcategory : string;\r\n}\r\n\r\nimport { EMOJIS } from '../emojis';\r\n\r\n@Component({\r\n\tselector: 'emoji-selector-panel',\r\n\ttemplateUrl: './emoji-selector-panel.component.html',\r\n\tstyleUrls: ['./emoji-selector-panel.component.scss']\r\n})\r\nexport class EmojiSelectorPanelComponent implements OnInit {\r\n\r\n\tconstructor(\r\n\t\tprivate sanitizer : DomSanitizer\r\n\t) { }\r\n\r\n\tcategories : any[];\r\n\tactiveCategory : string = 'people';\r\n\r\n\t@Output()\r\n\tprivate selected : Subject<string> = new Subject();\r\n\r\n\tselect(char : string) {\r\n\t\tthis.selected.next(char);\r\n\t}\r\n\r\n\tpairs(object) {\r\n\t\treturn Object.keys(object).map(key => [key, object[key]]);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\r\n\t\tlet cats = {};\r\n\t\tlet categoryIcons = {\r\n\t\t\tsymbols: 'warning',\r\n\t\t\tpeople: 'people',\r\n\t\t\tanimals_and_nature: 'nature',\r\n\t\t\ttravel_and_places: 'location_on',\r\n\t\t\tactivity: 'local_activity',\r\n\t\t\tfood_and_drink: 'restaurant',\r\n\t\t\tobjects: 'computer',\r\n\t\t\tflags: 'flag'\r\n\t\t};\r\n\t\tfor (let pair of this.pairs(EMOJIS)) {\r\n\t\t\tlet name = pair[0];\r\n\t\t\tlet emoji : Emoji = pair[1];\r\n\r\n\t\t\tif (!cats[emoji.category]) {\r\n\t\t\t\tcats[emoji.category] = {\r\n\t\t\t\t\tname: emoji.category,\r\n\t\t\t\t\ticon: categoryIcons[emoji.category] || 'code',\r\n\t\t\t\t\temojis: []\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\temoji.html = this.sanitizer.bypassSecurityTrustHtml(twemoji.parse(emoji.char || ''));\r\n\r\n\t\t\tcats[emoji.category].emojis.push(emoji);\r\n\t\t}\r\n\r\n\t\tthis.categories = this.pairs(cats).map(pair => pair[1]);\r\n\t}\r\n\r\n}\r\n","import { Component, Output } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'emoji-selector-button',\r\n template: `\r\n <button mat-icon-button (click)=\"show()\">\r\n <mat-icon>emoji_emotions</mat-icon>\r\n </button>\r\n <emoji-selector-panel \r\n (selected)=\"insert($event)\"\r\n [class.visible]=\"showEmojiPanel\"\r\n ></emoji-selector-panel>\r\n `,\r\n styles: [`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n\r\n emoji-selector-panel {\r\n position: absolute;\r\n bottom: 2.5em;\r\n right: 0;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 10;\r\n }\r\n\r\n emoji-selector-panel.visible {\r\n pointer-events: initial;\r\n opacity: 1;\r\n }\r\n\r\n button {\r\n color: #666\r\n }\r\n\r\n :host.bottom-left emoji-selector-panel {\r\n right: auto;\r\n left: 0;\r\n }\r\n\r\n :host.top-right emoji-selector-panel {\r\n top: 2.4em;\r\n bottom: auto;\r\n }\r\n\r\n :host.top-left emoji-selector-panel {\r\n top: 2.4em;\r\n bottom: auto;\r\n left: 0;\r\n right: auto;\r\n }\r\n `]\r\n})\r\nexport class EmojiSelectorButtonComponent {\r\n\r\n private _selected = new Subject<string>();\r\n\r\n @Output()\r\n get selected() : Observable<string> {\r\n return this._selected;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.removeListener();\r\n }\r\n\r\n private removeListener() {\r\n document.removeEventListener('click', this.clickListener);\r\n }\r\n\r\n show() {\r\n if (this.showEmojiPanel) {\r\n this.showEmojiPanel = false;\r\n return;\r\n }\r\n\r\n this.showEmojiPanel = true;\r\n\r\n setTimeout(() => {\r\n this.clickListener = (ev : MouseEvent) => {\r\n\r\n let parent = <HTMLElement> ev.target;\r\n let isInDialog = false;\r\n \r\n while (parent) {\r\n if (parent.matches('emoji-selector-panel'))\r\n isInDialog = true;\r\n\r\n parent = parent.parentElement;\r\n }\r\n\r\n if (isInDialog)\r\n return;\r\n\r\n this.showEmojiPanel = false;\r\n this.removeListener();\r\n };\r\n \r\n document.addEventListener('click', this.clickListener);\r\n });\r\n }\r\n\r\n private clickListener : any;\r\n\r\n showEmojiPanel = false;\r\n\r\n insert(str) {\r\n this._selected.next(str);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { EmojiSelectorPanelComponent } from './emoji-selector-panel/emoji-selector-panel.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EmojiSelectorButtonComponent } from './emoji-selector-button.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nconst COMPONENTS = [\r\n EmojiSelectorPanelComponent,\r\n EmojiSelectorButtonComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatButtonModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class EmojiModule {\r\n\r\n}","import { Component, Input, Output } from \"@angular/core\";\r\nimport { User, ChatMessage } from '@banta/common';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent {\r\n private _selected = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _upvoted = new Subject<void>();\r\n private _userSelected = new Subject<User>();\r\n\r\n @Input()\r\n message : ChatMessage;\r\n \r\n @Output() \r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n \r\n selectUser() {\r\n this._userSelected.next();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { ChatBackend, Notification, ChatSource, ChatMessage } from '@banta/common';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport abstract class ChatBackendService implements ChatBackend {\r\n abstract getSourceForTopic(topicId : string) : Promise<ChatSource>;\r\n abstract getSourceForThread(topicId : string, messageId : string) : Promise<ChatSource>;\r\n abstract refreshMessage(message : ChatMessage): Promise<ChatMessage>;\r\n abstract getMessage(topicId : string, messageId : string): Promise<ChatMessage>;\r\n abstract getSubMessage(topicId : string, parentMessageId : string, messageId : string): Promise<ChatMessage>;\r\n abstract upvoteMessage(topicId : string, messageId : string, submessageId? : string): Promise<void>;\r\n abstract watchMessage(message : ChatMessage, handler : (message : ChatMessage) => void) : () => void;\r\n \r\n abstract get notificationsChanged() : Observable<Notification[]>;\r\n abstract get newNotification() : Observable<Notification>;\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ChatBackendService } from '../chat-backend.service';\r\n\r\n@Component({\r\n selector: 'engage-live-chat-message',\r\n template: `\r\n <engage-chat-message \r\n *ngIf=\"message\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote()\"\r\n (reported)=\"report()\"\r\n (selected)=\"select()\"\r\n ></engage-chat-message>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveChatMessageComponent {\r\n constructor(\r\n private backend : ChatBackendService\r\n ) {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n @Output()\r\n get upvoted() : Observable<void> {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() : Observable<void> {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() : Observable<void> {\r\n return this._selected;\r\n }\r\n \r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n private unsubscribe : Function;\r\n\r\n set message(value) {\r\n let originalId = null;\r\n if (this._message)\r\n originalId = this._message.id;\r\n \r\n this._message = value;\r\n\r\n if (value && originalId === value.id) {\r\n return;\r\n }\r\n\r\n if (this.unsubscribe)\r\n this.unsubscribe();\r\n \r\n if (value) {\r\n this.unsubscribe = this.backend.watchMessage(value, message => this.message = message);\r\n }\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n}","import { Component, Input, ViewChild, ElementRef, Output } from \"@angular/core\";\r\nimport { ChatSource, User, ChatMessage } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-chat-view',\r\n templateUrl: './chat-view.component.html',\r\n styleUrls: ['./chat-view.component.scss']\r\n})\r\nexport class ChatViewComponent {\r\n constructor(\r\n private elementRef : ElementRef<HTMLElement>\r\n ) {\r\n\r\n }\r\n\r\n private _sourceSubs = new SubSink();\r\n private _source : ChatSource;\r\n\r\n @Input()\r\n get source() {\r\n return this._source;\r\n }\r\n\r\n private _selected = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n set source(value) {\r\n if (this._sourceSubs) {\r\n this._sourceSubs.unsubscribe();\r\n this._sourceSubs = null;\r\n }\r\n\r\n this._source = value;\r\n\r\n this.messages = [];\r\n\r\n if (value) {\r\n this._sourceSubs = new SubSink();\r\n this.messages = value.messages.slice();\r\n\r\n console.log(`Source set:`);\r\n console.dir(value);\r\n\r\n console.log(`Messages loaded:`);\r\n console.dir(this.messages); \r\n \r\n this._sourceSubs.add(\r\n this._source.messageReceived\r\n .subscribe(msg => this.messageReceived(msg)),\r\n this._source.messageSent\r\n .subscribe(msg => this.messageSent(msg))\r\n );\r\n\r\n \r\n if (this._source.currentUserChanged) {\r\n this._sourceSubs.add(\r\n this._source.currentUserChanged\r\n .subscribe(user => this.currentUser = user)\r\n );\r\n }\r\n }\r\n }\r\n\r\n messages : ChatMessage[] = [];\r\n currentUser : User;\r\n\r\n @ViewChild('messageContainer')\r\n messageContainer : ElementRef<HTMLElement>;\r\n\r\n @Input()\r\n maxMessages : number = 200;\r\n\r\n private addMessage(message : ChatMessage) {\r\n if (this.messages.length > this.maxMessages + 1) {\r\n while (this.messages.length > this.maxMessages)\r\n this.messages.shift();\r\n }\r\n\r\n this.messages.push(message);\r\n }\r\n\r\n private messageReceived(message : ChatMessage) {\r\n this.addMessage(message);\r\n\r\n if (this.isScrolledToLatest())\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n isScrolledToLatest() {\r\n if (!this.messageContainer)\r\n return false;\r\n\r\n let el = this.messageContainer.nativeElement;\r\n let currentScroll = el.scrollTop;\r\n let currentTotal = el.scrollHeight - el.offsetHeight;\r\n \r\n return currentScroll > currentTotal - 10;\r\n }\r\n\r\n private messageSent(message : ChatMessage) {\r\n this.addMessage(message);\r\n \r\n if (!this.messageContainer)\r\n return;\r\n\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n scrollToLatest() {\r\n if (!this.messageContainer)\r\n return;\r\n \r\n let el = this.messageContainer.nativeElement;\r\n el.scrollTop = el.scrollHeight;\r\n }\r\n\r\n jumpTo(message : ChatMessage) {\r\n let element = this.elementRef.nativeElement;\r\n let messageElement = element.querySelector(`engage-chat-message[data-id=\"${message.id}\"]`)\r\n\r\n if (!messageElement) {\r\n alert(`could not find message ${message.id}`);\r\n return;\r\n }\r\n\r\n messageElement.scrollIntoView({ behavior: 'smooth' });\r\n\r\n this.flashMessage(message);\r\n }\r\n\r\n flashMessage(message : ChatMessage) {\r\n if (!message)\r\n return;\r\n \r\n this.flashedMessageId = message.id;\r\n //setTimeout(() => this.flashedMessageId = null, 250);\r\n }\r\n\r\n flashedMessageId : string;\r\n\r\n\r\n mentionsMe(message : ChatMessage) {\r\n if (!this.currentUser)\r\n return false;\r\n\r\n if (message.message.includes(`@${this.currentUser.username}`))\r\n return true;\r\n \r\n return false;\r\n }\r\n \r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n\r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n\r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n}","import { Component, Input, Output, ElementRef, ViewChild } from \"@angular/core\";\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nimport { User, ChatSource, ChatMessage, NewMessageForm } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { ChatViewComponent } from '../chat-view/chat-view.component';\r\nimport { BantaService } from '../../common';\r\nimport { ChatBackendService } from \"../../chat-backend.service\";\r\n\r\n@Component({\r\n selector: 'engage-firehose',\r\n templateUrl: './firehose-chat.component.html',\r\n styleUrls: ['./firehose-chat.component.scss']\r\n})\r\nexport class FirehoseChatComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService,\r\n private elementRef : ElementRef<HTMLElement>\r\n ) {\r\n }\r\n\r\n private _source : ChatSource;\r\n private _subs = new SubSink();\r\n user : User = null;\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.user = user)\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n @Input()\r\n get source() : ChatSource {\r\n return this._source;\r\n }\r\n\r\n set source(value) {\r\n this._source = value;\r\n }\r\n \r\n private _selected = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n\r\n showEmojiPanel = false;\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n insertEmoji(emoji) {\r\n let message = this.newMessage.message || '';\r\n\r\n this.newMessage.message = message + emoji;\r\n }\r\n\r\n onKeyDown(event : KeyboardEvent) {\r\n // TODO\r\n }\r\n\r\n @ViewChild('chatView', { static: true })\r\n chatView : ChatViewComponent;\r\n\r\n jumpToMessage(message : ChatMessage) {\r\n if (this.chatView)\r\n this.chatView.jumpTo(message);\r\n }\r\n\r\n select(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n \r\n report(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n \r\n upvote(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n newMessage : NewMessageForm = {};\r\n\r\n sendMessage() {\r\n if (!this.source)\r\n return;\r\n\r\n let text = (this.newMessage.message || '').trim();\r\n this.newMessage.message = '';\r\n\r\n if (text === '')\r\n return;\r\n\r\n let message : ChatMessage = { \r\n user: null,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n this.source.send(message);\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { ChatMessageComponent } from './chat-message/chat-message.component';\r\nimport { ChatViewComponent } from './chat-view/chat-view.component';\r\nimport { FirehoseChatComponent } from './firehose-chat/firehose-chat.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EmojiModule } from '../emoji';\r\nimport { LiveChatMessageComponent } from './live-chat-message.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nconst COMPONENTS = [\r\n ChatMessageComponent,\r\n LiveChatMessageComponent,\r\n ChatViewComponent,\r\n FirehoseChatComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n EmojiModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class ChatModule {\r\n}","import { Component, Input, ViewChild, ElementRef, HostBinding } from \"@angular/core\";\r\nimport { NewMessageForm, ChatMessage, User, ChatSource, Notification } from '@banta/common';\r\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\r\nimport { SubSink } from 'subsink';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FirehoseChatComponent } from '../chat';\r\nimport { BantaService } from '../common';\r\nimport { ChatBackendService } from \"../chat-backend.service\";\r\nimport { Output } from \"@angular/core\";\r\n\r\nconst GENERIC_AVATAR_URL = 'https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png';\r\n\r\nconst MOCK_USERS = [\r\n { \r\n id: 'a',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Tom`, \r\n username: `tom` \r\n }, { \r\n id: 'b',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Dick`, \r\n username: `dick` \r\n }, { \r\n id: 'c',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Harry`, \r\n username: `harry` \r\n }, { \r\n id: 'd',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `John`, \r\n username: `john` \r\n }, { \r\n id: 'e',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Wayne`, \r\n username: `wayne` \r\n }, { \r\n id: 'f',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Heather`, \r\n username: `heather` \r\n }, { \r\n id: 'g',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Mary`, \r\n username: `mary` \r\n }, { \r\n id: 'h',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jennifer`, \r\n username: `jennifer` \r\n }, { \r\n id: 'i',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Kyle`, \r\n username: `kyle` \r\n }, { \r\n id: 'j',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Wanda`, \r\n username: `wanda` \r\n }, { \r\n id: 'k',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Josh`, \r\n username: `josh` \r\n }, { \r\n id: 'l',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jane`, \r\n username: `jane` \r\n }, { \r\n id: 'm',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Joy`, \r\n username: `joy` \r\n }, { \r\n id: 'n',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jesus`, \r\n username: `jesus` \r\n }, { \r\n id: 'o',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `I bathe in Bernie's tears of joy`, \r\n username: `landem` \r\n }, { \r\n id: 'p',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `The thing about socialism is that its the best`, \r\n username: `mangahead` \r\n }, { \r\n id: 'q',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `If only I knew the first thing about this stuff`, \r\n username: `redstripe` \r\n }, { \r\n id: 'r',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Time is not something that should be treated unfairly`, \r\n username: `fantom` \r\n }, { \r\n id: 's',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `What is the meaning of this capitalism?`, \r\n username: `ganjaking` \r\n }, { \r\n id: 't',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `The world is not ready for us`, \r\n username: `leggo` \r\n }, { \r\n id: 'u',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Make or break, now is our time`, \r\n username: `mako` \r\n }\r\n];\r\n\r\nexport class MockFirehoseSource implements ChatSource {\r\n constructor() {\r\n let randomMessages = [\r\n `Whoa!`,\r\n `Cool!`,\r\n `Nifty!`,\r\n `Sweet!`,\r\n `@liam, awesome!`,\r\n `Crazy!`,\r\n `Wunderbar!`,\r\n `Lasagna!`,\r\n `Tacos!`,\r\n `@liam, Life is a box of chocolates, you never know which one... oh fuck it`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`,\r\n `The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such.`\r\n ];\r\n\r\n setInterval(() => {\r\n let messageText = randomMessages[Math.floor(randomMessages.length * Math.random())];\r\n let user = MOCK_USERS[Math.floor(MOCK_USERS.length * Math.random())];\r\n\r\n let message : ChatMessage = {\r\n user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: messageText,\r\n submessages: []\r\n }\r\n\r\n this.addMessage(message);\r\n this.messageReceived.next(message);\r\n }, 1000);\r\n\r\n this._currentUserChanged.next(this.currentUser);\r\n }\r\n\r\n close() {\r\n // TODO\r\n }\r\n\r\n currentUser : User = {\r\n id: 'z',\r\n username: 'liam',\r\n displayName: 'Liam',\r\n avatarUrl: GENERIC_AVATAR_URL\r\n };\r\n\r\n private addMessage(message : ChatMessage) {\r\n this._messages.push(message);\r\n }\r\n\r\n send(message : ChatMessage) {\r\n this.addMessage(message);\r\n this._messageSent.next(message);\r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _currentUserChanged = new BehaviorSubject<User>(null);\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n \r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n}\r\n\r\nexport class MockPointSource implements ChatSource {\r\n constructor() {\r\n let randomPoints = [\r\n `I think that Trump has a specific form of braindead called\r\n \"Trumpitis\".`,\r\n `Other things that could be said will be said`,\r\n `If only things were as simple as they appear`,\r\n `Life is a box of chocolates, you never know which one... oh fuck it`,\r\n `More things that are done tomorrow may not be done today`,\r\n `Google is a useful tool to find things`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`\r\n ];\r\n\r\n setInterval(() => {\r\n let messageText = randomPoints[Math.floor(randomPoints.length * Math.random())];\r\n let user = MOCK_USERS[Math.floor(MOCK_USERS.length * Math.random())];\r\n\r\n let message : ChatMessage = {\r\n user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: messageText,\r\n submessages: [\r\n {\r\n user: this.currentUser,\r\n message: `Good point!`,\r\n sentAt: Date.now(),\r\n upvotes: 0\r\n },\r\n {\r\n user: { \r\n id: 'aa',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: 'FunnilyGuy', \r\n username: 'funnyguy' \r\n },\r\n sentAt: Date.now(),\r\n message: `What would this mean for Buttigieg?`,\r\n upvotes: 0\r\n },\r\n {\r\n user,\r\n sentAt: Date.now(),\r\n message: `Klobucharino`,\r\n upvotes: 0\r\n },\r\n {\r\n user: this.currentUser,\r\n sentAt: Date.now(),\r\n message: `Good question!`,\r\n upvotes: 0\r\n },\r\n {\r\n user,\r\n sentAt: Date.now(),\r\n message: `But whyigieg`,\r\n upvotes: 0\r\n }\r\n ]\r\n }\r\n\r\n this.addMessage(message);\r\n this.messageReceived.next(message);\r\n }, 5000);\r\n\r\n this._currentUserChanged.next(this.currentUser);\r\n }\r\n\r\n currentUser : User = {\r\n id: 'z',\r\n username: 'liam',\r\n displayName: 'Liam',\r\n avatarUrl: GENERIC_AVATAR_URL\r\n };\r\n\r\n private addMessage(message : ChatMessage) {\r\n this._messages.push(message); \r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _currentUserChanged = new BehaviorSubject<User>(null);\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n \r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n\r\n send(message : ChatMessage) {\r\n this.addMessage(message);\r\n this._messageSent.next(message);\r\n }\r\n}\r\n\r\nexport class MockSubpointSource implements ChatSource {\r\n constructor(\r\n readonly parentSource : ChatSource,\r\n readonly message : ChatMessage\r\n ) {\r\n this._currentUserChanged = parentSource.currentUserChanged;\r\n this._messages = message.submessages;\r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n private _currentUserChanged: Observable<User>;\r\n\r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n send(message: ChatMessage) {\r\n //throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n\r\n}\r\n\r\n@Component({\r\n selector: `engage-chat`,\r\n templateUrl: './engage.component.html',\r\n styleUrls: [ './engage.component.scss' ]\r\n})\r\nexport class EngageComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService,\r\n private matDialog : MatDialog\r\n ) {\r\n // this.firehoseSource = new MockFirehoseSource();\r\n // this.pointSource = new MockPointSource();\r\n }\r\n\r\n firehoseSource : ChatSource;\r\n pointSource : ChatSource;\r\n\r\n private _topicID : string;\r\n private _subs = new SubSink();\r\n\r\n auxOpen = false;\r\n auxTitle = 'Notifications';\r\n auxMode = 'notifications';\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.currentUser = user),\r\n this.backend.notificationsChanged.subscribe(notifs => this.notifications = notifs),\r\n this.backend.newNotification.subscribe(notif => {\r\n this.newNotifications = true;\r\n })\r\n );\r\n }\r\n\r\n newPointSubMessageKeyDown(event : KeyboardEvent) {\r\n // TODO\r\n }\r\n \r\n mobileFocus : string = null;\r\n\r\n async sendPointSubMessage() {\r\n let text = (this.newPointSubMessage.message || '').trim();\r\n this.newPointSubMessage.message = '';\r\n\r\n if (text === '')\r\n return;\r\n \r\n let message : ChatMessage = {\r\n user: null,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n try {\r\n await this.pointSubChat.send(message);\r\n } catch (e) {\r\n console.error(`Failed to send point sub-message:`);\r\n console.error(e);\r\n }\r\n }\r\n\r\n @ViewChild('firehose', { static: true })\r\n firehose : FirehoseChatComponent;\r\n\r\n async goToMessage(message : ChatMessage) {\r\n\r\n let targetMessage = message;\r\n\r\n if (message.parentMessageId) {\r\n // jump to the parent message thread...\r\n\r\n let parentMessage = await this.backend.getMessage(message.topicId, message.parentMessageId);\r\n\r\n if (!parentMessage) {\r\n console.error(`Failed to look up parent message ${message.topicId}/${message.parentMessageId}`);\r\n console.error(`Original message was:`);\r\n console.dir(targetMessage);\r\n return;\r\n }\r\n\r\n message = parentMessage;\r\n }\r\n\r\n let viewType = this.getViewType(message);\r\n\r\n if (viewType === 'comment') {\r\n if (this.pointSubChat) {\r\n if (this.pointSubChat.close)\r\n this.pointSubChat.close();\r\n this.pointSubChat = null;\r\n }\r\n this.mobileFocus = 'points';\r\n this.pointOpen = message;\r\n this.pointSubChat = await this.backend.getSourceForThread(message.topicId, message.id);\r\n this.pointOpen = await this.backend.refreshMessage(message);\r\n this.newPointSubMessage = {};\r\n } else if (viewType === 'chat') {\r\n this.mobileFocus = 'firehose';\r\n this.firehose.jumpToMessage(message);\r\n }\r\n }\r\n\r\n notifications : Notification[];\r\n newNotifications = false;\r\n \r\n pointUnfocus() {\r\n this.pointOpen = null;\r\n if (this.pointSubChat) {\r\n if (this.pointSubChat.close)\r\n this.pointSubChat.close();\r\n this.pointSubChat = null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n showAux(title : string, mode : string) {\r\n this.auxOpen = true;\r\n this.auxTitle = title;\r\n this.auxMode = mode;\r\n this.mobileFocus = 'aux';\r\n }\r\n\r\n showNotifications() {\r\n this.showAux('Notifications', 'notifications');\r\n }\r\n\r\n @Input()\r\n get topicID() : string {\r\n return this._topicID;\r\n }\r\n\r\n set topicID(value) {\r\n this._topicID = value;\r\n\r\n this.close();\r\n this.connectToTopic(this._topicID);\r\n }\r\n\r\n private async connectToTopic(id : string) {\r\n this.firehoseSource = await this.backend.getSourceForTopic(`${id}_firehose`);\r\n this.pointSource = await this.backend.getSourceForTopic(`${id}_thepoint`);\r\n }\r\n\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n close() {\r\n if (this.firehoseSource) {\r\n if (this.firehoseSource.close)\r\n this.firehoseSource.close();\r\n this.firehoseSource = null;\r\n }\r\n\r\n if (this.pointSource) {\r\n if (this.pointSource.close)\r\n this.pointSource.close();\r\n this.pointSource = null;\r\n }\r\n }\r\n\r\n @HostBinding('class.point-focus')\r\n get hasPoint() {\r\n return this.pointOpen != null;\r\n }\r\n\r\n pointOpen : ChatMessage = null;\r\n pointSubChat : ChatSource = null;\r\n\r\n closeAux() {\r\n this.auxOpen = false;\r\n this.mobileFocus = 'firehose';\r\n }\r\n\r\n getViewType(message : ChatMessage) {\r\n if (message.topicId.endsWith('_firehose'))\r\n return 'chat';\r\n else if (message.topicId.endsWith('_thepoint'))\r\n return 'comment';\r\n\r\n return 'comment';\r\n }\r\n\r\n async upvoteMessage(message : ChatMessage) {\r\n if (message.parentMessageId)\r\n await this.backend.upvoteMessage(message.topicId, message.parentMessageId, message.id);\r\n else\r\n await this.backend.upvoteMessage(message.topicId, message.id);\r\n //message.upvotes += 1;\r\n }\r\n\r\n showProfile(user : User) {\r\n this.profileUser = user;\r\n this.showAux(`@${user.username}'s Profile`, 'profile');\r\n }\r\n\r\n profileUser : User;\r\n \r\n reportedMessage : ChatMessage;\r\n\r\n sendReport(message : ChatMessage) {\r\n this.auxOpen = false;\r\n alert('would send report');\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this.reportedMessage = message;\r\n this.showAux(`Report message from @${message.user.username}`, 'report');\r\n }\r\n\r\n currentUser : User;\r\n\r\n newPointSubMessage : NewMessageForm = {};\r\n\r\n genericAvatarUrl = 'https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png';\r\n}","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'engage-logo',\r\n template: `banta`,\r\n styles: [\r\n `\r\n :host {\r\n font-family: 'Odibee Sans', sans-serif;\r\n font-size: 40pt;\r\n }\r\n\r\n :host.small {\r\n font-size: 30pt;\r\n }\r\n `\r\n ]\r\n})\r\nexport class EngageLogoComponent {\r\n\r\n}","import { Component, Input, Output } from \"@angular/core\";\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-live-message',\r\n template: `\r\n <ng-container *ngIf=\"message\">\r\n <engage-live-chat-message\r\n *ngIf=\"viewType === 'chat'\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote(message)\"\r\n (reported)=\"report(message)\"\r\n (selected)=\"select(message)\">\r\n </engage-live-chat-message>\r\n\r\n <engage-live-comment \r\n *ngIf=\"viewType === 'comment'\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote(message)\"\r\n (reported)=\"report(message)\"\r\n (selected)=\"select(message)\">\r\n </engage-live-comment>\r\n </ng-container>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveMessageComponent {\r\n constructor() {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n viewType : string;\r\n\r\n @Output() \r\n get upvoted(): Observable<void> {\r\n return this._upvoted;\r\n }\r\n\r\n @Output() \r\n get reported(): Observable<void> {\r\n return this._reported;\r\n }\r\n \r\n @Output() \r\n get selected(): Observable<void> {\r\n return this._selected;\r\n }\r\n\r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n set message(value) {\r\n this._message = value;\r\n this.viewType = this.getViewType(value);\r\n }\r\n\r\n private getViewType(message : ChatMessage) {\r\n if (message.topicId.endsWith('_firehose'))\r\n return 'chat';\r\n else if (message.topicId.endsWith('_thepoint'))\r\n return 'comment';\r\n\r\n return 'comment';\r\n }\r\n\r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n\r\n}","import { Component, Output, Input } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ChatMessage, User } from '@banta/common';\r\n\r\n@Component({\r\n selector: 'engage-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss']\r\n})\r\nexport class CommentComponent {\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n private _upvoted = new Subject<void>();\r\n private _userSelected = new Subject<void>();\r\n \r\n @Input()\r\n message : ChatMessage;\r\n\r\n @Input()\r\n showReplyAction = true;\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n \r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n\r\n selectUser() {\r\n return this._userSelected.next();\r\n }\r\n \r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n}","import { Component, Input, ViewChild, ElementRef, Output } from \"@angular/core\";\r\nimport { User, ChatMessage, ChatSource } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-comment-view',\r\n templateUrl: './comment-view.component.html',\r\n styleUrls: ['./comment-view.component.scss']\r\n})\r\nexport class CommentViewComponent {\r\n constructor() {\r\n\r\n }\r\n\r\n private _sourceSubs = new SubSink();\r\n private _source : ChatSource;\r\n private _selected = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n\r\n @Input() \r\n allowReplies = true;\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n menuMessage : ChatMessage = null;\r\n messages : ChatMessage[] = [];\r\n currentUser : User;\r\n\r\n @Input()\r\n get source() {\r\n return this._source;\r\n }\r\n\r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n \r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n \r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n\r\n set source(value) {\r\n if (this._sourceSubs) {\r\n this._sourceSubs.unsubscribe();\r\n this._sourceSubs = null;\r\n }\r\n this._source = value;\r\n\r\n if (value) {\r\n let messages = value.messages || [];\r\n\r\n this._sourceSubs = new SubSink();\r\n this.messages = messages.slice();\r\n this._sourceSubs.add(\r\n this._source.messageReceived\r\n .subscribe(msg => this.messageReceived(msg)),\r\n this._source.messageSent\r\n .subscribe(msg => this.messageSent(msg))\r\n );\r\n\r\n \r\n if (this._source.currentUserChanged) {\r\n this._sourceSubs.add(\r\n this._source.currentUserChanged.subscribe(user => this.currentUser = user)\r\n );\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n genericAvatarUrl : string;\r\n \r\n @ViewChild('messageContainer')\r\n messageContainer : ElementRef<HTMLElement>;\r\n\r\n @Input()\r\n maxMessages = 200;\r\n\r\n @Input()\r\n newestLast = false;\r\n\r\n private addMessage(message : ChatMessage) {\r\n if (this.newestLast) {\r\n while (this.messages.length + 1 > this.maxMessages)\r\n this.messages.shift();\r\n \r\n this.messages.push(message);\r\n } else {\r\n while (this.messages.length + 1 > this.maxMessages)\r\n this.messages.pop();\r\n \r\n this.messages.unshift(message);\r\n }\r\n }\r\n\r\n private messageReceived(message : ChatMessage) {\r\n this.addMessage(message);\r\n\r\n if (this.isScrolledToLatest())\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n isScrolledToLatest() {\r\n if (!this.messageContainer)\r\n return false;\r\n\r\n let el = this.messageContainer.nativeElement;\r\n let currentScroll = el.scrollTop;\r\n let currentTotal = el.scrollHeight - el.offsetHeight;\r\n \r\n return currentScroll > currentTotal - 10;\r\n }\r\n\r\n private messageSent(message : ChatMessage) {\r\n this.addMessage(message);\r\n \r\n if (!this.messageContainer)\r\n return;\r\n\r\n this.scrollToLatest();\r\n }\r\n\r\n scrollToLatest() {\r\n if (!this.messageContainer)\r\n return;\r\n \r\n let el = this.messageContainer.nativeElement;\r\n el.scrollTop = el.scrollHeight;\r\n }\r\n\r\n mentionsMe(message : ChatMessage) {\r\n if (!this.currentUser)\r\n return false;\r\n\r\n if (message.message.includes(`@${this.currentUser.username}`))\r\n return true;\r\n \r\n return false;\r\n }\r\n\r\n avatarForUser(user : User) {\r\n let url = this.genericAvatarUrl;\r\n\r\n if (user && user.avatarUrl)\r\n url = user.avatarUrl;\r\n \r\n return `url(${url})`;\r\n }\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { User, ChatSource, ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { SubSink } from 'subsink';\r\nimport { ChatBackendService } from '../../chat-backend.service';\r\nimport { BantaService } from '../../common';\r\n\r\n@Component({\r\n selector: 'engage-comments',\r\n templateUrl: './comments-box.component.html',\r\n styleUrls: ['./comments-box.component.scss']\r\n})\r\nexport class CommentsBoxComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService\r\n ) {\r\n }\r\n\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _selected = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n private _source : ChatSource;\r\n\r\n private _subs = new SubSink();\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.user = user)\r\n )\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n @Input()\r\n get source() : ChatSource {\r\n return this._source;\r\n }\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n set source(value) {\r\n this._source = value;\r\n }\r\n\r\n user : User;\r\n newMessageText : string;\r\n\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n \r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n onKeyDown(event : KeyboardEvent) {\r\n }\r\n\r\n insertEmoji(text : string) {\r\n this.newMessageText += text;\r\n }\r\n\r\n sendMessage() {\r\n if (!this.source)\r\n return;\r\n \r\n let text = (this.newMessageText || '').trim();\r\n this.newMessageText = '';\r\n\r\n if (text === '')\r\n return;\r\n\r\n let message : ChatMessage = { \r\n user: this.user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n this.source.send(message);\r\n }\r\n\r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n\r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ChatBackendService } from '../chat-backend.service';\r\n\r\n@Component({\r\n selector: 'engage-live-comment',\r\n template: `\r\n <engage-comment \r\n *ngIf=\"message\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote()\"\r\n (reported)=\"report()\"\r\n (selected)=\"select()\"\r\n ></engage-comment>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveCommentComponent {\r\n constructor(\r\n private backend : ChatBackendService\r\n ) {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n @Output()\r\n get upvoted() : Observable<void> {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() : Observable<void> {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() : Observable<void> {\r\n return this._selected;\r\n }\r\n \r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n private unsubscribe : Function;\r\n\r\n set message(value) {\r\n let originalId = null;\r\n if (this._message)\r\n originalId = this._message.id;\r\n \r\n this._message = value;\r\n\r\n if (value && originalId === value.id) {\r\n return;\r\n }\r\n \r\n if (this.unsubscribe)\r\n this.unsubscribe();\r\n \r\n if (value) {\r\n this.unsubscribe = this.backend.watchMessage(value, message => this.message = message);\r\n }\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommentComponent } from './comment/comment.component';\r\nimport { CommentViewComponent } from './comment-view/comment-view.component';\r\nimport { CommentsBoxComponent } from './comments-box/comments-box.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EngageCommonModule } from '../common/common.module';\r\nimport { LiveCommentComponent } from './live-comment.component';\r\nimport { EmojiModule } from '../emoji';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\nconst COMPONENTS = [\r\n CommentComponent,\r\n CommentViewComponent,\r\n CommentsBoxComponent,\r\n LiveCommentComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatMenuModule,\r\n EngageCommonModule,\r\n EmojiModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class CommentsModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommentsModule } from './comments';\r\nimport { ChatModule } from './chat';\r\nimport { EmojiModule } from './emoji';\r\nimport { EngageComponent } from './engage/engage.component';\r\nimport { EngageLogoComponent } from './engage-logo.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EngageCommonModule } from './common/common.module';\r\nimport { LiveMessageComponent } from './live-message.component';\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\n\r\nconst COMPONENTS = [\r\n EngageComponent,\r\n EngageLogoComponent,\r\n LiveMessageComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EngageCommonModule.forRoot(),\r\n CommentsModule,\r\n ChatModule,\r\n EmojiModule,\r\n \r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule\r\n ],\r\n declarations: COMPONENTS,\r\n exports: COMPONENTS\r\n})\r\nexport class BantaSdkModule {\r\n\r\n}","import { Subject, Observable, ConnectableObservable } from 'rxjs';\r\nimport { publish } from 'rxjs/operators';\r\n\r\nexport interface LazyConnectionOptions<T> {\r\n start : (subject : Subject<T>) => void;\r\n stop : () => void;\r\n}\r\n\r\nexport function lazyConnection<T>(options : LazyConnectionOptions<T>): Observable<T> {\r\n\r\n let obs = new Observable(observer => {\r\n let subject = new Subject<T>();\r\n let subscription = subject.subscribe(observer);\r\n\r\n options.start(subject);\r\n return () => {\r\n subscription.unsubscribe();\r\n options.stop();\r\n };\r\n });\r\n \r\n return (<ConnectableObservable<T>>obs.pipe(publish())).refCount();\r\n}"]}
|
|
1
|
+
{"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@banta/sdk/lib/common/banta.service.ts","ng://@banta/sdk/lib/common/timestamp.component.ts","ng://@banta/sdk/lib/common/common.module.ts","ng://@banta/sdk/lib/emoji/emojis.ts","ng://@banta/sdk/lib/emoji/emoji-selector-panel/emoji-selector-panel.component.ts","ng://@banta/sdk/lib/emoji/emoji-selector-button.component.ts","ng://@banta/sdk/lib/emoji/emoji.module.ts","ng://@banta/sdk/lib/chat/chat-message/chat-message.component.ts","ng://@banta/sdk/lib/chat-backend.service.ts","ng://@banta/sdk/lib/chat/live-chat-message.component.ts","ng://@banta/sdk/lib/chat/chat-view/chat-view.component.ts","ng://@banta/sdk/lib/chat/firehose-chat/firehose-chat.component.ts","ng://@banta/sdk/lib/chat/chat.module.ts","ng://@banta/sdk/lib/engage/engage.component.ts","ng://@banta/sdk/lib/engage-logo.component.ts","ng://@banta/sdk/lib/live-message.component.ts","ng://@banta/sdk/lib/comments/comment/comment.component.ts","ng://@banta/sdk/lib/comments/comment-view/comment-view.component.ts","ng://@banta/sdk/lib/comments/comments-box/comments-box.component.ts","ng://@banta/sdk/lib/comments/live-comment.component.ts","ng://@banta/sdk/lib/comments/comments.module.ts","ng://@banta/sdk/lib/banta-sdk.module.ts","ng://@banta/sdk/lib/common/lazy-connection.ts"],"names":["__decorate","decorators","target","key","desc","d","c","arguments","length","r","Object","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__metadata","metadataKey","metadataValue","metadata","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","this","n","v","op","TypeError","call","pop","push","__values","o","s","m","BantaService","_userChanged","BehaviorSubject","prototype","_user","user","Injectable","TimestampComponent","relative","tooltip","updateInterval","showAbsolute","ngOnDestroy","clearInterval","_value","update","_this","diff","Date","now","day","hour","updateTime","months","Math","floor","weeks","days","minute","hours","minutes","window","setInterval","Input","Component","selector","template","COMPONENTS","EngageCommonModule","forRoot","ngModule","EngageCommonModule_1","providers","NgModule","declarations","imports","CommonModule","exports","EMOJIS","grinning","keywords","char","category","grimacing","grin","joy","smiley","smile","sweat_smile","laughing","innocent","wink","blush","slightly_smiling","upside_down","relaxed","yum","relieved","heart_eyes","kissing_heart","kissing","kissing_smiling_eyes","kissing_closed_eyes","stuck_out_tongue_winking_eye","stuck_out_tongue_closed_eyes","stuck_out_tongue","money_mouth","nerd","sunglasses","hugging","smirk","no_mouth","neutral_face","expressionless","unamused","rolling_eyes","thinking","flushed","disappointed","worried","angry","rage","pensive","confused","slightly_sad","white_frowning","persevere","confounded","tired_face","weary","triumph","open_mouth","scream","fearful","cold_sweat","hushed","frowning","anguished","cry","disappointed_relieved","sleepy","sweat","sob","dizzy_face","astonished","zipper_mouth","mask","thermometer_face","bandage_face","sleeping","zzz","hankey","smiling_imp","imp","japanese_ogre","japanese_goblin","skull","ghost","alien","robot","smiley_cat","smile_cat","joy_cat","heart_eyes_cat","smirk_cat","kissing_cat","scream_cat","crying_cat_face","pouting_cat","raised_hands","clap","wave","+1","minus1","facepunch","fist","ok_hand","hand","open_hands","muscle","pray","point_up","point_up_2","point_down","point_left","point_right","middle_finger","splayed_fingers","sign_of_horns","vulcan_salute","writing_hand","nail_care","lips","tongue","ear","nose","eye","eyes","bust_in_silhouette","busts_in_silhouette","speaking_head","baby","boy","girl","man","woman","person_with_blond_hair","older_man","older_woman","man_with_gua_pi_mao","man_with_turban","cop","construction_worker","guardsman","sleuth","santa","angel","princess","bride_with_veil","runner","walking","dancer","dancers","couple","two_men_holding_hands","two_women_holding_hands","bow","information_desk_person","no_good","ok_woman","raising_hand","person_with_pouting_face","person_frowning","haircut","massage","couple_with_heart","female_couple_with_heart","male_couple_with_heart","couplekiss","female_couplekiss","male_couplekiss","family","family_man_woman_girl","family_man_woman_girl_boy","family_man_woman_boys","family_man_woman_girls","family_women_boy","family_women_girl","family_women_girl_boy","family_women_boys","family_women_girls","family_men_boy","family_men_girl","family_men_girl_boy","family_men_boys","family_men_girls","womans_clothes","shirt","jeans","necktie","dress","bikini","kimono","lipstick","kiss","footprints","high_heel","sandal","boot","mans_shoe","athletic_shoe","womans_hat","tophat","helmet","mortar_board","crown","school_satchel","pouch","purse","handbag","briefcase","eyeglasses","dark_sunglasses","ring","closed_umbrella","dog","cat","mouse","hamster","rabbit","bear","panda_face","koala","tiger","lion_face","cow","pig","pig_nose","frog","octopus","monkey_face","see_no_evil","hear_no_evil","speak_no_evil","monkey","chicken","penguin","bird","baby_chick","hatching_chick","hatched_chick","wolf","boar","horse","unicorn_face","bee","bug","snail","beetle","ant","spider","scorpion","crab","snake","turtle","tropical_fish","fish","blowfish","dolphin","whale","whale2","crocodile","leopard","tiger2","water_buffalo","ox","cow2","dromedary_camel","camel","elephant","goat","ram","sheep","racehorse","pig2","rat","mouse2","rooster","turkey","dove_of_peace","dog2","poodle","cat2","rabbit2","chipmunk","feet","dragon","dragon_face","cactus","christmas_tree","evergreen_tree","deciduous_tree","palm_tree","seedling","herb","shamrock","four_leaf_clover","bamboo","tanabata_tree","leaves","fallen_leaf","maple_leaf","ear_of_rice","hibiscus","sunflower","rose","tulip","blossom","cherry_blossom","bouquet","mushroom","chestnut","jack_o_lantern","shell","spider_web","earth_americas","earth_africa","earth_asia","full_moon","waning_gibbous_moon","last_quarter_moon","waning_crescent_moon","new_moon","waxing_crescent_moon","first_quarter_moon","moon","new_moon_with_face","full_moon_with_face","first_quarter_moon_with_face","last_quarter_moon_with_face","sun_with_face","crescent_moon","star","star2","dizzy","sparkles","comet","sunny","white_sun_with_small_cloud","partly_sunny","white_sun_behind_cloud","white_sun_behind_cloud_with_rain","cloud","cloud_with_rain","thunder_cloud_and_rain","cloud_with_lightning","zap","fire","boom","snowflake","cloud_with_snow","snowman","snowman_with_snow","wind_blowing_face","dash","cloud_with_tornado","fog","umbrella_without_rain","umbrella","droplet","sweat_drops","ocean","green_apple","apple","pear","tangerine","lemon","banana","watermelon","grapes","strawberry","melon","cherries","peach","pineapple","tomato","eggplant","hot_pepper","corn","sweet_potato","honey_pot","bread","cheese_wedge","poultry_leg","meat_on_bone","fried_shrimp","egg","hamburger","fries","hot_dog","pizza","spaghetti","taco","burrito","ramen","stew","fish_cake","sushi","bento","curry","rice_ball","rice","rice_cracker","oden","dango","shaved_ice","ice_cream","icecream","cake","birthday","custard","candy","lollipop","chocolate_bar","popcorn","doughnut","cookie","beer","beers","wine_glass","cocktail","tropical_drink","bottle","sake","tea","coffee","baby_bottle","fork_and_knife","fork_and_knife_with_plate","soccer","basketball","football","baseball","tennis","volleyball","rugby_football","8ball","golf","golfer","table_tennis","badminton","ice_hockey","field_hockey","cricket","ski","skier","snowboarder","ice_skate","bow_and_arrow","fishing_pole_and_fish","rowboat","swimmer","surfer","bath","person_with_ball","weight_lifter","bicyclist","mountain_bicyclist","horse_racing","man_levitating","trophy","running_shirt_with_sash","sports_medal","military_medal","reminder_ribbon","rosette","ticket","admission_ticket","performing_arts","art","circus_tent","microphone","headphones","musical_score","musical_keyboard","saxophone","trumpet","guitar","violin","clapper","video_game","space_invader","dart","game_die","slot_machine","bowling","car","taxi","blue_car","bus","trolleybus","racing_car","police_car","ambulance","fire_engine","minibus","truck","articulated_lorry","tractor","racing_motorcycle","bike","rotating_light","oncoming_police_car","oncoming_bus","oncoming_automobile","oncoming_taxi","aerial_tramway","mountain_cableway","suspension_railway","railway_car","train","monorail","bullettrain_side","bullettrain_front","light_rail","mountain_railway","steam_locomotive","train2","metro","tram","station","helicopter","small_airplane","airplane","airplane_departure","airplane_arrival","boat","motor_boat","speedboat","ferry","passenger_ship","rocket","artificial_satellite","seat","anchor","construction","fuelpump","busstop","vertical_traffic_light","traffic_light","checkered_flag","ship","ferris_wheel","roller_coaster","carousel_horse","building_construction","foggy","tokyo_tower","factory","fountain","rice_scene","mountain","snow_capped_mountain","mount_fuji","volcano","japan","camping","tent","national_park","motorway","railway_track","sunrise","sunrise_over_mountains","desert","beach_with_umbrella","desert_island","city_sunrise","city_sunset","cityscape","night_with_stars","bridge_at_night","milky_way","stars","sparkler","fireworks","rainbow","buildings","european_castle","japanese_castle","stadium","statue_of_liberty","house","house_with_garden","derelict_house","office","department_store","post_office","european_post_office","hospital","bank","hotel","convenience_store","school","love_hotel","wedding","museum","church","mosque","synagogue","kaaba","shinto_shrine","watch","iphone","calling","computer","keyboard","desktop_computer","printer","three_button_mouse","trackball","joystick","compression","minidisc","floppy_disk","cd","dvd","vhs","camera","camera_with_flash","video_camera","movie_camera","film_projector","film_frames","telephone_receiver","phone","pager","fax","tv","radio","studio_microphone","level_slider","control_knobs","stopwatch","timer_clock","alarm_clock","mantelpiece_clock","hourglass_flowing_sand","hourglass","satellite","battery","electric_plug","bulb","flashlight","candle","wastebasket","oil_drum","money_with_wings","dollar","yen","euro","pound","moneybag","credit_card","gem","scales","wrench","hammer","hammer_and_pick","hammer_and_wrench","pick","nut_and_bolt","gear","chains","gun","bomb","hocho","dagger_knife","crossed_swords","shield","smoking","skull_and_crossbones","coffin","funeral_urn","amphora","crystal_ball","prayer_beads","barber","alembic","telescope","microscope","hole","pill","syringe","thermometer","bookmark","toilet","shower","bathtub","old_key","couch_and_lamp","sleeping_accommodation","bed","door","bellhop_bell","frame_with_picture","world_map","umbrella_on_ground","moyai","shopping_bags","balloon","flags","ribbon","gift","confetti_ball","tada","dolls","wind_chime","crossed_flags","izakaya_lantern","envelope","envelope_with_arrow","incoming_envelope","email","love_letter","postbox","mailbox_closed","mailbox","mailbox_with_mail","mailbox_with_no_mail","package","postal_horn","inbox_tray","outbox_tray","scroll","page_with_curl","bookmark_tabs","bar_chart","chart_with_upwards_trend","chart_with_downwards_trend","page_facing_up","date","calendar","spiral_calendar_pad","card_index","card_file_box","ballot_box_with_ballot","file_cabinet","clipboard","spiral_note_pad","file_folder","open_file_folder","card_index_dividers","rolled_up_newspaper","newspaper","notebook","closed_book","green_book","blue_book","orange_book","notebook_with_decorative_cover","ledger","books","book","link","paperclip","linked_paperclips","scissors","triangular_ruler","straight_ruler","pushpin","round_pushpin","triangular_flag_on_post","waving_white_flag","waving_black_flag","closed_lock_with_key","lock","unlock","lock_with_ink_pen","lower_left_ballpoint_pen","lower_left_fountain_pen","black_nib","memo","pencil2","lower_left_crayon","lower_left_paintbrush","mag","mag_right","heart","yellow_heart","green_heart","blue_heart","purple_heart","broken_heart","heavy_heart_exclamation_mark_ornament","two_hearts","revolving_hearts","heartbeat","heartpulse","sparkling_heart","cupid","gift_heart","heart_decoration","peace_symbol","latin_cross","star_and_crescent","om_symbol","wheel_of_dharma","star_of_david","six_pointed_star","menorah_with_nine_branches","yin_yang","orthodox_cross","place_of_worship","ophiuchus","aries","taurus","gemini","cancer","leo","virgo","libra","scorpius","sagittarius","capricorn","aquarius","pisces","id","atom_symbol","u7a7a","u5272","radioactive_sign","biohazard_sign","mobile_phone_off","vibration_mode","u6709","u7121","u7533","u55b6","u6708","eight_pointed_black_star","vs","accept","white_flower","ideograph_advantage","secret","congratulations","u5408","u6e80","u7981","a","b","ab","cl","o2","sos","no_entry","name_badge","no_entry_sign","x","anger","hotsprings","no_pedestrians","do_not_litter","no_bicycles","non-potable_water","underage","no_mobile_phones","exclamation","grey_exclamation","question","grey_question","bangbang","interrobang","100","low_brightness","high_brightness","trident","fleur_de_lis","part_alternation_mark","warning","children_crossing","beginner","recycle","u6307","chart","sparkle","eight_spoked_asterisk","negative_squared_cross_mark","white_check_mark","diamond_shape_with_a_dot_inside","cyclone","loop","globe_with_meridians","atm","sa","passport_control","customs","baggage_claim","left_luggage","wheelchair","no_smoking","wc","parking","potable_water","mens","womens","baby_symbol","restroom","put_litter_in_its_place","cinema","signal_strength","koko","ng","ok","up","cool","new","free","zero","one","two","three","four","five","six","seven","eight","nine","keycap_ten","keycap_star","1234","arrow_forward","double_vertical_bar","black_right_pointing_triangle_with_double_vertical_bar","black_square_for_stop","black_circle_for_record","black_right_pointing_double_triangle_with_vertical_bar","black_left_pointing_double_triangle_with_vertical_bar","fast_forward","rewind","twisted_rightwards_arrows","repeat","repeat_one","arrow_backward","arrow_up_small","arrow_down_small","arrow_double_up","arrow_double_down","arrow_right","arrow_left","arrow_up","arrow_down","arrow_upper_right","arrow_lower_right","arrow_lower_left","arrow_upper_left","arrow_up_down","left_right_arrow","arrows_counterclockwise","arrow_right_hook","leftwards_arrow_with_hook","arrow_heading_up","arrow_heading_down","hash","information_source","abc","abcd","capital_abcd","symbols","musical_note","notes","wavy_dash","curly_loop","heavy_check_mark","arrows_clockwise","heavy_plus_sign","heavy_minus_sign","heavy_division_sign","heavy_multiplication_x","heavy_dollar_sign","currency_exchange","copyright","registered","tm","end","back","on","top","soon","ballot_box_with_check","radio_button","white_circle","black_circle","red_circle","large_blue_circle","small_orange_diamond","small_blue_diamond","large_orange_diamond","large_blue_diamond","small_red_triangle","black_small_square","white_small_square","black_large_square","white_large_square","small_red_triangle_down","black_medium_square","white_medium_square","black_medium_small_square","white_medium_small_square","black_square_button","white_square_button","speaker","sound","loud_sound","mute","mega","loudspeaker","bell","no_bell","black_joker","mahjong","spades","clubs","hearts","diamonds","flower_playing_cards","thought_balloon","right_anger_bubble","speech_balloon","left_speech_bubble","clock1","clock2","clock3","clock4","clock5","clock6","clock7","clock8","clock9","clock10","clock11","clock12","clock130","clock230","clock330","clock430","clock530","clock630","clock730","clock830","clock930","clock1030","clock1130","clock1230","af","ax","al","dz","as","ad","ao","ai","aq","ag","ar","am","aw","au","at","az","bs","bh","bd","bb","by","be","bz","bj","bm","bt","bo","bq","ba","bw","br","io","vg","bn","bg","bf","bi","cv","kh","cm","ca","ic","ky","cf","td","chile","cn","cx","cc","co","km","cg","drc","ck","cr","hr","cu","cw","cy","cz","dk","dj","dm","do","ec","eg","sv","gq","er","ee","et","eu","fk","fo","fj","fi","fr","gf","pf","tf","ga","gm","ge","de","gh","gi","gr","gl","gd","gp","gu","gt","gg","gn","gw","gy","ht","hn","hk","hu","is","in","indonesia","ir","iq","ie","im","il","it","ci","jm","jp","je","jo","kz","ke","ki","xk","kw","kg","la","lv","lb","ls","lr","ly","li","lt","lu","mo","mk","mg","mw","my","mv","ml","mt","mh","mq","mr","mu","yt","mx","fm","md","mc","mn","me","ms","ma","mz","mm","na","nr","np","nl","nc","nz","ni","ne","nigeria","nu","nf","mp","kp","no","om","pk","pw","ps","pa","pg","py","pe","ph","pn","pl","pt","pr","qa","re","ro","ru","rw","bl","sh","kn","lc","pm","vc","ws","sm","st","saudi_arabia","sn","rs","sc","sl","sg","sx","sk","si","sb","so","za","gs","kr","ss","es","lk","sd","sr","sz","se","ch","sy","tw","tj","tz","th","tl","tg","tk","to","tt","tn","tr","turkmenistan","tc","tuvalu","ug","ua","ae","gb","us","vi","uy","uz","vu","va","ve","vn","wf","eh","ye","zm","zw","octocat","shipit","bowtie","neckbeard","metal","fu","trollface","godmode","goberserk","finnadie","feelsgood","rage1","rage2","rage3","rage4","suspect","hurtrealbad","EmojiSelectorPanelComponent","sanitizer","activeCategory","selected","Subject","select","pairs","object","keys","map","ngOnInit","cats","categoryIcons","people","animals_and_nature","travel_and_places","activity","food_and_drink","objects","_b","_c","pair","emoji","name","icon","emojis","html","bypassSecurityTrustHtml","twemoji","parse","categories","DomSanitizer","Output","EmojiSelectorButtonComponent","_selected","showEmojiPanel","removeListener","document","removeEventListener","clickListener","show","setTimeout","ev","parent","isInDialog","matches","parentElement","addEventListener","insert","str","Observable","EmojiModule","MatIconModule","MatButtonModule","ChatMessageComponent","_reported","_upvoted","_userSelected","avatarForUser","avatarUrl","upvote","report","selectUser","ChatBackendService","LiveChatMessageComponent","backend","_message","originalId","unsubscribe","watchMessage","message","ChatViewComponent","elementRef","_sourceSubs","SubSink","messages","maxMessages","_source","slice","console","log","dir","add","messageReceived","subscribe","msg","messageSent","currentUserChanged","currentUser","addMessage","shift","isScrolledToLatest","scrollToLatest","messageContainer","el","nativeElement","scrollTop","scrollHeight","offsetHeight","jumpTo","messageElement","querySelector","scrollIntoView","behavior","flashMessage","alert","flashedMessageId","mentionsMe","includes","username","upvoteMessage","reportMessage","selectMessage","selectMessageUser","ElementRef","ViewChild","FirehoseChatComponent","banta","_subs","_signInSelected","newMessage","userChanged","showSignIn","insertEmoji","onKeyDown","event","jumpToMessage","chatView","sendMessage","source","text","trim","sentAt","upvotes","send","static","ChatModule","FormsModule","GENERIC_AVATAR_URL","MOCK_USERS","displayName","MockFirehoseSource","_messages","_currentUserChanged","_messageReceived","_messageSent","randomMessages","messageText","random","submessages","close","MockPointSource","randomPoints","MockSubpointSource","parentSource","EngageComponent","matDialog","auxOpen","auxTitle","auxMode","mobileFocus","newNotifications","pointOpen","pointSubChat","newPointSubMessage","genericAvatarUrl","notificationsChanged","notifs","notifications","newNotification","notif","newPointSubMessageKeyDown","sendPointSubMessage","_a","error","e_1","goToMessage","targetMessage","parentMessageId","getMessage","topicId","parentMessage","viewType","getViewType","getSourceForThread","refreshMessage","firehose","pointUnfocus","showAux","title","mode","showNotifications","_topicID","connectToTopic","getSourceForTopic","firehoseSource","pointSource","closeAux","endsWith","showProfile","profileUser","sendReport","reportedMessage","MatDialog","HostBinding","EngageLogoComponent","LiveMessageComponent","CommentComponent","showReplyAction","CommentViewComponent","allowReplies","menuMessage","newestLast","unshift","url","CommentsBoxComponent","newMessageText","LiveCommentComponent","CommentsModule","MatMenuModule","BantaSdkModule","MatTooltipModule","MatDialogModule","MatFormFieldModule","MatInputModule","options","observer","subject","subscription","start","stop","pipe","publish","refCount"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { User } from '@banta/common';\r\n\r\n@Injectable()\r\nexport class BantaService {\r\n private _userChanged = new BehaviorSubject<User>(null);\r\n private _user : User;\r\n \r\n get userChanged() : Observable<User> {\r\n return this._userChanged;\r\n }\r\n \r\n set user(user : User) {\r\n this._user = user;\r\n this._userChanged.next(user);\r\n }\r\n\r\n get user() {\r\n return this._user;\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'engage-timestamp',\r\n template: `\r\n <span *ngIf=\"showAbsolute\" [title]=\"value | date : 'short'\">\r\n {{value | date : 'shortDate'}}\r\n </span>\r\n <span *ngIf=\"!showAbsolute\" [title]=\"value | date : 'short'\">\r\n {{relative}}\r\n </span>\r\n `,\r\n styles: [``]\r\n})\r\nexport class TimestampComponent {\r\n private _value : number;\r\n relative = '';\r\n tooltip = '';\r\n\r\n private updateInterval = null;\r\n\r\n ngOnDestroy() {\r\n if (this.updateInterval)\r\n clearInterval(this.updateInterval);\r\n }\r\n\r\n @Input()\r\n get value() {\r\n return this._value;\r\n }\r\n\r\n showAbsolute = false;\r\n\r\n update() {\r\n \r\n let now = Date.now();\r\n let diff = now - this.value;\r\n let minute = 1000*60;\r\n let hour = minute * 60;\r\n let day = hour * 24;\r\n let week = day * 7;\r\n let month = day * 30;\r\n let year = day * 365;\r\n this.showAbsolute = false;\r\n let updateTime = 0;\r\n\r\n if (diff > year) {\r\n this.showAbsolute = true;\r\n this.relative = 'abs';\r\n return;\r\n }\r\n\r\n if (diff > month) {\r\n let months = Math.floor(diff / month);\r\n\r\n if (months === 1)\r\n this.relative = `${months} month ago`;\r\n else\r\n this.relative = `${months} months ago`;\r\n \r\n } else if (diff > week) {\r\n let weeks = Math.floor(diff / week);\r\n\r\n if (weeks === 1)\r\n this.relative = `${weeks} week ago`;\r\n else\r\n this.relative = `${weeks} weeks ago`;\r\n } else if (diff > day) {\r\n let days = Math.floor(diff / day);\r\n if (days === 1)\r\n this.relative = `${days} day ago`;\r\n else\r\n this.relative = `${days} days ago`;\r\n } else if (diff > hour) {\r\n let hours = Math.floor(diff / hour);\r\n if (hours === 1)\r\n this.relative = `${hours} hour ago`;\r\n else\r\n this.relative = `${hours} hours ago`;\r\n \r\n updateTime = 1000 * 60 * 30;\r\n } else if (diff > minute) {\r\n let minutes = Math.floor(diff / minute);\r\n if (minutes === 1)\r\n this.relative = `${minutes} minute ago`;\r\n else\r\n this.relative = `${minutes} minutes ago`;\r\n updateTime = 1000 * 45;\r\n } else if (diff > 30_000) {\r\n this.relative = `about a minute ago`;\r\n updateTime = 1000 * 60;\r\n } else {\r\n this.relative = `just now`;\r\n updateTime = 1000 * 30;\r\n }\r\n \r\n if (typeof window !== 'undefined') {\r\n clearInterval(this.updateInterval);\r\n if (updateTime > 0) {\r\n this.updateInterval = setInterval(() => this.update());\r\n }\r\n }\r\n }\r\n\r\n set value(v) {\r\n this._value = v;\r\n this.update();\r\n }\r\n}","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { TimestampComponent } from './timestamp.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BantaService } from './banta.service';\r\n\r\nconst COMPONENTS = [\r\n TimestampComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class EngageCommonModule {\r\n static forRoot(): ModuleWithProviders<EngageCommonModule> {\r\n return {\r\n ngModule: EngageCommonModule,\r\n providers: [\r\n BantaService\r\n ]\r\n }\r\n }\r\n}","export const EMOJIS = {\r\n \"grinning\": {\r\n \"keywords\": [\"face\", \"smile\", \"happy\", \"joy\", \":D\", \"grin\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"grimacing\": {\r\n \"keywords\": [\"face\", \"grimace\", \"teeth\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"people\"\r\n },\r\n \"grin\": {\r\n \"keywords\": [\"face\", \"happy\", \"smile\", \"joy\", \"kawaii\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"joy\": {\r\n \"keywords\": [\"face\", \"cry\", \"tears\", \"weep\", \"happy\", \"happytears\", \"haha\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"smiley\": {\r\n \"keywords\": [\"face\", \"happy\", \"joy\", \"haha\", \":D\", \":)\", \"smile\", \"funny\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"smile\": {\r\n \"keywords\": [\"face\", \"happy\", \"joy\", \"funny\", \"haha\", \"laugh\", \"like\", \":D\", \":)\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sweat_smile\": {\r\n \"keywords\": [\"face\", \"hot\", \"happy\", \"laugh\", \"sweat\", \"smile\", \"relief\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"laughing\": {\r\n \"keywords\": [\"happy\", \"joy\", \"lol\", \"satisfied\", \"haha\", \"face\", \"glad\", \"XD\", \"laugh\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"innocent\": {\r\n \"keywords\": [\"face\", \"angel\", \"heaven\", \"halo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"wink\": {\r\n \"keywords\": [\"face\", \"happy\", \"mischievous\", \"secret\", \";)\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"blush\": {\r\n \"keywords\": [\"face\", \"smile\", \"happy\", \"flushed\", \"crush\", \"embarrassed\", \"shy\", \"joy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"slightly_smiling\": {\r\n \"keywords\": [\"face\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"upside_down\": {\r\n \"keywords\": [\"face\", \"flipped\", \"silly\", \"smile\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"relaxed\": {\r\n \"keywords\": [\"face\", \"blush\", \"massage\", \"happiness\"],\r\n \"char\": \"โบ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"yum\": {\r\n \"keywords\": [\"happy\", \"joy\", \"tongue\", \"smile\", \"face\", \"silly\", \"yummy\", \"nom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"relieved\": {\r\n \"keywords\": [\"face\", \"relaxed\", \"phew\", \"massage\", \"happiness\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"heart_eyes\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"crush\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_heart\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing\": {\r\n \"keywords\": [\"love\", \"like\", \"face\", \"3\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_smiling_eyes\": {\r\n \"keywords\": [\"face\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_closed_eyes\": {\r\n \"keywords\": [\"face\", \"love\", \"like\", \"affection\", \"valentines\", \"infatuation\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue_winking_eye\": {\r\n \"keywords\": [\"face\", \"prank\", \"childish\", \"playful\", \"mischievous\", \"smile\", \"wink\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue_closed_eyes\": {\r\n \"keywords\": [\"face\", \"prank\", \"playful\", \"mischievous\", \"smile\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"stuck_out_tongue\": {\r\n \"keywords\": [\"face\", \"prank\", \"childish\", \"playful\", \"mischievous\", \"smile\", \"tongue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"money_mouth\": {\r\n \"keywords\": [\"face\", \"rich\", \"dollar\", \"money\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"nerd\": {\r\n \"keywords\": [\"face\", \"nerdy\", \"geek\", \"dork\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"sunglasses\": {\r\n \"keywords\": [\"face\", \"cool\", \"smile\", \"summer\", \"beach\", \"sunglass\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"hugging\": {\r\n \"keywords\": [\"face\", \"smile\", \"hug\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"smirk\": {\r\n \"keywords\": [\"face\", \"smile\", \"mean\", \"prank\", \"smug\", \"sarcasm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"no_mouth\": {\r\n \"keywords\": [\"face\", \"hellokitty\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"neutral_face\": {\r\n \"keywords\": [\"indifference\", \"meh\", \":|\", \"neutral\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"expressionless\": {\r\n \"keywords\": [\"face\", \"indifferent\", \"-_-\", \"meh\", \"deadpan\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"unamused\": {\r\n \"keywords\": [\"indifference\", \"bored\", \"straight face\", \"serious\", \"sarcasm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"rolling_eyes\": {\r\n \"keywords\": [\"face\", \"eyeroll\", \"frustrated\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"thinking\": {\r\n \"keywords\": [\"face\", \"hmmm\", \"think\", \"consider\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"flushed\": {\r\n \"keywords\": [\"face\", \"blush\", \"shy\", \"flattered\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"people\"\r\n },\r\n \"disappointed\": {\r\n \"keywords\": [\"face\", \"sad\", \"upset\", \"depressed\", \":(\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"worried\": {\r\n \"keywords\": [\"face\", \"concern\", \"nervous\", \":(\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"angry\": {\r\n \"keywords\": [\"mad\", \"face\", \"annoyed\", \"frustrated\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"people\"\r\n },\r\n \"rage\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"people\"\r\n },\r\n \"pensive\": {\r\n \"keywords\": [\"face\", \"sad\", \"depressed\", \"okay\", \"upset\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"confused\": {\r\n \"keywords\": [\"face\", \"indifference\", \"huh\", \"weird\", \"hmmm\", \":/\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"slightly_sad\": {\r\n \"keywords\": [\"face\", \"frowning\", \"disappointed\", \"sad\", \"upset\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"white_frowning\": {\r\n \"keywords\": [\"face\", \"sad\", \"upset\", \"frown\"],\r\n \"char\": \"โน\",\r\n \"category\": \"people\"\r\n },\r\n \"persevere\": {\r\n \"keywords\": [\"face\", \"sick\", \"no\", \"upset\", \"oops\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"confounded\": {\r\n \"keywords\": [\"face\", \"confused\", \"sick\", \"unwell\", \"oops\", \":S\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tired_face\": {\r\n \"keywords\": [\"sick\", \"whine\", \"upset\", \"frustrated\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"people\"\r\n },\r\n \"weary\": {\r\n \"keywords\": [\"face\", \"tired\", \"sleepy\", \"sad\", \"frustrated\", \"upset\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"triumph\": {\r\n \"keywords\": [\"face\", \"gas\", \"phew\", \"proud\", \"pride\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"open_mouth\": {\r\n \"keywords\": [\"face\", \"surprise\", \"impressed\", \"wow\", \"whoa\", \":O\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"people\"\r\n },\r\n \"scream\": {\r\n \"keywords\": [\"face\", \"munch\", \"scared\", \"omg\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"people\"\r\n },\r\n \"fearful\": {\r\n \"keywords\": [\"face\", \"scared\", \"terrified\", \"nervous\", \"oops\", \"huh\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"cold_sweat\": {\r\n \"keywords\": [\"face\", \"nervous\", \"sweat\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"people\"\r\n },\r\n \"hushed\": {\r\n \"keywords\": [\"face\", \"woo\", \"shh\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"people\"\r\n },\r\n \"frowning\": {\r\n \"keywords\": [\"face\", \"aw\", \"what\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"anguished\": {\r\n \"keywords\": [\"face\", \"stunned\", \"nervous\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"cry\": {\r\n \"keywords\": [\"face\", \"tears\", \"sad\", \"depressed\", \"upset\", \":'(\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"people\"\r\n },\r\n \"disappointed_relieved\": {\r\n \"keywords\": [\"face\", \"phew\", \"sweat\", \"nervous\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"people\"\r\n },\r\n \"sleepy\": {\r\n \"keywords\": [\"face\", \"tired\", \"rest\", \"nap\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"sweat\": {\r\n \"keywords\": [\"face\", \"hot\", \"sad\", \"tired\", \"exercise\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sob\": {\r\n \"keywords\": [\"face\", \"cry\", \"tears\", \"sad\", \"upset\", \"depressed\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"people\"\r\n },\r\n \"dizzy_face\": {\r\n \"keywords\": [\"spent\", \"unconscious\", \"xox\", \"dizzy\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"astonished\": {\r\n \"keywords\": [\"face\", \"xox\", \"surprised\", \"poisoned\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"people\"\r\n },\r\n \"zipper_mouth\": {\r\n \"keywords\": [\"face\", \"sealed\", \"zipper\", \"secret\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"mask\": {\r\n \"keywords\": [\"face\", \"sick\", \"ill\", \"disease\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"people\"\r\n },\r\n \"thermometer_face\": {\r\n \"keywords\": [\"sick\", \"temperature\", \"thermometer\", \"cold\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"bandage_face\": {\r\n \"keywords\": [\"injured\", \"clumsy\", \"bandage\", \"hurt\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"sleeping\": {\r\n \"keywords\": [\"face\", \"tired\", \"sleepy\", \"night\", \"zzz\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"people\"\r\n },\r\n \"zzz\": {\r\n \"keywords\": [\"sleepy\", \"tired\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"hankey\": {\r\n \"keywords\": [\"poop\", \"shitface\", \"fail\", \"turd\", \"shit\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"smiling_imp\": {\r\n \"keywords\": [\"devil\", \"horns\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"imp\": {\r\n \"keywords\": [\"devil\", \"angry\", \"horns\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"people\"\r\n },\r\n \"japanese_ogre\": {\r\n \"keywords\": [\"monster\", \"red\", \"mask\", \"halloween\", \"scary\", \"creepy\", \"devil\", \"demon\", \"japanese\", \"ogre\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"people\"\r\n },\r\n \"japanese_goblin\": {\r\n \"keywords\": [\"red\", \"evil\", \"mask\", \"monster\", \"scary\", \"creepy\", \"japanese\", \"goblin\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"people\"\r\n },\r\n \"skull\": {\r\n \"keywords\": [\"dead\", \"skeleton\", \"creepy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"ghost\": {\r\n \"keywords\": [\"halloween\", \"spooky\", \"scary\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"people\"\r\n },\r\n \"alien\": {\r\n \"keywords\": [\"UFO\", \"paul\", \"weird\", \"outer_space\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"people\"\r\n },\r\n \"robot\": {\r\n \"keywords\": [\"computer\", \"machine\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"smiley_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"happy\", \"smile\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"people\"\r\n },\r\n \"smile_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"smile\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"joy_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"haha\", \"happy\", \"tears\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"people\"\r\n },\r\n \"heart_eyes_cat\": {\r\n \"keywords\": [\"animal\", \"love\", \"like\", \"affection\", \"cats\", \"valentines\", \"heart\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"people\"\r\n },\r\n \"smirk_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"smirk\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"kissing_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"kiss\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"people\"\r\n },\r\n \"scream_cat\": {\r\n \"keywords\": [\"animal\", \"cats\", \"munch\", \"scared\", \"scream\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"crying_cat_face\": {\r\n \"keywords\": [\"animal\", \"tears\", \"weep\", \"sad\", \"cats\", \"upset\", \"cry\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"people\"\r\n },\r\n \"pouting_cat\": {\r\n \"keywords\": [\"animal\", \"cats\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"people\"\r\n },\r\n \"raised_hands\": {\r\n \"keywords\": [\"gesture\", \"hooray\", \"yea\", \"celebration\", \"hands\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"clap\": {\r\n \"keywords\": [\"hands\", \"praise\", \"applause\", \"congrats\", \"yay\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"wave\": {\r\n \"keywords\": [\"hands\", \"gesture\", \"goodbye\", \"solong\", \"farewell\", \"hello\", \"palm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"+1\": {\r\n \"keywords\": [\"thumbsup\", \"yes\", \"awesome\", \"good\", \"agree\", \"accept\", \"cool\", \"hand\", \"like\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"minus1\": { // TODO: should be \"-1\", fix TS bug\r\n \"keywords\": [\"thumbsdown\", \"no\", \"dislike\", \"hand\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"facepunch\": {\r\n \"keywords\": [\"angry\", \"violence\", \"fist\", \"hit\", \"attack\", \"hand\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"fist\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"grasp\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"v\": {\r\n \"keywords\": [\"fingers\", \"ohyeah\", \"hand\", \"peace\", \"victory\", \"two\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"ok_hand\": {\r\n \"keywords\": [\"fingers\", \"limbs\", \"perfect\", \"ok\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"hand\": {\r\n \"keywords\": [\"fingers\", \"stop\", \"highfive\", \"palm\", \"ban\", \"raised_hand\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"open_hands\": {\r\n \"keywords\": [\"fingers\", \"butterfly\", \"hands\", \"open\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"muscle\": {\r\n \"keywords\": [\"arm\", \"flex\", \"hand\", \"summer\", \"strong\", \"biceps\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"pray\": {\r\n \"keywords\": [\"please\", \"hope\", \"wish\", \"namaste\", \"highfive\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_up\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"direction\", \"up\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"point_up_2\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"up\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_down\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"down\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_left\": {\r\n \"keywords\": [\"direction\", \"fingers\", \"hand\", \"left\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"point_right\": {\r\n \"keywords\": [\"fingers\", \"hand\", \"direction\", \"right\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"middle_finger\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"rude\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"splayed_fingers\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"palm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sign_of_horns\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"evil_eye\", \"metal\", \"rock_on\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"vulcan_salute\": {\r\n \"keywords\": [\"hand\", \"fingers\", \"spock\", \"star trek\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"writing_hand\": {\r\n \"keywords\": [\"pen\", \"stationery\", \"write\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"nail_care\": {\r\n \"keywords\": [\"beauty\", \"manicure\", \"finger\", \"fashion\", \"nail\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"lips\": {\r\n \"keywords\": [\"mouth\", \"kiss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tongue\": {\r\n \"keywords\": [\"mouth\", \"playful\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"ear\": {\r\n \"keywords\": [\"face\", \"hear\", \"sound\", \"listen\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"nose\": {\r\n \"keywords\": [\"smell\", \"sniff\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"eye\": {\r\n \"keywords\": [\"face\", \"look\", \"see\", \"watch\", \"stare\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"eyes\": {\r\n \"keywords\": [\"look\", \"watch\", \"stalk\", \"peek\", \"see\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"bust_in_silhouette\": {\r\n \"keywords\": [\"user\", \"person\", \"human\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"people\"\r\n },\r\n \"busts_in_silhouette\": {\r\n \"keywords\": [\"user\", \"person\", \"human\", \"group\", \"team\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"people\"\r\n },\r\n \"speaking_head\": {\r\n \"keywords\": [\"user\", \"person\", \"human\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"baby\": {\r\n \"keywords\": [\"child\", \"boy\", \"girl\", \"toddler\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"boy\": {\r\n \"keywords\": [\"man\", \"male\", \"guy\", \"teenager\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"girl\": {\r\n \"keywords\": [\"female\", \"woman\", \"teenager\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"man\": {\r\n \"keywords\": [\"mustache\", \"father\", \"dad\", \"guy\", \"classy\", \"sir\", \"moustache\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"woman\": {\r\n \"keywords\": [\"female\", \"girls\", \"lady\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"person_with_blond_hair\": {\r\n \"keywords\": [\"man\", \"male\", \"boy\", \"blonde\", \"guy\", \"person\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"people\"\r\n },\r\n \"older_man\": {\r\n \"keywords\": [\"human\", \"male\", \"men\", \"old\", \"elder\", \"senior\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"people\"\r\n },\r\n \"older_woman\": {\r\n \"keywords\": [\"human\", \"female\", \"women\", \"lady\", \"old\", \"elder\", \"senior\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"man_with_gua_pi_mao\": {\r\n \"keywords\": [\"male\", \"boy\", \"chinese\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"people\"\r\n },\r\n \"man_with_turban\": {\r\n \"keywords\": [\"male\", \"indian\", \"hinduism\", \"arabs\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"people\"\r\n },\r\n \"cop\": {\r\n \"keywords\": [\"man\", \"police\", \"law\", \"legal\", \"enforcement\", \"arrest\", \"911\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"people\"\r\n },\r\n \"construction_worker\": {\r\n \"keywords\": [\"male\", \"human\", \"wip\", \"guy\", \"build\", \"construction\", \"worker\", \"labor\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"people\"\r\n },\r\n \"guardsman\": {\r\n \"keywords\": [\"uk\", \"gb\", \"british\", \"male\", \"guy\", \"royal\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"sleuth\": {\r\n \"keywords\": [\"human\", \"spy\", \"detective\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"people\"\r\n },\r\n \"santa\": {\r\n \"keywords\": [\"festival\", \"man\", \"male\", \"xmas\", \"father christmas\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"angel\": {\r\n \"keywords\": [\"heaven\", \"wings\", \"halo\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"princess\": {\r\n \"keywords\": [\"girl\", \"woman\", \"female\", \"blond\", \"crown\", \"royal\", \"queen\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"people\"\r\n },\r\n \"bride_with_veil\": {\r\n \"keywords\": [\"couple\", \"marriage\", \"wedding\", \"woman\", \"bride\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"people\"\r\n },\r\n \"runner\": {\r\n \"keywords\": [\"man\", \"walking\", \"exercise\", \"race\", \"running\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"walking\": {\r\n \"keywords\": [\"human\", \"feet\", \"steps\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"dancer\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"fun\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dancers\": {\r\n \"keywords\": [\"female\", \"bunny\", \"women\", \"girls\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"people\"\r\n },\r\n \"couple\": {\r\n \"keywords\": [\"pair\", \"people\", \"human\", \"love\", \"date\", \"dating\", \"like\", \"affection\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"people\"\r\n },\r\n \"two_men_holding_hands\": {\r\n \"keywords\": [\"pair\", \"couple\", \"love\", \"like\", \"bromance\", \"friendship\", \"people\", \"human\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"people\"\r\n },\r\n \"two_women_holding_hands\": {\r\n \"keywords\": [\"pair\", \"friendship\", \"couple\", \"love\", \"like\", \"female\", \"people\", \"human\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"people\"\r\n },\r\n \"bow\": {\r\n \"keywords\": [\"man\", \"male\", \"boy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"information_desk_person\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"human\", \"information\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"no_good\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"nope\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"people\"\r\n },\r\n \"ok_woman\": {\r\n \"keywords\": [\"women\", \"girl\", \"female\", \"pink\", \"human\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"raising_hand\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"person_with_pouting_face\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"person_frowning\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"sad\", \"depressed\", \"discouraged\", \"unhappy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"haircut\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"massage\": {\r\n \"keywords\": [\"female\", \"girl\", \"woman\", \"head\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"female_couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐ฉโโค๏ธโ๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"male_couple_with_heart\": {\r\n \"keywords\": [\"pair\", \"love\", \"like\", \"affection\", \"human\", \"dating\", \"valentines\", \"marriage\"],\r\n \"char\": \"๐จโโค๏ธโ๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"female_couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐ฉโโค๏ธโ๐โ๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"male_couplekiss\": {\r\n \"keywords\": [\"pair\", \"valentines\", \"love\", \"like\", \"dating\", \"marriage\"],\r\n \"char\": \"๐จโโค๏ธโ๐โ๐จ\",\r\n \"category\": \"people\"\r\n },\r\n \"family\": {\r\n \"keywords\": [\"home\", \"parents\", \"child\", \"mom\", \"dad\", \"father\", \"mother\", \"people\", \"human\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"child\"],\r\n \"char\": \"๐จโ๐ฉโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_man_woman_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐ฉโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_women_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐ฉโ๐ฉโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girl\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girl_boy\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐งโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_boys\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐ฆโ๐ฆ\",\r\n \"category\": \"people\"\r\n },\r\n \"family_men_girls\": {\r\n \"keywords\": [\"home\", \"parents\", \"people\", \"human\", \"children\"],\r\n \"char\": \"๐จโ๐จโ๐งโ๐ง\",\r\n \"category\": \"people\"\r\n },\r\n \"womans_clothes\": {\r\n \"keywords\": [\"fashion\", \"shopping\", \"female\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"shirt\": {\r\n \"keywords\": [\"fashion\", \"cloth\", \"casual\", \"tshirt\", \"tee\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"jeans\": {\r\n \"keywords\": [\"fashion\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"necktie\": {\r\n \"keywords\": [\"shirt\", \"suitup\", \"formal\", \"fashion\", \"cloth\", \"business\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dress\": {\r\n \"keywords\": [\"clothes\", \"fashion\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"bikini\": {\r\n \"keywords\": [\"swimming\", \"female\", \"woman\", \"girl\", \"fashion\", \"beach\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kimono\": {\r\n \"keywords\": [\"dress\", \"fashion\", \"women\", \"female\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"lipstick\": {\r\n \"keywords\": [\"female\", \"girl\", \"fashion\", \"woman\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"kiss\": {\r\n \"keywords\": [\"face\", \"lips\", \"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"footprints\": {\r\n \"keywords\": [\"feet\", \"tracking\", \"walking\", \"beach\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"people\"\r\n },\r\n \"high_heel\": {\r\n \"keywords\": [\"fashion\", \"shoes\", \"female\", \"pumps\", \"stiletto\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"people\"\r\n },\r\n \"sandal\": {\r\n \"keywords\": [\"shoes\", \"fashion\", \"flip flops\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"people\"\r\n },\r\n \"boot\": {\r\n \"keywords\": [\"shoes\", \"fashion\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"people\"\r\n },\r\n \"mans_shoe\": {\r\n \"keywords\": [\"fashion\", \"male\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"athletic_shoe\": {\r\n \"keywords\": [\"shoes\", \"sports\", \"sneakers\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"womans_hat\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"female\", \"lady\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"tophat\": {\r\n \"keywords\": [\"magic\", \"gentleman\", \"classy\", \"circus\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"people\"\r\n },\r\n \"helmet\": {\r\n \"keywords\": [\"construction\", \"build\"],\r\n \"char\": \"โ\",\r\n \"category\": \"people\"\r\n },\r\n \"mortar_board\": {\r\n \"keywords\": [\"school\", \"college\", \"degree\", \"university\", \"graduation\", \"cap\", \"hat\", \"legal\", \"learn\", \"education\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"crown\": {\r\n \"keywords\": [\"king\", \"kod\", \"leader\", \"royalty\", \"lord\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"school_satchel\": {\r\n \"keywords\": [\"student\", \"education\", \"bag\", \"backpack\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"pouch\": {\r\n \"keywords\": [\"bag\", \"accessories\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"purse\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"money\", \"sales\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"handbag\": {\r\n \"keywords\": [\"fashion\", \"accessory\", \"accessories\", \"shopping\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"briefcase\": {\r\n \"keywords\": [\"business\", \"documents\", \"work\", \"law\", \"legal\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"people\"\r\n },\r\n \"eyeglasses\": {\r\n \"keywords\": [\"fashion\", \"accessories\", \"eyesight\", \"nerdy\", \"dork\", \"geek\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dark_sunglasses\": {\r\n \"keywords\": [\"face\", \"cool\", \"accessories\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"people\"\r\n },\r\n \"ring\": {\r\n \"keywords\": [\"wedding\", \"propose\", \"marriage\", \"valentines\", \"diamond\", \"fashion\", \"jewelry\", \"gem\", \"engagement\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"closed_umbrella\": {\r\n \"keywords\": [\"weather\", \"rain\", \"drizzle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"people\"\r\n },\r\n \"dog\": {\r\n \"keywords\": [\"animal\", \"friend\", \"nature\", \"woof\", \"puppy\", \"pet\", \"faithful\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cat\": {\r\n \"keywords\": [\"animal\", \"meow\", \"nature\", \"pet\", \"kitten\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mouse\": {\r\n \"keywords\": [\"animal\", \"nature\", \"cheese\", \"rodent\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hamster\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rabbit\": {\r\n \"keywords\": [\"animal\", \"nature\", \"pet\", \"spring\", \"magic\", \"bunny\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bear\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wild\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"panda_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"panda\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"koala\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tiger\": {\r\n \"keywords\": [\"animal\", \"cat\", \"danger\", \"wild\", \"nature\", \"roar\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"lion_face\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cow\": {\r\n \"keywords\": [\"beef\", \"ox\", \"animal\", \"nature\", \"moo\", \"milk\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig\": {\r\n \"keywords\": [\"animal\", \"oink\", \"nature\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig_nose\": {\r\n \"keywords\": [\"animal\", \"oink\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"frog\": {\r\n \"keywords\": [\"animal\", \"nature\", \"croak\", \"toad\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"octopus\": {\r\n \"keywords\": [\"animal\", \"creature\", \"ocean\", \"sea\", \"nature\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"monkey_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"circus\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"see_no_evil\": {\r\n \"keywords\": [\"monkey\", \"animal\", \"nature\", \"haha\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hear_no_evil\": {\r\n \"keywords\": [\"animal\", \"monkey\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"speak_no_evil\": {\r\n \"keywords\": [\"monkey\", \"animal\", \"nature\", \"omg\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"monkey\": {\r\n \"keywords\": [\"animal\", \"nature\", \"banana\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chicken\": {\r\n \"keywords\": [\"animal\", \"cluck\", \"nature\", \"bird\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"penguin\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bird\": {\r\n \"keywords\": [\"animal\", \"nature\", \"fly\", \"tweet\", \"spring\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"baby_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"bird\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hatching_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"egg\", \"born\", \"baby\", \"bird\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hatched_chick\": {\r\n \"keywords\": [\"animal\", \"chicken\", \"baby\", \"bird\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"wolf\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wild\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"boar\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"horse\": {\r\n \"keywords\": [\"animal\", \"brown\", \"nature\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"unicorn_face\": {\r\n \"keywords\": [\"animal\", \"nature\", \"mystical\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bee\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"bug\", \"spring\", \"honey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bug\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"worm\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snail\": {\r\n \"keywords\": [\"slow\", \"animal\", \"shell\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"beetle\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"ladybug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ant\": {\r\n \"keywords\": [\"animal\", \"insect\", \"nature\", \"bug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"spider\": {\r\n \"keywords\": [\"animal\", \"arachnid\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"scorpion\": {\r\n \"keywords\": [\"animal\", \"arachnid\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crab\": {\r\n \"keywords\": [\"animal\", \"crustacean\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snake\": {\r\n \"keywords\": [\"animal\", \"evil\", \"nature\", \"hiss\", \"python\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"turtle\": {\r\n \"keywords\": [\"animal\", \"slow\", \"nature\", \"tortoise\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tropical_fish\": {\r\n \"keywords\": [\"animal\", \"swim\", \"ocean\", \"beach\", \"nemo\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fish\": {\r\n \"keywords\": [\"animal\", \"food\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"blowfish\": {\r\n \"keywords\": [\"animal\", \"nature\", \"food\", \"sea\", \"ocean\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dolphin\": {\r\n \"keywords\": [\"animal\", \"nature\", \"fish\", \"sea\", \"ocean\", \"flipper\", \"fins\", \"beach\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"whale\": {\r\n \"keywords\": [\"animal\", \"nature\", \"sea\", \"ocean\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"whale2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"sea\", \"ocean\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crocodile\": {\r\n \"keywords\": [\"animal\", \"nature\", \"reptile\", \"lizard\", \"alligator\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"leopard\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tiger2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"roar\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"water_buffalo\": {\r\n \"keywords\": [\"animal\", \"nature\", \"ox\", \"cow\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ox\": {\r\n \"keywords\": [\"animal\", \"cow\", \"beef\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cow2\": {\r\n \"keywords\": [\"beef\", \"ox\", \"animal\", \"nature\", \"moo\", \"milk\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dromedary_camel\": {\r\n \"keywords\": [\"animal\", \"hot\", \"desert\", \"hump\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"camel\": {\r\n \"keywords\": [\"animal\", \"nature\", \"hot\", \"desert\", \"hump\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"elephant\": {\r\n \"keywords\": [\"animal\", \"nature\", \"nose\", \"thailand\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"goat\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ram\": {\r\n \"keywords\": [\"animal\", \"sheep\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sheep\": {\r\n \"keywords\": [\"animal\", \"nature\", \"wool\", \"shipit\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"racehorse\": {\r\n \"keywords\": [\"animal\", \"gamble\", \"luck\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"pig2\": {\r\n \"keywords\": [\"animal\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rat\": {\r\n \"keywords\": [\"animal\", \"mouse\", \"rodent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mouse2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"rodent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rooster\": {\r\n \"keywords\": [\"animal\", \"nature\", \"chicken\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"turkey\": {\r\n \"keywords\": [\"animal\", \"bird\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dove_of_peace\": {\r\n \"keywords\": [\"animal\", \"bird\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dog2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"friend\", \"doge\", \"pet\", \"faithful\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"poodle\": {\r\n \"keywords\": [\"dog\", \"animal\", \"101\", \"nature\", \"pet\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cat2\": {\r\n \"keywords\": [\"animal\", \"meow\", \"pet\", \"cats\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rabbit2\": {\r\n \"keywords\": [\"animal\", \"nature\", \"pet\", \"magic\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chipmunk\": {\r\n \"keywords\": [\"animal\", \"nature\", \"rodent\", \"squirrel\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"feet\": {\r\n \"keywords\": [\"animal\", \"tracking\", \"footprints\", \"dog\", \"cat\", \"pet\", \"paw_prints\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dragon\": {\r\n \"keywords\": [\"animal\", \"myth\", \"nature\", \"chinese\", \"green\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dragon_face\": {\r\n \"keywords\": [\"animal\", \"myth\", \"nature\", \"chinese\", \"green\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cactus\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"christmas_tree\": {\r\n \"keywords\": [\"festival\", \"vacation\", \"december\", \"xmas\", \"celebration\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"evergreen_tree\": {\r\n \"keywords\": [\"plant\", \"nature\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"deciduous_tree\": {\r\n \"keywords\": [\"plant\", \"nature\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"palm_tree\": {\r\n \"keywords\": [\"plant\", \"vegetable\", \"nature\", \"summer\", \"beach\", \"mojito\", \"tropical\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"seedling\": {\r\n \"keywords\": [\"plant\", \"nature\", \"grass\", \"lawn\", \"spring\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"herb\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"medicine\", \"weed\", \"grass\", \"lawn\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"shamrock\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\", \"irish\", \"clover\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"four_leaf_clover\": {\r\n \"keywords\": [\"vegetable\", \"plant\", \"nature\", \"lucky\", \"irish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bamboo\": {\r\n \"keywords\": [\"plant\", \"nature\", \"vegetable\", \"panda\", \"pine_decoration\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tanabata_tree\": {\r\n \"keywords\": [\"plant\", \"nature\", \"branch\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"leaves\": {\r\n \"keywords\": [\"nature\", \"plant\", \"tree\", \"vegetable\", \"grass\", \"lawn\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fallen_leaf\": {\r\n \"keywords\": [\"nature\", \"plant\", \"vegetable\", \"leaves\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"maple_leaf\": {\r\n \"keywords\": [\"nature\", \"plant\", \"vegetable\", \"canada\", \"fall\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ear_of_rice\": {\r\n \"keywords\": [\"nature\", \"plant\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"hibiscus\": {\r\n \"keywords\": [\"plant\", \"vegetable\", \"flowers\", \"beach\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sunflower\": {\r\n \"keywords\": [\"nature\", \"plant\", \"fall\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"rose\": {\r\n \"keywords\": [\"flowers\", \"valentines\", \"love\", \"spring\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"tulip\": {\r\n \"keywords\": [\"flowers\", \"plant\", \"nature\", \"summer\", \"spring\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"blossom\": {\r\n \"keywords\": [\"nature\", \"flowers\", \"yellow\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cherry_blossom\": {\r\n \"keywords\": [\"nature\", \"plant\", \"spring\", \"flower\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"bouquet\": {\r\n \"keywords\": [\"flowers\", \"nature\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"mushroom\": {\r\n \"keywords\": [\"plant\", \"vegetable\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"chestnut\": {\r\n \"keywords\": [\"food\", \"squirrel\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"jack_o_lantern\": {\r\n \"keywords\": [\"halloween\", \"light\", \"pumpkin\", \"creepy\", \"fall\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"shell\": {\r\n \"keywords\": [\"nature\", \"sea\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"spider_web\": {\r\n \"keywords\": [\"animal\", \"insect\", \"arachnid\", \"silk\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_americas\": {\r\n \"keywords\": [\"globe\", \"world\", \"USA\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_africa\": {\r\n \"keywords\": [\"globe\", \"world\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"earth_asia\": {\r\n \"keywords\": [\"globe\", \"world\", \"east\", \"international\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"full_moon\": {\r\n \"keywords\": [\"nature\", \"yellow\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waning_gibbous_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\", \"waxing_gibbous_moon\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"last_quarter_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waning_crescent_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"new_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"waxing_crescent_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"first_quarter_moon\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"moon\": {\r\n \"keywords\": [\"nature\", \"night\", \"sky\", \"gray\", \"twilight\", \"planet\", \"space\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"new_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"full_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"first_quarter_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"last_quarter_moon_with_face\": {\r\n \"keywords\": [\"nature\", \"twilight\", \"planet\", \"space\", \"night\", \"evening\", \"sleep\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sun_with_face\": {\r\n \"keywords\": [\"nature\", \"morning\", \"sky\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"crescent_moon\": {\r\n \"keywords\": [\"night\", \"sleep\", \"sky\", \"evening\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"star\": {\r\n \"keywords\": [\"night\", \"yellow\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"star2\": {\r\n \"keywords\": [\"night\", \"sparkle\", \"awesome\", \"good\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dizzy\": {\r\n \"keywords\": [\"star\", \"sparkle\", \"shoot\", \"magic\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sparkles\": {\r\n \"keywords\": [\"stars\", \"shine\", \"shiny\", \"cool\", \"awesome\", \"good\", \"magic\"],\r\n \"char\": \"โจ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"comet\": {\r\n \"keywords\": [\"space\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sunny\": {\r\n \"keywords\": [\"weather\", \"nature\", \"brightness\", \"summer\", \"beach\", \"spring\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_with_small_cloud\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"partly_sunny\": {\r\n \"keywords\": [\"weather\", \"nature\", \"cloudy\", \"morning\", \"fall\", \"spring\"],\r\n \"char\": \"โ
\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_behind_cloud\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"white_sun_behind_cloud_with_rain\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud\": {\r\n \"keywords\": [\"weather\", \"sky\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_rain\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"thunder_cloud_and_rain\": {\r\n \"keywords\": [\"weather\", \"lightning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_lightning\": {\r\n \"keywords\": [\"weather\", \"thunder\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"zap\": {\r\n \"keywords\": [\"thunder\", \"weather\", \"lightning bolt\", \"fast\"],\r\n \"char\": \"โก\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fire\": {\r\n \"keywords\": [\"hot\", \"cook\", \"flame\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"boom\": {\r\n \"keywords\": [\"bomb\", \"explode\", \"explosion\", \"collision\", \"blown\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowflake\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_snow\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowman\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\", \"frozen\", \"without_snow\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"snowman_with_snow\": {\r\n \"keywords\": [\"winter\", \"season\", \"cold\", \"weather\", \"christmas\", \"xmas\", \"frozen\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"wind_blowing_face\": {\r\n \"keywords\": [\"gust\", \"air\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"dash\": {\r\n \"keywords\": [\"wind\", \"air\", \"fast\", \"shoo\", \"fart\", \"smoke\", \"puff\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"cloud_with_tornado\": {\r\n \"keywords\": [\"weather\", \"cyclone\", \"twister\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"fog\": {\r\n \"keywords\": [\"weather\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"umbrella_without_rain\": {\r\n \"keywords\": [\"weather\", \"spring\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"umbrella\": {\r\n \"keywords\": [\"rainy\", \"weather\", \"spring\"],\r\n \"char\": \"โ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"droplet\": {\r\n \"keywords\": [\"water\", \"drip\", \"faucet\", \"spring\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"sweat_drops\": {\r\n \"keywords\": [\"water\", \"drip\", \"oops\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"ocean\": {\r\n \"keywords\": [\"sea\", \"water\", \"wave\", \"nature\", \"tsunami\", \"disaster\"],\r\n \"char\": \"๐\",\r\n \"category\": \"animals_and_nature\"\r\n },\r\n \"green_apple\": {\r\n \"keywords\": [\"fruit\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"apple\": {\r\n \"keywords\": [\"fruit\", \"mac\", \"school\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pear\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tangerine\": {\r\n \"keywords\": [\"food\", \"fruit\", \"nature\", \"orange\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"lemon\": {\r\n \"keywords\": [\"fruit\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"banana\": {\r\n \"keywords\": [\"fruit\", \"food\", \"monkey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"watermelon\": {\r\n \"keywords\": [\"fruit\", \"food\", \"picnic\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"grapes\": {\r\n \"keywords\": [\"fruit\", \"food\", \"wine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"strawberry\": {\r\n \"keywords\": [\"fruit\", \"food\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"melon\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cherries\": {\r\n \"keywords\": [\"food\", \"fruit\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"peach\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pineapple\": {\r\n \"keywords\": [\"fruit\", \"nature\", \"food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tomato\": {\r\n \"keywords\": [\"fruit\", \"vegetable\", \"nature\", \"food\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"eggplant\": {\r\n \"keywords\": [\"vegetable\", \"nature\", \"food\", \"aubergine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hot_pepper\": {\r\n \"keywords\": [\"food\", \"spicy\", \"chilli\", \"chili\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"corn\": {\r\n \"keywords\": [\"food\", \"vegetable\", \"plant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sweet_potato\": {\r\n \"keywords\": [\"food\", \"nature\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"honey_pot\": {\r\n \"keywords\": [\"bees\", \"sweet\", \"kitchen\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bread\": {\r\n \"keywords\": [\"food\", \"wheat\", \"breakfast\", \"toast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cheese_wedge\": {\r\n \"keywords\": [\"food\", \"chadder\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"poultry_leg\": {\r\n \"keywords\": [\"food\", \"meat\", \"drumstick\", \"bird\", \"chicken\", \"turkey\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"meat_on_bone\": {\r\n \"keywords\": [\"good\", \"food\", \"drumstick\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fried_shrimp\": {\r\n \"keywords\": [\"food\", \"animal\", \"appetizer\", \"summer\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"egg\": {\r\n \"keywords\": [\"food\", \"breakfast\", \"kitchen\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hamburger\": {\r\n \"keywords\": [\"meat\", \"fast food\", \"beef\", \"cheeseburger\", \"mcdonalds\", \"burger king\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fries\": {\r\n \"keywords\": [\"chips\", \"snack\", \"fast food\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"hot_dog\": {\r\n \"keywords\": [\"food\", \"frankfurter\", \"hotdog\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"pizza\": {\r\n \"keywords\": [\"food\", \"party\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"spaghetti\": {\r\n \"keywords\": [\"food\", \"italian\", \"noodle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"taco\": {\r\n \"keywords\": [\"food\", \"mexican\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"burrito\": {\r\n \"keywords\": [\"food\", \"mexican\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"ramen\": {\r\n \"keywords\": [\"food\", \"japanese\", \"noodle\", \"chopsticks\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"stew\": {\r\n \"keywords\": [\"food\", \"meat\", \"soup\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fish_cake\": {\r\n \"keywords\": [\"food\", \"japan\", \"sea\", \"beach\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sushi\": {\r\n \"keywords\": [\"food\", \"fish\", \"japanese\", \"rice\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bento\": {\r\n \"keywords\": [\"food\", \"japanese\", \"box\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"curry\": {\r\n \"keywords\": [\"food\", \"spicy\", \"hot\", \"indian\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice_ball\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice\": {\r\n \"keywords\": [\"food\", \"china\", \"asian\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"rice_cracker\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"oden\": {\r\n \"keywords\": [\"food\", \"japanese\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"dango\": {\r\n \"keywords\": [\"food\", \"dessert\", \"sweet\", \"japanese\", \"barbecue\", \"meat\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"shaved_ice\": {\r\n \"keywords\": [\"hot\", \"dessert\", \"summer\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"ice_cream\": {\r\n \"keywords\": [\"food\", \"hot\", \"dessert\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"icecream\": {\r\n \"keywords\": [\"food\", \"hot\", \"dessert\", \"summer\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cake\": {\r\n \"keywords\": [\"food\", \"dessert\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"birthday\": {\r\n \"keywords\": [\"food\", \"dessert\", \"cake\"],\r\n \"char\": \"๐\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"custard\": {\r\n \"keywords\": [\"dessert\", \"food\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"candy\": {\r\n \"keywords\": [\"snack\", \"dessert\", \"sweet\", \"lolly\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"lollipop\": {\r\n \"keywords\": [\"food\", \"snack\", \"candy\", \"sweet\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"chocolate_bar\": {\r\n \"keywords\": [\"food\", \"snack\", \"dessert\", \"sweet\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"popcorn\": {\r\n \"keywords\": [\"food\", \"movie theater\", \"films\", \"snack\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"doughnut\": {\r\n \"keywords\": [\"food\", \"dessert\", \"snack\", \"sweet\", \"donut\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cookie\": {\r\n \"keywords\": [\"food\", \"snack\", \"oreo\", \"chocolate\", \"sweet\", \"dessert\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"beer\": {\r\n \"keywords\": [\"relax\", \"beverage\", \"drink\", \"drunk\", \"party\", \"pub\", \"summer\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"beers\": {\r\n \"keywords\": [\"relax\", \"beverage\", \"drink\", \"drunk\", \"party\", \"pub\", \"summer\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"wine_glass\": {\r\n \"keywords\": [\"drink\", \"beverage\", \"drunk\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"cocktail\": {\r\n \"keywords\": [\"drink\", \"drunk\", \"alcohol\", \"beverage\", \"booze\", \"mojito\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tropical_drink\": {\r\n \"keywords\": [\"beverage\", \"cocktail\", \"summer\", \"beach\", \"alcohol\", \"booze\", \"mojito\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"bottle\": {\r\n \"keywords\": [\"drink\", \"wine\", \"champagne\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"sake\": {\r\n \"keywords\": [\"wine\", \"drink\", \"drunk\", \"beverage\", \"japanese\", \"alcohol\", \"booze\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"tea\": {\r\n \"keywords\": [\"drink\", \"bowl\", \"breakfast\", \"green\", \"british\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"coffee\": {\r\n \"keywords\": [\"beverage\", \"caffeine\", \"latte\", \"espresso\"],\r\n \"char\": \"โ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"baby_bottle\": {\r\n \"keywords\": [\"food\", \"container\", \"milk\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fork_and_knife\": {\r\n \"keywords\": [\"cutlery\", \"kitchen\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"fork_and_knife_with_plate\": {\r\n \"keywords\": [\"food\", \"eat\", \"meal\", \"lunch\", \"dinner\", \"restaurant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"food_and_drink\"\r\n },\r\n \"soccer\": {\r\n \"keywords\": [\"sports\", \"football\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"activity\"\r\n },\r\n \"basketball\": {\r\n \"keywords\": [\"sports\", \"balls\", \"NBA\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"football\": {\r\n \"keywords\": [\"sports\", \"balls\", \"NFL\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"baseball\": {\r\n \"keywords\": [\"sports\", \"balls\"],\r\n \"char\": \"โพ\",\r\n \"category\": \"activity\"\r\n },\r\n \"tennis\": {\r\n \"keywords\": [\"sports\", \"balls\", \"green\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"activity\"\r\n },\r\n \"volleyball\": {\r\n \"keywords\": [\"sports\", \"balls\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"rugby_football\": {\r\n \"keywords\": [\"sports\", \"team\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"8ball\": {\r\n \"keywords\": [\"pool\", \"hobby\", \"game\", \"luck\", \"magic\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"activity\"\r\n },\r\n \"golf\": {\r\n \"keywords\": [\"sports\", \"business\", \"flag\", \"hole\", \"summer\"],\r\n \"char\": \"โณ\",\r\n \"category\": \"activity\"\r\n },\r\n \"golfer\": {\r\n \"keywords\": [\"sports\", \"business\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"table_tennis\": {\r\n \"keywords\": [\"sports\", \"pingpong\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"badminton\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"ice_hockey\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"field_hockey\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"cricket\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"ski\": {\r\n \"keywords\": [\"sports\", \"winter\", \"cold\", \"snow\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"activity\"\r\n },\r\n \"skier\": {\r\n \"keywords\": [\"sports\", \"winter\", \"snow\"],\r\n \"char\": \"โท\",\r\n \"category\": \"activity\"\r\n },\r\n \"snowboarder\": {\r\n \"keywords\": [\"sports\", \"winter\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"ice_skate\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"bow_and_arrow\": {\r\n \"keywords\": [\"sports\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"activity\"\r\n },\r\n \"fishing_pole_and_fish\": {\r\n \"keywords\": [\"food\", \"hobby\", \"summer\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"activity\"\r\n },\r\n \"rowboat\": {\r\n \"keywords\": [\"sports\", \"hobby\", \"water\", \"ship\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"activity\"\r\n },\r\n \"swimmer\": {\r\n \"keywords\": [\"sports\", \"exercise\", \"human\", \"athlete\", \"water\", \"summer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"surfer\": {\r\n \"keywords\": [\"sports\", \"ocean\", \"sea\", \"summer\", \"beach\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"bath\": {\r\n \"keywords\": [\"clean\", \"shower\", \"bathroom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"person_with_ball\": {\r\n \"keywords\": [\"sports\", \"human\"],\r\n \"char\": \"โน\",\r\n \"category\": \"activity\"\r\n },\r\n \"weight_lifter\": {\r\n \"keywords\": [\"sports\", \"training\", \"exercise\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"bicyclist\": {\r\n \"keywords\": [\"sports\", \"bike\", \"exercise\", \"hipster\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"activity\"\r\n },\r\n \"mountain_bicyclist\": {\r\n \"keywords\": [\"transportation\", \"sports\", \"human\", \"race\", \"bike\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"activity\"\r\n },\r\n \"horse_racing\": {\r\n \"keywords\": [\"animal\", \"betting\", \"competition\", \"gambling\", \"luck\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"man_levitating\": {\r\n \"keywords\": [\"suit\", \"business\", \"levitate\", \"hover\", \"jump\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"activity\"\r\n },\r\n \"trophy\": {\r\n \"keywords\": [\"win\", \"award\", \"contest\", \"place\", \"ftw\", \"ceremony\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"running_shirt_with_sash\": {\r\n \"keywords\": [\"play\", \"pageant\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"activity\"\r\n },\r\n \"sports_medal\": {\r\n \"keywords\": [\"award\", \"winning\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"activity\"\r\n },\r\n \"military_medal\": {\r\n \"keywords\": [\"award\", \"winning\", \"army\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"reminder_ribbon\": {\r\n \"keywords\": [\"sports\", \"cause\", \"support\", \"awareness\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"rosette\": {\r\n \"keywords\": [\"flower\", \"decoration\", \"military\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"activity\"\r\n },\r\n \"ticket\": {\r\n \"keywords\": [\"event\", \"concert\", \"pass\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"activity\"\r\n },\r\n \"admission_ticket\": {\r\n \"keywords\": [\"sports\", \"concert\", \"entrance\"],\r\n \"char\": \"๐\",\r\n \"category\": \"activity\"\r\n },\r\n \"performing_arts\": {\r\n \"keywords\": [\"acting\", \"theater\", \"drama\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"activity\"\r\n },\r\n \"art\": {\r\n \"keywords\": [\"design\", \"paint\", \"draw\", \"colors\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"activity\"\r\n },\r\n \"circus_tent\": {\r\n \"keywords\": [\"festival\", \"carnival\", \"party\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"activity\"\r\n },\r\n \"microphone\": {\r\n \"keywords\": [\"sound\", \"music\", \"PA\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"activity\"\r\n },\r\n \"headphones\": {\r\n \"keywords\": [\"music\", \"score\", \"gadgets\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"activity\"\r\n },\r\n \"musical_score\": {\r\n \"keywords\": [\"treble\", \"clef\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"activity\"\r\n },\r\n \"musical_keyboard\": {\r\n \"keywords\": [\"piano\", \"instrument\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"activity\"\r\n },\r\n \"saxophone\": {\r\n \"keywords\": [\"music\", \"instrument\", \"jazz\", \"blues\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"activity\"\r\n },\r\n \"trumpet\": {\r\n \"keywords\": [\"music\", \"brass\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"activity\"\r\n },\r\n \"guitar\": {\r\n \"keywords\": [\"music\", \"instrument\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"activity\"\r\n },\r\n \"violin\": {\r\n \"keywords\": [\"music\", \"instrument\", \"orchestra\", \"symphony\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"activity\"\r\n },\r\n \"clapper\": {\r\n \"keywords\": [\"movie\", \"film\", \"record\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"activity\"\r\n },\r\n \"video_game\": {\r\n \"keywords\": [\"play\", \"console\", \"PS4\", \"controller\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"activity\"\r\n },\r\n \"space_invader\": {\r\n \"keywords\": [\"game\", \"arcade\", \"play\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"activity\"\r\n },\r\n \"dart\": {\r\n \"keywords\": [\"game\", \"play\", \"bar\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"activity\"\r\n },\r\n \"game_die\": {\r\n \"keywords\": [\"dice\", \"random\", \"tabletop\", \"play\", \"luck\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"activity\"\r\n },\r\n \"slot_machine\": {\r\n \"keywords\": [\"bet\", \"gamble\", \"vegas\", \"fruit machine\", \"luck\", \"casino\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"activity\"\r\n },\r\n \"bowling\": {\r\n \"keywords\": [\"sports\", \"fun\", \"play\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"activity\"\r\n },\r\n \"car\": {\r\n \"keywords\": [\"red\", \"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"taxi\": {\r\n \"keywords\": [\"uber\", \"vehicle\", \"cars\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"blue_car\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bus\": {\r\n \"keywords\": [\"car\", \"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"trolleybus\": {\r\n \"keywords\": [\"bart\", \"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"racing_car\": {\r\n \"keywords\": [\"sports\", \"race\", \"fast\", \"formula\", \"f1\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"police_car\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"transportation\", \"law\", \"legal\", \"enforcement\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ambulance\": {\r\n \"keywords\": [\"health\", \"911\", \"hospital\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fire_engine\": {\r\n \"keywords\": [\"transportation\", \"cars\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"minibus\": {\r\n \"keywords\": [\"vehicle\", \"car\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"truck\": {\r\n \"keywords\": [\"cars\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"articulated_lorry\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"transportation\", \"express\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tractor\": {\r\n \"keywords\": [\"vehicle\", \"car\", \"farming\", \"agriculture\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"racing_motorcycle\": {\r\n \"keywords\": [\"race\", \"sports\", \"fast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bike\": {\r\n \"keywords\": [\"sports\", \"bicycle\", \"exercise\", \"hipster\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rotating_light\": {\r\n \"keywords\": [\"police\", \"ambulance\", \"911\", \"emergency\", \"alert\", \"error\", \"pinged\", \"law\", \"legal\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_police_car\": {\r\n \"keywords\": [\"vehicle\", \"law\", \"legal\", \"enforcement\", \"911\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_bus\": {\r\n \"keywords\": [\"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_automobile\": {\r\n \"keywords\": [\"car\", \"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"oncoming_taxi\": {\r\n \"keywords\": [\"vehicle\", \"cars\", \"uber\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"aerial_tramway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"ski\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain_cableway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"ski\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"suspension_railway\": {\r\n \"keywords\": [\"vehicle\", \"transportation\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"railway_car\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"train\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"carriage\", \"public\", \"travel\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"monorail\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bullettrain_side\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bullettrain_front\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"speed\", \"fast\", \"public\", \"travel\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"light_rail\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain_railway\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"steam_locomotive\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"train\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"train2\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"metro\": {\r\n \"keywords\": [\"transportation\", \"blue-square\", \"mrt\", \"underground\", \"tube\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tram\": {\r\n \"keywords\": [\"transportation\", \"vehicle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"station\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"public\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"helicopter\": {\r\n \"keywords\": [\"transportation\", \"vehicle\", \"fly\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"small_airplane\": {\r\n \"keywords\": [\"flight\", \"transportation\", \"fly\", \"vehicle\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane\": {\r\n \"keywords\": [\"vehicle\", \"transportation\", \"flight\", \"fly\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane_departure\": {\r\n \"keywords\": [\"airport\", \"flight\", \"landing\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"airplane_arrival\": {\r\n \"keywords\": [\"airport\", \"flight\", \"boarding\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"boat\": {\r\n \"keywords\": [\"ship\", \"summer\", \"transportation\", \"water\", \"sailing\", \"sailboat\"],\r\n \"char\": \"โต\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"motor_boat\": {\r\n \"keywords\": [\"ship\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"speedboat\": {\r\n \"keywords\": [\"ship\", \"transportation\", \"vehicle\", \"summer\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ferry\": {\r\n \"keywords\": [\"boat\", \"ship\", \"yacht\"],\r\n \"char\": \"โด\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"passenger_ship\": {\r\n \"keywords\": [\"yacht\", \"cruise\", \"ferry\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rocket\": {\r\n \"keywords\": [\"launch\", \"ship\", \"staffmode\", \"NASA\", \"outer space\", \"outer_space\", \"fly\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"artificial_satellite\": {\r\n \"keywords\": [\"communication\", \"gps\", \"orbit\", \"spaceflight\", \"NASA\", \"ISS\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"seat\": {\r\n \"keywords\": [\"sit\", \"airplane\", \"transport\", \"bus\", \"flight\", \"fly\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"anchor\": {\r\n \"keywords\": [\"ship\", \"ferry\", \"sea\", \"boat\"],\r\n \"char\": \"โ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"construction\": {\r\n \"keywords\": [\"wip\", \"progress\", \"caution\", \"warning\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fuelpump\": {\r\n \"keywords\": [\"gas station\", \"petroleum\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"busstop\": {\r\n \"keywords\": [\"transportation\", \"wait\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"vertical_traffic_light\": {\r\n \"keywords\": [\"transportation\", \"driving\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"traffic_light\": {\r\n \"keywords\": [\"transportation\", \"signal\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"checkered_flag\": {\r\n \"keywords\": [\"contest\", \"finishline\", \"race\", \"gokart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ship\": {\r\n \"keywords\": [\"transportation\", \"titanic\", \"deploy\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"ferris_wheel\": {\r\n \"keywords\": [\"photo\", \"carnival\", \"londoneye\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"roller_coaster\": {\r\n \"keywords\": [\"carnival\", \"playground\", \"photo\", \"fun\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"carousel_horse\": {\r\n \"keywords\": [\"photo\", \"carnival\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"building_construction\": {\r\n \"keywords\": [\"wip\", \"working\", \"progress\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"foggy\": {\r\n \"keywords\": [\"photo\", \"mountain\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tokyo_tower\": {\r\n \"keywords\": [\"photo\", \"japanese\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"factory\": {\r\n \"keywords\": [\"building\", \"industry\", \"pollution\", \"smoke\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fountain\": {\r\n \"keywords\": [\"photo\", \"summer\", \"water\", \"fresh\"],\r\n \"char\": \"โฒ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rice_scene\": {\r\n \"keywords\": [\"photo\", \"japan\", \"asia\", \"tsukimi\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mountain\": {\r\n \"keywords\": [\"photo\", \"nature\", \"environment\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"snow_capped_mountain\": {\r\n \"keywords\": [\"photo\", \"nature\", \"environment\", \"winter\", \"cold\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mount_fuji\": {\r\n \"keywords\": [\"photo\", \"mountain\", \"nature\", \"japanese\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"volcano\": {\r\n \"keywords\": [\"photo\", \"nature\", \"disaster\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"japan\": {\r\n \"keywords\": [\"nation\", \"country\", \"japanese\", \"asia\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"camping\": {\r\n \"keywords\": [\"photo\", \"outdoors\", \"tent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"tent\": {\r\n \"keywords\": [\"photo\", \"camping\", \"outdoors\"],\r\n \"char\": \"โบ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"national_park\": {\r\n \"keywords\": [\"photo\", \"environment\", \"nature\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"motorway\": {\r\n \"keywords\": [\"road\", \"cupertino\", \"interstate\", \"highway\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"railway_track\": {\r\n \"keywords\": [\"train\", \"transportation\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sunrise\": {\r\n \"keywords\": [\"morning\", \"view\", \"vacation\", \"photo\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sunrise_over_mountains\": {\r\n \"keywords\": [\"view\", \"vacation\", \"photo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"desert\": {\r\n \"keywords\": [\"photo\", \"warm\", \"saharah\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"beach_with_umbrella\": {\r\n \"keywords\": [\"weather\", \"summer\", \"sunny\", \"sand\", \"mojito\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"desert_island\": {\r\n \"keywords\": [\"photo\", \"tropical\", \"mojito\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"city_sunrise\": {\r\n \"keywords\": [\"photo\", \"good morning\", \"dawn\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"city_sunset\": {\r\n \"keywords\": [\"photo\", \"evening\", \"sky\", \"buildings\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"cityscape\": {\r\n \"keywords\": [\"photo\", \"night life\", \"urban\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"night_with_stars\": {\r\n \"keywords\": [\"evening\", \"city\", \"downtown\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bridge_at_night\": {\r\n \"keywords\": [\"photo\", \"sanfrancisco\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"milky_way\": {\r\n \"keywords\": [\"photo\", \"space\", \"stars\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"stars\": {\r\n \"keywords\": [\"night\", \"photo\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"sparkler\": {\r\n \"keywords\": [\"stars\", \"night\", \"shine\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"fireworks\": {\r\n \"keywords\": [\"photo\", \"festival\", \"carnival\", \"congratulations\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"rainbow\": {\r\n \"keywords\": [\"nature\", \"happy\", \"unicorn\", \"photo\", \"sky\", \"spring\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"buildings\": {\r\n \"keywords\": [\"houses\", \"photo\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"european_castle\": {\r\n \"keywords\": [\"building\", \"royalty\", \"history\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"japanese_castle\": {\r\n \"keywords\": [\"photo\", \"building\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"stadium\": {\r\n \"keywords\": [\"photo\", \"place\", \"sports\", \"concert\", \"venue\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"statue_of_liberty\": {\r\n \"keywords\": [\"american\", \"newyork\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"house\": {\r\n \"keywords\": [\"building\", \"home\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"house_with_garden\": {\r\n \"keywords\": [\"home\", \"plant\", \"nature\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"derelict_house\": {\r\n \"keywords\": [\"abandon\", \"evict\", \"broken\", \"building\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"office\": {\r\n \"keywords\": [\"building\", \"bureau\", \"work\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"department_store\": {\r\n \"keywords\": [\"building\", \"shopping\", \"mall\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"post_office\": {\r\n \"keywords\": [\"building\", \"email\", \"communication\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"european_post_office\": {\r\n \"keywords\": [\"building\", \"email\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"hospital\": {\r\n \"keywords\": [\"building\", \"health\", \"surgery\", \"doctor\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"bank\": {\r\n \"keywords\": [\"building\", \"money\", \"sales\", \"cash\", \"business\", \"enterprise\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"hotel\": {\r\n \"keywords\": [\"building\", \"accomodation\", \"checkin\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"convenience_store\": {\r\n \"keywords\": [\"building\", \"shopping\", \"groceries\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"school\": {\r\n \"keywords\": [\"building\", \"student\", \"education\", \"learn\", \"teach\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"love_hotel\": {\r\n \"keywords\": [\"like\", \"affection\", \"dating\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"wedding\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"couple\", \"marriage\", \"bride\", \"groom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"museum\": {\r\n \"keywords\": [\"art\", \"culture\", \"history\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"church\": {\r\n \"keywords\": [\"building\", \"religion\", \"christ\"],\r\n \"char\": \"โช\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"mosque\": {\r\n \"keywords\": [\"islam\", \"worship\", \"minaret\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"synagogue\": {\r\n \"keywords\": [\"judaism\", \"worship\", \"temple\", \"jewish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"kaaba\": {\r\n \"keywords\": [\"mecca\", \"mosque\", \"islam\"],\r\n \"char\": \"๐\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"shinto_shrine\": {\r\n \"keywords\": [\"temple\", \"japan\", \"kyoto\"],\r\n \"char\": \"โฉ\",\r\n \"category\": \"travel_and_places\"\r\n },\r\n \"watch\": {\r\n \"keywords\": [\"time\", \"accessories\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"iphone\": {\r\n \"keywords\": [\"technology\", \"apple\", \"gadgets\", \"dial\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"calling\": {\r\n \"keywords\": [\"iphone\", \"incoming\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"computer\": {\r\n \"keywords\": [\"technology\", \"laptop\", \"screen\", \"display\", \"monitor\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"objects\"\r\n },\r\n \"keyboard\": {\r\n \"keywords\": [\"technology\", \"computer\", \"type\", \"input\", \"text\"],\r\n \"char\": \"โจ\",\r\n \"category\": \"objects\"\r\n },\r\n \"desktop_computer\": {\r\n \"keywords\": [\"technology\", \"computing\", \"screen\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"printer\": {\r\n \"keywords\": [\"paper\", \"ink\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"three_button_mouse\": {\r\n \"keywords\": [\"click\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"trackball\": {\r\n \"keywords\": [\"technology\", \"trackpad\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"joystick\": {\r\n \"keywords\": [\"game\", \"play\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"objects\"\r\n },\r\n \"compression\": {\r\n \"keywords\": [\"tool\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"minidisc\": {\r\n \"keywords\": [\"technology\", \"record\", \"data\", \"disk\", \"90s\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"floppy_disk\": {\r\n \"keywords\": [\"oldschool\", \"technology\", \"save\", \"90s\", \"80s\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"objects\"\r\n },\r\n \"cd\": {\r\n \"keywords\": [\"technology\", \"dvd\", \"disk\", \"disc\", \"90s\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"dvd\": {\r\n \"keywords\": [\"cd\", \"disk\", \"disc\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"vhs\": {\r\n \"keywords\": [\"record\", \"video\", \"oldschool\", \"90s\", \"80s\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"objects\"\r\n },\r\n \"camera\": {\r\n \"keywords\": [\"gadgets\", \"photography\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"camera_with_flash\": {\r\n \"keywords\": [\"photography\", \"gadgets\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"video_camera\": {\r\n \"keywords\": [\"film\", \"record\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"objects\"\r\n },\r\n \"movie_camera\": {\r\n \"keywords\": [\"film\", \"record\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"film_projector\": {\r\n \"keywords\": [\"video\", \"tape\", \"record\", \"movie\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"film_frames\": {\r\n \"keywords\": [\"movie\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"telephone_receiver\": {\r\n \"keywords\": [\"technology\", \"communication\", \"dial\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"phone\": {\r\n \"keywords\": [\"technology\", \"communication\", \"dial\", \"telephone\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pager\": {\r\n \"keywords\": [\"bbcall\", \"oldschool\", \"90s\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"fax\": {\r\n \"keywords\": [\"communication\", \"technology\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"objects\"\r\n },\r\n \"tv\": {\r\n \"keywords\": [\"technology\", \"program\", \"oldschool\", \"show\", \"television\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"radio\": {\r\n \"keywords\": [\"communication\", \"music\", \"podcast\", \"program\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"objects\"\r\n },\r\n \"studio_microphone\": {\r\n \"keywords\": [\"singer\", \"recording\", \"artist\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"level_slider\": {\r\n \"keywords\": [\"scale\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"control_knobs\": {\r\n \"keywords\": [\"dial\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"stopwatch\": {\r\n \"keywords\": [\"time\", \"deadline\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"timer_clock\": {\r\n \"keywords\": [\"alarm\"],\r\n \"char\": \"โฒ\",\r\n \"category\": \"objects\"\r\n },\r\n \"alarm_clock\": {\r\n \"keywords\": [\"time\", \"wake\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mantelpiece_clock\": {\r\n \"keywords\": [\"time\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hourglass_flowing_sand\": {\r\n \"keywords\": [\"oldschool\", \"time\", \"countdown\"],\r\n \"char\": \"โณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hourglass\": {\r\n \"keywords\": [\"time\", \"clock\", \"oldschool\", \"limit\", \"exam\", \"quiz\", \"test\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"satellite\": {\r\n \"keywords\": [\"communication\", \"future\", \"radio\", \"space\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"battery\": {\r\n \"keywords\": [\"power\", \"energy\", \"sustain\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"electric_plug\": {\r\n \"keywords\": [\"charger\", \"power\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bulb\": {\r\n \"keywords\": [\"light\", \"electricity\", \"idea\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"flashlight\": {\r\n \"keywords\": [\"dark\", \"camping\", \"sight\", \"night\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"objects\"\r\n },\r\n \"candle\": {\r\n \"keywords\": [\"fire\", \"wax\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"objects\"\r\n },\r\n \"wastebasket\": {\r\n \"keywords\": [\"bin\", \"trash\", \"rubbish\", \"garbage\", \"toss\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"oil_drum\": {\r\n \"keywords\": [\"barrell\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"objects\"\r\n },\r\n \"money_with_wings\": {\r\n \"keywords\": [\"dollar\", \"bills\", \"payment\", \"sale\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"dollar\": {\r\n \"keywords\": [\"money\", \"sales\", \"bill\", \"currency\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"objects\"\r\n },\r\n \"yen\": {\r\n \"keywords\": [\"money\", \"sales\", \"japanese\", \"dollar\", \"currency\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"objects\"\r\n },\r\n \"euro\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"currency\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pound\": {\r\n \"keywords\": [\"british\", \"sterling\", \"money\", \"sales\", \"bills\", \"uk\", \"england\", \"currency\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"moneybag\": {\r\n \"keywords\": [\"dollar\", \"payment\", \"coins\", \"sale\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"credit_card\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"bill\", \"payment\", \"shopping\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gem\": {\r\n \"keywords\": [\"blue\", \"ruby\", \"diamond\", \"jewelry\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"scales\": {\r\n \"keywords\": [\"law\", \"fairness\", \"weight\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"wrench\": {\r\n \"keywords\": [\"tools\", \"diy\", \"ikea\", \"fix\", \"maintainer\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer_and_pick\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hammer_and_wrench\": {\r\n \"keywords\": [\"tools\", \"build\", \"create\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"objects\"\r\n },\r\n \"pick\": {\r\n \"keywords\": [\"tools\", \"dig\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"nut_and_bolt\": {\r\n \"keywords\": [\"handy\", \"tools\", \"fix\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gear\": {\r\n \"keywords\": [\"cog\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"chains\": {\r\n \"keywords\": [\"lock\", \"arrest\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"gun\": {\r\n \"keywords\": [\"violence\", \"weapon\", \"pistol\", \"revolver\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"objects\"\r\n },\r\n \"bomb\": {\r\n \"keywords\": [\"boom\", \"explode\", \"explosion\", \"terrorism\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hocho\": {\r\n \"keywords\": [\"knife\", \"blade\", \"cutlery\", \"kitchen\", \"weapon\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"dagger_knife\": {\r\n \"keywords\": [\"weapon\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"crossed_swords\": {\r\n \"keywords\": [\"weapon\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shield\": {\r\n \"keywords\": [\"protection\", \"security\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"smoking\": {\r\n \"keywords\": [\"kills\", \"tobacco\", \"cigarette\", \"joint\", \"smoke\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"skull_and_crossbones\": {\r\n \"keywords\": [\"poison\", \"danger\", \"deadly\", \"scary\"],\r\n \"char\": \"โ \",\r\n \"category\": \"objects\"\r\n },\r\n \"coffin\": {\r\n \"keywords\": [\"vampire\", \"dead\", \"die\", \"death\", \"rip\", \"graveyard\", \"cemetery\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"funeral_urn\": {\r\n \"keywords\": [\"dead\", \"die\", \"death\", \"rip\", \"ashes\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"amphora\": {\r\n \"keywords\": [\"vase\", \"jar\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"crystal_ball\": {\r\n \"keywords\": [\"disco\", \"party\", \"magic\", \"circus\", \"fortune_teller\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"prayer_beads\": {\r\n \"keywords\": [\"dhikr\", \"religious\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"barber\": {\r\n \"keywords\": [\"hair\", \"salon\", \"style\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"alembic\": {\r\n \"keywords\": [\"distilling\", \"science\", \"experiment\"],\r\n \"char\": \"โ\",\r\n \"category\": \"objects\"\r\n },\r\n \"telescope\": {\r\n \"keywords\": [\"stars\", \"space\", \"zoom\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"objects\"\r\n },\r\n \"microscope\": {\r\n \"keywords\": [\"laboratory\", \"experiment\", \"zoomin\", \"science\", \"study\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"hole\": {\r\n \"keywords\": [\"embarrassing\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"pill\": {\r\n \"keywords\": [\"health\", \"medicine\", \"doctor\", \"pharmacy\", \"drug\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"syringe\": {\r\n \"keywords\": [\"health\", \"hospital\", \"drugs\", \"blood\", \"medicine\", \"needle\", \"doctor\", \"nurse\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"thermometer\": {\r\n \"keywords\": [\"weather\", \"temperature\", \"hot\", \"cold\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"objects\"\r\n },\r\n \"label\": {\r\n \"keywords\": [\"sale\", \"tag\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"objects\"\r\n },\r\n \"bookmark\": {\r\n \"keywords\": [\"favorite\", \"label\", \"save\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"toilet\": {\r\n \"keywords\": [\"restroom\", \"wc\", \"washroom\", \"bathroom\", \"potty\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shower\": {\r\n \"keywords\": [\"clean\", \"water\", \"bathroom\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"bathtub\": {\r\n \"keywords\": [\"clean\", \"shower\", \"bathroom\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"key\": {\r\n \"keywords\": [\"lock\", \"door\", \"password\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"old_key\": {\r\n \"keywords\": [\"lock\", \"door\", \"password\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"couch_and_lamp\": {\r\n \"keywords\": [\"read\", \"chill\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"sleeping_accommodation\": {\r\n \"keywords\": [\"bed\", \"rest\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bed\": {\r\n \"keywords\": [\"sleep\", \"rest\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"door\": {\r\n \"keywords\": [\"house\", \"entry\", \"exit\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"bellhop_bell\": {\r\n \"keywords\": [\"service\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"frame_with_picture\": {\r\n \"keywords\": [\"photography\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"objects\"\r\n },\r\n \"world_map\": {\r\n \"keywords\": [\"location\", \"direction\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"objects\"\r\n },\r\n \"umbrella_on_ground\": {\r\n \"keywords\": [\"weather\", \"summer\"],\r\n \"char\": \"โฑ\",\r\n \"category\": \"objects\"\r\n },\r\n \"moyai\": {\r\n \"keywords\": [\"rock\", \"easter island\", \"moai\"],\r\n \"char\": \"๐ฟ\",\r\n \"category\": \"objects\"\r\n },\r\n \"shopping_bags\": {\r\n \"keywords\": [\"mall\", \"buy\", \"purchase\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"balloon\": {\r\n \"keywords\": [\"party\", \"celebration\", \"birthday\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"flags\": {\r\n \"keywords\": [\"fish\", \"japanese\", \"koinobori\", \"carp\", \"banner\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ribbon\": {\r\n \"keywords\": [\"decoration\", \"pink\", \"girl\", \"bowtie\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"gift\": {\r\n \"keywords\": [\"present\", \"birthday\", \"christmas\", \"xmas\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"confetti_ball\": {\r\n \"keywords\": [\"festival\", \"party\", \"birthday\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"tada\": {\r\n \"keywords\": [\"party\", \"contulations\", \"birthday\", \"magic\", \"circus\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"dolls\": {\r\n \"keywords\": [\"japanese\", \"toy\", \"kimono\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"wind_chime\": {\r\n \"keywords\": [\"nature\", \"ding\", \"spring\", \"bell\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"crossed_flags\": {\r\n \"keywords\": [\"japanese\", \"nation\", \"country\", \"border\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"izakaya_lantern\": {\r\n \"keywords\": [\"light\", \"paper\", \"halloween\", \"spooky\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"envelope\": {\r\n \"keywords\": [\"letter\", \"postal\", \"inbox\", \"communication\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"envelope_with_arrow\": {\r\n \"keywords\": [\"email\", \"communication\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"incoming_envelope\": {\r\n \"keywords\": [\"email\", \"inbox\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"objects\"\r\n },\r\n \"email\": {\r\n \"keywords\": [\"communication\", \"inbox\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"objects\"\r\n },\r\n \"love_letter\": {\r\n \"keywords\": [\"email\", \"like\", \"affection\", \"envelope\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"postbox\": {\r\n \"keywords\": [\"email\", \"letter\", \"envelope\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_closed\": {\r\n \"keywords\": [\"email\", \"communication\", \"inbox\"],\r\n \"char\": \"๐ช\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox\": {\r\n \"keywords\": [\"email\", \"inbox\", \"communication\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_with_mail\": {\r\n \"keywords\": [\"email\", \"inbox\", \"communication\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"objects\"\r\n },\r\n \"mailbox_with_no_mail\": {\r\n \"keywords\": [\"email\", \"inbox\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"objects\"\r\n },\r\n \"package\": {\r\n \"keywords\": [\"mail\", \"gift\", \"cardboard\", \"box\", \"moving\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"objects\"\r\n },\r\n \"postal_horn\": {\r\n \"keywords\": [\"instrument\", \"music\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"objects\"\r\n },\r\n \"inbox_tray\": {\r\n \"keywords\": [\"email\", \"documents\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"objects\"\r\n },\r\n \"outbox_tray\": {\r\n \"keywords\": [\"inbox\", \"email\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"objects\"\r\n },\r\n \"scroll\": {\r\n \"keywords\": [\"documents\", \"ancient\", \"history\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"page_with_curl\": {\r\n \"keywords\": [\"documents\", \"office\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bookmark_tabs\": {\r\n \"keywords\": [\"favorite\", \"save\", \"order\", \"tidy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"bar_chart\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"chart_with_upwards_trend\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"recovery\", \"business\", \"economics\", \"money\", \"sales\", \"good\", \"success\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"chart_with_downwards_trend\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"recession\", \"business\", \"economics\", \"money\", \"sales\", \"bad\", \"failure\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"page_facing_up\": {\r\n \"keywords\": [\"documents\", \"office\", \"paper\", \"information\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"date\": {\r\n \"keywords\": [\"calendar\", \"schedule\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"objects\"\r\n },\r\n \"calendar\": {\r\n \"keywords\": [\"schedule\", \"date\", \"planning\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"spiral_calendar_pad\": {\r\n \"keywords\": [\"date\", \"schedule\", \"planning\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_index\": {\r\n \"keywords\": [\"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_file_box\": {\r\n \"keywords\": [\"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ballot_box_with_ballot\": {\r\n \"keywords\": [\"election\", \"vote\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"file_cabinet\": {\r\n \"keywords\": [\"filing\", \"organizing\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"clipboard\": {\r\n \"keywords\": [\"stationery\", \"documents\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"spiral_note_pad\": {\r\n \"keywords\": [\"memo\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"file_folder\": {\r\n \"keywords\": [\"documents\", \"business\", \"office\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"open_file_folder\": {\r\n \"keywords\": [\"documents\", \"load\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"card_index_dividers\": {\r\n \"keywords\": [\"organizing\", \"business\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"rolled_up_newspaper\": {\r\n \"keywords\": [\"press\", \"headline\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"newspaper\": {\r\n \"keywords\": [\"press\", \"headline\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"objects\"\r\n },\r\n \"notebook\": {\r\n \"keywords\": [\"stationery\", \"record\", \"notes\", \"paper\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"closed_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"textbook\", \"learn\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"green_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"blue_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"learn\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"orange_book\": {\r\n \"keywords\": [\"read\", \"library\", \"knowledge\", \"textbook\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"notebook_with_decorative_cover\": {\r\n \"keywords\": [\"classroom\", \"notes\", \"record\", \"paper\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"ledger\": {\r\n \"keywords\": [\"notes\", \"paper\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"books\": {\r\n \"keywords\": [\"literature\", \"library\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"book\": {\r\n \"keywords\": [\"open_book\", \"read\", \"library\", \"knowledge\", \"literature\", \"learn\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"link\": {\r\n \"keywords\": [\"rings\", \"url\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"paperclip\": {\r\n \"keywords\": [\"documents\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"linked_paperclips\": {\r\n \"keywords\": [\"documents\", \"stationery\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"scissors\": {\r\n \"keywords\": [\"stationery\", \"cut\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"triangular_ruler\": {\r\n \"keywords\": [\"stationery\", \"math\", \"architect\", \"sketch\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"straight_ruler\": {\r\n \"keywords\": [\"stationery\", \"calculate\", \"length\", \"math\", \"school\", \"drawing\", \"architect\", \"sketch\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"pushpin\": {\r\n \"keywords\": [\"stationery\", \"mark\", \"here\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"round_pushpin\": {\r\n \"keywords\": [\"stationery\", \"location\", \"map\", \"here\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"triangular_flag_on_post\": {\r\n \"keywords\": [\"mark\", \"milestone\", \"place\"],\r\n \"char\": \"๐ฉ\",\r\n \"category\": \"objects\"\r\n },\r\n \"waving_white_flag\": {\r\n \"keywords\": [\"losing\", \"loser\", \"lost\", \"surrender\", \"give up\", \"fail\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"objects\"\r\n },\r\n \"waving_black_flag\": {\r\n \"keywords\": [\"pirate\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"objects\"\r\n },\r\n \"closed_lock_with_key\": {\r\n \"keywords\": [\"security\", \"privacy\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lock\": {\r\n \"keywords\": [\"security\", \"password\", \"padlock\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"unlock\": {\r\n \"keywords\": [\"privacy\", \"security\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lock_with_ink_pen\": {\r\n \"keywords\": [\"security\", \"secret\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_ballpoint_pen\": {\r\n \"keywords\": [\"stationery\", \"writing\", \"write\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_fountain_pen\": {\r\n \"keywords\": [\"stationery\", \"writing\", \"write\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"black_nib\": {\r\n \"keywords\": [\"pen\", \"stationery\", \"writing\", \"write\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"memo\": {\r\n \"keywords\": [\"write\", \"documents\", \"stationery\", \"pencil\", \"paper\", \"writing\", \"legal\", \"exam\", \"quiz\", \"test\", \"study\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"pencil2\": {\r\n \"keywords\": [\"stationery\", \"write\", \"paper\", \"writing\", \"school\", \"study\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_crayon\": {\r\n \"keywords\": [\"drawing\", \"creativity\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"lower_left_paintbrush\": {\r\n \"keywords\": [\"drawing\", \"creativity\", \"art\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"mag\": {\r\n \"keywords\": [\"search\", \"zoom\", \"find\", \"detective\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"mag_right\": {\r\n \"keywords\": [\"search\", \"zoom\", \"find\", \"detective\"],\r\n \"char\": \"๐\",\r\n \"category\": \"objects\"\r\n },\r\n \"heart\": {\r\n \"keywords\": [\"love\", \"like\", \"valentines\"],\r\n \"char\": \"โค๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"yellow_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"green_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"blue_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"purple_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"broken_heart\": {\r\n \"keywords\": [\"sad\", \"sorry\", \"break\", \"heart\", \"heartbreak\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_heart_exclamation_mark_ornament\": {\r\n \"keywords\": [\"decoration\", \"love\"],\r\n \"char\": \"โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"two_hearts\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"revolving_hearts\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heartbeat\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\", \"pink\", \"heart\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heartpulse\": {\r\n \"keywords\": [\"like\", \"love\", \"affection\", \"valentines\", \"pink\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sparkling_heart\": {\r\n \"keywords\": [\"love\", \"like\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cupid\": {\r\n \"keywords\": [\"love\", \"like\", \"heart\", \"affection\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"gift_heart\": {\r\n \"keywords\": [\"love\", \"valentines\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heart_decoration\": {\r\n \"keywords\": [\"purple-square\", \"love\", \"like\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"peace_symbol\": {\r\n \"keywords\": [\"hippie\"],\r\n \"char\": \"โฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"latin_cross\": {\r\n \"keywords\": [\"christianity\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"star_and_crescent\": {\r\n \"keywords\": [\"islam\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"om_symbol\": {\r\n \"keywords\": [\"hinduism\", \"buddhism\", \"sikhism\", \"jainism\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wheel_of_dharma\": {\r\n \"keywords\": [\"hinduism\", \"buddhism\", \"sikhism\", \"jainism\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"star_of_david\": {\r\n \"keywords\": [\"judaism\"],\r\n \"char\": \"โก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"six_pointed_star\": {\r\n \"keywords\": [\"purple-square\", \"religion\", \"jewish\", \"hexagram\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"menorah_with_nine_branches\": {\r\n \"keywords\": [\"hanukkah\", \"candles\", \"jewish\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"yin_yang\": {\r\n \"keywords\": [\"balance\"],\r\n \"char\": \"โฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"orthodox_cross\": {\r\n \"keywords\": [\"suppedaneum\", \"religion\"],\r\n \"char\": \"โฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"place_of_worship\": {\r\n \"keywords\": [\"religion\", \"church\", \"temple\", \"prayer\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ophiuchus\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"constellation\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"aries\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"taurus\": {\r\n \"keywords\": [\"purple-square\", \"sign\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"gemini\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cancer\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"leo\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"virgo\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"libra\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"scorpius\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\", \"scorpio\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sagittarius\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"capricorn\": {\r\n \"keywords\": [\"sign\", \"zodiac\", \"purple-square\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"aquarius\": {\r\n \"keywords\": [\"sign\", \"purple-square\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"pisces\": {\r\n \"keywords\": [\"purple-square\", \"sign\", \"zodiac\", \"astrology\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"id\": {\r\n \"keywords\": [\"purple-square\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"atom_symbol\": {\r\n \"keywords\": [\"science\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7a7a\": {\r\n \"keywords\": [\"kanji\", \"japanese\", \"chinese\", \"empty\", \"sky\", \"blue-square\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u5272\": {\r\n \"keywords\": [\"cut\", \"divide\", \"chinese\", \"kanji\", \"pink-square\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"radioactive_sign\": {\r\n \"keywords\": [\"nuclear\", \"danger\"],\r\n \"char\": \"โข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"biohazard_sign\": {\r\n \"keywords\": [\"danger\"],\r\n \"char\": \"โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mobile_phone_off\": {\r\n \"keywords\": [\"mute\", \"orange-square\", \"silence\", \"quiet\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"vibration_mode\": {\r\n \"keywords\": [\"orange-square\", \"phone\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6709\": {\r\n \"keywords\": [\"orange-square\", \"chinese\", \"have\", \"kanji\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7121\": {\r\n \"keywords\": [\"nothing\", \"chinese\", \"kanji\", \"japanese\", \"orange-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7533\": {\r\n \"keywords\": [\"chinese\", \"japanese\", \"kanji\", \"orange-square\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u55b6\": {\r\n \"keywords\": [\"japanese\", \"opening hours\", \"orange-square\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6708\": {\r\n \"keywords\": [\"chinese\", \"month\", \"moon\", \"japanese\", \"orange-square\", \"kanji\"],\r\n \"char\": \"๐ท๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight_pointed_black_star\": {\r\n \"keywords\": [\"orange-square\", \"shape\", \"polygon\"],\r\n \"char\": \"โด๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"vs\": {\r\n \"keywords\": [\"words\", \"orange-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"accept\": {\r\n \"keywords\": [\"ok\", \"good\", \"chinese\", \"kanji\", \"agree\", \"yes\", \"orange-circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_flower\": {\r\n \"keywords\": [\"japanese\", \"spring\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ideograph_advantage\": {\r\n \"keywords\": [\"chinese\", \"kanji\", \"obtain\", \"get\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"secret\": {\r\n \"keywords\": [\"privacy\", \"chinese\", \"sshh\", \"kanji\", \"red-circle\"],\r\n \"char\": \"ใ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"congratulations\": {\r\n \"keywords\": [\"chinese\", \"kanji\", \"japanese\", \"red-circle\"],\r\n \"char\": \"ใ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u5408\": {\r\n \"keywords\": [\"japanese\", \"chinese\", \"join\", \"kanji\", \"red-square\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6e80\": {\r\n \"keywords\": [\"full\", \"chinese\", \"japanese\", \"red-square\", \"kanji\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u7981\": {\r\n \"keywords\": [\"kanji\", \"japanese\", \"chinese\", \"forbidden\", \"limit\", \"restricted\", \"red-square\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"a\": {\r\n \"keywords\": [\"red-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฐ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"b\": {\r\n \"keywords\": [\"red-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฑ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ab\": {\r\n \"keywords\": [\"red-square\", \"alphabet\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cl\": {\r\n \"keywords\": [\"alphabet\", \"words\", \"red-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"o2\": {\r\n \"keywords\": [\"alphabet\", \"red-square\", \"letter\"],\r\n \"char\": \"๐
พ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sos\": {\r\n \"keywords\": [\"help\", \"red-square\", \"words\", \"emergency\", \"911\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_entry\": {\r\n \"keywords\": [\"limit\", \"security\", \"privacy\", \"bad\", \"denied\", \"stop\", \"circle\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"name_badge\": {\r\n \"keywords\": [\"fire\", \"forbid\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_entry_sign\": {\r\n \"keywords\": [\"forbid\", \"stop\", \"limit\", \"denied\", \"disallow\", \"circle\"],\r\n \"char\": \"๐ซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"x\": {\r\n \"keywords\": [\"no\", \"delete\", \"remove\", \"cancel\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"o\": {\r\n \"keywords\": [\"circle\", \"round\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"anger\": {\r\n \"keywords\": [\"angry\", \"mad\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hotsprings\": {\r\n \"keywords\": [\"bath\", \"warm\", \"relax\"],\r\n \"char\": \"โจ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_pedestrians\": {\r\n \"keywords\": [\"rules\", \"crossing\", \"walking\", \"circle\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"symbols\"\r\n },\r\n \"do_not_litter\": {\r\n \"keywords\": [\"trash\", \"bin\", \"garbage\", \"circle\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_bicycles\": {\r\n \"keywords\": [\"cyclist\", \"prohibited\", \"circle\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"non-potable_water\": {\r\n \"keywords\": [\"drink\", \"faucet\", \"tap\", \"circle\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"underage\": {\r\n \"keywords\": [\"18\", \"drink\", \"pub\", \"night\", \"minor\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_mobile_phones\": {\r\n \"keywords\": [\"iphone\", \"mute\", \"circle\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"exclamation\": {\r\n \"keywords\": [\"heavy_exclamation_mark\", \"danger\", \"surprise\", \"punctuation\", \"wow\", \"warning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"grey_exclamation\": {\r\n \"keywords\": [\"surprise\", \"punctuation\", \"gray\", \"wow\", \"warning\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"question\": {\r\n \"keywords\": [\"doubt\", \"confused\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"grey_question\": {\r\n \"keywords\": [\"doubts\", \"gray\", \"huh\", \"confused\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"bangbang\": {\r\n \"keywords\": [\"exclamation\", \"surprise\"],\r\n \"char\": \"โผ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"interrobang\": {\r\n \"keywords\": [\"wat\", \"punctuation\", \"surprise\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"100\": {\r\n \"keywords\": [\"score\", \"perfect\", \"numbers\", \"century\", \"exam\", \"quiz\", \"test\", \"pass\", \"hundred\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"low_brightness\": {\r\n \"keywords\": [\"sun\", \"afternoon\", \"warm\", \"summer\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"high_brightness\": {\r\n \"keywords\": [\"sun\", \"light\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"trident\": {\r\n \"keywords\": [\"weapon\", \"spear\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"fleur_de_lis\": {\r\n \"keywords\": [\"decorative\", \"scout\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"part_alternation_mark\": {\r\n \"keywords\": [\"graph\", \"presentation\", \"stats\", \"business\", \"economics\", \"bad\"],\r\n \"char\": \"ใฝ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"warning\": {\r\n \"keywords\": [\"exclamation\", \"wip\", \"alert\", \"error\", \"problem\", \"issue\"],\r\n \"char\": \"โ ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"children_crossing\": {\r\n \"keywords\": [\"school\", \"warning\", \"danger\", \"sign\", \"driving\", \"yellow-diamond\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"beginner\": {\r\n \"keywords\": [\"badge\", \"shield\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"recycle\": {\r\n \"keywords\": [\"arrow\", \"environment\", \"garbage\", \"trash\"],\r\n \"char\": \"โป๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"u6307\": {\r\n \"keywords\": [\"chinese\", \"point\", \"green-square\", \"kanji\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"chart\": {\r\n \"keywords\": [\"green-square\", \"graph\", \"presentation\", \"stats\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sparkle\": {\r\n \"keywords\": [\"stars\", \"green-square\", \"awesome\", \"good\", \"fireworks\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight_spoked_asterisk\": {\r\n \"keywords\": [\"star\", \"sparkle\", \"green-square\"],\r\n \"char\": \"โณ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"negative_squared_cross_mark\": {\r\n \"keywords\": [\"x\", \"green-square\", \"no\", \"deny\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_check_mark\": {\r\n \"keywords\": [\"green-square\", \"ok\", \"agree\", \"vote\", \"election\", \"answer\"],\r\n \"char\": \"โ
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"diamond_shape_with_a_dot_inside\": {\r\n \"keywords\": [\"jewel\", \"blue\", \"gem\", \"crystal\", \"fancy\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"cyclone\": {\r\n \"keywords\": [\"weather\", \"swirl\", \"blue\", \"cloud\", \"vortex\", \"spiral\", \"whirlpool\", \"spin\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loop\": {\r\n \"keywords\": [\"tape\", \"cassette\"],\r\n \"char\": \"โฟ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"globe_with_meridians\": {\r\n \"keywords\": [\"earth\", \"international\", \"world\", \"internet\", \"interweb\", \"i18n\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"m\": {\r\n \"keywords\": [\"alphabet\", \"blue-circle\", \"letter\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"atm\": {\r\n \"keywords\": [\"money\", \"sales\", \"cash\", \"blue-square\", \"payment\", \"bank\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sa\": {\r\n \"keywords\": [\"japanese\", \"blue-square\", \"katakana\"],\r\n \"char\": \"๐๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"passport_control\": {\r\n \"keywords\": [\"custom\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"customs\": {\r\n \"keywords\": [\"passport\", \"border\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"baggage_claim\": {\r\n \"keywords\": [\"blue-square\", \"airport\", \"transport\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_luggage\": {\r\n \"keywords\": [\"blue-square\", \"travel\"],\r\n \"char\": \"๐
\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wheelchair\": {\r\n \"keywords\": [\"blue-square\", \"disabled\", \"a11y\", \"accessibility\"],\r\n \"char\": \"โฟ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_smoking\": {\r\n \"keywords\": [\"cigarette\", \"blue-square\", \"smell\", \"smoke\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wc\": {\r\n \"keywords\": [\"toilet\", \"restroom\", \"blue-square\"],\r\n \"char\": \"๐พ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"parking\": {\r\n \"keywords\": [\"cars\", \"blue-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"๐
ฟ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"potable_water\": {\r\n \"keywords\": [\"blue-square\", \"liquid\", \"restroom\", \"cleaning\", \"faucet\"],\r\n \"char\": \"๐ฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mens\": {\r\n \"keywords\": [\"toilet\", \"restroom\", \"wc\", \"blue-square\", \"gender\", \"male\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"womens\": {\r\n \"keywords\": [\"purple-square\", \"woman\", \"female\", \"toilet\", \"loo\", \"restroom\", \"gender\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"baby_symbol\": {\r\n \"keywords\": [\"orange-square\", \"child\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"restroom\": {\r\n \"keywords\": [\"blue-square\", \"toilet\", \"refresh\", \"wc\", \"gender\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"symbols\"\r\n },\r\n \"put_litter_in_its_place\": {\r\n \"keywords\": [\"blue-square\", \"sign\", \"human\", \"info\"],\r\n \"char\": \"๐ฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cinema\": {\r\n \"keywords\": [\"blue-square\", \"record\", \"film\", \"movie\", \"curtain\", \"stage\", \"theater\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"signal_strength\": {\r\n \"keywords\": [\"blue-square\", \"reception\", \"phone\", \"internet\", \"connection\", \"wifi\", \"bluetooth\", \"bars\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"koko\": {\r\n \"keywords\": [\"blue-square\", \"here\", \"katakana\", \"japanese\", \"destination\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ng\": {\r\n \"keywords\": [\"blue-square\", \"words\", \"shape\", \"icon\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ok\": {\r\n \"keywords\": [\"good\", \"agree\", \"yes\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"up\": {\r\n \"keywords\": [\"blue-square\", \"above\", \"high\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"cool\": {\r\n \"keywords\": [\"words\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"new\": {\r\n \"keywords\": [\"blue-square\", \"words\", \"start\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"free\": {\r\n \"keywords\": [\"blue-square\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"zero\": {\r\n \"keywords\": [\"0\", \"numbers\", \"blue-square\", \"null\"],\r\n \"char\": \"0๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"one\": {\r\n \"keywords\": [\"blue-square\", \"numbers\", \"1\"],\r\n \"char\": \"1๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"two\": {\r\n \"keywords\": [\"numbers\", \"2\", \"prime\", \"blue-square\"],\r\n \"char\": \"2๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"three\": {\r\n \"keywords\": [\"3\", \"numbers\", \"prime\", \"blue-square\"],\r\n \"char\": \"3๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"four\": {\r\n \"keywords\": [\"4\", \"numbers\", \"blue-square\"],\r\n \"char\": \"4๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"five\": {\r\n \"keywords\": [\"5\", \"numbers\", \"blue-square\", \"prime\"],\r\n \"char\": \"5๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"six\": {\r\n \"keywords\": [\"6\", \"numbers\", \"blue-square\"],\r\n \"char\": \"6๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"seven\": {\r\n \"keywords\": [\"7\", \"numbers\", \"blue-square\", \"prime\"],\r\n \"char\": \"7๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"eight\": {\r\n \"keywords\": [\"8\", \"blue-square\", \"numbers\"],\r\n \"char\": \"8๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"nine\": {\r\n \"keywords\": [\"blue-square\", \"numbers\", \"9\"],\r\n \"char\": \"9๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"keycap_ten\": {\r\n \"keywords\": [\"numbers\", \"10\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"keycap_star\": {\r\n \"keywords\": [\"asterisk\"],\r\n \"char\": \"*โฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"1234\": {\r\n \"keywords\": [\"numbers\", \"blue-square\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_forward\": {\r\n \"keywords\": [\"blue-square\", \"right\", \"direction\", \"play\"],\r\n \"char\": \"โถ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"double_vertical_bar\": {\r\n \"keywords\": [\"pause\", \"blue-square\"],\r\n \"char\": \"โธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_right_pointing_triangle_with_double_vertical_bar\": {\r\n \"keywords\": [\"forward\", \"next\", \"blue-square\"],\r\n \"char\": \"โญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_square_for_stop\": {\r\n \"keywords\": [\"blue-square\"],\r\n \"char\": \"โน\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_circle_for_record\": {\r\n \"keywords\": [\"blue-square\"],\r\n \"char\": \"โบ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_right_pointing_double_triangle_with_vertical_bar\": {\r\n \"keywords\": [\"blue-square\", \"play\", \"pause\"],\r\n \"char\": \"โฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_left_pointing_double_triangle_with_vertical_bar\": {\r\n \"keywords\": [\"backward\"],\r\n \"char\": \"โฎ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"fast_forward\": {\r\n \"keywords\": [\"blue-square\", \"play\", \"speed\", \"continue\"],\r\n \"char\": \"โฉ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"rewind\": {\r\n \"keywords\": [\"play\", \"blue-square\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"twisted_rightwards_arrows\": {\r\n \"keywords\": [\"blue-square\", \"shuffle\", \"music\", \"random\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"repeat\": {\r\n \"keywords\": [\"loop\", \"record\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"repeat_one\": {\r\n \"keywords\": [\"blue-square\", \"loop\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_backward\": {\r\n \"keywords\": [\"blue-square\", \"left\", \"direction\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up_small\": {\r\n \"keywords\": [\"blue-square\", \"triangle\", \"direction\", \"point\", \"forward\", \"top\"],\r\n \"char\": \"๐ผ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_down_small\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"๐ฝ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_double_up\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"top\"],\r\n \"char\": \"โซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_double_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_right\": {\r\n \"keywords\": [\"blue-square\", \"next\"],\r\n \"char\": \"โก๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_left\": {\r\n \"keywords\": [\"blue-square\", \"previous\", \"back\"],\r\n \"char\": \"โฌ
๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up\": {\r\n \"keywords\": [\"blue-square\", \"continue\", \"top\", \"direction\"],\r\n \"char\": \"โฌ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โฌ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_upper_right\": {\r\n \"keywords\": [\"blue-square\", \"point\", \"direction\", \"diagonal\", \"northeast\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_lower_right\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"diagonal\", \"southeast\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_lower_left\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"diagonal\", \"southwest\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_upper_left\": {\r\n \"keywords\": [\"blue-square\", \"point\", \"direction\", \"diagonal\", \"northwest\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_up_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"way\", \"vertical\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_right_arrow\": {\r\n \"keywords\": [\"shape\", \"direction\", \"horizontal\", \"sideways\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrows_counterclockwise\": {\r\n \"keywords\": [\"blue-square\", \"sync\", \"cycle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_right_hook\": {\r\n \"keywords\": [\"blue-square\", \"return\", \"rotate\", \"direction\"],\r\n \"char\": \"โช๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"leftwards_arrow_with_hook\": {\r\n \"keywords\": [\"back\", \"return\", \"blue-square\", \"undo\", \"enter\"],\r\n \"char\": \"โฉ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_heading_up\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"top\"],\r\n \"char\": \"โคด๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrow_heading_down\": {\r\n \"keywords\": [\"blue-square\", \"direction\", \"bottom\"],\r\n \"char\": \"โคต๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hash\": {\r\n \"keywords\": [\"symbol\", \"blue-square\", \"twitter\"],\r\n \"char\": \"#๏ธโฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"information_source\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\", \"letter\"],\r\n \"char\": \"โน๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"abc\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"symbols\"\r\n },\r\n \"abcd\": {\r\n \"keywords\": [\"blue-square\", \"alphabet\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"capital_abcd\": {\r\n \"keywords\": [\"alphabet\", \"words\", \"blue-square\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"symbols\": {\r\n \"keywords\": [\"blue-square\", \"music\", \"note\", \"ampersand\", \"percent\", \"glyphs\", \"characters\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"musical_note\": {\r\n \"keywords\": [\"score\", \"tone\", \"sound\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"notes\": {\r\n \"keywords\": [\"music\", \"score\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"wavy_dash\": {\r\n \"keywords\": [\"draw\", \"line\", \"moustache\", \"mustache\", \"squiggle\", \"scribble\"],\r\n \"char\": \"ใฐ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"curly_loop\": {\r\n \"keywords\": [\"scribble\", \"draw\", \"shape\", \"squiggle\"],\r\n \"char\": \"โฐ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_check_mark\": {\r\n \"keywords\": [\"ok\", \"nike\", \"answer\", \"yes\", \"tick\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"arrows_clockwise\": {\r\n \"keywords\": [\"sync\", \"cycle\", \"round\", \"repeat\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_plus_sign\": {\r\n \"keywords\": [\"math\", \"calculation\", \"addition\", \"more\", \"increase\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_minus_sign\": {\r\n \"keywords\": [\"math\", \"calculation\", \"subtract\", \"less\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_division_sign\": {\r\n \"keywords\": [\"divide\", \"math\", \"calculation\"],\r\n \"char\": \"โ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_multiplication_x\": {\r\n \"keywords\": [\"math\", \"calculation\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"heavy_dollar_sign\": {\r\n \"keywords\": [\"money\", \"sales\", \"payment\", \"currency\", \"buck\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"currency_exchange\": {\r\n \"keywords\": [\"money\", \"sales\", \"dollar\", \"travel\"],\r\n \"char\": \"๐ฑ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"copyright\": {\r\n \"keywords\": [\"ip\", \"license\", \"circle\", \"law\", \"legal\"],\r\n \"char\": \"ยฉ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"registered\": {\r\n \"keywords\": [\"alphabet\", \"circle\"],\r\n \"char\": \"ยฎ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"tm\": {\r\n \"keywords\": [\"trademark\", \"brand\", \"law\", \"legal\"],\r\n \"char\": \"โข๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"end\": {\r\n \"keywords\": [\"words\", \"arrow\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"back\": {\r\n \"keywords\": [\"arrow\", \"words\", \"return\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"on\": {\r\n \"keywords\": [\"arrow\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"top\": {\r\n \"keywords\": [\"words\", \"blue-square\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"soon\": {\r\n \"keywords\": [\"arrow\", \"words\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"ballot_box_with_check\": {\r\n \"keywords\": [\"ok\", \"agree\", \"confirm\", \"black-square\", \"vote\", \"election\", \"yes\"],\r\n \"char\": \"โ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"radio_button\": {\r\n \"keywords\": [\"input\", \"old\", \"music\", \"circle\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_circle\": {\r\n \"keywords\": [\"shape\", \"round\"],\r\n \"char\": \"โช\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_circle\": {\r\n \"keywords\": [\"shape\", \"button\", \"round\"],\r\n \"char\": \"โซ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"red_circle\": {\r\n \"keywords\": [\"shape\", \"error\", \"danger\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_blue_circle\": {\r\n \"keywords\": [\"shape\", \"icon\", \"button\"],\r\n \"char\": \"๐ต\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_orange_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_blue_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐น\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_orange_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ถ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"large_blue_diamond\": {\r\n \"keywords\": [\"shape\", \"jewel\", \"gem\"],\r\n \"char\": \"๐ท\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_red_triangle\": {\r\n \"keywords\": [\"shape\", \"direction\", \"up\", \"top\"],\r\n \"char\": \"๐บ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_small_square\": {\r\n \"keywords\": [\"shape\", \"icon\"],\r\n \"char\": \"โช๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_small_square\": {\r\n \"keywords\": [\"shape\", \"icon\"],\r\n \"char\": \"โซ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_large_square\": {\r\n \"keywords\": [\"shape\", \"icon\", \"button\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_large_square\": {\r\n \"keywords\": [\"shape\", \"icon\", \"stone\", \"button\"],\r\n \"char\": \"โฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"small_red_triangle_down\": {\r\n \"keywords\": [\"shape\", \"direction\", \"bottom\"],\r\n \"char\": \"๐ป\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_medium_square\": {\r\n \"keywords\": [\"shape\", \"button\", \"icon\"],\r\n \"char\": \"โผ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_medium_square\": {\r\n \"keywords\": [\"shape\", \"stone\", \"icon\"],\r\n \"char\": \"โป๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_medium_small_square\": {\r\n \"keywords\": [\"icon\", \"shape\", \"button\"],\r\n \"char\": \"โพ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_medium_small_square\": {\r\n \"keywords\": [\"shape\", \"stone\", \"icon\", \"button\"],\r\n \"char\": \"โฝ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_square_button\": {\r\n \"keywords\": [\"shape\", \"input\", \"frame\"],\r\n \"char\": \"๐ฒ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"white_square_button\": {\r\n \"keywords\": [\"shape\", \"input\"],\r\n \"char\": \"๐ณ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"speaker\": {\r\n \"keywords\": [\"sound\", \"volume\", \"silence\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"sound\": {\r\n \"keywords\": [\"volume\", \"speaker\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loud_sound\": {\r\n \"keywords\": [\"volume\", \"noise\", \"noisy\", \"speaker\", \"broadcast\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mute\": {\r\n \"keywords\": [\"sound\", \"volume\", \"silence\", \"quiet\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mega\": {\r\n \"keywords\": [\"sound\", \"speaker\", \"volume\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"loudspeaker\": {\r\n \"keywords\": [\"volume\", \"sound\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"bell\": {\r\n \"keywords\": [\"sound\", \"notification\", \"christmas\", \"xmas\", \"chime\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"no_bell\": {\r\n \"keywords\": [\"sound\", \"volume\", \"mute\", \"quiet\", \"silent\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"black_joker\": {\r\n \"keywords\": [\"poker\", \"cards\", \"game\", \"play\", \"magic\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"mahjong\": {\r\n \"keywords\": [\"game\", \"play\", \"chinese\", \"kanji\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"spades\": {\r\n \"keywords\": [\"poker\", \"cards\", \"suits\", \"magic\"],\r\n \"char\": \"โ ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clubs\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฃ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"hearts\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฅ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"diamonds\": {\r\n \"keywords\": [\"poker\", \"cards\", \"magic\", \"suits\"],\r\n \"char\": \"โฆ๏ธ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"flower_playing_cards\": {\r\n \"keywords\": [\"game\", \"sunset\", \"red\"],\r\n \"char\": \"๐ด\",\r\n \"category\": \"symbols\"\r\n },\r\n \"thought_balloon\": {\r\n \"keywords\": [\"bubble\", \"cloud\", \"speech\", \"thinking\"],\r\n \"char\": \"๐ญ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"right_anger_bubble\": {\r\n \"keywords\": [\"caption\", \"speech\", \"thinking\", \"mad\"],\r\n \"char\": \"๐ฏ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"speech_balloon\": {\r\n \"keywords\": [\"bubble\", \"words\", \"message\", \"talk\", \"chatting\"],\r\n \"char\": \"๐ฌ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"left_speech_bubble\": {\r\n \"keywords\": [\"words\", \"message\", \"talk\", \"chatting\"],\r\n \"char\": \"๐จ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock2\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock3\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock4\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock5\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock6\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\", \"dawn\", \"dusk\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock7\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock8\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock9\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock10\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock11\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock12\": {\r\n \"keywords\": [\"time\", \"noon\", \"midnight\", \"midday\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock130\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock230\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock330\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock430\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock530\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ \",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock630\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ก\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock730\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ข\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock830\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฃ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock930\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ค\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1030\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฅ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1130\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ฆ\",\r\n \"category\": \"symbols\"\r\n },\r\n \"clock1230\": {\r\n \"keywords\": [\"time\", \"late\", \"early\", \"schedule\"],\r\n \"char\": \"๐ง\",\r\n \"category\": \"symbols\"\r\n },\r\n \"af\": {\r\n \"keywords\": [\"afghanistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ax\": {\r\n \"keywords\": [\"ร
land\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"al\": {\r\n \"keywords\": [\"albania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dz\": {\r\n \"keywords\": [\"algeria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"as\": {\r\n \"keywords\": [\"american\", \"samoa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ad\": {\r\n \"keywords\": [\"andorra\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ao\": {\r\n \"keywords\": [\"angola\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ai\": {\r\n \"keywords\": [\"anguilla\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"aq\": {\r\n \"keywords\": [\"antarctica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ag\": {\r\n \"keywords\": [\"antigua\", \"barbuda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ar\": {\r\n \"keywords\": [\"argentina\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"am\": {\r\n \"keywords\": [\"armenia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"aw\": {\r\n \"keywords\": [\"aruba\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"au\": {\r\n \"keywords\": [\"australia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"at\": {\r\n \"keywords\": [\"austria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"az\": {\r\n \"keywords\": [\"azerbaijan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bs\": {\r\n \"keywords\": [\"bahamas\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bh\": {\r\n \"keywords\": [\"bahrain\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bd\": {\r\n \"keywords\": [\"bangladesh\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bb\": {\r\n \"keywords\": [\"barbados\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"by\": {\r\n \"keywords\": [\"belarus\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"be\": {\r\n \"keywords\": [\"belgium\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"bz\": {\r\n \"keywords\": [\"belize\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bj\": {\r\n \"keywords\": [\"benin\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bm\": {\r\n \"keywords\": [\"bermuda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bt\": {\r\n \"keywords\": [\"bhutan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"bo\": {\r\n \"keywords\": [\"bolivia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"bq\": {\r\n \"keywords\": [\"bonaire\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ba\": {\r\n \"keywords\": [\"bosnia\", \"herzegovina\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bw\": {\r\n \"keywords\": [\"botswana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"br\": {\r\n \"keywords\": [\"brazil\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"io\": {\r\n \"keywords\": [\"british\", \"indian\", \"ocean\", \"territory\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"vg\": {\r\n \"keywords\": [\"british\", \"virgin\", \"islands\", \"bvi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bn\": {\r\n \"keywords\": [\"brunei\", \"darussalam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bg\": {\r\n \"keywords\": [\"bulgaria\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bf\": {\r\n \"keywords\": [\"burkina\", \"faso\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bi\": {\r\n \"keywords\": [\"burundi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cv\": {\r\n \"keywords\": [\"cabo\", \"verde\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"kh\": {\r\n \"keywords\": [\"cambodia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cm\": {\r\n \"keywords\": [\"cameroon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ca\": {\r\n \"keywords\": [\"canada\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ic\": {\r\n \"keywords\": [\"canary\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ky\": {\r\n \"keywords\": [\"cayman\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cf\": {\r\n \"keywords\": [\"central\", \"african\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"td\": {\r\n \"keywords\": [\"chad\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"chile\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cn\": {\r\n \"keywords\": [\"china\", \"chinese\", \"prc\", \"flag\", \"country\", \"nation\", \"banner\"],\r\n \"char\": \"๐จ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cx\": {\r\n \"keywords\": [\"christmas\", \"island\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cc\": {\r\n \"keywords\": [\"cocos\", \"keeling\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"co\": {\r\n \"keywords\": [\"colombia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"km\": {\r\n \"keywords\": [\"comoros\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cg\": {\r\n \"keywords\": [\"congo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"drc\": {\r\n \"keywords\": [\"congo\", \"democratic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ck\": {\r\n \"keywords\": [\"cook\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cr\": {\r\n \"keywords\": [\"costa\", \"rica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"hr\": {\r\n \"keywords\": [\"croatia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"cu\": {\r\n \"keywords\": [\"cuba\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cw\": {\r\n \"keywords\": [\"curaรงao\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cy\": {\r\n \"keywords\": [\"cyprus\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"cz\": {\r\n \"keywords\": [\"czech_republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dk\": {\r\n \"keywords\": [\"denmark\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dj\": {\r\n \"keywords\": [\"djibouti\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"dm\": {\r\n \"keywords\": [\"dominica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"do\": {\r\n \"keywords\": [\"dominican\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ec\": {\r\n \"keywords\": [\"ecuador\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"eg\": {\r\n \"keywords\": [\"egypt\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sv\": {\r\n \"keywords\": [\"el\", \"salvador\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"gq\": {\r\n \"keywords\": [\"equatorial\", \"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"er\": {\r\n \"keywords\": [\"eritrea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ee\": {\r\n \"keywords\": [\"estonia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"et\": {\r\n \"keywords\": [\"ethiopia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"eu\": {\r\n \"keywords\": [\"european\", \"union\", \"flag\", \"banner\"],\r\n \"char\": \"๐ช๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fk\": {\r\n \"keywords\": [\"falkland\", \"islands\", \"malvinas\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fo\": {\r\n \"keywords\": [\"faroe\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"fj\": {\r\n \"keywords\": [\"fiji\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fi\": {\r\n \"keywords\": [\"finland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fr\": {\r\n \"keywords\": [\"banner\", \"flag\", \"nation\", \"france\", \"french\", \"country\"],\r\n \"char\": \"๐ซ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"gf\": {\r\n \"keywords\": [\"french\", \"guiana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pf\": {\r\n \"keywords\": [\"french\", \"polynesia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tf\": {\r\n \"keywords\": [\"french\", \"southern\", \"territories\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ga\": {\r\n \"keywords\": [\"gabon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gm\": {\r\n \"keywords\": [\"gambia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ge\": {\r\n \"keywords\": [\"georgia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"de\": {\r\n \"keywords\": [\"german\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฉ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"gh\": {\r\n \"keywords\": [\"ghana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gi\": {\r\n \"keywords\": [\"gibraltar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gr\": {\r\n \"keywords\": [\"greece\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"gl\": {\r\n \"keywords\": [\"greenland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gd\": {\r\n \"keywords\": [\"grenada\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gp\": {\r\n \"keywords\": [\"guadeloupe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"gu\": {\r\n \"keywords\": [\"guam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gt\": {\r\n \"keywords\": [\"guatemala\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"gg\": {\r\n \"keywords\": [\"guernsey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gn\": {\r\n \"keywords\": [\"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gw\": {\r\n \"keywords\": [\"guinea\", \"bissau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gy\": {\r\n \"keywords\": [\"guyana\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ht\": {\r\n \"keywords\": [\"haiti\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"hn\": {\r\n \"keywords\": [\"honduras\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"hk\": {\r\n \"keywords\": [\"hong\", \"kong\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"hu\": {\r\n \"keywords\": [\"hungary\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ญ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"is\": {\r\n \"keywords\": [\"iceland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"in\": {\r\n \"keywords\": [\"india\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"indonesia\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ir\": {\r\n \"keywords\": [\"iran,\", \"islamic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"iq\": {\r\n \"keywords\": [\"iraq\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ie\": {\r\n \"keywords\": [\"ireland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"im\": {\r\n \"keywords\": [\"isle\", \"man\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"il\": {\r\n \"keywords\": [\"israel\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"it\": {\r\n \"keywords\": [\"italy\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฎ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"ci\": {\r\n \"keywords\": [\"ivory\", \"coast\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"jm\": {\r\n \"keywords\": [\"jamaica\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"jp\": {\r\n \"keywords\": [\"japanese\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"je\": {\r\n \"keywords\": [\"jersey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"jo\": {\r\n \"keywords\": [\"jordan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฏ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"kz\": {\r\n \"keywords\": [\"kazakhstan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ke\": {\r\n \"keywords\": [\"kenya\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ki\": {\r\n \"keywords\": [\"kiribati\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"xk\": {\r\n \"keywords\": [\"kosovo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฝ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kw\": {\r\n \"keywords\": [\"kuwait\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kg\": {\r\n \"keywords\": [\"kyrgyzstan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"la\": {\r\n \"keywords\": [\"lao\", \"democratic\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lv\": {\r\n \"keywords\": [\"latvia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"lb\": {\r\n \"keywords\": [\"lebanon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"ls\": {\r\n \"keywords\": [\"lesotho\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lr\": {\r\n \"keywords\": [\"liberia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ly\": {\r\n \"keywords\": [\"libya\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"li\": {\r\n \"keywords\": [\"liechtenstein\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lt\": {\r\n \"keywords\": [\"lithuania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"lu\": {\r\n \"keywords\": [\"luxembourg\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mo\": {\r\n \"keywords\": [\"macao\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"mk\": {\r\n \"keywords\": [\"macedonia,\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mg\": {\r\n \"keywords\": [\"madagascar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mw\": {\r\n \"keywords\": [\"malawi\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"my\": {\r\n \"keywords\": [\"malaysia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mv\": {\r\n \"keywords\": [\"maldives\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"ml\": {\r\n \"keywords\": [\"mali\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mt\": {\r\n \"keywords\": [\"malta\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"mh\": {\r\n \"keywords\": [\"marshall\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mq\": {\r\n \"keywords\": [\"martinique\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ถ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mr\": {\r\n \"keywords\": [\"mauritania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"mu\": {\r\n \"keywords\": [\"mauritius\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"yt\": {\r\n \"keywords\": [\"mayotte\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐พ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"mx\": {\r\n \"keywords\": [\"mexico\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"fm\": {\r\n \"keywords\": [\"micronesia,\", \"federated\", \"states\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ซ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"md\": {\r\n \"keywords\": [\"moldova,\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mc\": {\r\n \"keywords\": [\"monaco\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mn\": {\r\n \"keywords\": [\"mongolia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"me\": {\r\n \"keywords\": [\"montenegro\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ms\": {\r\n \"keywords\": [\"montserrat\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ma\": {\r\n \"keywords\": [\"morocco\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mz\": {\r\n \"keywords\": [\"mozambique\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mm\": {\r\n \"keywords\": [\"myanmar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"na\": {\r\n \"keywords\": [\"namibia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nr\": {\r\n \"keywords\": [\"nauru\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"np\": {\r\n \"keywords\": [\"nepal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"nl\": {\r\n \"keywords\": [\"netherlands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nc\": {\r\n \"keywords\": [\"new\", \"caledonia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nz\": {\r\n \"keywords\": [\"new\", \"zealand\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ni\": {\r\n \"keywords\": [\"nicaragua\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ne\": {\r\n \"keywords\": [\"niger\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"nigeria\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nu\": {\r\n \"keywords\": [\"niue\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"nf\": {\r\n \"keywords\": [\"norfolk\", \"island\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"mp\": {\r\n \"keywords\": [\"northern\", \"mariana\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฒ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"kp\": {\r\n \"keywords\": [\"north\", \"korea\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ต\",\r\n \"category\": \"flags\"\r\n },\r\n \"no\": {\r\n \"keywords\": [\"norway\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ณ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"om\": {\r\n \"keywords\": [\"oman\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ด๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pk\": {\r\n \"keywords\": [\"pakistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pw\": {\r\n \"keywords\": [\"palau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ps\": {\r\n \"keywords\": [\"palestine\", \"palestinian\", \"territories\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pa\": {\r\n \"keywords\": [\"panama\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pg\": {\r\n \"keywords\": [\"papua\", \"new\", \"guinea\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"py\": {\r\n \"keywords\": [\"paraguay\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pe\": {\r\n \"keywords\": [\"peru\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ph\": {\r\n \"keywords\": [\"philippines\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pn\": {\r\n \"keywords\": [\"pitcairn\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pl\": {\r\n \"keywords\": [\"poland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pt\": {\r\n \"keywords\": [\"portugal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"pr\": {\r\n \"keywords\": [\"puerto\", \"rico\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"qa\": {\r\n \"keywords\": [\"qatar\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ถ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"re\": {\r\n \"keywords\": [\"rรฉunion\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ro\": {\r\n \"keywords\": [\"romania\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"ru\": {\r\n \"keywords\": [\"russian\", \"federation\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"rw\": {\r\n \"keywords\": [\"rwanda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"bl\": {\r\n \"keywords\": [\"saint\", \"barthรฉlemy\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ง๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sh\": {\r\n \"keywords\": [\"saint\", \"helena\", \"ascension\", \"tristan\", \"cunha\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kn\": {\r\n \"keywords\": [\"saint\", \"kitts\", \"nevis\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lc\": {\r\n \"keywords\": [\"saint\", \"lucia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"pm\": {\r\n \"keywords\": [\"saint\", \"pierre\", \"miquelon\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ต๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vc\": {\r\n \"keywords\": [\"saint\", \"vincent\", \"grenadines\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ws\": {\r\n \"keywords\": [\"samoa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ผ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sm\": {\r\n \"keywords\": [\"san\", \"marino\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"st\": {\r\n \"keywords\": [\"sao\", \"tome\", \"principe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"saudi_arabia\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sn\": {\r\n \"keywords\": [\"senegal\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"rs\": {\r\n \"keywords\": [\"serbia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ท๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sc\": {\r\n \"keywords\": [\"seychelles\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sl\": {\r\n \"keywords\": [\"sierra\", \"leone\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sg\": {\r\n \"keywords\": [\"singapore\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sx\": {\r\n \"keywords\": [\"sint\", \"maarten\", \"dutch\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฝ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sk\": {\r\n \"keywords\": [\"slovakia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"si\": {\r\n \"keywords\": [\"slovenia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sb\": {\r\n \"keywords\": [\"solomon\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"so\": {\r\n \"keywords\": [\"somalia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"za\": {\r\n \"keywords\": [\"south\", \"africa\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"gs\": {\r\n \"keywords\": [\"south\", \"georgia\", \"sandwich\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฌ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"kr\": {\r\n \"keywords\": [\"south\", \"korea\", \"nation\", \"flag\", \"country\", \"banner\"],\r\n \"char\": \"๐ฐ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"ss\": {\r\n \"keywords\": [\"south\", \"sudan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"es\": {\r\n \"keywords\": [\"spain\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"lk\": {\r\n \"keywords\": [\"sri\", \"lanka\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฑ๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sd\": {\r\n \"keywords\": [\"sudan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฉ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sr\": {\r\n \"keywords\": [\"suriname\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"sz\": {\r\n \"keywords\": [\"swaziland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"se\": {\r\n \"keywords\": [\"sweden\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"ch\": {\r\n \"keywords\": [\"switzerland\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐จ๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"sy\": {\r\n \"keywords\": [\"syrian\", \"arab\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ธ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tw\": {\r\n \"keywords\": [\"taiwan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tj\": {\r\n \"keywords\": [\"tajikistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฏ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tz\": {\r\n \"keywords\": [\"tanzania,\", \"united\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"th\": {\r\n \"keywords\": [\"thailand\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tl\": {\r\n \"keywords\": [\"timor\", \"leste\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฑ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tg\": {\r\n \"keywords\": [\"togo\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tk\": {\r\n \"keywords\": [\"tokelau\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฐ\",\r\n \"category\": \"flags\"\r\n },\r\n \"to\": {\r\n \"keywords\": [\"tonga\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ด\",\r\n \"category\": \"flags\"\r\n },\r\n \"tt\": {\r\n \"keywords\": [\"trinidad\", \"tobago\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐น\",\r\n \"category\": \"flags\"\r\n },\r\n \"tn\": {\r\n \"keywords\": [\"tunisia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tr\": {\r\n \"keywords\": [\"turkey\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ท\",\r\n \"category\": \"flags\"\r\n },\r\n \"turkmenistan\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tc\": {\r\n \"keywords\": [\"turks\", \"caicos\", \"islands\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐จ\",\r\n \"category\": \"flags\"\r\n },\r\n \"tuvalu\": {\r\n \"keywords\": [\"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐น๐ป\",\r\n \"category\": \"flags\"\r\n },\r\n \"ug\": {\r\n \"keywords\": [\"uganda\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฌ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ua\": {\r\n \"keywords\": [\"ukraine\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ae\": {\r\n \"keywords\": [\"united\", \"arab\", \"emirates\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฆ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"gb\": {\r\n \"keywords\": [\"united\", \"kingdom\", \"great\", \"britain\", \"northern\", \"ireland\", \"flag\", \"nation\", \"country\", \"banner\", \"british\", \"UK\", \"english\", \"england\", \"union jack\"],\r\n \"char\": \"๐ฌ๐ง\",\r\n \"category\": \"flags\"\r\n },\r\n \"us\": {\r\n \"keywords\": [\"united\", \"states\", \"america\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ธ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vi\": {\r\n \"keywords\": [\"virgin\", \"islands\", \"us\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฎ\",\r\n \"category\": \"flags\"\r\n },\r\n \"uy\": {\r\n \"keywords\": [\"uruguay\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐พ\",\r\n \"category\": \"flags\"\r\n },\r\n \"uz\": {\r\n \"keywords\": [\"uzbekistan\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐บ๐ฟ\",\r\n \"category\": \"flags\"\r\n },\r\n \"vu\": {\r\n \"keywords\": [\"vanuatu\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐บ\",\r\n \"category\": \"flags\"\r\n },\r\n \"va\": {\r\n \"keywords\": [\"vatican\", \"city\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ฆ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ve\": {\r\n \"keywords\": [\"venezuela\", \"bolivarian\", \"republic\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"vn\": {\r\n \"keywords\": [\"viet\", \"nam\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ป๐ณ\",\r\n \"category\": \"flags\"\r\n },\r\n \"wf\": {\r\n \"keywords\": [\"wallis\", \"futuna\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ผ๐ซ\",\r\n \"category\": \"flags\"\r\n },\r\n \"eh\": {\r\n \"keywords\": [\"western\", \"sahara\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ช๐ญ\",\r\n \"category\": \"flags\"\r\n },\r\n \"ye\": {\r\n \"keywords\": [\"yemen\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐พ๐ช\",\r\n \"category\": \"flags\"\r\n },\r\n \"zm\": {\r\n \"keywords\": [\"zambia\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ฒ\",\r\n \"category\": \"flags\"\r\n },\r\n \"zw\": {\r\n \"keywords\": [\"zimbabwe\", \"flag\", \"nation\", \"country\", \"banner\"],\r\n \"char\": \"๐ฟ๐ผ\",\r\n \"category\": \"flags\"\r\n },\r\n \"octocat\": {\r\n \"keywords\": [\"animal\", \"octopus\", \"github\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"shipit\": {\r\n \"keywords\": [\"squirrel\", \"detective\", \"animal\", \"sherlock\", \"inspector\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"bowtie\": {\r\n \"keywords\": [\"face\", \"formal\", \"fashion\", \"suit\", \"classy\", \"magic\", \"circus\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"neckbeard\": {\r\n \"keywords\": [\"nerdy\", \"face\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"metal\": {\r\n \"keywords\": [\"fingers\", \"rocknroll\", \"concert\", \"band\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"fu\": {\r\n \"keywords\": [\"fuck\", \"finger\", \"dislike\", \"thumbsdown\", \"disapprove\", \"no\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"trollface\": {\r\n \"keywords\": [\"internet\", \"meme\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"godmode\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"goberserk\": {\r\n \"keywords\": [\"doom\", \"rage\", \"bloody\", \"hurt\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"finnadie\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"feelsgood\": {\r\n \"keywords\": [\"doom\", \"oldschool\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage1\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage2\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage3\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"rage4\": {\r\n \"keywords\": [\"angry\", \"mad\", \"hate\", \"despise\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"suspect\": {\r\n \"keywords\": [\"mad\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n },\r\n \"hurtrealbad\": {\r\n \"keywords\": [\"mad\", \"injured\", \"doom\", \"oldschool\", \"custom_\"],\r\n \"char\": null,\r\n \"category\": \"_custom\"\r\n }\r\n}","declare var twemoji: {\r\n parse(str: string, options?: { folder: string, ext: string }): string;\r\n}\r\n\r\nimport { Component, OnInit, Output } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { Subject } from 'rxjs';\r\n\r\ninterface Emoji {\r\n\tkeywords : string[];\r\n\tchar : string;\r\n\thtml? : SafeHtml;\r\n\tcategory : string;\r\n}\r\n\r\nimport { EMOJIS } from '../emojis';\r\n\r\n@Component({\r\n\tselector: 'emoji-selector-panel',\r\n\ttemplateUrl: './emoji-selector-panel.component.html',\r\n\tstyleUrls: ['./emoji-selector-panel.component.scss']\r\n})\r\nexport class EmojiSelectorPanelComponent implements OnInit {\r\n\r\n\tconstructor(\r\n\t\tprivate sanitizer : DomSanitizer\r\n\t) { }\r\n\r\n\tcategories : any[];\r\n\tactiveCategory : string = 'people';\r\n\r\n\t@Output()\r\n\tprivate selected : Subject<string> = new Subject();\r\n\r\n\tselect(char : string) {\r\n\t\tthis.selected.next(char);\r\n\t}\r\n\r\n\tpairs(object) {\r\n\t\treturn Object.keys(object).map(key => [key, object[key]]);\r\n\t}\r\n\r\n\tngOnInit() {\r\n\r\n\t\tlet cats = {};\r\n\t\tlet categoryIcons = {\r\n\t\t\tsymbols: 'warning',\r\n\t\t\tpeople: 'people',\r\n\t\t\tanimals_and_nature: 'nature',\r\n\t\t\ttravel_and_places: 'location_on',\r\n\t\t\tactivity: 'local_activity',\r\n\t\t\tfood_and_drink: 'restaurant',\r\n\t\t\tobjects: 'computer',\r\n\t\t\tflags: 'flag'\r\n\t\t};\r\n\t\tfor (let pair of this.pairs(EMOJIS)) {\r\n\t\t\tlet name = pair[0];\r\n\t\t\tlet emoji : Emoji = pair[1];\r\n\r\n\t\t\tif (!cats[emoji.category]) {\r\n\t\t\t\tcats[emoji.category] = {\r\n\t\t\t\t\tname: emoji.category,\r\n\t\t\t\t\ticon: categoryIcons[emoji.category] || 'code',\r\n\t\t\t\t\temojis: []\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\temoji.html = this.sanitizer.bypassSecurityTrustHtml(twemoji.parse(emoji.char || ''));\r\n\r\n\t\t\tcats[emoji.category].emojis.push(emoji);\r\n\t\t}\r\n\r\n\t\tthis.categories = this.pairs(cats).map(pair => pair[1]);\r\n\t}\r\n\r\n}\r\n","import { Component, Output } from '@angular/core';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'emoji-selector-button',\r\n template: `\r\n <button mat-icon-button (click)=\"show()\">\r\n <mat-icon>emoji_emotions</mat-icon>\r\n </button>\r\n <emoji-selector-panel \r\n (selected)=\"insert($event)\"\r\n [class.visible]=\"showEmojiPanel\"\r\n ></emoji-selector-panel>\r\n `,\r\n styles: [`\r\n :host {\r\n display: block;\r\n position: relative;\r\n }\r\n\r\n emoji-selector-panel {\r\n position: absolute;\r\n bottom: 2.5em;\r\n right: 0;\r\n opacity: 0;\r\n pointer-events: none;\r\n z-index: 10;\r\n }\r\n\r\n emoji-selector-panel.visible {\r\n pointer-events: initial;\r\n opacity: 1;\r\n }\r\n\r\n button {\r\n color: #666\r\n }\r\n\r\n :host.bottom-left emoji-selector-panel {\r\n right: auto;\r\n left: 0;\r\n }\r\n\r\n :host.top-right emoji-selector-panel {\r\n top: 2.4em;\r\n bottom: auto;\r\n }\r\n\r\n :host.top-left emoji-selector-panel {\r\n top: 2.4em;\r\n bottom: auto;\r\n left: 0;\r\n right: auto;\r\n }\r\n `]\r\n})\r\nexport class EmojiSelectorButtonComponent {\r\n\r\n private _selected = new Subject<string>();\r\n\r\n @Output()\r\n get selected() : Observable<string> {\r\n return this._selected;\r\n }\r\n\r\n ngOnDestroy() {\r\n this.removeListener();\r\n }\r\n\r\n private removeListener() {\r\n document.removeEventListener('click', this.clickListener);\r\n }\r\n\r\n show() {\r\n if (this.showEmojiPanel) {\r\n this.showEmojiPanel = false;\r\n return;\r\n }\r\n\r\n this.showEmojiPanel = true;\r\n\r\n setTimeout(() => {\r\n this.clickListener = (ev : MouseEvent) => {\r\n\r\n let parent = <HTMLElement> ev.target;\r\n let isInDialog = false;\r\n \r\n while (parent) {\r\n if (parent.matches('emoji-selector-panel'))\r\n isInDialog = true;\r\n\r\n parent = parent.parentElement;\r\n }\r\n\r\n if (isInDialog)\r\n return;\r\n\r\n this.showEmojiPanel = false;\r\n this.removeListener();\r\n };\r\n \r\n document.addEventListener('click', this.clickListener);\r\n });\r\n }\r\n\r\n private clickListener : any;\r\n\r\n showEmojiPanel = false;\r\n\r\n insert(str) {\r\n this._selected.next(str);\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { EmojiSelectorPanelComponent } from './emoji-selector-panel/emoji-selector-panel.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { EmojiSelectorButtonComponent } from './emoji-selector-button.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\nconst COMPONENTS = [\r\n EmojiSelectorPanelComponent,\r\n EmojiSelectorButtonComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n MatIconModule,\r\n MatButtonModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class EmojiModule {\r\n\r\n}","import { Component, Input, Output } from \"@angular/core\";\r\nimport { User, ChatMessage } from '@banta/common';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-chat-message',\r\n templateUrl: './chat-message.component.html',\r\n styleUrls: ['./chat-message.component.scss']\r\n})\r\nexport class ChatMessageComponent {\r\n private _selected = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _upvoted = new Subject<void>();\r\n private _userSelected = new Subject<User>();\r\n\r\n @Input()\r\n message : ChatMessage;\r\n \r\n @Output() \r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n \r\n selectUser() {\r\n this._userSelected.next();\r\n }\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { ChatBackend, Notification, ChatSource, ChatMessage } from '@banta/common';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport abstract class ChatBackendService implements ChatBackend {\r\n abstract getSourceForTopic(topicId : string) : Promise<ChatSource>;\r\n abstract getSourceForThread(topicId : string, messageId : string) : Promise<ChatSource>;\r\n abstract refreshMessage(message : ChatMessage): Promise<ChatMessage>;\r\n abstract getMessage(topicId : string, messageId : string): Promise<ChatMessage>;\r\n abstract getSubMessage(topicId : string, parentMessageId : string, messageId : string): Promise<ChatMessage>;\r\n abstract upvoteMessage(topicId : string, messageId : string, submessageId? : string): Promise<void>;\r\n abstract watchMessage(message : ChatMessage, handler : (message : ChatMessage) => void) : () => void;\r\n \r\n abstract get notificationsChanged() : Observable<Notification[]>;\r\n abstract get newNotification() : Observable<Notification>;\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ChatBackendService } from '../chat-backend.service';\r\n\r\n@Component({\r\n selector: 'engage-live-chat-message',\r\n template: `\r\n <engage-chat-message \r\n *ngIf=\"message\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote()\"\r\n (reported)=\"report()\"\r\n (selected)=\"select()\"\r\n ></engage-chat-message>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveChatMessageComponent {\r\n constructor(\r\n private backend : ChatBackendService\r\n ) {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n @Output()\r\n get upvoted() : Observable<void> {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() : Observable<void> {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() : Observable<void> {\r\n return this._selected;\r\n }\r\n \r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n private unsubscribe : Function;\r\n\r\n set message(value) {\r\n let originalId = null;\r\n if (this._message)\r\n originalId = this._message.id;\r\n \r\n this._message = value;\r\n\r\n if (value && originalId === value.id) {\r\n return;\r\n }\r\n\r\n if (this.unsubscribe)\r\n this.unsubscribe();\r\n \r\n if (value) {\r\n this.unsubscribe = this.backend.watchMessage(value, message => this.message = message);\r\n }\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n}","import { Component, Input, ViewChild, ElementRef, Output } from \"@angular/core\";\r\nimport { ChatSource, User, ChatMessage } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-chat-view',\r\n templateUrl: './chat-view.component.html',\r\n styleUrls: ['./chat-view.component.scss']\r\n})\r\nexport class ChatViewComponent {\r\n constructor(\r\n private elementRef : ElementRef<HTMLElement>\r\n ) {\r\n\r\n }\r\n\r\n private _sourceSubs = new SubSink();\r\n private _source : ChatSource;\r\n\r\n @Input()\r\n get source() {\r\n return this._source;\r\n }\r\n\r\n private _selected = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n set source(value) {\r\n if (this._sourceSubs) {\r\n this._sourceSubs.unsubscribe();\r\n this._sourceSubs = null;\r\n }\r\n\r\n this._source = value;\r\n\r\n this.messages = [];\r\n\r\n if (value) {\r\n this._sourceSubs = new SubSink();\r\n this.messages = value.messages.slice();\r\n\r\n console.log(`Source set:`);\r\n console.dir(value);\r\n\r\n console.log(`Messages loaded:`);\r\n console.dir(this.messages); \r\n \r\n this._sourceSubs.add(\r\n this._source.messageReceived\r\n .subscribe(msg => this.messageReceived(msg)),\r\n this._source.messageSent\r\n .subscribe(msg => this.messageSent(msg))\r\n );\r\n\r\n \r\n if (this._source.currentUserChanged) {\r\n this._sourceSubs.add(\r\n this._source.currentUserChanged\r\n .subscribe(user => this.currentUser = user)\r\n );\r\n }\r\n }\r\n }\r\n\r\n messages : ChatMessage[] = [];\r\n currentUser : User;\r\n\r\n @ViewChild('messageContainer')\r\n messageContainer : ElementRef<HTMLElement>;\r\n\r\n @Input()\r\n maxMessages : number = 200;\r\n\r\n private addMessage(message : ChatMessage) {\r\n if (this.messages.length > this.maxMessages + 1) {\r\n while (this.messages.length > this.maxMessages)\r\n this.messages.shift();\r\n }\r\n\r\n this.messages.push(message);\r\n }\r\n\r\n private messageReceived(message : ChatMessage) {\r\n this.addMessage(message);\r\n\r\n if (this.isScrolledToLatest())\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n isScrolledToLatest() {\r\n if (!this.messageContainer)\r\n return false;\r\n\r\n let el = this.messageContainer.nativeElement;\r\n let currentScroll = el.scrollTop;\r\n let currentTotal = el.scrollHeight - el.offsetHeight;\r\n \r\n return currentScroll > currentTotal - 10;\r\n }\r\n\r\n private messageSent(message : ChatMessage) {\r\n this.addMessage(message);\r\n \r\n if (!this.messageContainer)\r\n return;\r\n\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n scrollToLatest() {\r\n if (!this.messageContainer)\r\n return;\r\n \r\n let el = this.messageContainer.nativeElement;\r\n el.scrollTop = el.scrollHeight;\r\n }\r\n\r\n jumpTo(message : ChatMessage) {\r\n let element = this.elementRef.nativeElement;\r\n let messageElement = element.querySelector(`engage-chat-message[data-id=\"${message.id}\"]`)\r\n\r\n if (!messageElement) {\r\n alert(`could not find message ${message.id}`);\r\n return;\r\n }\r\n\r\n messageElement.scrollIntoView({ behavior: 'smooth' });\r\n\r\n this.flashMessage(message);\r\n }\r\n\r\n flashMessage(message : ChatMessage) {\r\n if (!message)\r\n return;\r\n \r\n this.flashedMessageId = message.id;\r\n //setTimeout(() => this.flashedMessageId = null, 250);\r\n }\r\n\r\n flashedMessageId : string;\r\n\r\n\r\n mentionsMe(message : ChatMessage) {\r\n if (!this.currentUser)\r\n return false;\r\n\r\n if (message.message.includes(`@${this.currentUser.username}`))\r\n return true;\r\n \r\n return false;\r\n }\r\n \r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n\r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n\r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n}","import { Component, Input, Output, ElementRef, ViewChild } from \"@angular/core\";\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\nimport { User, ChatSource, ChatMessage, NewMessageForm } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { ChatViewComponent } from '../chat-view/chat-view.component';\r\nimport { BantaService } from '../../common';\r\nimport { ChatBackendService } from \"../../chat-backend.service\";\r\n\r\n@Component({\r\n selector: 'engage-firehose',\r\n templateUrl: './firehose-chat.component.html',\r\n styleUrls: ['./firehose-chat.component.scss']\r\n})\r\nexport class FirehoseChatComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService,\r\n private elementRef : ElementRef<HTMLElement>\r\n ) {\r\n }\r\n\r\n private _source : ChatSource;\r\n private _subs = new SubSink();\r\n user : User = null;\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.user = user)\r\n );\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n @Input()\r\n get source() : ChatSource {\r\n return this._source;\r\n }\r\n\r\n set source(value) {\r\n this._source = value;\r\n }\r\n \r\n private _selected = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n\r\n showEmojiPanel = false;\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n insertEmoji(emoji) {\r\n let message = this.newMessage.message || '';\r\n\r\n this.newMessage.message = message + emoji;\r\n }\r\n\r\n onKeyDown(event : KeyboardEvent) {\r\n // TODO\r\n }\r\n\r\n @ViewChild('chatView', { static: true })\r\n chatView : ChatViewComponent;\r\n\r\n jumpToMessage(message : ChatMessage) {\r\n if (this.chatView)\r\n this.chatView.jumpTo(message);\r\n }\r\n\r\n select(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n \r\n report(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n \r\n upvote(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n newMessage : NewMessageForm = {};\r\n\r\n sendMessage() {\r\n if (!this.source)\r\n return;\r\n\r\n let text = (this.newMessage.message || '').trim();\r\n this.newMessage.message = '';\r\n\r\n if (text === '')\r\n return;\r\n\r\n let message : ChatMessage = { \r\n user: null,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n this.source.send(message);\r\n }\r\n}","import { NgModule } from \"@angular/core\";\r\nimport { ChatMessageComponent } from './chat-message/chat-message.component';\r\nimport { ChatViewComponent } from './chat-view/chat-view.component';\r\nimport { FirehoseChatComponent } from './firehose-chat/firehose-chat.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EmojiModule } from '../emoji';\r\nimport { LiveChatMessageComponent } from './live-chat-message.component';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\nconst COMPONENTS = [\r\n ChatMessageComponent,\r\n LiveChatMessageComponent,\r\n ChatViewComponent,\r\n FirehoseChatComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n EmojiModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class ChatModule {\r\n}","import { Component, Input, ViewChild, ElementRef, HostBinding } from \"@angular/core\";\r\nimport { NewMessageForm, ChatMessage, User, ChatSource, Notification } from '@banta/common';\r\nimport { Subject, BehaviorSubject, Observable } from 'rxjs';\r\nimport { SubSink } from 'subsink';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FirehoseChatComponent } from '../chat';\r\nimport { BantaService } from '../common';\r\nimport { ChatBackendService } from \"../chat-backend.service\";\r\nimport { Output } from \"@angular/core\";\r\n\r\nconst GENERIC_AVATAR_URL = 'https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png';\r\n\r\nconst MOCK_USERS = [\r\n { \r\n id: 'a',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Tom`, \r\n username: `tom` \r\n }, { \r\n id: 'b',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Dick`, \r\n username: `dick` \r\n }, { \r\n id: 'c',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Harry`, \r\n username: `harry` \r\n }, { \r\n id: 'd',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `John`, \r\n username: `john` \r\n }, { \r\n id: 'e',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Wayne`, \r\n username: `wayne` \r\n }, { \r\n id: 'f',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Heather`, \r\n username: `heather` \r\n }, { \r\n id: 'g',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Mary`, \r\n username: `mary` \r\n }, { \r\n id: 'h',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jennifer`, \r\n username: `jennifer` \r\n }, { \r\n id: 'i',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Kyle`, \r\n username: `kyle` \r\n }, { \r\n id: 'j',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Wanda`, \r\n username: `wanda` \r\n }, { \r\n id: 'k',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Josh`, \r\n username: `josh` \r\n }, { \r\n id: 'l',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jane`, \r\n username: `jane` \r\n }, { \r\n id: 'm',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Joy`, \r\n username: `joy` \r\n }, { \r\n id: 'n',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Jesus`, \r\n username: `jesus` \r\n }, { \r\n id: 'o',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `I bathe in Bernie's tears of joy`, \r\n username: `landem` \r\n }, { \r\n id: 'p',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `The thing about socialism is that its the best`, \r\n username: `mangahead` \r\n }, { \r\n id: 'q',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `If only I knew the first thing about this stuff`, \r\n username: `redstripe` \r\n }, { \r\n id: 'r',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Time is not something that should be treated unfairly`, \r\n username: `fantom` \r\n }, { \r\n id: 's',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `What is the meaning of this capitalism?`, \r\n username: `ganjaking` \r\n }, { \r\n id: 't',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `The world is not ready for us`, \r\n username: `leggo` \r\n }, { \r\n id: 'u',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: `Make or break, now is our time`, \r\n username: `mako` \r\n }\r\n];\r\n\r\nexport class MockFirehoseSource implements ChatSource {\r\n constructor() {\r\n let randomMessages = [\r\n `Whoa!`,\r\n `Cool!`,\r\n `Nifty!`,\r\n `Sweet!`,\r\n `@liam, awesome!`,\r\n `Crazy!`,\r\n `Wunderbar!`,\r\n `Lasagna!`,\r\n `Tacos!`,\r\n `@liam, Life is a box of chocolates, you never know which one... oh fuck it`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`,\r\n `The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such.`\r\n ];\r\n\r\n setInterval(() => {\r\n let messageText = randomMessages[Math.floor(randomMessages.length * Math.random())];\r\n let user = MOCK_USERS[Math.floor(MOCK_USERS.length * Math.random())];\r\n\r\n let message : ChatMessage = {\r\n user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: messageText,\r\n submessages: []\r\n }\r\n\r\n this.addMessage(message);\r\n this.messageReceived.next(message);\r\n }, 1000);\r\n\r\n this._currentUserChanged.next(this.currentUser);\r\n }\r\n\r\n close() {\r\n // TODO\r\n }\r\n\r\n currentUser : User = {\r\n id: 'z',\r\n username: 'liam',\r\n displayName: 'Liam',\r\n avatarUrl: GENERIC_AVATAR_URL\r\n };\r\n\r\n private addMessage(message : ChatMessage) {\r\n this._messages.push(message);\r\n }\r\n\r\n send(message : ChatMessage) {\r\n this.addMessage(message);\r\n this._messageSent.next(message);\r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _currentUserChanged = new BehaviorSubject<User>(null);\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n \r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n}\r\n\r\nexport class MockPointSource implements ChatSource {\r\n constructor() {\r\n let randomPoints = [\r\n `I think that Trump has a specific form of braindead called\r\n \"Trumpitis\".`,\r\n `Other things that could be said will be said`,\r\n `If only things were as simple as they appear`,\r\n `Life is a box of chocolates, you never know which one... oh fuck it`,\r\n `More things that are done tomorrow may not be done today`,\r\n `Google is a useful tool to find things`,\r\n `Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI! The orange one makes me dislike oranges. Orange orangutan is obsolete and unoriginal! Monkeys and such. Life is a box of chocolates, you never know which one... oh fuck it. Lorem ipsum dolor sit amet! Lorem ipsum dolor sit amet! LOREM IPSUM DOLOR SIT AMET GDI!`\r\n ];\r\n\r\n setInterval(() => {\r\n let messageText = randomPoints[Math.floor(randomPoints.length * Math.random())];\r\n let user = MOCK_USERS[Math.floor(MOCK_USERS.length * Math.random())];\r\n\r\n let message : ChatMessage = {\r\n user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: messageText,\r\n submessages: [\r\n {\r\n user: this.currentUser,\r\n message: `Good point!`,\r\n sentAt: Date.now(),\r\n upvotes: 0\r\n },\r\n {\r\n user: { \r\n id: 'aa',\r\n avatarUrl: GENERIC_AVATAR_URL, \r\n displayName: 'FunnilyGuy', \r\n username: 'funnyguy' \r\n },\r\n sentAt: Date.now(),\r\n message: `What would this mean for Buttigieg?`,\r\n upvotes: 0\r\n },\r\n {\r\n user,\r\n sentAt: Date.now(),\r\n message: `Klobucharino`,\r\n upvotes: 0\r\n },\r\n {\r\n user: this.currentUser,\r\n sentAt: Date.now(),\r\n message: `Good question!`,\r\n upvotes: 0\r\n },\r\n {\r\n user,\r\n sentAt: Date.now(),\r\n message: `But whyigieg`,\r\n upvotes: 0\r\n }\r\n ]\r\n }\r\n\r\n this.addMessage(message);\r\n this.messageReceived.next(message);\r\n }, 5000);\r\n\r\n this._currentUserChanged.next(this.currentUser);\r\n }\r\n\r\n currentUser : User = {\r\n id: 'z',\r\n username: 'liam',\r\n displayName: 'Liam',\r\n avatarUrl: GENERIC_AVATAR_URL\r\n };\r\n\r\n private addMessage(message : ChatMessage) {\r\n this._messages.push(message); \r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _currentUserChanged = new BehaviorSubject<User>(null);\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n \r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n\r\n send(message : ChatMessage) {\r\n this.addMessage(message);\r\n this._messageSent.next(message);\r\n }\r\n}\r\n\r\nexport class MockSubpointSource implements ChatSource {\r\n constructor(\r\n readonly parentSource : ChatSource,\r\n readonly message : ChatMessage\r\n ) {\r\n this._currentUserChanged = parentSource.currentUserChanged;\r\n this._messages = message.submessages;\r\n }\r\n\r\n private _messages : ChatMessage[] = [];\r\n private _messageReceived = new Subject<ChatMessage>();\r\n private _messageSent = new Subject<ChatMessage>();\r\n private _currentUserChanged: Observable<User>;\r\n\r\n get messages() {\r\n return this._messages;\r\n }\r\n\r\n get messageReceived() {\r\n return this._messageReceived;\r\n }\r\n\r\n get messageSent() {\r\n return this._messageSent;\r\n }\r\n\r\n get currentUserChanged() {\r\n return this._currentUserChanged;\r\n }\r\n\r\n send(message: ChatMessage) {\r\n //throw new Error(\"Method not implemented.\");\r\n }\r\n\r\n\r\n}\r\n\r\n@Component({\r\n selector: `engage-chat`,\r\n templateUrl: './engage.component.html',\r\n styleUrls: [ './engage.component.scss' ]\r\n})\r\nexport class EngageComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService,\r\n private matDialog : MatDialog\r\n ) {\r\n // this.firehoseSource = new MockFirehoseSource();\r\n // this.pointSource = new MockPointSource();\r\n }\r\n\r\n firehoseSource : ChatSource;\r\n pointSource : ChatSource;\r\n\r\n private _topicID : string;\r\n private _subs = new SubSink();\r\n\r\n auxOpen = false;\r\n auxTitle = 'Notifications';\r\n auxMode = 'notifications';\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.currentUser = user),\r\n this.backend.notificationsChanged.subscribe(notifs => this.notifications = notifs),\r\n this.backend.newNotification.subscribe(notif => {\r\n this.newNotifications = true;\r\n })\r\n );\r\n }\r\n\r\n newPointSubMessageKeyDown(event : KeyboardEvent) {\r\n // TODO\r\n }\r\n \r\n mobileFocus : string = null;\r\n\r\n async sendPointSubMessage() {\r\n let text = (this.newPointSubMessage.message || '').trim();\r\n this.newPointSubMessage.message = '';\r\n\r\n if (text === '')\r\n return;\r\n \r\n let message : ChatMessage = {\r\n user: null,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n try {\r\n await this.pointSubChat.send(message);\r\n } catch (e) {\r\n console.error(`Failed to send point sub-message:`);\r\n console.error(e);\r\n }\r\n }\r\n\r\n @ViewChild('firehose', { static: true })\r\n firehose : FirehoseChatComponent;\r\n\r\n async goToMessage(message : ChatMessage) {\r\n\r\n let targetMessage = message;\r\n\r\n if (message.parentMessageId) {\r\n // jump to the parent message thread...\r\n\r\n let parentMessage = await this.backend.getMessage(message.topicId, message.parentMessageId);\r\n\r\n if (!parentMessage) {\r\n console.error(`Failed to look up parent message ${message.topicId}/${message.parentMessageId}`);\r\n console.error(`Original message was:`);\r\n console.dir(targetMessage);\r\n return;\r\n }\r\n\r\n message = parentMessage;\r\n }\r\n\r\n let viewType = this.getViewType(message);\r\n\r\n if (viewType === 'comment') {\r\n if (this.pointSubChat) {\r\n if (this.pointSubChat.close)\r\n this.pointSubChat.close();\r\n this.pointSubChat = null;\r\n }\r\n this.mobileFocus = 'points';\r\n this.pointOpen = message;\r\n this.pointSubChat = await this.backend.getSourceForThread(message.topicId, message.id);\r\n this.pointOpen = await this.backend.refreshMessage(message);\r\n this.newPointSubMessage = {};\r\n } else if (viewType === 'chat') {\r\n this.mobileFocus = 'firehose';\r\n this.firehose.jumpToMessage(message);\r\n }\r\n }\r\n\r\n notifications : Notification[];\r\n newNotifications = false;\r\n \r\n pointUnfocus() {\r\n this.pointOpen = null;\r\n if (this.pointSubChat) {\r\n if (this.pointSubChat.close)\r\n this.pointSubChat.close();\r\n this.pointSubChat = null;\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n showAux(title : string, mode : string) {\r\n this.auxOpen = true;\r\n this.auxTitle = title;\r\n this.auxMode = mode;\r\n this.mobileFocus = 'aux';\r\n }\r\n\r\n showNotifications() {\r\n this.showAux('Notifications', 'notifications');\r\n }\r\n\r\n @Input()\r\n get topicID() : string {\r\n return this._topicID;\r\n }\r\n\r\n set topicID(value) {\r\n this._topicID = value;\r\n\r\n this.close();\r\n this.connectToTopic(this._topicID);\r\n }\r\n\r\n private async connectToTopic(id : string) {\r\n this.firehoseSource = await this.backend.getSourceForTopic(`${id}_firehose`);\r\n this.pointSource = await this.backend.getSourceForTopic(`${id}_thepoint`);\r\n }\r\n\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n close() {\r\n if (this.firehoseSource) {\r\n if (this.firehoseSource.close)\r\n this.firehoseSource.close();\r\n this.firehoseSource = null;\r\n }\r\n\r\n if (this.pointSource) {\r\n if (this.pointSource.close)\r\n this.pointSource.close();\r\n this.pointSource = null;\r\n }\r\n }\r\n\r\n @HostBinding('class.point-focus')\r\n get hasPoint() {\r\n return this.pointOpen != null;\r\n }\r\n\r\n pointOpen : ChatMessage = null;\r\n pointSubChat : ChatSource = null;\r\n\r\n closeAux() {\r\n this.auxOpen = false;\r\n this.mobileFocus = 'firehose';\r\n }\r\n\r\n getViewType(message : ChatMessage) {\r\n if (message.topicId.endsWith('_firehose'))\r\n return 'chat';\r\n else if (message.topicId.endsWith('_thepoint'))\r\n return 'comment';\r\n\r\n return 'comment';\r\n }\r\n\r\n async upvoteMessage(message : ChatMessage) {\r\n if (message.parentMessageId)\r\n await this.backend.upvoteMessage(message.topicId, message.parentMessageId, message.id);\r\n else\r\n await this.backend.upvoteMessage(message.topicId, message.id);\r\n //message.upvotes += 1;\r\n }\r\n\r\n showProfile(user : User) {\r\n this.profileUser = user;\r\n this.showAux(`@${user.username}'s Profile`, 'profile');\r\n }\r\n\r\n profileUser : User;\r\n \r\n reportedMessage : ChatMessage;\r\n\r\n sendReport(message : ChatMessage) {\r\n this.auxOpen = false;\r\n alert('would send report');\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this.reportedMessage = message;\r\n this.showAux(`Report message from @${message.user.username}`, 'report');\r\n }\r\n\r\n currentUser : User;\r\n\r\n newPointSubMessage : NewMessageForm = {};\r\n\r\n genericAvatarUrl = 'https://gravatar.com/avatar/915c804e0be607a4ad766ddadea5c48a?s=512&d=https://codepen.io/assets/avatars/user-avatar-512x512-6e240cf350d2f1cc07c2bed234c3a3bb5f1b237023c204c782622e80d6b212ba.png';\r\n}","import { Component } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'engage-logo',\r\n template: `banta`,\r\n styles: [\r\n `\r\n :host {\r\n font-family: 'Odibee Sans', sans-serif;\r\n font-size: 40pt;\r\n }\r\n\r\n :host.small {\r\n font-size: 30pt;\r\n }\r\n `\r\n ]\r\n})\r\nexport class EngageLogoComponent {\r\n\r\n}","import { Component, Input, Output } from \"@angular/core\";\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-live-message',\r\n template: `\r\n <ng-container *ngIf=\"message\">\r\n <engage-live-chat-message\r\n *ngIf=\"viewType === 'chat'\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote(message)\"\r\n (reported)=\"report(message)\"\r\n (selected)=\"select(message)\">\r\n </engage-live-chat-message>\r\n\r\n <engage-live-comment \r\n *ngIf=\"viewType === 'comment'\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote(message)\"\r\n (reported)=\"report(message)\"\r\n (selected)=\"select(message)\">\r\n </engage-live-comment>\r\n </ng-container>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveMessageComponent {\r\n constructor() {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n viewType : string;\r\n\r\n @Output() \r\n get upvoted(): Observable<void> {\r\n return this._upvoted;\r\n }\r\n\r\n @Output() \r\n get reported(): Observable<void> {\r\n return this._reported;\r\n }\r\n \r\n @Output() \r\n get selected(): Observable<void> {\r\n return this._selected;\r\n }\r\n\r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n set message(value) {\r\n this._message = value;\r\n this.viewType = this.getViewType(value);\r\n }\r\n\r\n private getViewType(message : ChatMessage) {\r\n if (message.topicId.endsWith('_firehose'))\r\n return 'chat';\r\n else if (message.topicId.endsWith('_thepoint'))\r\n return 'comment';\r\n\r\n return 'comment';\r\n }\r\n\r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n\r\n}","import { Component, Output, Input } from \"@angular/core\";\r\nimport { Subject } from 'rxjs';\r\nimport { ChatMessage, User } from '@banta/common';\r\n\r\n@Component({\r\n selector: 'engage-comment',\r\n templateUrl: './comment.component.html',\r\n styleUrls: ['./comment.component.scss']\r\n})\r\nexport class CommentComponent {\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n private _upvoted = new Subject<void>();\r\n private _userSelected = new Subject<void>();\r\n \r\n @Input()\r\n message : ChatMessage;\r\n\r\n @Input()\r\n showReplyAction = true;\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n \r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n\r\n selectUser() {\r\n return this._userSelected.next();\r\n }\r\n \r\n avatarForUser(user : User) {\r\n if (user && user.avatarUrl) {\r\n let url = user.avatarUrl;\r\n return `url(${url})`;\r\n }\r\n\r\n return null;\r\n }\r\n}","import { Component, Input, ViewChild, ElementRef, Output } from \"@angular/core\";\r\nimport { User, ChatMessage, ChatSource } from '@banta/common';\r\nimport { SubSink } from 'subsink';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'engage-comment-view',\r\n templateUrl: './comment-view.component.html',\r\n styleUrls: ['./comment-view.component.scss']\r\n})\r\nexport class CommentViewComponent {\r\n constructor() {\r\n\r\n }\r\n\r\n private _sourceSubs = new SubSink();\r\n private _source : ChatSource;\r\n private _selected = new Subject<ChatMessage>();\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n\r\n @Input() \r\n allowReplies = true;\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n\r\n menuMessage : ChatMessage = null;\r\n messages : ChatMessage[] = [];\r\n currentUser : User;\r\n\r\n @Input()\r\n get source() {\r\n return this._source;\r\n }\r\n\r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n \r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n \r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n\r\n set source(value) {\r\n if (this._sourceSubs) {\r\n this._sourceSubs.unsubscribe();\r\n this._sourceSubs = null;\r\n }\r\n this._source = value;\r\n\r\n if (value) {\r\n let messages = value.messages || [];\r\n\r\n this._sourceSubs = new SubSink();\r\n this.messages = messages.slice();\r\n this._sourceSubs.add(\r\n this._source.messageReceived\r\n .subscribe(msg => this.messageReceived(msg)),\r\n this._source.messageSent\r\n .subscribe(msg => this.messageSent(msg))\r\n );\r\n\r\n \r\n if (this._source.currentUserChanged) {\r\n this._sourceSubs.add(\r\n this._source.currentUserChanged.subscribe(user => this.currentUser = user)\r\n );\r\n }\r\n }\r\n }\r\n\r\n @Input()\r\n genericAvatarUrl : string;\r\n \r\n @ViewChild('messageContainer')\r\n messageContainer : ElementRef<HTMLElement>;\r\n\r\n @Input()\r\n maxMessages = 200;\r\n\r\n @Input()\r\n newestLast = false;\r\n\r\n private addMessage(message : ChatMessage) {\r\n if (this.newestLast) {\r\n while (this.messages.length + 1 > this.maxMessages)\r\n this.messages.shift();\r\n \r\n this.messages.push(message);\r\n } else {\r\n while (this.messages.length + 1 > this.maxMessages)\r\n this.messages.pop();\r\n \r\n this.messages.unshift(message);\r\n }\r\n }\r\n\r\n private messageReceived(message : ChatMessage) {\r\n this.addMessage(message);\r\n\r\n if (this.isScrolledToLatest())\r\n setTimeout(() => this.scrollToLatest());\r\n }\r\n\r\n isScrolledToLatest() {\r\n if (!this.messageContainer)\r\n return false;\r\n\r\n let el = this.messageContainer.nativeElement;\r\n let currentScroll = el.scrollTop;\r\n let currentTotal = el.scrollHeight - el.offsetHeight;\r\n \r\n return currentScroll > currentTotal - 10;\r\n }\r\n\r\n private messageSent(message : ChatMessage) {\r\n this.addMessage(message);\r\n \r\n if (!this.messageContainer)\r\n return;\r\n\r\n this.scrollToLatest();\r\n }\r\n\r\n scrollToLatest() {\r\n if (!this.messageContainer)\r\n return;\r\n \r\n let el = this.messageContainer.nativeElement;\r\n el.scrollTop = el.scrollHeight;\r\n }\r\n\r\n mentionsMe(message : ChatMessage) {\r\n if (!this.currentUser)\r\n return false;\r\n\r\n if (message.message.includes(`@${this.currentUser.username}`))\r\n return true;\r\n \r\n return false;\r\n }\r\n\r\n avatarForUser(user : User) {\r\n let url = this.genericAvatarUrl;\r\n\r\n if (user && user.avatarUrl)\r\n url = user.avatarUrl;\r\n \r\n return `url(${url})`;\r\n }\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { User, ChatSource, ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { SubSink } from 'subsink';\r\nimport { ChatBackendService } from '../../chat-backend.service';\r\nimport { BantaService } from '../../common';\r\n\r\n@Component({\r\n selector: 'engage-comments',\r\n templateUrl: './comments-box.component.html',\r\n styleUrls: ['./comments-box.component.scss']\r\n})\r\nexport class CommentsBoxComponent {\r\n constructor(\r\n private banta : BantaService,\r\n private backend : ChatBackendService\r\n ) {\r\n }\r\n\r\n private _upvoted = new Subject<ChatMessage>();\r\n private _reported = new Subject<ChatMessage>();\r\n private _selected = new Subject<ChatMessage>();\r\n private _userSelected = new Subject<ChatMessage>();\r\n private _source : ChatSource;\r\n\r\n private _subs = new SubSink();\r\n\r\n ngOnInit() {\r\n this._subs.add(\r\n this.banta.userChanged.subscribe(user => this.user = user)\r\n )\r\n }\r\n\r\n ngOnDestroy() {\r\n this._subs.unsubscribe();\r\n }\r\n\r\n @Input()\r\n get source() : ChatSource {\r\n return this._source;\r\n }\r\n\r\n showSignIn() {\r\n this._signInSelected.next();\r\n }\r\n\r\n set source(value) {\r\n this._source = value;\r\n }\r\n\r\n user : User;\r\n newMessageText : string;\r\n\r\n private _signInSelected = new Subject<void>();\r\n\r\n @Output()\r\n get signInSelected(): Observable<void> {\r\n return this._signInSelected;\r\n }\r\n \r\n @Output()\r\n get upvoted() {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() {\r\n return this._selected;\r\n }\r\n @Output()\r\n get userSelected() {\r\n return this._userSelected;\r\n }\r\n\r\n onKeyDown(event : KeyboardEvent) {\r\n }\r\n\r\n insertEmoji(text : string) {\r\n this.newMessageText += text;\r\n }\r\n\r\n sendMessage() {\r\n if (!this.source)\r\n return;\r\n \r\n let text = (this.newMessageText || '').trim();\r\n this.newMessageText = '';\r\n\r\n if (text === '')\r\n return;\r\n\r\n let message : ChatMessage = { \r\n user: this.user,\r\n sentAt: Date.now(),\r\n upvotes: 0,\r\n message: text\r\n };\r\n\r\n this.source.send(message);\r\n }\r\n\r\n upvoteMessage(message : ChatMessage) {\r\n this._upvoted.next(message);\r\n }\r\n\r\n reportMessage(message : ChatMessage) {\r\n this._reported.next(message);\r\n }\r\n\r\n selectMessage(message : ChatMessage) {\r\n this._selected.next(message);\r\n }\r\n\r\n selectMessageUser(message : ChatMessage) {\r\n this._userSelected.next(message);\r\n }\r\n}","import { Component, Input, Output } from '@angular/core';\r\nimport { ChatMessage } from '@banta/common';\r\nimport { Subject, Observable } from 'rxjs';\r\nimport { ChatBackendService } from '../chat-backend.service';\r\n\r\n@Component({\r\n selector: 'engage-live-comment',\r\n template: `\r\n <engage-comment \r\n *ngIf=\"message\"\r\n [message]=\"message\"\r\n (upvoted)=\"upvote()\"\r\n (reported)=\"report()\"\r\n (selected)=\"select()\"\r\n ></engage-comment>\r\n `,\r\n styles: [``]\r\n})\r\nexport class LiveCommentComponent {\r\n constructor(\r\n private backend : ChatBackendService\r\n ) {\r\n\r\n }\r\n\r\n private _message : ChatMessage;\r\n private _upvoted = new Subject<void>();\r\n private _reported = new Subject<void>();\r\n private _selected = new Subject<void>();\r\n\r\n @Output()\r\n get upvoted() : Observable<void> {\r\n return this._upvoted;\r\n }\r\n \r\n @Output()\r\n get reported() : Observable<void> {\r\n return this._reported;\r\n }\r\n\r\n @Output()\r\n get selected() : Observable<void> {\r\n return this._selected;\r\n }\r\n \r\n @Input()\r\n get message() : ChatMessage {\r\n return this._message;\r\n }\r\n\r\n private unsubscribe : Function;\r\n\r\n set message(value) {\r\n let originalId = null;\r\n if (this._message)\r\n originalId = this._message.id;\r\n \r\n this._message = value;\r\n\r\n if (value && originalId === value.id) {\r\n return;\r\n }\r\n \r\n if (this.unsubscribe)\r\n this.unsubscribe();\r\n \r\n if (value) {\r\n this.unsubscribe = this.backend.watchMessage(value, message => this.message = message);\r\n }\r\n }\r\n\r\n report() {\r\n this._reported.next();\r\n }\r\n \r\n upvote() {\r\n this._upvoted.next();\r\n }\r\n\r\n select() {\r\n this._selected.next();\r\n }\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommentComponent } from './comment/comment.component';\r\nimport { CommentViewComponent } from './comment-view/comment-view.component';\r\nimport { CommentsBoxComponent } from './comments-box/comments-box.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EngageCommonModule } from '../common/common.module';\r\nimport { LiveCommentComponent } from './live-comment.component';\r\nimport { EmojiModule } from '../emoji';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\n\r\nconst COMPONENTS = [\r\n CommentComponent,\r\n CommentViewComponent,\r\n CommentsBoxComponent,\r\n LiveCommentComponent\r\n];\r\n\r\n@NgModule({\r\n declarations: COMPONENTS,\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatMenuModule,\r\n EngageCommonModule,\r\n EmojiModule\r\n ],\r\n exports: COMPONENTS\r\n})\r\nexport class CommentsModule {\r\n}","import { NgModule } from '@angular/core';\r\nimport { CommentsModule } from './comments';\r\nimport { ChatModule } from './chat';\r\nimport { EmojiModule } from './emoji';\r\nimport { EngageComponent } from './engage/engage.component';\r\nimport { EngageLogoComponent } from './engage-logo.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { EngageCommonModule } from './common/common.module';\r\nimport { LiveMessageComponent } from './live-message.component';\r\nimport { MatButtonModule } from \"@angular/material/button\";\r\nimport { MatIconModule } from \"@angular/material/icon\";\r\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\r\nimport { MatMenuModule } from \"@angular/material/menu\";\r\nimport { MatDialogModule } from \"@angular/material/dialog\";\r\nimport { MatFormFieldModule } from \"@angular/material/form-field\";\r\nimport { MatInputModule } from \"@angular/material/input\";\r\n\r\nconst COMPONENTS = [\r\n EngageComponent,\r\n EngageLogoComponent,\r\n LiveMessageComponent\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n EngageCommonModule.forRoot(),\r\n CommentsModule,\r\n ChatModule,\r\n EmojiModule,\r\n \r\n MatIconModule,\r\n MatButtonModule,\r\n MatTooltipModule,\r\n MatMenuModule,\r\n MatDialogModule,\r\n MatFormFieldModule,\r\n MatInputModule\r\n ],\r\n declarations: COMPONENTS,\r\n exports: COMPONENTS\r\n})\r\nexport class BantaSdkModule {\r\n\r\n}","import { Subject, Observable, ConnectableObservable } from 'rxjs';\r\nimport { publish } from 'rxjs/operators';\r\n\r\nexport interface LazyConnectionOptions<T> {\r\n start : (subject : Subject<T>) => void;\r\n stop : () => void;\r\n}\r\n\r\nexport function lazyConnection<T>(options : LazyConnectionOptions<T>): Observable<T> {\r\n\r\n let obs = new Observable(observer => {\r\n let subject = new Subject<T>();\r\n let subscription = subject.subscribe(observer);\r\n\r\n options.start(subject);\r\n return () => {\r\n subscription.unsubscribe();\r\n options.stop();\r\n };\r\n });\r\n \r\n return (<ConnectableObservable<T>>obs.pipe(publish())).refCount();\r\n}"]}
|
|
@@ -68,7 +68,7 @@ ChatMessageComponent = __decorate([
|
|
|
68
68
|
Component({
|
|
69
69
|
selector: 'engage-chat-message',
|
|
70
70
|
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.upvotes > 0\">\r\n {{message.upvotes}} <mat-icon [inline]=\"true\">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
71
|
-
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}"]
|
|
71
|
+
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
72
72
|
})
|
|
73
73
|
], ChatMessageComponent);
|
|
74
74
|
export { ChatMessageComponent };
|
|
@@ -83,7 +83,7 @@ var ChatMessageComponent = /** @class */ (function () {
|
|
|
83
83
|
Component({
|
|
84
84
|
selector: 'engage-chat-message',
|
|
85
85
|
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.upvotes > 0\">\r\n {{message.upvotes}} <mat-icon [inline]=\"true\">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
86
|
-
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}"]
|
|
86
|
+
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
87
87
|
})
|
|
88
88
|
], ChatMessageComponent);
|
|
89
89
|
return ChatMessageComponent;
|
package/fesm2015/banta-sdk.js
CHANGED
|
@@ -6928,7 +6928,7 @@ ChatMessageComponent = __decorate([
|
|
|
6928
6928
|
Component({
|
|
6929
6929
|
selector: 'engage-chat-message',
|
|
6930
6930
|
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.upvotes > 0\">\r\n {{message.upvotes}} <mat-icon [inline]=\"true\">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
6931
|
-
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}"]
|
|
6931
|
+
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
6932
6932
|
})
|
|
6933
6933
|
], ChatMessageComponent);
|
|
6934
6934
|
|
package/fesm5/banta-sdk.js
CHANGED
|
@@ -6928,7 +6928,7 @@ var ChatMessageComponent = /** @class */ (function () {
|
|
|
6928
6928
|
Component({
|
|
6929
6929
|
selector: 'engage-chat-message',
|
|
6930
6930
|
template: "<div class=\"message-content\">\r\n <div class=\"user\" (click)=\"selectUser()\">\r\n <div class=\"avatar\" [style.background-image]=\"avatarForUser(message.user)\"></div>\r\n <label>{{message.user.username}}</label>\r\n </div>\r\n <div class=\"content\">\r\n <div (click)=\"select()\">\r\n {{message.message}}\r\n </div>\r\n <div class=\"status\">\r\n <div class=\"count-indicator\" *ngIf=\"message.upvotes > 0\">\r\n {{message.upvotes}} <mat-icon [inline]=\"true\">star</mat-icon>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n<div class=\"actions\">\r\n <button mat-icon-button matTooltip=\"Upvote\" matTooltipPosition=\"below\" (click)=\"upvote()\">\r\n <mat-icon [inline]=\"true\">thumb_up</mat-icon>\r\n </button>\r\n <button mat-icon-button matTooltip=\"Report\" matTooltipPosition=\"below\" (click)=\"report()\">\r\n <mat-icon [inline]=\"true\">report</mat-icon>\r\n </button>\r\n</div>",
|
|
6931
|
-
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}"]
|
|
6931
|
+
styles: [":host{display:flex;flex-direction:row;align-items:center;padding:0 1em;background-color:#fff;color:#000;transition:background-color .4s ease-out}:host:hover{background-color:#ddd}:host.highlight{background:#00121b}:host.highlight:hover{background:#01324d}:host:nth-child(2n){background-color:#eee}:host:nth-child(2n):hover{background:#ddd}:host:nth-child(2n) .message-content .content{color:#222}:host:nth-child(2n).highlight{background:#001a2a}:host:nth-child(2n).highlight:hover{background:#002b44}:host .message-content{display:flex;flex-direction:row;flex-grow:1;align-items:center}:host .message-content .content{color:#111;display:flex;flex-direction:row;padding:5px 0}:host .message-content .content .status{display:flex;flex-direction:row;align-items:center;margin-left:1em}:host .message-content .content .status mat-icon{margin-left:.5em}:host .user{color:#999;font-weight:400;text-align:right;margin-right:.25em;flex-shrink:0;display:flex;align-items:center}:host .user .avatar{background-position:center;background-size:cover;background-color:#333;border-radius:100%;flex-shrink:0;flex-grow:0;margin-right:1em;width:2em;height:2em}:host .user:after{content:\":\";margin-right:1em}:host .content{flex-grow:1}:host .actions{flex-shrink:0;white-space:nowrap;opacity:0;transition:opacity .4s ease-out}:host:hover .actions{opacity:1}.count-indicator{white-space:nowrap}:host-context(.mat-dark-theme){background-color:#000;color:#fff}:host-context(.mat-dark-theme) .message-content .content{color:#ddd}:host-context(.mat-dark-theme):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n).highlight{background:#001a2a}:host-context(.mat-dark-theme):nth-child(2n).highlight:hover{background:#002b44}:host-context(.mat-dark-theme):nth-child(2n):hover{background-color:#111}:host-context(.mat-dark-theme):nth-child(2n){background-color:#080808}:host-context(.mat-dark-theme):nth-child(2n) .message-content .content{color:#eee}label{margin:0}"]
|
|
6932
6932
|
})
|
|
6933
6933
|
], ChatMessageComponent);
|
|
6934
6934
|
return ChatMessageComponent;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@banta/sdk",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.32",
|
|
4
4
|
"private": false,
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"peerDependencies": {
|
|
9
9
|
"@angular/common": "^9.1.12",
|
|
10
10
|
"@angular/core": "^9.1.12",
|
|
11
|
-
"@alterior/platform-angular": "^3.0.0-beta.
|
|
11
|
+
"@alterior/platform-angular": "^3.0.0-beta.98",
|
|
12
12
|
"@angular/animations": "~9.1.12",
|
|
13
13
|
"@angular/cdk": "^9.2.4",
|
|
14
14
|
"@angular/forms": "^9.1.11",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"@angular/router": "~9.1.11",
|
|
19
19
|
"@astronautlabs/datastore": "^3.1.2",
|
|
20
20
|
"@astronautlabs/datastore-firestore": "^3.1.2",
|
|
21
|
-
"@banta/common": "0.0.
|
|
21
|
+
"@banta/common": "0.0.32",
|
|
22
22
|
"firebase": "^7.15.4",
|
|
23
23
|
"ngx-markdown": "^9.1.1",
|
|
24
24
|
"rxjs": "^6.5.5",
|