{"version":3,"sources":["pages/filedetails/filedetails.module.css","pages/atlas/atlas.module.css","pages/fileupload/fileupload.module.css","pages/chat/chat.module.css","pages/tester/tester.module.css","pages/time/time.module.css","pages/createredirect/redir.module.css","pages/home/home.module.css","pages/mpinsights/mpinsights.module.css","../node_modules/highlight.js/lib/languages lazy /^/.*$/ groupOptions: {} namespace object","components/DiscordMessage/markdown/styles/commonTheme.ts","components/DiscordMessage/markdown/styles/darkTheme.ts","components/DiscordMessage/markdown/styles/defaultTheme.ts","useIntersect.ts","components/IsVisible/IsVisible.tsx","useTicker/useTicker.tsx","pages/home/particlesconfig.ts","pages/home/leavesconfig.ts","pages/home/cogsconfig1.ts","pages/home/cogsconfig2.ts","pages/home/home.tsx","pages/home/index.ts","components/DiscordMessage/embed/header.tsx","components/DiscordMessage/embed/gallery.tsx","components/DiscordMessage/embed/footer.tsx","components/DiscordMessage/markdown/helpers/depunycodeUrl.ts","components/DiscordMessage/markdown/helpers/parseUrl.ts","components/DiscordMessage/markdown/rules/link.tsx","components/DiscordMessage/markdown/rules/autolink.ts","components/DiscordMessage/markdown/styles/RichEmbedContainer.tsx","components/DiscordMessage/markdown/styles/BlockQuote.tsx","components/DiscordMessage/markdown/rules/blockQuote.tsx","components/DiscordMessage/markdown/styles/CodeBlockContainer.ts","components/DiscordMessage/markdown/code/languages.ts","components/DiscordMessage/markdown/code/getLanguageFromAlias.ts","components/DiscordMessage/markdown/code/importLanguage.ts","components/DiscordMessage/markdown/code/highlightCode.ts","components/DiscordMessage/markdown/code/CodeBlock.tsx","components/DiscordMessage/markdown/rules/codeBlock.tsx","components/DiscordMessage/markdown/emoji/getCustomEmojiUrl.ts","components/DiscordMessage/markdown/rules/customEmoji.ts","components/DiscordMessage/markdown/emoji/serialisedEmojiData.ts","components/DiscordMessage/markdown/emoji/skinTones.ts","components/DiscordMessage/markdown/emoji/emoji.ts","components/DiscordMessage/markdown/styles/Emoji.ts","components/DiscordMessage/markdown/rules/emoji.tsx","components/DiscordMessage/markdown/emoji/getEmojiUrl.ts","components/DiscordMessage/markdown/rules/emote.ts","components/DiscordMessage/markdown/rules/emphasis.ts","components/DiscordMessage/markdown/rules/escape.ts","components/DiscordMessage/markdown/styles/Code.tsx","components/DiscordMessage/markdown/rules/inlineCode.tsx","components/DiscordMessage/markdown/rules/lineBreak.ts","components/DiscordMessage/markdown/styles/Mention.ts","components/DiscordMessage/markdown/rules/mention.tsx","components/DiscordMessage/markdown/rules/newline.ts","components/DiscordMessage/markdown/rules/paragraph.ts","components/DiscordMessage/markdown/styles/Spoiler.ts","components/DiscordMessage/markdown/rules/spoiler.tsx","components/DiscordMessage/markdown/rules/strikethrough.ts","components/DiscordMessage/markdown/rules/strong.ts","components/DiscordMessage/markdown/emoji/convertEmojiToNames.ts","components/DiscordMessage/markdown/rules/text.ts","components/DiscordMessage/markdown/rules/underline.ts","components/DiscordMessage/markdown/rules/url.tsx","components/DiscordMessage/markdown/parsers/createParser.ts","components/DiscordMessage/markdown/parsers/parseEmbedContent.ts","components/DiscordMessage/markdown/parsers/parseEmbedHeader.ts","components/DiscordMessage/embed/embed.tsx","components/DiscordMessage/meta.tsx","components/DiscordMessage/markdown/emoji/jumbosizeEmojis.ts","components/DiscordMessage/markdown/parsers/parseMessageContent.ts","components/DiscordMessage/DiscordMessage.tsx","pages/chat/chat.tsx","commands.ts","pages/atlas/atlas.tsx","pages/tester/tester.tsx","pages/fileupload/fileupload.tsx","pages/filedetails/filedetails.tsx","pages/createredirect/redir.tsx","pages/time/time.tsx","pages/mpinsights/mpinsights.tsx","app.tsx","index.tsx","components/DiscordMessage/messagestyles.module.css"],"names":["module","exports","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","t","keys","Object","COMMON_THEME","discord","primary","rgb","success","warning","danger","font","sans","join","mono","DARK_THEME","accent","header","secondary","text","normal","muted","link","interactive","hover","active","background","secondaryAlt","tertiary","floating","backgroundModifier","rgba","selected","elavation","stroke","low","medium","high","scrollbar","auto","thumb","track","thin","DEFAULT_THEME","appearance","color","display","fontSize","useIntersect","root","rootMargin","threshold","useState","entry","updateEntry","node","setNode","observer","useRef","useEffect","current","disconnect","window","IntersectionObserver","currentObserver","observe","IsVisible","forwardRef","props","ref","minShown","child","Children","only","children","visible","setVisible","isValidElement","className","cN","setCN","newVis","intersectionRatio","sticky","stickyEvt","evts","stickyClass","classNames","cloneElement","r","useTicker","start","end","duration","started","startedE","doStartF","curr","setCurr","timer","range","stepTime","Math","abs","floor","max","endTime","Date","now","setInterval","remaining","value","round","clearInterval","pause","set","stop","particlesConfig","leavesConfig","cogsconfig","size","opacity","fullScreen","enable","zIndex","particles","move","angle","offset","attract","rotate","x","y","direction","path","outModes","bottom","left","right","top","default","speed","spin","number","animation","minimumValue","random","min","shape","options","image","height","replace_color","src","width","images","type","pauseOnBlur","pauseOnOutsideViewport","MultiPorpoise","styles","porpoise","serious","nahlmao","icon","step","therange","output","i","push","Orbitals","orbitals","href","orbital","style","filter","animationDelay","alt","Orbi2","orbs2","Home","document","title","bigOpac","invisible","activePorpoise","hcenter","slide1","vcenter","vcfull","holder","slideIn","isOut","mizaImg","slider","name","exp","nomoreblur","yeahblur","rel","slide2","coolImgBro","monitor","particleOptions","vc2","coolTextBro","coolHeadingBro","slide3","vc3","bars","bar","pow","backgroundColor","bars2","reverse","slide4","cogsconfig2","slide5","mizaleaf","leavesconfig","textAlign","center","margin","ctas","EmbedHeader","embedStyles","author","authorIcon","anchor","anchorUnderlineOnHover","authorNameLink","authorName","tabIndex","target","role","prevent","preventDefault","EmbedGallery","imgs","length","galleryImagesWrapper","onClick","gallerySide","imageWrapper","imageZoom","clickable","embedWrapper","url","galleryImageElement","EmbedFooter","footer","footerIcon","footerText","time","footerSeparator","depunycodeUrl","URL","hostname","protocol","toLowerCase","asciiHostname","toASCII","parseUrl","capture","content","defaultRules","parse","state","unescapeUrl","test","decoded","react","key","autolink","RichEmbedContainer","styled","div","theme","css","BlockQuoteContainer","BlockQuoteDivider","BlockQuoteContent","blockquote","BlockQuote","BEGINNING_OF_LINE_RE","BLOCK_QUOTE_RE","SINGLELINE_QUOTE_RE","MULTILINE_QUOTE_RE","blockQuote","match","source","nested","inQuote","lookbehind","prevCapture","exec","inline","multiline","trimRegex","parsedContent","replace","CodeBlockContainer","pre","em","rem","LANGUAGES","aliases","dependencies","getLanguageFromAlias","alias","language","includes","importRawLanguage","a","importLanguage","console","log","dependency","hljs","registerLanguage","highlightCode","languageAlias","getLanguage","highlight","CodeBlock","html","setHtml","catch","safeLanguage","dangerouslySetInnerHTML","__html","codeBlock","order","anyScopeRegex","EXCEPTIONS","Map","entries","getCustomEmojiUrl","animated","has","get","customEmoji","inlineRegex","emoji","Boolean","SERIALISED_EMOJI_DATA","trim","SKIN_TONES","unicode","TONE_NUMBERS","fromEntries","tone","TONE_NAMES","EMOJI","split","line","names","flags","ZWJ","String","fromCodePoint","MAN","WOMAN","PERSON","HANDSHAKE","NAME_TO_EMOJI","EMOJI_TO_NAME","diversity","toneA","numberA","nameA","idSuffix","nameSuffix","toneSuffix","womanAndMan","womanAndManName","men","menName","women","womenName","people","peopleName","toneB","numberB","nameB","Emoji","img","attrs","draggable","big","PLAINTEXT_EMOJIS","Set","EMOJI_NAME_RE","file","character","codePointAt","toString","item","index","array","getEmojiUrl","_","jumboable","emote","emphasis","escape","Code","inlineCode","lineBreak","br","Mention","span","transparentize","MENTION_TYPES","mention","everyoneOrHere","newline","paragraph","Spoiler","spoiler","strikethrough","del","strong","UNICODE_CHARACTER_RE","CANCEL_TAG","fromCharCode","getEmoji","buffer","result","char","undefined","convertEmojiToNames","underline","u","searchPosition","pos","indexOf","createParser","rules","transform","parserFor","outputFor","ast","parseEmbedContent","parseEmbedHeader","toHexColor","num","Number","Embed","fields","data","df","fkeys","field","embWrapper","full","embed","markup","borderColor","grid","thumbnail","hasThumbnail","icon_url","titleLink","description","timestamp","MessageMeta","avatar","messageStyles","headerText","username","bot","botTagCozy","botTag","botTagRegular","parseMessageContent","some","Message","embeds","currDate","dateStr","getHours","getMinutes","embedElems","message","cozyMessage","groupStart","wrapper","cozy","zalgo","contents","messageContent","md","container","exampleCommandThingy","ChatPage","location","search","sS","commandInput","sCI","hasDoneInitial","sHDI","cData","sCD","procError","sPE","storedResultsFor","sSRF","loading","sL","btD","btoa","unescape","encodeURIComponent","JSON","stringify","sParams","startsWith","substring","forEach","val","decodeURIComponent","commandNames","doChat","force","cI","fetch","origin","credentials","mode","jsesc","fD","cmd","atob","suggestedCommand","sort","isPermaCmd","isPermaRes","paddingTop","outputwrap","inpWrapper","disabled","inp","onInput","currentTarget","onKeyPress","suggest","permalinks","permaShow","inactiveLink","permCmd","history","replaceState","sep","permRes","loaderBar","errorBoi","padding","padder","permaInfo","runYourself","commands","effects","setEffectCB","cb","this","to","json","catimages","commandsByName","AtlasPage","visibleCats","sVC","currCmd","sCC","doAnim","sDA","forceRerender","sFRR","commandsByCategory","params","command","updateCommandsByName","category","toUpperCase","getElementById","scrollIntoView","behavior","scrollIntoViewBoye","setTimeout","doCommand","page","leftestnav","leftestIcon","shownIcon","hiddenIcon","leftnav","cat","cmdCat","cmdCatH","cmdB","remains","tCmdCat","tCmdCatB","tCmdHeader","desc","usage","example","defaultValue","TesterPage","doStuff","tempC","formatBytes","bytes","decimals","k","dm","sizes","parseFloat","toFixed","FileDetails","details","setDetails","previewTxt","setPVT","forceLang","sFL","progress","setProgress","redirecteyboi","errored","sE","fileRef","fiRef","useHistory","progs","progf","launched","upload_chunk","fname","blob","xhr","XMLHttpRequest","upload","onprogress","loaded","onreadystatechange","readyState","finished","merge","onerror","open","setRequestHeader","send","chunk","split_file","fd","FormData","DONE","responseText","reload","append","circumference","radius","PI","sty","prog","ring2","strokeDasharray","strokeDashoffset","fill","cx","cy","group","filename","mime","mimetype","imggroup","previewImg","videogroup","controls","loop","previewVideo","audiogroup","previewAudio","uploadButton","onDragOver","onDrop","ev","dataTransfer","items","kind","f","getAsFile","files","createObjectURL","pvtt","fileInputHolder","up","textDecoration","confirm","fileInput","onChange","fileCustom","setLoading","res","original_url","dl","pvt","errorCode","raw","autoPlay","download","RedirPage","redir","sR","doRedir","urls","getElementsByName","d","method","body","placeholder","host","cr","newbox","createElement","setAttribute","contains","appendChild","getNavigatorLanguage","tz","Intl","DateTimeFormat","timeZone","resolvedOptions","locale","getOrdinal","n","ord","timeZones","intervalRef","timez","inthing","timb2","timbuktu","hour","format","hours","endsWith","parseInt","innerText","minute","second","formatter","repeat","getMilliseconds","tiz","tzoffset","getUTCHours","timeZoneName","dateboi","weekday","calendar","requestAnimationFrame","greeting","date","toLocaleDateString","getDate","zone","sel","select","MPInsightsPage","sD","myChart","setMyChart","parentRef","theData","labels","historical","timeChart","innerWidth","classList","add","chart","ctx","getContext","total_use_time","Chart","total_playtime","_e","datasets","label","tooltip","callbacks","context","dataset","parsed","borderWidth","pointRadius","layout","spanGaps","parsing","interaction","axis","intersect","indexAxis","plugins","decimation","enabled","algorithm","zoom","pan","limits","wheel","pinch","scales","ticks","callback","str","autoSkip","adapters","en","maxRotation","usersChart","ctx2","tension","chartholder","register","registerables","zoomPlugin","MizaApp","useLocation","prevLoc","pathname","pL","replaceAll","remove","TransitionGroup","CSSTransition","timeout","exact","activeClassName","component","HomePage","FileUploadPage","FileDetailsPage","CRedirPage","from","TimePage","App","StrictMode","ReactDOM","render","loader","LOAD_START_TIME","addEventListener"],"mappings":"0FACAA,EAAOC,QAAU,CAAC,QAAU,6BAA6B,QAAU,6BAA6B,MAAQ,2BAA2B,UAAY,+BAA+B,SAAW,8BAA8B,GAAK,wBAAwB,WAAa,gCAAgC,MAAQ,2BAA2B,WAAa,gCAAgC,aAAe,kCAAkC,aAAe,kCAAkC,WAAa,gCAAgC,WAAa,gCAAgC,SAAW,gC,mBCAxjBD,EAAOC,QAAU,CAAC,KAAO,oBAAoB,WAAa,0BAA0B,QAAU,uBAAuB,QAAU,uBAAuB,YAAc,2BAA2B,UAAY,yBAAyB,WAAa,0BAA0B,OAAS,sBAAsB,QAAU,uBAAuB,IAAM,mBAAmB,KAAO,oBAAoB,IAAM,mBAAmB,WAAa,0BAA0B,OAAS,sBAAsB,SAAW,wBAAwB,OAAS,sBAAsB,UAAY,yBAAyB,QAAU,uBAAuB,WAAa,0BAA0B,QAAU,uBAAuB,SAAW,wBAAwB,WAAa,0BAA0B,QAAU,uBAAuB,KAAO,oBAAoB,MAAQ,uB,mBCA5zBD,EAAOC,QAAU,CAAC,QAAU,4BAA4B,QAAU,4BAA4B,MAAQ,0BAA0B,UAAY,8BAA8B,SAAW,6BAA6B,GAAK,uBAAuB,WAAa,+BAA+B,MAAQ,0BAA0B,WAAa,+BAA+B,aAAe,iCAAiC,WAAa,+BAA+B,SAAW,6BAA6B,aAAe,iCAAiC,IAAM,wBAAwB,KAAO,yBAAyB,MAAQ,0BAA0B,KAAO,yBAAyB,WAAa,+BAA+B,GAAK,uBAAuB,gBAAkB,sC,mBCAtvBD,EAAOC,QAAU,CAAC,WAAa,yBAAyB,IAAM,kBAAkB,SAAW,uBAAuB,QAAU,sBAAsB,WAAa,yBAAyB,OAAS,qBAAqB,SAAW,uBAAuB,OAAS,qBAAqB,aAAe,2BAA2B,IAAM,kBAAkB,WAAa,yBAAyB,UAAY,wBAAwB,UAAY,wBAAwB,YAAc,0BAA0B,UAAY,wBAAwB,QAAU,sBAAsB,WAAa,yBAAyB,QAAU,sBAAsB,QAAU,wB,mBCAloBD,EAAOC,QAAU,CAAC,WAAa,2BAA2B,IAAM,oBAAoB,SAAW,yBAAyB,QAAU,wBAAwB,WAAa,2BAA2B,OAAS,uBAAuB,SAAW,yBAAyB,OAAS,uBAAuB,aAAe,6BAA6B,IAAM,oBAAoB,WAAa,2BAA2B,UAAY,0BAA0B,UAAY,0BAA0B,YAAc,4BAA4B,UAAY,0BAA0B,QAAU,wBAAwB,WAAa,2BAA2B,QAAU,wBAAwB,QAAU,0B,mBCAtqBD,EAAOC,QAAU,CAAC,QAAU,sBAAsB,QAAU,sBAAsB,MAAQ,oBAAoB,SAAW,uBAAuB,KAAO,mBAAmB,KAAO,mBAAmB,KAAO,mBAAmB,OAAS,qBAAqB,IAAM,oB,mBCAlQD,EAAOC,QAAU,CAAC,QAAU,uBAAuB,QAAU,uBAAuB,MAAQ,qBAAqB,IAAM,mBAAmB,GAAK,oB,kBCA/ID,EAAOC,QAAU,CAAC,SAAW,uBAAuB,eAAiB,6BAA6B,QAAU,sBAAsB,QAAU,sBAAsB,KAAO,mBAAmB,QAAU,sBAAsB,OAAS,qBAAqB,QAAU,sBAAsB,QAAU,sBAAsB,KAAO,mBAAmB,MAAQ,oBAAoB,OAAS,qBAAqB,KAAO,mBAAmB,IAAM,kBAAkB,MAAQ,oBAAoB,QAAU,sBAAsB,OAAS,qBAAqB,WAAa,yBAAyB,WAAa,yBAAyB,SAAW,uBAAuB,IAAM,kBAAkB,IAAM,kBAAkB,YAAc,0BAA0B,IAAM,kBAAkB,QAAU,sBAAsB,OAAS,qBAAqB,KAAO,mBAAmB,MAAQ,oBAAoB,IAAM,kBAAkB,UAAY,wBAAwB,QAAU,sBAAsB,SAAW,uBAAuB,IAAM,kBAAkB,MAAQ,oBAAoB,KAAO,mBAAmB,QAAU,sBAAsB,YAAc,0BAA0B,OAAS,qBAAqB,KAAO,mBAAmB,SAAW,uBAAuB,OAAS,qBAAqB,OAAS,qBAAqB,OAAS,qBAAqB,OAAS,qBAAqB,OAAS,qBAAqB,eAAiB,+B,mBCAj4CD,EAAOC,QAAU,CAAC,QAAU,4BAA4B,QAAU,4BAA4B,MAAQ,0BAA0B,YAAc,gCAAgC,MAAQ,4B,oBCDtL,IAAIC,EAAM,CACT,OAAQ,CACP,IACA,GAED,UAAW,CACV,IACA,GAED,aAAc,CACb,IACA,EACA,KAED,SAAU,CACT,GACA,GAED,YAAa,CACZ,GACA,GAED,eAAgB,CACf,IACA,KAED,cAAe,CACd,GACA,GAED,iBAAkB,CACjB,GACA,GAED,oBAAqB,CACpB,IACA,KAED,iBAAkB,CACjB,GACA,GAED,oBAAqB,CACpB,GACA,GAED,uBAAwB,CACvB,IACA,KAED,QAAS,CACR,GACA,GAED,WAAY,CACX,GACA,GAED,cAAe,CACd,IACA,KAED,gBAAiB,CAChB,GACA,IAED,mBAAoB,CACnB,GACA,IAED,sBAAuB,CACtB,IACA,KAED,WAAY,CACX,GACA,IAED,cAAe,CACd,GACA,IAED,iBAAkB,CACjB,IACA,KAED,gBAAiB,CAChB,GACA,IAED,mBAAoB,CACnB,GACA,IAED,sBAAuB,CACtB,IACA,KAED,WAAY,CACX,GACA,IAED,cAAe,CACd,GACA,IAED,iBAAkB,CACjB,IACA,KAED,YAAa,CACZ,GACA,IAED,eAAgB,CACf,GACA,IAED,kBAAmB,CAClB,IACA,KAED,WAAY,CACX,GACA,IAED,cAAe,CACd,GACA,IAED,iBAAkB,CACjB,IACA,KAED,aAAc,CACb,GACA,IAED,gBAAiB,CAChB,GACA,IAED,mBAAoB,CACnB,IACA,KAED,YAAa,CACZ,GACA,IAED,eAAgB,CACf,GACA,IAED,kBAAmB,CAClB,IACA,KAED,eAAgB,CACf,GACA,IAED,kBAAmB,CAClB,GACA,IAED,qBAAsB,CACrB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,KAED,MAAO,CACN,IACA,IAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,YAAa,CACZ,IACA,IAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,IAED,uBAAwB,CACvB,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,IAED,uBAAwB,CACvB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,MAAO,CACN,IACA,IAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,IAED,mBAAoB,CACnB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,WAAY,CACX,IACA,IAED,gBAAiB,CAChB,IACA,IAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,KAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,QAAS,CACR,IACA,GAED,WAAY,CACX,IACA,GAED,cAAe,CACd,IACA,EACA,KAED,OAAQ,CACP,IACA,IAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,OAAQ,CACP,IACA,IAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,KAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,KAED,QAAS,CACR,IACA,IAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,GAED,YAAa,CACZ,IACA,GAED,eAAgB,CACf,IACA,EACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,IAED,oBAAqB,CACpB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,IAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,WAAY,CACX,IACA,IAED,cAAe,CACd,IACA,IAED,iBAAkB,CACjB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,UAAW,CACV,IACA,IAED,aAAc,CACb,IACA,IAED,gBAAiB,CAChB,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,SAAU,CACT,IACA,IAED,YAAa,CACZ,IACA,IAED,eAAgB,CACf,IACA,KAED,mBAAoB,CACnB,IACA,IAED,sBAAuB,CACtB,IACA,IAED,yBAA0B,CACzB,IACA,KAED,eAAgB,CACf,IACA,IAED,kBAAmB,CAClB,IACA,IAED,qBAAsB,CACrB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,gBAAiB,CAChB,IACA,GAED,mBAAoB,CACnB,IACA,GAED,sBAAuB,CACtB,IACA,EACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,WAAY,CACX,IACA,GAED,cAAe,CACd,IACA,GAED,iBAAkB,CACjB,IACA,EACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,sBAAuB,CACtB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,OAAQ,CACP,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,QAAS,CACR,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,uBAAwB,CACvB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,WAAY,CACX,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,sBAAuB,CACtB,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,MAAO,CACN,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,MAAO,CACN,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,wBAAyB,CACxB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,GAED,WAAY,CACX,IACA,GAED,cAAe,CACd,IACA,EACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,iBAAkB,CACjB,IACA,KAED,oBAAqB,CACpB,IACA,KAED,uBAAwB,CACvB,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,OAAQ,CACP,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,gBAAiB,CAChB,IACA,KAED,aAAc,CACb,IACA,KAED,kBAAmB,CAClB,IACA,KAED,qBAAsB,CACrB,IACA,KAED,wBAAyB,CACxB,IACA,KAED,gBAAiB,CAChB,IACA,KAED,mBAAoB,CACnB,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,kBAAmB,CAClB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,OAAQ,CACP,IACA,KAED,UAAW,CACV,IACA,KAED,aAAc,CACb,IACA,KAED,QAAS,CACR,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,KAED,SAAU,CACT,IACA,KAED,YAAa,CACZ,IACA,KAED,eAAgB,CACf,IACA,KAED,WAAY,CACX,IACA,KAED,cAAe,CACd,IACA,KAED,iBAAkB,CACjB,IACA,MAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EA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EdJ,KAAKC,iBAAiBE,kBAAkBC,QAGjD,SAASC,GAAWC,GAChB,IAAIC,EAAM,CAAC,KAAM,KAAM,MAIvB,OAAOD,QADerT,IAAtBsT,EAAKD,EAAI,GAAM,IAFE,CAAC,GAAI,GAAI,IAEoB5a,SAAS4a,EAAI,KAAO,KAAOC,EAAKD,EAAI,GAAM,IAI5F,IAAIE,GAAY,CACf,iBACA,aACA,aACA,gBACA,eACA,mBACA,mBACA,oBACA,oBACA,qBACA,mBACA,mBACA,oBACA,iCACA,4BACA,0BACA,0BACA,4BACA,8BACA,6BACA,6BACA,4BACA,6BACA,iCACA,4BACA,oBACA,gBACA,sBACA,uBACA,mBACA,mBACA,sBACA,mBACA,wBACA,qBACA,qBACA,qBACA,mBACA,kBACA,kBACA,YACA,mBACA,aACA,kBACA,eACA,mBACA,cACA,iBACA,kBACA,gBACA,oBACA,iBACA,oBACA,iBACA,gBACA,oBACA,uBACA,iBACA,mBACA,sBACA,oBACA,iBACA,mBACA,qBACA,iBACA,eACA,eACA,iBACA,mBACA,kBACA,oBACA,kBACA,oBACA,uBACA,kBACA,kBACA,sBACA,kBACA,sBACA,mBACA,mBACA,sBACA,mBACA,uBACA,iBACA,wBACA,mBACA,wBACA,sBACA,iBACA,kBACA,uBACA,sBACA,oBACA,qBACA,iBACA,eACA,gBACA,iBACA,oBACA,mBACA,uBACA,iBACA,gBACA,cACA,iBACA,qBACA,iBACA,sBACA,kBACA,mBACA,eACA,iBACA,gBACA,gBACA,oBACA,wBACA,iBACA,oBACA,oBACA,iBACA,eACA,kBACA,gBACA,eACA,kBACA,kBACA,eACA,mBACA,gBACA,kBACA,iBACA,iBACA,eACA,gBACA,eACA,kBACA,eACA,mBACA,kBACA,uBACA,uBACA,gBACA,gBACA,yBACA,oBACA,eACA,gBACA,iBACA,iBACA,sBACA,yBACA,kBACA,eACA,iBACA,gBACA,gBACA,gBACA,iBACA,eACA,gBACA,eACA,cACA,qBACA,cACA,kBACA,aACA,aACA,iBACA,eACA,iBACA,oBACA,qBACA,iBACA,aACA,cACA,iBACA,cACA,aACA,cACA,YACA,cACA,eACA,kBACA,iBACA,oBACA,cACA,iBACA,oBACA,gBACA,kBACA,iBACA,oBACA,cACA,mBACA,YACA,kBACA,aACA,qBACA,eACA,mBACA,kBACA,sBACA,iBACA,iBACA,oBACA,oBACA,mBACA,oBACA,kBACA,qBACA,kBACA,yBACA,oBACA,eACA,gBACA,kBACA,iBACA,kBACA,eACA,kBACA,mBACA,cACA,iBACA,gBACA,eACA,mBACA,kBACA,iBACA,eACA,iBACA,oBACA,kBACA,uBACA,uBACA,cACA,eACA,gBACA,mBACA,mBACA,sBACA,YACA,cACA,gBACA,mBACA,kBACA,gBACA,mBACA,aACA,iBACA,mBACA,kBACA,qBACA,gBACA,oBACA,eACA,mBACA,mBACA,iBACA,mBACA,gBACA,qBACA,YACA,mBACA,eACA,aACA,oBACA,mBACA,eACA,aACA,eACA,gBACA,mBACA,gBACA,eACA,gBACA,qBACA,iBACA,cACA,cACA,sBACA,cACA,kBACA,mBACA,iBACA,qBACA,cACA,kBACA,sBACA,gBACA,qBACA,kBACA,mBACA,eACA,gBACA,kBACA,YACA,gBACA,eACA,oBACA,kBACA,wBACA,mBACA,cACA,cACA,kBACA,oBACA,eACA,mBACA,kBACA,8BACA,8BACA,+BACA,4BACA,0BACA,0BACA,6BACA,wBACA,kBACA,4BACA,uBACA,oBACA,8BACA,iCACA,8BACA,iBACA,gBACA,kBACA,sBACA,oBACA,iBACA,gBACA,qBACA,kBACA,eACA,eACA,mBACA,qBACA,iBACA,gBACA,kBACA,mBACA,gBACA,iBACA,eACA,uBAIc,SAASnI,KACvB,IAAMoI,EAAc5qB,iBAAuB,MACrC6qB,EAAQ7qB,iBAAemqB,KAAKC,iBAAiBE,kBAAkBD,UACrEpqB,qBAAU,WAET,OADA0H,SAASC,MAAQ,cACV,WACND,SAASC,MAAQ,WAGnB,IAAMkjB,EAAU,SAAVA,IACL,IAAIC,EAAQpjB,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","file":"static/js/main.8ac84f09.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"vcenter\":\"filedetails_vcenter__MPLXk\",\"hcenter\":\"filedetails_hcenter__2GeKM\",\"group\":\"filedetails_group__2ddWG\",\"errorCode\":\"filedetails_errorCode__9jBNT\",\"filename\":\"filedetails_filename__16Iar\",\"id\":\"filedetails_id__2FWCG\",\"previewTxt\":\"filedetails_previewTxt__cUPcX\",\"preCN\":\"filedetails_preCN__2SDLN\",\"previewImg\":\"filedetails_previewImg__3Bgm9\",\"previewVideo\":\"filedetails_previewVideo__di7Gy\",\"previewAudio\":\"filedetails_previewAudio__2IKuc\",\"videogroup\":\"filedetails_videogroup__17wnL\",\"audiogroup\":\"filedetails_audiogroup__3mNnC\",\"imggroup\":\"filedetails_imggroup__LwbNI\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"page\":\"atlas_page__2_A9k\",\"leftestnav\":\"atlas_leftestnav__2iZ0-\",\"leftnav\":\"atlas_leftnav__fzPte\",\"remains\":\"atlas_remains__2gGta\",\"leftestIcon\":\"atlas_leftestIcon__3VRxU\",\"shownIcon\":\"atlas_shownIcon__2ZajX\",\"hiddenIcon\":\"atlas_hiddenIcon__TVqhH\",\"cmdCat\":\"atlas_cmdCat__1_TpX\",\"cmdCatH\":\"atlas_cmdCatH__1Auod\",\"cmd\":\"atlas_cmd__HkYr7\",\"cmdB\":\"atlas_cmdB__1zsgO\",\"inp\":\"atlas_inp__4liId\",\"outputwrap\":\"atlas_outputwrap__24niw\",\"output\":\"atlas_output__2Q4bY\",\"errorBoi\":\"atlas_errorBoi__3wNrc\",\"padder\":\"atlas_padder__3JhV-\",\"loaderBar\":\"atlas_loaderBar__2B46V\",\"loading\":\"atlas_loading__1nWEX\",\"loadeyboye\":\"atlas_loadeyboye__2t4_T\",\"tCmdCat\":\"atlas_tCmdCat__2yso5\",\"tCmdCatB\":\"atlas_tCmdCatB__2_35S\",\"tCmdHeader\":\"atlas_tCmdHeader__3EFlR\",\"aliases\":\"atlas_aliases__7TetN\",\"desc\":\"atlas_desc__UNaQG\",\"usage\":\"atlas_usage__14oi_\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"vcenter\":\"fileupload_vcenter__3KObO\",\"hcenter\":\"fileupload_hcenter__3-u6-\",\"group\":\"fileupload_group__3qIDe\",\"errorCode\":\"fileupload_errorCode__1Q3tY\",\"filename\":\"fileupload_filename__2RYHv\",\"id\":\"fileupload_id__184oq\",\"previewTxt\":\"fileupload_previewTxt__KAmxW\",\"preCN\":\"fileupload_preCN__2HdB_\",\"previewImg\":\"fileupload_previewImg__1XSjf\",\"previewVideo\":\"fileupload_previewVideo__n38oV\",\"videogroup\":\"fileupload_videogroup__zi6YI\",\"imggroup\":\"fileupload_imggroup__1BlVw\",\"uploadButton\":\"fileupload_uploadButton__19O_N\",\"rel\":\"fileupload_rel__2fb-I\",\"prog\":\"fileupload_prog__2c2eo\",\"ring2\":\"fileupload_ring2__1DgFp\",\"file\":\"fileupload_file__39iAG\",\"fileCustom\":\"fileupload_fileCustom__1gb2W\",\"up\":\"fileupload_up__2mCA3\",\"fileInputHolder\":\"fileupload_fileInputHolder__1gFrz\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inpWrapper\":\"chat_inpWrapper__2UjXp\",\"inp\":\"chat_inp__115hA\",\"disabled\":\"chat_disabled__3xSkE\",\"suggest\":\"chat_suggest__1998A\",\"outputwrap\":\"chat_outputwrap__2RMVw\",\"output\":\"chat_output__2NQy1\",\"errorBoi\":\"chat_errorBoi__rQpiw\",\"padder\":\"chat_padder__3yPMD\",\"inactiveLink\":\"chat_inactiveLink__2TaDc\",\"sep\":\"chat_sep__1q0zR\",\"permalinks\":\"chat_permalinks__21dnP\",\"permaInfo\":\"chat_permaInfo__25u1s\",\"permaShow\":\"chat_permaShow__2Y1Z3\",\"runYourself\":\"chat_runYourself__nSaG8\",\"loaderBar\":\"chat_loaderBar__2O3nr\",\"loading\":\"chat_loading__1XQIm\",\"loadeyboye\":\"chat_loadeyboye__3bDz7\",\"permCmd\":\"chat_permCmd__11z2J\",\"permRes\":\"chat_permRes__cW0gl\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"inpWrapper\":\"tester_inpWrapper__3w8Wh\",\"inp\":\"tester_inp__hMKzf\",\"disabled\":\"tester_disabled__1sM7c\",\"suggest\":\"tester_suggest__3GjWY\",\"outputwrap\":\"tester_outputwrap__2A2i3\",\"output\":\"tester_output__10YFJ\",\"errorBoi\":\"tester_errorBoi__3UN9W\",\"padder\":\"tester_padder__3V9LR\",\"inactiveLink\":\"tester_inactiveLink__2LRqW\",\"sep\":\"tester_sep__2L9nF\",\"permalinks\":\"tester_permalinks__3c31K\",\"permaInfo\":\"tester_permaInfo__2lNw_\",\"permaShow\":\"tester_permaShow__2U5b-\",\"runYourself\":\"tester_runYourself__3Yjlz\",\"loaderBar\":\"tester_loaderBar__1vUxu\",\"loading\":\"tester_loading__zFa_P\",\"loadeyboye\":\"tester_loadeyboye__1NxfE\",\"permCmd\":\"tester_permCmd__3AvQO\",\"permRes\":\"tester_permRes__2f8oO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hcenter\":\"time_hcenter__2D_dO\",\"vcenter\":\"time_vcenter__7wq08\",\"group\":\"time_group__3IxvG\",\"greeting\":\"time_greeting__3x6PQ\",\"date\":\"time_date__1Cs9a\",\"time\":\"time_time__37U_7\",\"zone\":\"time_zone__3gQwm\",\"select\":\"time_select__3hxxJ\",\"sel\":\"time_sel__2EPty\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hcenter\":\"redir_hcenter__32QPM\",\"vcenter\":\"redir_vcenter__3o2b6\",\"group\":\"redir_group__1d3Wn\",\"inp\":\"redir_inp__3Hmnj\",\"cr\":\"redir_cr__2_5z5\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"porpoise\":\"home_porpoise__1Rhh3\",\"activePorpoise\":\"home_activePorpoise__LTV9f\",\"serious\":\"home_serious__V7LmR\",\"nahlmao\":\"home_nahlmao__3uv-t\",\"icon\":\"home_icon__1Yyc4\",\"hcenter\":\"home_hcenter__3xEUK\",\"vcfull\":\"home_vcfull__2Xffr\",\"vcenter\":\"home_vcenter__1aysm\",\"mizaImg\":\"home_mizaImg__1iWF_\",\"left\":\"home_left__1T9XT\",\"right\":\"home_right__dRxUO\",\"holder\":\"home_holder__3eGas\",\"name\":\"home_name__19l8w\",\"exp\":\"home_exp__6xH3g\",\"isOut\":\"home_isOut__X2b1B\",\"slideIn\":\"home_slideIn__2sfLd\",\"slider\":\"home_slider__1aUr5\",\"nomoreblur\":\"home_nomoreblur__ZJOmW\",\"coolImgBro\":\"home_coolImgBro__3BACg\",\"yeahblur\":\"home_yeahblur__25y9x\",\"vc2\":\"home_vc2__3zuEl\",\"vc3\":\"home_vc3__otsns\",\"coolTextBro\":\"home_coolTextBro__1_x3h\",\"rel\":\"home_rel__18day\",\"monitor\":\"home_monitor__3DwCQ\",\"bobble\":\"home_bobble__2w3iq\",\"bars\":\"home_bars__2kCi5\",\"bars2\":\"home_bars2__38o-r\",\"bar\":\"home_bar__3mVvE\",\"snapPoint\":\"home_snapPoint__r9som\",\"bigOpac\":\"home_bigOpac__3ZXtc\",\"orbitals\":\"home_orbitals__2f92-\",\"bob\":\"home_bob__2gWAF\",\"orbs2\":\"home_orbs2__pw4WP\",\"bob2\":\"home_bob2__20XXD\",\"orbital\":\"home_orbital__jvQxv\",\"orbitalspin\":\"home_orbitalspin__RDcE8\",\"center\":\"home_center__260RB\",\"ctas\":\"home_ctas__lJcl2\",\"mizaleaf\":\"home_mizaleaf__1n1Z-\",\"slide1\":\"home_slide1__1gejl\",\"slide2\":\"home_slide2__1W3PP\",\"slide3\":\"home_slide3__30qaM\",\"slide4\":\"home_slide4___35zv\",\"slide5\":\"home_slide5__2HhIw\",\"coolHeadingBro\":\"home_coolHeadingBro__3QSJQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"hcenter\":\"mpinsights_hcenter__3kIV1\",\"vcenter\":\"mpinsights_vcenter__13Yjd\",\"group\":\"mpinsights_group__1K3VM\",\"chartholder\":\"mpinsights_chartholder__20WAW\",\"chart\":\"mpinsights_chart__3yvJ-\"};","var map = {\n\t\"./1c\": [\n\t\t272,\n\t\t0\n\t],\n\t\"./1c.js\": [\n\t\t272,\n\t\t0\n\t],\n\t\"./1c.js.js\": [\n\t\t576,\n\t\t0,\n\t\t379\n\t],\n\t\"./abnf\": [\n\t\t87,\n\t\t6\n\t],\n\t\"./abnf.js\": [\n\t\t87,\n\t\t6\n\t],\n\t\"./abnf.js.js\": [\n\t\t577,\n\t\t194\n\t],\n\t\"./accesslog\": [\n\t\t88,\n\t\t7\n\t],\n\t\"./accesslog.js\": [\n\t\t88,\n\t\t7\n\t],\n\t\"./accesslog.js.js\": [\n\t\t578,\n\t\t195\n\t],\n\t\"./actionscript\": [\n\t\t89,\n\t\t8\n\t],\n\t\"./actionscript.js\": [\n\t\t89,\n\t\t8\n\t],\n\t\"./actionscript.js.js\": [\n\t\t579,\n\t\t196\n\t],\n\t\"./ada\": [\n\t\t90,\n\t\t9\n\t],\n\t\"./ada.js\": [\n\t\t90,\n\t\t9\n\t],\n\t\"./ada.js.js\": [\n\t\t580,\n\t\t197\n\t],\n\t\"./angelscript\": [\n\t\t91,\n\t\t10\n\t],\n\t\"./angelscript.js\": [\n\t\t91,\n\t\t10\n\t],\n\t\"./angelscript.js.js\": [\n\t\t581,\n\t\t198\n\t],\n\t\"./apache\": [\n\t\t92,\n\t\t11\n\t],\n\t\"./apache.js\": [\n\t\t92,\n\t\t11\n\t],\n\t\"./apache.js.js\": [\n\t\t582,\n\t\t199\n\t],\n\t\"./applescript\": [\n\t\t93,\n\t\t12\n\t],\n\t\"./applescript.js\": [\n\t\t93,\n\t\t12\n\t],\n\t\"./applescript.js.js\": [\n\t\t583,\n\t\t200\n\t],\n\t\"./arcade\": [\n\t\t94,\n\t\t13\n\t],\n\t\"./arcade.js\": [\n\t\t94,\n\t\t13\n\t],\n\t\"./arcade.js.js\": [\n\t\t584,\n\t\t201\n\t],\n\t\"./arduino\": [\n\t\t95,\n\t\t14\n\t],\n\t\"./arduino.js\": [\n\t\t95,\n\t\t14\n\t],\n\t\"./arduino.js.js\": [\n\t\t585,\n\t\t202\n\t],\n\t\"./armasm\": [\n\t\t96,\n\t\t15\n\t],\n\t\"./armasm.js\": [\n\t\t96,\n\t\t15\n\t],\n\t\"./armasm.js.js\": [\n\t\t586,\n\t\t203\n\t],\n\t\"./asciidoc\": [\n\t\t97,\n\t\t16\n\t],\n\t\"./asciidoc.js\": [\n\t\t97,\n\t\t16\n\t],\n\t\"./asciidoc.js.js\": [\n\t\t587,\n\t\t204\n\t],\n\t\"./aspectj\": [\n\t\t98,\n\t\t17\n\t],\n\t\"./aspectj.js\": [\n\t\t98,\n\t\t17\n\t],\n\t\"./aspectj.js.js\": [\n\t\t588,\n\t\t205\n\t],\n\t\"./autohotkey\": [\n\t\t99,\n\t\t18\n\t],\n\t\"./autohotkey.js\": [\n\t\t99,\n\t\t18\n\t],\n\t\"./autohotkey.js.js\": [\n\t\t589,\n\t\t206\n\t],\n\t\"./autoit\": [\n\t\t100,\n\t\t19\n\t],\n\t\"./autoit.js\": [\n\t\t100,\n\t\t19\n\t],\n\t\"./autoit.js.js\": [\n\t\t590,\n\t\t207\n\t],\n\t\"./avrasm\": [\n\t\t101,\n\t\t20\n\t],\n\t\"./avrasm.js\": [\n\t\t101,\n\t\t20\n\t],\n\t\"./avrasm.js.js\": [\n\t\t591,\n\t\t208\n\t],\n\t\"./awk\": [\n\t\t102,\n\t\t21\n\t],\n\t\"./awk.js\": [\n\t\t102,\n\t\t21\n\t],\n\t\"./awk.js.js\": [\n\t\t592,\n\t\t209\n\t],\n\t\"./axapta\": [\n\t\t103,\n\t\t22\n\t],\n\t\"./axapta.js\": [\n\t\t103,\n\t\t22\n\t],\n\t\"./axapta.js.js\": [\n\t\t593,\n\t\t210\n\t],\n\t\"./bash\": [\n\t\t104,\n\t\t23\n\t],\n\t\"./bash.js\": [\n\t\t104,\n\t\t23\n\t],\n\t\"./bash.js.js\": [\n\t\t594,\n\t\t211\n\t],\n\t\"./basic\": [\n\t\t105,\n\t\t24\n\t],\n\t\"./basic.js\": [\n\t\t105,\n\t\t24\n\t],\n\t\"./basic.js.js\": [\n\t\t595,\n\t\t212\n\t],\n\t\"./bnf\": [\n\t\t106,\n\t\t25\n\t],\n\t\"./bnf.js\": [\n\t\t106,\n\t\t25\n\t],\n\t\"./bnf.js.js\": [\n\t\t596,\n\t\t213\n\t],\n\t\"./brainfuck\": [\n\t\t107,\n\t\t26\n\t],\n\t\"./brainfuck.js\": [\n\t\t107,\n\t\t26\n\t],\n\t\"./brainfuck.js.js\": [\n\t\t597,\n\t\t214\n\t],\n\t\"./c\": [\n\t\t108,\n\t\t27\n\t],\n\t\"./c.js\": [\n\t\t108,\n\t\t27\n\t],\n\t\"./c.js.js\": [\n\t\t598,\n\t\t215\n\t],\n\t\"./cal\": [\n\t\t109,\n\t\t28\n\t],\n\t\"./cal.js\": [\n\t\t109,\n\t\t28\n\t],\n\t\"./cal.js.js\": [\n\t\t599,\n\t\t216\n\t],\n\t\"./capnproto\": [\n\t\t110,\n\t\t29\n\t],\n\t\"./capnproto.js\": [\n\t\t110,\n\t\t29\n\t],\n\t\"./capnproto.js.js\": [\n\t\t600,\n\t\t217\n\t],\n\t\"./ceylon\": [\n\t\t111,\n\t\t30\n\t],\n\t\"./ceylon.js\": [\n\t\t111,\n\t\t30\n\t],\n\t\"./ceylon.js.js\": [\n\t\t601,\n\t\t218\n\t],\n\t\"./clean\": [\n\t\t112,\n\t\t31\n\t],\n\t\"./clean.js\": [\n\t\t112,\n\t\t31\n\t],\n\t\"./clean.js.js\": [\n\t\t602,\n\t\t219\n\t],\n\t\"./clojure\": [\n\t\t114,\n\t\t33\n\t],\n\t\"./clojure-repl\": [\n\t\t113,\n\t\t32\n\t],\n\t\"./clojure-repl.js\": [\n\t\t113,\n\t\t32\n\t],\n\t\"./clojure-repl.js.js\": [\n\t\t603,\n\t\t220\n\t],\n\t\"./clojure.js\": [\n\t\t114,\n\t\t33\n\t],\n\t\"./clojure.js.js\": [\n\t\t604,\n\t\t221\n\t],\n\t\"./cmake\": [\n\t\t115,\n\t\t34\n\t],\n\t\"./cmake.js\": [\n\t\t115,\n\t\t34\n\t],\n\t\"./cmake.js.js\": [\n\t\t605,\n\t\t222\n\t],\n\t\"./coffeescript\": [\n\t\t116,\n\t\t35\n\t],\n\t\"./coffeescript.js\": [\n\t\t116,\n\t\t35\n\t],\n\t\"./coffeescript.js.js\": [\n\t\t606,\n\t\t223\n\t],\n\t\"./coq\": [\n\t\t117,\n\t\t36\n\t],\n\t\"./coq.js\": [\n\t\t117,\n\t\t36\n\t],\n\t\"./coq.js.js\": [\n\t\t607,\n\t\t224\n\t],\n\t\"./cos\": [\n\t\t118,\n\t\t37\n\t],\n\t\"./cos.js\": [\n\t\t118,\n\t\t37\n\t],\n\t\"./cos.js.js\": [\n\t\t608,\n\t\t225\n\t],\n\t\"./cpp\": [\n\t\t119,\n\t\t38\n\t],\n\t\"./cpp.js\": [\n\t\t119,\n\t\t38\n\t],\n\t\"./cpp.js.js\": [\n\t\t609,\n\t\t226\n\t],\n\t\"./crmsh\": [\n\t\t120,\n\t\t39\n\t],\n\t\"./crmsh.js\": [\n\t\t120,\n\t\t39\n\t],\n\t\"./crmsh.js.js\": [\n\t\t610,\n\t\t227\n\t],\n\t\"./crystal\": [\n\t\t121,\n\t\t40\n\t],\n\t\"./crystal.js\": [\n\t\t121,\n\t\t40\n\t],\n\t\"./crystal.js.js\": [\n\t\t611,\n\t\t228\n\t],\n\t\"./csharp\": [\n\t\t122,\n\t\t41\n\t],\n\t\"./csharp.js\": [\n\t\t122,\n\t\t41\n\t],\n\t\"./csharp.js.js\": [\n\t\t612,\n\t\t229\n\t],\n\t\"./csp\": [\n\t\t123,\n\t\t42\n\t],\n\t\"./csp.js\": [\n\t\t123,\n\t\t42\n\t],\n\t\"./csp.js.js\": [\n\t\t613,\n\t\t230\n\t],\n\t\"./css\": [\n\t\t124,\n\t\t43\n\t],\n\t\"./css.js\": [\n\t\t124,\n\t\t43\n\t],\n\t\"./css.js.js\": [\n\t\t614,\n\t\t231\n\t],\n\t\"./d\": [\n\t\t125,\n\t\t44\n\t],\n\t\"./d.js\": [\n\t\t125,\n\t\t44\n\t],\n\t\"./d.js.js\": [\n\t\t615,\n\t\t232\n\t],\n\t\"./dart\": [\n\t\t126,\n\t\t45\n\t],\n\t\"./dart.js\": [\n\t\t126,\n\t\t45\n\t],\n\t\"./dart.js.js\": [\n\t\t616,\n\t\t233\n\t],\n\t\"./delphi\": [\n\t\t127,\n\t\t46\n\t],\n\t\"./delphi.js\": [\n\t\t127,\n\t\t46\n\t],\n\t\"./delphi.js.js\": [\n\t\t617,\n\t\t234\n\t],\n\t\"./diff\": [\n\t\t128,\n\t\t47\n\t],\n\t\"./diff.js\": [\n\t\t128,\n\t\t47\n\t],\n\t\"./diff.js.js\": [\n\t\t618,\n\t\t235\n\t],\n\t\"./django\": [\n\t\t129,\n\t\t48\n\t],\n\t\"./django.js\": [\n\t\t129,\n\t\t48\n\t],\n\t\"./django.js.js\": [\n\t\t619,\n\t\t236\n\t],\n\t\"./dns\": [\n\t\t130,\n\t\t49\n\t],\n\t\"./dns.js\": [\n\t\t130,\n\t\t49\n\t],\n\t\"./dns.js.js\": [\n\t\t620,\n\t\t237\n\t],\n\t\"./dockerfile\": [\n\t\t131,\n\t\t50\n\t],\n\t\"./dockerfile.js\": [\n\t\t131,\n\t\t50\n\t],\n\t\"./dockerfile.js.js\": [\n\t\t621,\n\t\t238\n\t],\n\t\"./dos\": [\n\t\t132,\n\t\t51\n\t],\n\t\"./dos.js\": [\n\t\t132,\n\t\t51\n\t],\n\t\"./dos.js.js\": [\n\t\t622,\n\t\t239\n\t],\n\t\"./dsconfig\": [\n\t\t133,\n\t\t52\n\t],\n\t\"./dsconfig.js\": [\n\t\t133,\n\t\t52\n\t],\n\t\"./dsconfig.js.js\": [\n\t\t623,\n\t\t240\n\t],\n\t\"./dts\": [\n\t\t134,\n\t\t53\n\t],\n\t\"./dts.js\": [\n\t\t134,\n\t\t53\n\t],\n\t\"./dts.js.js\": [\n\t\t624,\n\t\t241\n\t],\n\t\"./dust\": [\n\t\t135,\n\t\t54\n\t],\n\t\"./dust.js\": [\n\t\t135,\n\t\t54\n\t],\n\t\"./dust.js.js\": [\n\t\t625,\n\t\t242\n\t],\n\t\"./ebnf\": [\n\t\t136,\n\t\t55\n\t],\n\t\"./ebnf.js\": [\n\t\t136,\n\t\t55\n\t],\n\t\"./ebnf.js.js\": [\n\t\t626,\n\t\t243\n\t],\n\t\"./elixir\": [\n\t\t137,\n\t\t56\n\t],\n\t\"./elixir.js\": [\n\t\t137,\n\t\t56\n\t],\n\t\"./elixir.js.js\": [\n\t\t627,\n\t\t244\n\t],\n\t\"./elm\": [\n\t\t138,\n\t\t57\n\t],\n\t\"./elm.js\": [\n\t\t138,\n\t\t57\n\t],\n\t\"./elm.js.js\": [\n\t\t628,\n\t\t245\n\t],\n\t\"./erb\": [\n\t\t139,\n\t\t58\n\t],\n\t\"./erb.js\": [\n\t\t139,\n\t\t58\n\t],\n\t\"./erb.js.js\": [\n\t\t629,\n\t\t246\n\t],\n\t\"./erlang\": [\n\t\t141,\n\t\t60\n\t],\n\t\"./erlang-repl\": [\n\t\t140,\n\t\t59\n\t],\n\t\"./erlang-repl.js\": [\n\t\t140,\n\t\t59\n\t],\n\t\"./erlang-repl.js.js\": [\n\t\t630,\n\t\t247\n\t],\n\t\"./erlang.js\": [\n\t\t141,\n\t\t60\n\t],\n\t\"./erlang.js.js\": [\n\t\t631,\n\t\t248\n\t],\n\t\"./excel\": [\n\t\t142,\n\t\t61\n\t],\n\t\"./excel.js\": [\n\t\t142,\n\t\t61\n\t],\n\t\"./excel.js.js\": [\n\t\t632,\n\t\t249\n\t],\n\t\"./fix\": [\n\t\t143,\n\t\t62\n\t],\n\t\"./fix.js\": [\n\t\t143,\n\t\t62\n\t],\n\t\"./fix.js.js\": [\n\t\t633,\n\t\t250\n\t],\n\t\"./flix\": [\n\t\t144,\n\t\t63\n\t],\n\t\"./flix.js\": [\n\t\t144,\n\t\t63\n\t],\n\t\"./flix.js.js\": [\n\t\t634,\n\t\t251\n\t],\n\t\"./fortran\": [\n\t\t145,\n\t\t64\n\t],\n\t\"./fortran.js\": [\n\t\t145,\n\t\t64\n\t],\n\t\"./fortran.js.js\": [\n\t\t635,\n\t\t252\n\t],\n\t\"./fsharp\": [\n\t\t146,\n\t\t65\n\t],\n\t\"./fsharp.js\": [\n\t\t146,\n\t\t65\n\t],\n\t\"./fsharp.js.js\": [\n\t\t636,\n\t\t253\n\t],\n\t\"./gams\": [\n\t\t147,\n\t\t66\n\t],\n\t\"./gams.js\": [\n\t\t147,\n\t\t66\n\t],\n\t\"./gams.js.js\": [\n\t\t637,\n\t\t254\n\t],\n\t\"./gauss\": [\n\t\t148,\n\t\t67\n\t],\n\t\"./gauss.js\": [\n\t\t148,\n\t\t67\n\t],\n\t\"./gauss.js.js\": [\n\t\t638,\n\t\t255\n\t],\n\t\"./gcode\": [\n\t\t149,\n\t\t68\n\t],\n\t\"./gcode.js\": [\n\t\t149,\n\t\t68\n\t],\n\t\"./gcode.js.js\": [\n\t\t639,\n\t\t256\n\t],\n\t\"./gherkin\": [\n\t\t150,\n\t\t69\n\t],\n\t\"./gherkin.js\": [\n\t\t150,\n\t\t69\n\t],\n\t\"./gherkin.js.js\": [\n\t\t640,\n\t\t257\n\t],\n\t\"./glsl\": [\n\t\t151,\n\t\t70\n\t],\n\t\"./glsl.js\": [\n\t\t151,\n\t\t70\n\t],\n\t\"./glsl.js.js\": [\n\t\t641,\n\t\t258\n\t],\n\t\"./gml\": [\n\t\t273,\n\t\t1\n\t],\n\t\"./gml.js\": [\n\t\t273,\n\t\t1\n\t],\n\t\"./gml.js.js\": [\n\t\t642,\n\t\t1,\n\t\t380\n\t],\n\t\"./go\": [\n\t\t152,\n\t\t71\n\t],\n\t\"./go.js\": [\n\t\t152,\n\t\t71\n\t],\n\t\"./go.js.js\": [\n\t\t643,\n\t\t259\n\t],\n\t\"./golo\": [\n\t\t153,\n\t\t72\n\t],\n\t\"./golo.js\": [\n\t\t153,\n\t\t72\n\t],\n\t\"./golo.js.js\": [\n\t\t644,\n\t\t260\n\t],\n\t\"./gradle\": [\n\t\t154,\n\t\t73\n\t],\n\t\"./gradle.js\": [\n\t\t154,\n\t\t73\n\t],\n\t\"./gradle.js.js\": [\n\t\t645,\n\t\t261\n\t],\n\t\"./groovy\": [\n\t\t155,\n\t\t74\n\t],\n\t\"./groovy.js\": [\n\t\t155,\n\t\t74\n\t],\n\t\"./groovy.js.js\": [\n\t\t646,\n\t\t262\n\t],\n\t\"./haml\": [\n\t\t156,\n\t\t75\n\t],\n\t\"./haml.js\": [\n\t\t156,\n\t\t75\n\t],\n\t\"./haml.js.js\": [\n\t\t647,\n\t\t263\n\t],\n\t\"./handlebars\": [\n\t\t157,\n\t\t76\n\t],\n\t\"./handlebars.js\": [\n\t\t157,\n\t\t76\n\t],\n\t\"./handlebars.js.js\": [\n\t\t648,\n\t\t264\n\t],\n\t\"./haskell\": [\n\t\t158,\n\t\t77\n\t],\n\t\"./haskell.js\": [\n\t\t158,\n\t\t77\n\t],\n\t\"./haskell.js.js\": [\n\t\t649,\n\t\t265\n\t],\n\t\"./haxe\": [\n\t\t159,\n\t\t78\n\t],\n\t\"./haxe.js\": [\n\t\t159,\n\t\t78\n\t],\n\t\"./haxe.js.js\": [\n\t\t650,\n\t\t266\n\t],\n\t\"./hsp\": [\n\t\t160,\n\t\t79\n\t],\n\t\"./hsp.js\": [\n\t\t160,\n\t\t79\n\t],\n\t\"./hsp.js.js\": [\n\t\t651,\n\t\t267\n\t],\n\t\"./http\": [\n\t\t161,\n\t\t80\n\t],\n\t\"./http.js\": [\n\t\t161,\n\t\t80\n\t],\n\t\"./http.js.js\": [\n\t\t652,\n\t\t268\n\t],\n\t\"./hy\": [\n\t\t162,\n\t\t81\n\t],\n\t\"./hy.js\": [\n\t\t162,\n\t\t81\n\t],\n\t\"./hy.js.js\": [\n\t\t653,\n\t\t269\n\t],\n\t\"./inform7\": [\n\t\t163,\n\t\t82\n\t],\n\t\"./inform7.js\": [\n\t\t163,\n\t\t82\n\t],\n\t\"./inform7.js.js\": [\n\t\t654,\n\t\t270\n\t],\n\t\"./ini\": [\n\t\t164,\n\t\t83\n\t],\n\t\"./ini.js\": [\n\t\t164,\n\t\t83\n\t],\n\t\"./ini.js.js\": [\n\t\t655,\n\t\t271\n\t],\n\t\"./irpf90\": [\n\t\t165,\n\t\t84\n\t],\n\t\"./irpf90.js\": [\n\t\t165,\n\t\t84\n\t],\n\t\"./irpf90.js.js\": [\n\t\t656,\n\t\t272\n\t],\n\t\"./isbl\": [\n\t\t274,\n\t\t2\n\t],\n\t\"./isbl.js\": [\n\t\t274,\n\t\t2\n\t],\n\t\"./isbl.js.js\": [\n\t\t657,\n\t\t2,\n\t\t381\n\t],\n\t\"./java\": [\n\t\t166,\n\t\t85\n\t],\n\t\"./java.js\": [\n\t\t166,\n\t\t85\n\t],\n\t\"./java.js.js\": [\n\t\t658,\n\t\t273\n\t],\n\t\"./javascript\": [\n\t\t167,\n\t\t86\n\t],\n\t\"./javascript.js\": [\n\t\t167,\n\t\t86\n\t],\n\t\"./javascript.js.js\": [\n\t\t659,\n\t\t274\n\t],\n\t\"./jboss-cli\": [\n\t\t168,\n\t\t87\n\t],\n\t\"./jboss-cli.js\": [\n\t\t168,\n\t\t87\n\t],\n\t\"./jboss-cli.js.js\": [\n\t\t660,\n\t\t275\n\t],\n\t\"./json\": [\n\t\t169,\n\t\t88\n\t],\n\t\"./json.js\": [\n\t\t169,\n\t\t88\n\t],\n\t\"./json.js.js\": [\n\t\t661,\n\t\t276\n\t],\n\t\"./julia\": [\n\t\t171,\n\t\t90\n\t],\n\t\"./julia-repl\": [\n\t\t170,\n\t\t89\n\t],\n\t\"./julia-repl.js\": [\n\t\t170,\n\t\t89\n\t],\n\t\"./julia-repl.js.js\": [\n\t\t662,\n\t\t277\n\t],\n\t\"./julia.js\": [\n\t\t171,\n\t\t90\n\t],\n\t\"./julia.js.js\": [\n\t\t663,\n\t\t278\n\t],\n\t\"./kotlin\": [\n\t\t172,\n\t\t91\n\t],\n\t\"./kotlin.js\": [\n\t\t172,\n\t\t91\n\t],\n\t\"./kotlin.js.js\": [\n\t\t664,\n\t\t279\n\t],\n\t\"./lasso\": [\n\t\t173,\n\t\t92\n\t],\n\t\"./lasso.js\": [\n\t\t173,\n\t\t92\n\t],\n\t\"./lasso.js.js\": [\n\t\t665,\n\t\t280\n\t],\n\t\"./latex\": [\n\t\t174,\n\t\t93\n\t],\n\t\"./latex.js\": [\n\t\t174,\n\t\t93\n\t],\n\t\"./latex.js.js\": [\n\t\t666,\n\t\t281\n\t],\n\t\"./ldif\": [\n\t\t175,\n\t\t94\n\t],\n\t\"./ldif.js\": [\n\t\t175,\n\t\t94\n\t],\n\t\"./ldif.js.js\": [\n\t\t667,\n\t\t282\n\t],\n\t\"./leaf\": [\n\t\t176,\n\t\t95\n\t],\n\t\"./leaf.js\": [\n\t\t176,\n\t\t95\n\t],\n\t\"./leaf.js.js\": [\n\t\t668,\n\t\t283\n\t],\n\t\"./less\": [\n\t\t177,\n\t\t96\n\t],\n\t\"./less.js\": [\n\t\t177,\n\t\t96\n\t],\n\t\"./less.js.js\": [\n\t\t669,\n\t\t284\n\t],\n\t\"./lisp\": [\n\t\t178,\n\t\t97\n\t],\n\t\"./lisp.js\": [\n\t\t178,\n\t\t97\n\t],\n\t\"./lisp.js.js\": [\n\t\t670,\n\t\t285\n\t],\n\t\"./livecodeserver\": [\n\t\t179,\n\t\t98\n\t],\n\t\"./livecodeserver.js\": [\n\t\t179,\n\t\t98\n\t],\n\t\"./livecodeserver.js.js\": [\n\t\t671,\n\t\t286\n\t],\n\t\"./livescript\": [\n\t\t180,\n\t\t99\n\t],\n\t\"./livescript.js\": [\n\t\t180,\n\t\t99\n\t],\n\t\"./livescript.js.js\": [\n\t\t672,\n\t\t287\n\t],\n\t\"./llvm\": [\n\t\t181,\n\t\t100\n\t],\n\t\"./llvm.js\": [\n\t\t181,\n\t\t100\n\t],\n\t\"./llvm.js.js\": [\n\t\t673,\n\t\t288\n\t],\n\t\"./lsl\": [\n\t\t182,\n\t\t101\n\t],\n\t\"./lsl.js\": [\n\t\t182,\n\t\t101\n\t],\n\t\"./lsl.js.js\": [\n\t\t674,\n\t\t289\n\t],\n\t\"./lua\": [\n\t\t183,\n\t\t102\n\t],\n\t\"./lua.js\": [\n\t\t183,\n\t\t102\n\t],\n\t\"./lua.js.js\": [\n\t\t675,\n\t\t290\n\t],\n\t\"./makefile\": [\n\t\t184,\n\t\t103\n\t],\n\t\"./makefile.js\": [\n\t\t184,\n\t\t103\n\t],\n\t\"./makefile.js.js\": [\n\t\t676,\n\t\t291\n\t],\n\t\"./markdown\": [\n\t\t185,\n\t\t104\n\t],\n\t\"./markdown.js\": [\n\t\t185,\n\t\t104\n\t],\n\t\"./markdown.js.js\": [\n\t\t677,\n\t\t292\n\t],\n\t\"./mathematica\": [\n\t\t275,\n\t\t3\n\t],\n\t\"./mathematica.js\": [\n\t\t275,\n\t\t3\n\t],\n\t\"./mathematica.js.js\": [\n\t\t678,\n\t\t3,\n\t\t382\n\t],\n\t\"./matlab\": [\n\t\t186,\n\t\t105\n\t],\n\t\"./matlab.js\": [\n\t\t186,\n\t\t105\n\t],\n\t\"./matlab.js.js\": [\n\t\t679,\n\t\t293\n\t],\n\t\"./maxima\": [\n\t\t276,\n\t\t4\n\t],\n\t\"./maxima.js\": [\n\t\t276,\n\t\t4\n\t],\n\t\"./maxima.js.js\": [\n\t\t680,\n\t\t4,\n\t\t383\n\t],\n\t\"./mel\": [\n\t\t187,\n\t\t106\n\t],\n\t\"./mel.js\": [\n\t\t187,\n\t\t106\n\t],\n\t\"./mel.js.js\": [\n\t\t681,\n\t\t294\n\t],\n\t\"./mercury\": [\n\t\t188,\n\t\t107\n\t],\n\t\"./mercury.js\": [\n\t\t188,\n\t\t107\n\t],\n\t\"./mercury.js.js\": [\n\t\t682,\n\t\t295\n\t],\n\t\"./mipsasm\": [\n\t\t189,\n\t\t108\n\t],\n\t\"./mipsasm.js\": [\n\t\t189,\n\t\t108\n\t],\n\t\"./mipsasm.js.js\": [\n\t\t683,\n\t\t296\n\t],\n\t\"./mizar\": [\n\t\t190,\n\t\t109\n\t],\n\t\"./mizar.js\": [\n\t\t190,\n\t\t109\n\t],\n\t\"./mizar.js.js\": [\n\t\t684,\n\t\t297\n\t],\n\t\"./mojolicious\": [\n\t\t191,\n\t\t110\n\t],\n\t\"./mojolicious.js\": [\n\t\t191,\n\t\t110\n\t],\n\t\"./mojolicious.js.js\": [\n\t\t685,\n\t\t298\n\t],\n\t\"./monkey\": [\n\t\t192,\n\t\t111\n\t],\n\t\"./monkey.js\": [\n\t\t192,\n\t\t111\n\t],\n\t\"./monkey.js.js\": [\n\t\t686,\n\t\t299\n\t],\n\t\"./moonscript\": [\n\t\t193,\n\t\t112\n\t],\n\t\"./moonscript.js\": [\n\t\t193,\n\t\t112\n\t],\n\t\"./moonscript.js.js\": [\n\t\t687,\n\t\t300\n\t],\n\t\"./n1ql\": [\n\t\t194,\n\t\t113\n\t],\n\t\"./n1ql.js\": [\n\t\t194,\n\t\t113\n\t],\n\t\"./n1ql.js.js\": [\n\t\t688,\n\t\t301\n\t],\n\t\"./nestedtext\": [\n\t\t195,\n\t\t114\n\t],\n\t\"./nestedtext.js\": [\n\t\t195,\n\t\t114\n\t],\n\t\"./nestedtext.js.js\": [\n\t\t689,\n\t\t302\n\t],\n\t\"./nginx\": [\n\t\t196,\n\t\t115\n\t],\n\t\"./nginx.js\": [\n\t\t196,\n\t\t115\n\t],\n\t\"./nginx.js.js\": [\n\t\t690,\n\t\t303\n\t],\n\t\"./nim\": [\n\t\t197,\n\t\t116\n\t],\n\t\"./nim.js\": [\n\t\t197,\n\t\t116\n\t],\n\t\"./nim.js.js\": [\n\t\t691,\n\t\t304\n\t],\n\t\"./nix\": [\n\t\t198,\n\t\t117\n\t],\n\t\"./nix.js\": [\n\t\t198,\n\t\t117\n\t],\n\t\"./nix.js.js\": [\n\t\t692,\n\t\t305\n\t],\n\t\"./node-repl\": [\n\t\t199,\n\t\t118\n\t],\n\t\"./node-repl.js\": [\n\t\t199,\n\t\t118\n\t],\n\t\"./node-repl.js.js\": [\n\t\t693,\n\t\t306\n\t],\n\t\"./nsis\": [\n\t\t200,\n\t\t119\n\t],\n\t\"./nsis.js\": [\n\t\t200,\n\t\t119\n\t],\n\t\"./nsis.js.js\": [\n\t\t694,\n\t\t307\n\t],\n\t\"./objectivec\": [\n\t\t201,\n\t\t120\n\t],\n\t\"./objectivec.js\": [\n\t\t201,\n\t\t120\n\t],\n\t\"./objectivec.js.js\": [\n\t\t695,\n\t\t308\n\t],\n\t\"./ocaml\": [\n\t\t202,\n\t\t121\n\t],\n\t\"./ocaml.js\": [\n\t\t202,\n\t\t121\n\t],\n\t\"./ocaml.js.js\": [\n\t\t696,\n\t\t309\n\t],\n\t\"./openscad\": [\n\t\t203,\n\t\t122\n\t],\n\t\"./openscad.js\": [\n\t\t203,\n\t\t122\n\t],\n\t\"./openscad.js.js\": [\n\t\t697,\n\t\t310\n\t],\n\t\"./oxygene\": [\n\t\t204,\n\t\t123\n\t],\n\t\"./oxygene.js\": [\n\t\t204,\n\t\t123\n\t],\n\t\"./oxygene.js.js\": [\n\t\t698,\n\t\t311\n\t],\n\t\"./parser3\": [\n\t\t205,\n\t\t124\n\t],\n\t\"./parser3.js\": [\n\t\t205,\n\t\t124\n\t],\n\t\"./parser3.js.js\": [\n\t\t699,\n\t\t312\n\t],\n\t\"./perl\": [\n\t\t206,\n\t\t125\n\t],\n\t\"./perl.js\": [\n\t\t206,\n\t\t125\n\t],\n\t\"./perl.js.js\": [\n\t\t700,\n\t\t313\n\t],\n\t\"./pf\": [\n\t\t207,\n\t\t126\n\t],\n\t\"./pf.js\": [\n\t\t207,\n\t\t126\n\t],\n\t\"./pf.js.js\": [\n\t\t701,\n\t\t314\n\t],\n\t\"./pgsql\": [\n\t\t208,\n\t\t127\n\t],\n\t\"./pgsql.js\": [\n\t\t208,\n\t\t127\n\t],\n\t\"./pgsql.js.js\": [\n\t\t702,\n\t\t315\n\t],\n\t\"./php\": [\n\t\t210,\n\t\t129\n\t],\n\t\"./php-template\": [\n\t\t209,\n\t\t128\n\t],\n\t\"./php-template.js\": [\n\t\t209,\n\t\t128\n\t],\n\t\"./php-template.js.js\": [\n\t\t703,\n\t\t316\n\t],\n\t\"./php.js\": [\n\t\t210,\n\t\t129\n\t],\n\t\"./php.js.js\": [\n\t\t704,\n\t\t317\n\t],\n\t\"./plaintext\": [\n\t\t211,\n\t\t130\n\t],\n\t\"./plaintext.js\": [\n\t\t211,\n\t\t130\n\t],\n\t\"./plaintext.js.js\": [\n\t\t705,\n\t\t318\n\t],\n\t\"./pony\": [\n\t\t212,\n\t\t131\n\t],\n\t\"./pony.js\": [\n\t\t212,\n\t\t131\n\t],\n\t\"./pony.js.js\": [\n\t\t706,\n\t\t319\n\t],\n\t\"./powershell\": [\n\t\t213,\n\t\t132\n\t],\n\t\"./powershell.js\": [\n\t\t213,\n\t\t132\n\t],\n\t\"./powershell.js.js\": [\n\t\t707,\n\t\t320\n\t],\n\t\"./processing\": [\n\t\t214,\n\t\t133\n\t],\n\t\"./processing.js\": [\n\t\t214,\n\t\t133\n\t],\n\t\"./processing.js.js\": [\n\t\t708,\n\t\t321\n\t],\n\t\"./profile\": [\n\t\t215,\n\t\t134\n\t],\n\t\"./profile.js\": [\n\t\t215,\n\t\t134\n\t],\n\t\"./profile.js.js\": [\n\t\t709,\n\t\t322\n\t],\n\t\"./prolog\": [\n\t\t216,\n\t\t135\n\t],\n\t\"./prolog.js\": [\n\t\t216,\n\t\t135\n\t],\n\t\"./prolog.js.js\": [\n\t\t710,\n\t\t323\n\t],\n\t\"./properties\": [\n\t\t217,\n\t\t136\n\t],\n\t\"./properties.js\": [\n\t\t217,\n\t\t136\n\t],\n\t\"./properties.js.js\": [\n\t\t711,\n\t\t324\n\t],\n\t\"./protobuf\": [\n\t\t218,\n\t\t137\n\t],\n\t\"./protobuf.js\": [\n\t\t218,\n\t\t137\n\t],\n\t\"./protobuf.js.js\": [\n\t\t712,\n\t\t325\n\t],\n\t\"./puppet\": [\n\t\t219,\n\t\t138\n\t],\n\t\"./puppet.js\": [\n\t\t219,\n\t\t138\n\t],\n\t\"./puppet.js.js\": [\n\t\t713,\n\t\t326\n\t],\n\t\"./purebasic\": [\n\t\t220,\n\t\t139\n\t],\n\t\"./purebasic.js\": [\n\t\t220,\n\t\t139\n\t],\n\t\"./purebasic.js.js\": [\n\t\t714,\n\t\t327\n\t],\n\t\"./python\": [\n\t\t222,\n\t\t141\n\t],\n\t\"./python-repl\": [\n\t\t221,\n\t\t140\n\t],\n\t\"./python-repl.js\": [\n\t\t221,\n\t\t140\n\t],\n\t\"./python-repl.js.js\": [\n\t\t715,\n\t\t328\n\t],\n\t\"./python.js\": [\n\t\t222,\n\t\t141\n\t],\n\t\"./python.js.js\": [\n\t\t716,\n\t\t329\n\t],\n\t\"./q\": [\n\t\t223,\n\t\t142\n\t],\n\t\"./q.js\": [\n\t\t223,\n\t\t142\n\t],\n\t\"./q.js.js\": [\n\t\t717,\n\t\t330\n\t],\n\t\"./qml\": [\n\t\t224,\n\t\t143\n\t],\n\t\"./qml.js\": [\n\t\t224,\n\t\t143\n\t],\n\t\"./qml.js.js\": [\n\t\t718,\n\t\t331\n\t],\n\t\"./r\": [\n\t\t225,\n\t\t144\n\t],\n\t\"./r.js\": [\n\t\t225,\n\t\t144\n\t],\n\t\"./r.js.js\": [\n\t\t719,\n\t\t332\n\t],\n\t\"./reasonml\": [\n\t\t226,\n\t\t145\n\t],\n\t\"./reasonml.js\": [\n\t\t226,\n\t\t145\n\t],\n\t\"./reasonml.js.js\": [\n\t\t720,\n\t\t333\n\t],\n\t\"./rib\": [\n\t\t227,\n\t\t146\n\t],\n\t\"./rib.js\": [\n\t\t227,\n\t\t146\n\t],\n\t\"./rib.js.js\": [\n\t\t721,\n\t\t334\n\t],\n\t\"./roboconf\": [\n\t\t228,\n\t\t147\n\t],\n\t\"./roboconf.js\": [\n\t\t228,\n\t\t147\n\t],\n\t\"./roboconf.js.js\": [\n\t\t722,\n\t\t335\n\t],\n\t\"./routeros\": [\n\t\t229,\n\t\t148\n\t],\n\t\"./routeros.js\": [\n\t\t229,\n\t\t148\n\t],\n\t\"./routeros.js.js\": [\n\t\t723,\n\t\t336\n\t],\n\t\"./rsl\": [\n\t\t230,\n\t\t149\n\t],\n\t\"./rsl.js\": [\n\t\t230,\n\t\t149\n\t],\n\t\"./rsl.js.js\": [\n\t\t724,\n\t\t337\n\t],\n\t\"./ruby\": [\n\t\t231,\n\t\t150\n\t],\n\t\"./ruby.js\": [\n\t\t231,\n\t\t150\n\t],\n\t\"./ruby.js.js\": [\n\t\t725,\n\t\t338\n\t],\n\t\"./ruleslanguage\": [\n\t\t232,\n\t\t151\n\t],\n\t\"./ruleslanguage.js\": [\n\t\t232,\n\t\t151\n\t],\n\t\"./ruleslanguage.js.js\": [\n\t\t726,\n\t\t339\n\t],\n\t\"./rust\": [\n\t\t233,\n\t\t152\n\t],\n\t\"./rust.js\": [\n\t\t233,\n\t\t152\n\t],\n\t\"./rust.js.js\": [\n\t\t727,\n\t\t340\n\t],\n\t\"./sas\": [\n\t\t234,\n\t\t153\n\t],\n\t\"./sas.js\": [\n\t\t234,\n\t\t153\n\t],\n\t\"./sas.js.js\": [\n\t\t728,\n\t\t341\n\t],\n\t\"./scala\": [\n\t\t235,\n\t\t154\n\t],\n\t\"./scala.js\": [\n\t\t235,\n\t\t154\n\t],\n\t\"./scala.js.js\": [\n\t\t729,\n\t\t342\n\t],\n\t\"./scheme\": [\n\t\t236,\n\t\t155\n\t],\n\t\"./scheme.js\": [\n\t\t236,\n\t\t155\n\t],\n\t\"./scheme.js.js\": [\n\t\t730,\n\t\t343\n\t],\n\t\"./scilab\": [\n\t\t237,\n\t\t156\n\t],\n\t\"./scilab.js\": [\n\t\t237,\n\t\t156\n\t],\n\t\"./scilab.js.js\": [\n\t\t731,\n\t\t344\n\t],\n\t\"./scss\": [\n\t\t238,\n\t\t157\n\t],\n\t\"./scss.js\": [\n\t\t238,\n\t\t157\n\t],\n\t\"./scss.js.js\": [\n\t\t732,\n\t\t345\n\t],\n\t\"./shell\": [\n\t\t239,\n\t\t158\n\t],\n\t\"./shell.js\": [\n\t\t239,\n\t\t158\n\t],\n\t\"./shell.js.js\": [\n\t\t733,\n\t\t346\n\t],\n\t\"./smali\": [\n\t\t240,\n\t\t159\n\t],\n\t\"./smali.js\": [\n\t\t240,\n\t\t159\n\t],\n\t\"./smali.js.js\": [\n\t\t734,\n\t\t347\n\t],\n\t\"./smalltalk\": [\n\t\t241,\n\t\t160\n\t],\n\t\"./smalltalk.js\": [\n\t\t241,\n\t\t160\n\t],\n\t\"./smalltalk.js.js\": [\n\t\t735,\n\t\t348\n\t],\n\t\"./sml\": [\n\t\t242,\n\t\t161\n\t],\n\t\"./sml.js\": [\n\t\t242,\n\t\t161\n\t],\n\t\"./sml.js.js\": [\n\t\t736,\n\t\t349\n\t],\n\t\"./sqf\": [\n\t\t277,\n\t\t5\n\t],\n\t\"./sqf.js\": [\n\t\t277,\n\t\t5\n\t],\n\t\"./sqf.js.js\": [\n\t\t737,\n\t\t5,\n\t\t384\n\t],\n\t\"./sql\": [\n\t\t243,\n\t\t162\n\t],\n\t\"./sql.js\": [\n\t\t243,\n\t\t162\n\t],\n\t\"./sql.js.js\": [\n\t\t738,\n\t\t350\n\t],\n\t\"./stan\": [\n\t\t244,\n\t\t163\n\t],\n\t\"./stan.js\": [\n\t\t244,\n\t\t163\n\t],\n\t\"./stan.js.js\": [\n\t\t739,\n\t\t351\n\t],\n\t\"./stata\": [\n\t\t245,\n\t\t164\n\t],\n\t\"./stata.js\": [\n\t\t245,\n\t\t164\n\t],\n\t\"./stata.js.js\": [\n\t\t740,\n\t\t352\n\t],\n\t\"./step21\": [\n\t\t246,\n\t\t165\n\t],\n\t\"./step21.js\": [\n\t\t246,\n\t\t165\n\t],\n\t\"./step21.js.js\": [\n\t\t741,\n\t\t353\n\t],\n\t\"./stylus\": [\n\t\t247,\n\t\t166\n\t],\n\t\"./stylus.js\": [\n\t\t247,\n\t\t166\n\t],\n\t\"./stylus.js.js\": [\n\t\t742,\n\t\t354\n\t],\n\t\"./subunit\": [\n\t\t248,\n\t\t167\n\t],\n\t\"./subunit.js\": [\n\t\t248,\n\t\t167\n\t],\n\t\"./subunit.js.js\": [\n\t\t743,\n\t\t355\n\t],\n\t\"./swift\": [\n\t\t249,\n\t\t168\n\t],\n\t\"./swift.js\": [\n\t\t249,\n\t\t168\n\t],\n\t\"./swift.js.js\": [\n\t\t744,\n\t\t356\n\t],\n\t\"./taggerscript\": [\n\t\t250,\n\t\t169\n\t],\n\t\"./taggerscript.js\": [\n\t\t250,\n\t\t169\n\t],\n\t\"./taggerscript.js.js\": [\n\t\t745,\n\t\t357\n\t],\n\t\"./tap\": [\n\t\t251,\n\t\t170\n\t],\n\t\"./tap.js\": [\n\t\t251,\n\t\t170\n\t],\n\t\"./tap.js.js\": [\n\t\t746,\n\t\t358\n\t],\n\t\"./tcl\": [\n\t\t252,\n\t\t171\n\t],\n\t\"./tcl.js\": [\n\t\t252,\n\t\t171\n\t],\n\t\"./tcl.js.js\": [\n\t\t747,\n\t\t359\n\t],\n\t\"./thrift\": [\n\t\t253,\n\t\t172\n\t],\n\t\"./thrift.js\": [\n\t\t253,\n\t\t172\n\t],\n\t\"./thrift.js.js\": [\n\t\t748,\n\t\t360\n\t],\n\t\"./tp\": [\n\t\t254,\n\t\t173\n\t],\n\t\"./tp.js\": [\n\t\t254,\n\t\t173\n\t],\n\t\"./tp.js.js\": [\n\t\t749,\n\t\t361\n\t],\n\t\"./twig\": [\n\t\t255,\n\t\t174\n\t],\n\t\"./twig.js\": [\n\t\t255,\n\t\t174\n\t],\n\t\"./twig.js.js\": [\n\t\t750,\n\t\t362\n\t],\n\t\"./typescript\": [\n\t\t256,\n\t\t175\n\t],\n\t\"./typescript.js\": [\n\t\t256,\n\t\t175\n\t],\n\t\"./typescript.js.js\": [\n\t\t751,\n\t\t363\n\t],\n\t\"./vala\": [\n\t\t257,\n\t\t176\n\t],\n\t\"./vala.js\": [\n\t\t257,\n\t\t176\n\t],\n\t\"./vala.js.js\": [\n\t\t752,\n\t\t364\n\t],\n\t\"./vbnet\": [\n\t\t258,\n\t\t177\n\t],\n\t\"./vbnet.js\": [\n\t\t258,\n\t\t177\n\t],\n\t\"./vbnet.js.js\": [\n\t\t753,\n\t\t365\n\t],\n\t\"./vbscript\": [\n\t\t260,\n\t\t179\n\t],\n\t\"./vbscript-html\": [\n\t\t259,\n\t\t178\n\t],\n\t\"./vbscript-html.js\": [\n\t\t259,\n\t\t178\n\t],\n\t\"./vbscript-html.js.js\": [\n\t\t754,\n\t\t366\n\t],\n\t\"./vbscript.js\": [\n\t\t260,\n\t\t179\n\t],\n\t\"./vbscript.js.js\": [\n\t\t755,\n\t\t367\n\t],\n\t\"./verilog\": [\n\t\t261,\n\t\t180\n\t],\n\t\"./verilog.js\": [\n\t\t261,\n\t\t180\n\t],\n\t\"./verilog.js.js\": [\n\t\t756,\n\t\t368\n\t],\n\t\"./vhdl\": [\n\t\t262,\n\t\t181\n\t],\n\t\"./vhdl.js\": [\n\t\t262,\n\t\t181\n\t],\n\t\"./vhdl.js.js\": [\n\t\t757,\n\t\t369\n\t],\n\t\"./vim\": [\n\t\t263,\n\t\t182\n\t],\n\t\"./vim.js\": [\n\t\t263,\n\t\t182\n\t],\n\t\"./vim.js.js\": [\n\t\t758,\n\t\t370\n\t],\n\t\"./wasm\": [\n\t\t264,\n\t\t183\n\t],\n\t\"./wasm.js\": [\n\t\t264,\n\t\t183\n\t],\n\t\"./wasm.js.js\": [\n\t\t759,\n\t\t371\n\t],\n\t\"./wren\": [\n\t\t265,\n\t\t184\n\t],\n\t\"./wren.js\": [\n\t\t265,\n\t\t184\n\t],\n\t\"./wren.js.js\": [\n\t\t760,\n\t\t372\n\t],\n\t\"./x86asm\": [\n\t\t266,\n\t\t185\n\t],\n\t\"./x86asm.js\": [\n\t\t266,\n\t\t185\n\t],\n\t\"./x86asm.js.js\": [\n\t\t761,\n\t\t373\n\t],\n\t\"./xl\": [\n\t\t267,\n\t\t186\n\t],\n\t\"./xl.js\": [\n\t\t267,\n\t\t186\n\t],\n\t\"./xl.js.js\": [\n\t\t762,\n\t\t374\n\t],\n\t\"./xml\": [\n\t\t268,\n\t\t187\n\t],\n\t\"./xml.js\": [\n\t\t268,\n\t\t187\n\t],\n\t\"./xml.js.js\": [\n\t\t763,\n\t\t375\n\t],\n\t\"./xquery\": [\n\t\t269,\n\t\t188\n\t],\n\t\"./xquery.js\": [\n\t\t269,\n\t\t188\n\t],\n\t\"./xquery.js.js\": [\n\t\t764,\n\t\t376\n\t],\n\t\"./yaml\": [\n\t\t270,\n\t\t189\n\t],\n\t\"./yaml.js\": [\n\t\t270,\n\t\t189\n\t],\n\t\"./yaml.js.js\": [\n\t\t765,\n\t\t377\n\t],\n\t\"./zephir\": [\n\t\t271,\n\t\t190\n\t],\n\t\"./zephir.js\": [\n\t\t271,\n\t\t190\n\t],\n\t\"./zephir.js.js\": [\n\t\t766,\n\t\t378\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 567;\nmodule.exports = webpackAsyncContext;","import { rgb } from \"polished\"\r\nimport type { Theme } from \"./Theme\"\r\n\r\nexport const COMMON_THEME: Pick = {\r\n discord: {\r\n primary: rgb(88, 101, 242),\r\n success: rgb(67, 181, 129),\r\n warning: rgb(250, 166, 26),\r\n danger: rgb(240, 71, 71),\r\n },\r\n font: {\r\n sans: [\r\n \"Whitney\",\r\n \"Helvetica Neue\",\r\n \"Helvetica\",\r\n \"Arial\",\r\n \"sans-serif\",\r\n ].join(),\r\n mono: [\r\n \"Consolas\",\r\n \"Andale Mono WT\",\r\n \"Andale Mono\",\r\n \"Lucida Console\",\r\n \"Lucida Sans Typewriter\",\r\n \"DejaVu Sans Mono\",\r\n \"Bitstream Vera Sans Mono\",\r\n \"Liberation Mono\",\r\n \"Nimbus Mono L\",\r\n \"Monaco\",\r\n \"Courier New\",\r\n \"Courier\",\r\n \"monospace\",\r\n ].join(),\r\n },\r\n}","import { rgb, rgba } from \"polished\"\r\nimport type { ColorTheme } from \"./ColorTheme\"\r\nimport { COMMON_THEME } from \"./commonTheme\"\r\n\r\nexport const DARK_THEME: ColorTheme = {\r\n ...COMMON_THEME,\r\n accent: {\r\n primary: COMMON_THEME.discord.primary,\r\n warning: rgb(255, 217, 83),\r\n danger: rgb(255, 122, 107),\r\n },\r\n header: {\r\n primary: rgb(255, 255, 255),\r\n secondary: rgb(185, 187, 190),\r\n },\r\n text: {\r\n normal: rgb(220, 221, 222),\r\n muted: rgb(114, 118, 125),\r\n link: rgb(0, 176, 244),\r\n },\r\n interactive: {\r\n normal: rgb(185, 187, 190),\r\n hover: rgb(220, 221, 222),\r\n active: rgb(255, 255, 255),\r\n muted: rgb(79, 84, 92),\r\n },\r\n background: {\r\n primary: rgb(54, 57, 63),\r\n secondary: rgb(47, 49, 54),\r\n secondaryAlt: rgb(41, 43, 47),\r\n tertiary: rgb(32, 34, 37),\r\n accent: rgb(79, 84, 92),\r\n floating: rgb(24, 25, 28),\r\n },\r\n backgroundModifier: {\r\n hover: rgba(79, 84, 92, 0.16),\r\n active: rgba(79, 84, 92, 0.24),\r\n selected: rgba(79, 84, 92, 0.32),\r\n accent: rgba(255, 255, 255, 0.06),\r\n },\r\n elavation: {\r\n stroke: `0 0 0 1px ${rgba(4, 4, 5, 0.15)}`,\r\n low: [\r\n `0 1px 0 ${rgba(4, 4, 5, 0.2)}`,\r\n `0 1.5px 0 ${rgba(6, 6, 7, 0.05)}`,\r\n `0 2px 0 ${rgba(4, 4, 5, 0.05)}`,\r\n ].join(\",\"),\r\n medium: `0 4px 4px ${rgba(0, 0, 0, 0.16)}`,\r\n high: `0 8px 16px ${rgba(0, 0, 0, 0.24)}`,\r\n },\r\n scrollbar: {\r\n auto: {\r\n thumb: rgb(32, 34, 37),\r\n track: rgb(46, 51, 56),\r\n },\r\n thin: {\r\n thumb: rgb(32, 34, 37),\r\n track: rgba(0, 0, 0, 0),\r\n },\r\n },\r\n}","import { DARK_THEME } from './darkTheme'\r\nexport const DEFAULT_THEME = {\r\n\t...DARK_THEME,\r\n\tappearance: {\r\n\t\tcolor: 'dark',\r\n\t\tdisplay: 'cozy',\r\n\t\tfontSize: 12\r\n\t}\r\n}","import React, { useState, useRef, useEffect } from \"react\";\r\n\r\nconst useIntersect = ({ root = null, rootMargin, threshold = 0 }: IntersectionObserverInit): [React.Dispatch>, IntersectionObserverEntry | null] => {\r\n\tconst [entry, updateEntry] = useState(null);\r\n\tconst [node, setNode] = useState(null);\r\n\r\n\tconst observer = useRef(null);\r\n\t\r\n\tuseEffect(\r\n\t\t() => {\r\n\t\t\tif (observer.current) {\r\n\t\t\t\tobserver.current.disconnect();\r\n\t\t\t}\r\n\t\t\tobserver.current = new window.IntersectionObserver(\r\n\t\t\t\t([entry]) => updateEntry(entry),\r\n\t\t\t\t{\r\n\t\t\t\t\troot,\r\n\t\t\t\t\trootMargin,\r\n\t\t\t\t\tthreshold\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\t\r\n\t\t\tconst { current: currentObserver } = observer;\r\n\t\t\tif (node) {\r\n\t\t\t\tcurrentObserver.observe(node);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\treturn () => { currentObserver.disconnect(); }\r\n\t\t},\r\n\t\t[node, root, rootMargin, threshold]\r\n\t);\r\n\t\r\n\treturn [setNode, entry];\r\n}\r\n\r\nexport default useIntersect;","import {\r\n\tforwardRef,\r\n\tReactNode,\r\n\tChildren,\r\n\tuseEffect,\r\n\tuseState,\r\n\tisValidElement,\r\n\tcloneElement\r\n} from 'react'\r\nimport useIntersect from '../../useIntersect'\r\n\r\nconst IsVisible = forwardRef((props: {\r\n\tchildren?: ReactNode,\r\n\tclassNames?: {\r\n\t\tvisible?: string,\r\n\t\tinvisible?: string\r\n\t},\r\n\tevts?: {\r\n\t\tvisible?: () => void\r\n\t\tinvisible?: () => void\r\n\t},\r\n\tminShown?: number\r\n\tsticky?: boolean,\r\n\tstickyEvt?: boolean,\r\n\tstickyClass?: boolean\r\n}, ref) => {\r\n\tconst minShown = props.minShown ?? 0;\r\n\tconst child = Children.only(props.children);\r\n\tconst [visible, setVisible] = useState(false);\r\n\tconst [cN, setCN] = useState((isValidElement(child) ? child?.props?.className : '') ?? '')\r\n\tconst [setNode, entry] = useIntersect({\r\n\t\tthreshold: [1]\r\n\t});\r\n\tuseEffect(() => {\r\n\t\tlet newVis = !!(entry && (entry.intersectionRatio > minShown/100));\r\n\t\tif (!entry) {\r\n\t\t\t// need data to operate on\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (props.sticky && visible) {\r\n\t\t\t// if sticky, don't run things twice\r\n\t\t\t// is sticky and has run, so\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (visible === newVis) {\r\n\t\t\t// no need to trigger a new render\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tsetVisible(newVis)\r\n\t\tif (!(props.stickyEvt && visible)) {\r\n\t\t\t// Has not run events prior, if needed\r\n\t\t\tprops.evts?.[newVis ? 'visible' : 'invisible']?.()\r\n\t\t}\r\n\r\n\t\tif (!child || !isValidElement(child)) {\r\n\t\t\t// then there's no child to work on, so this is pointless\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (props.stickyClass && visible) {\r\n\t\t\t// Has changed class prior, if needed\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t\r\n\t\tlet classNames = (\r\n\t\t\tchild.props.className ? child.props.className + ' ' : ''\r\n\t\t) \r\n\r\n\t\tif (props.classNames) {\r\n\t\t\tclassNames += (\r\n\t\t\t\tprops.classNames[newVis ? 'visible' : 'invisible'] \r\n\t\t\t\t\t?? (\r\n\t\t\t\t\t\tnewVis ? 'visible' : 'invisible'\r\n\t\t\t\t\t)\r\n\t\t\t)\r\n\t\t\t// set appropriate class names with appropriate defaults\r\n\t\t}\r\n\t\tsetCN(classNames);\r\n\t}, [entry, props.sticky, visible, props.evts, minShown, props.stickyEvt, props.stickyClass, props.classNames, child])\r\n\tif (!child || !isValidElement(child)) {\r\n\t\treturn null;\r\n\t}\r\n\treturn cloneElement(\r\n\t\tchild,\r\n\t\t{\r\n\t\t\tref: (r: Element) => {\r\n\t\t\t\tsetNode(r)\r\n\t\t\t\tif (ref) {\r\n\t\t\t\t\tif (typeof ref === 'function') {\r\n\t\t\t\t\t\tref(r);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tref.current = r;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tclassName: cN\r\n\t\t}\r\n\t)\r\n})\r\nexport default IsVisible;","import { useEffect, useRef, useState } from \"react\";\r\n// Uses code from https://stackoverflow.com/a/16994725/11726576\r\nconst useTicker = ({\r\n\tstart,\r\n\tend,\r\n\tduration,\r\n\tstarted\r\n}: {\r\n\tstart: number,\r\n\tend: number,\r\n\tduration: number,\r\n\tstarted?: boolean\r\n}) => {\r\n\r\n\tlet [startedE, doStartF] = useState(started ?? false);\r\n\tlet [curr, setCurr] = useState(start);\r\n\tconst timer = useRef(null);\r\n\r\n\tuseEffect(() => {\r\n\t\tif (startedE && !timer.current) {\r\n\t\t\tlet range = end - start;\r\n\t\t\tlet minTimer = 1;\r\n\t\t\tlet stepTime = Math.abs(Math.floor(duration / range));\r\n\t\t\t\r\n\t\t\tstepTime = Math.max(stepTime, minTimer);\r\n\t\t\t\r\n\t\t\tlet startTime = Date.now();\r\n\t\t\tlet endTime = startTime + duration;\r\n\r\n\t\t\ttimer.current = window.setInterval(() => {\r\n\t\t\t\tlet now = Date.now();\r\n\t\t\t\tlet remaining = Math.max((endTime - now) / duration, 0);\r\n\t\t\t\tlet value = Math.round(end - (remaining * range));\r\n\r\n\t\t\t\tsetCurr(value);\r\n\r\n\t\t\t\tif (value >= end && timer.current) {\r\n\t\t\t\t\tclearInterval(timer.current);\r\n\t\t\t\t}\r\n\t\t\t}, stepTime);\r\n\t\t} else if (!startedE && timer.current) {\r\n\t\t\twindow.clearInterval(timer.current);\r\n\t\t\ttimer.current = null;\r\n\t\t}\r\n\t}, [startedE, end, duration, start])\r\n\r\n\tconst pause = () => {\r\n\t\tdoStartF(false);\r\n\t}\r\n\tconst stop = () => {\r\n\t\tpause();\r\n\t\tsetCurr(start);\r\n\t}\r\n\r\n\treturn {\r\n\t\tcurr,\r\n\t\tset: setCurr,\r\n\t\tpause,\r\n\t\tstop,\r\n\t\tstart: () => { doStartF(true) }\r\n\t}\r\n};\r\n\r\nexport default useTicker;","import { IOptions, RecursivePartial } from \"tsparticles\";\r\n\r\nconst particlesConfig = {\r\n\t\"fullScreen\": {\r\n\t\t\"enable\": true,\r\n\t\t\"zIndex\": 1\r\n\t},\r\n\t\"particles\": {\r\n\t\t\"number\": {\r\n\t\t\t\"value\": 72,\r\n\t\t\t\"density\": {\r\n\t\t\t\t\"enable\": false,\r\n\t\t\t\t\"value_area\": 1341.5509907748635\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"color\": {\r\n\t\t\t\"value\": \"#7087f0\"\r\n\t\t},\r\n\t\t\"shape\": {\r\n\t\t\t\"type\": \"circle\"\r\n\t\t},\r\n\t\t\"opacity\": {\r\n\t\t\t\"value\": 1,\r\n\t\t\t\"random\": true,\r\n\t\t\t\"anim\": {\r\n\t\t\t\t\"enable\": true,\r\n\t\t\t\t\"speed\": 1.5,\r\n\t\t\t\t\"opacity_min\": 0,\r\n\t\t\t\t\"sync\": false\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"size\": {\r\n\t\t\t\"value\": 2.6,\r\n\t\t\t\"random\": true,\r\n\t\t\t\"anim\": {\r\n\t\t\t\t\"enable\": false,\r\n\t\t\t\t\"speed\": 4,\r\n\t\t\t\t\"size_min\": 0.3,\r\n\t\t\t\t\"sync\": false\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"move\": {\r\n\t\t\t\"enable\": true,\r\n\t\t\t\"speed\": 0.5,\r\n\t\t\t\"direction\": \"none\",\r\n\t\t\t\"random\": true,\r\n\t\t\t\"straight\": false,\r\n\t\t\t\"out_mode\": \"out\",\r\n\t\t\t\"bounce\": false,\r\n\t\t\t\"attract\": {\r\n\t\t\t\t\"enable\": false,\r\n\t\t\t\t\"rotateX\": 600,\r\n\t\t\t\t\"rotateY\": 600\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t\"interactivity\": {\r\n\t\t\"detect_on\": \"window\",\r\n\t\t\"events\": {\r\n\t\t\t\"resize\": true\r\n\t\t}\r\n\t},\r\n\t\"retina_detect\": true\r\n} as RecursivePartial\r\n\r\nexport default particlesConfig;","import { IOptions, RecursivePartial } from 'tsparticles'\r\n\r\nconst leavesConfig = {\r\n\t\"autoPlay\": true,\r\n\t\"background\": {\r\n\t\"color\": {\r\n\t\t\"value\": \"#ffffff00\"\r\n\t},\r\n\t\"image\": \"\",\r\n\t\"position\": \"\",\r\n\t\"repeat\": \"\",\r\n\t\"size\": \"\",\r\n\t\"opacity\": 0\r\n\t},\r\n\t\"backgroundMask\": {\r\n\t\"composite\": \"destination-out\",\r\n\t\"cover\": {\r\n\t\t\"color\": {\r\n\t\t\"value\": \"#fff\"\r\n\t\t},\r\n\t\t\"opacity\": 1\r\n\t},\r\n\t\"enable\": false\r\n\t},\r\n\t\"fullScreen\": {\r\n\t\t\"enable\": true,\r\n\t\t\"zIndex\": 1\r\n\t},\r\n\t\"detectRetina\": true,\r\n\t\"duration\": 0,\r\n\t\"fpsLimit\": 60,\r\n\t\"interactivity\": {\r\n\t\"detectsOn\": \"window\",\r\n\t\"events\": {\r\n\t\t\"onClick\": {\r\n\t\t\"enable\": false,\r\n\t\t\"mode\": \"push\"\r\n\t\t},\r\n\t\t\"onDiv\": {\r\n\t\t\"selectors\": [],\r\n\t\t\"enable\": false,\r\n\t\t\"mode\": [],\r\n\t\t\"type\": \"circle\"\r\n\t\t},\r\n\t\t\"onHover\": {\r\n\t\t\"enable\": true,\r\n\t\t\"mode\": \"attract\",\r\n\t\t\"parallax\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"force\": 60,\r\n\t\t\t\"smooth\": 10\r\n\t\t}\r\n\t\t},\r\n\t\t\"resize\": true\r\n\t},\r\n\t\"modes\": {\r\n\t\t\"attract\": {\r\n\t\t\t\"distance\": 100,\r\n\t\t\t\"duration\": 1,\r\n\t\t\t\"easing\": \"ease-out-quad\",\r\n\t\t\t\"factor\": 5,\r\n\t\t\t\"maxSpeed\": 5,\r\n\t\t\t\"speed\": 1\r\n\t\t},\r\n\t}\r\n\t},\r\n\t\"manualParticles\": [],\r\n\t\"motion\": {\r\n\t\"disable\": false,\r\n\t\"reduce\": {\r\n\t\t\"factor\": 4,\r\n\t\t\"value\": true\r\n\t}\r\n\t},\r\n\t\"particles\": {\r\n\t\"bounce\": {\r\n\t\t\"horizontal\": {\r\n\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0.1\r\n\t\t},\r\n\t\t\"value\": 1\r\n\t\t},\r\n\t\t\"vertical\": {\r\n\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0.1\r\n\t\t},\r\n\t\t\"value\": 1\r\n\t\t}\r\n\t},\r\n\t\"collisions\": {\r\n\t\t\"bounce\": {\r\n\t\t\"horizontal\": {\r\n\t\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0.1\r\n\t\t\t},\r\n\t\t\t\"value\": 1\r\n\t\t},\r\n\t\t\"vertical\": {\r\n\t\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0.1\r\n\t\t\t},\r\n\t\t\t\"value\": 1\r\n\t\t}\r\n\t\t},\r\n\t\t\"enable\": false,\r\n\t\t\"mode\": \"bounce\",\r\n\t\t\"overlap\": {\r\n\t\t\"enable\": true,\r\n\t\t\"retries\": 0\r\n\t\t}\r\n\t},\r\n\t\"color\": {\r\n\t\t\"value\": \"#ffffff\",\r\n\t\t\"animation\": {\r\n\t\t\"h\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t},\r\n\t\t\"s\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t},\r\n\t\t\"l\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t}\r\n\t\t}\r\n\t},\r\n\t\"destroy\": {\r\n\t\t\"mode\": \"none\",\r\n\t\t\"split\": {\r\n\t\t\"count\": 1,\r\n\t\t\"factor\": {\r\n\t\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0\r\n\t\t\t},\r\n\t\t\t\"value\": 3\r\n\t\t},\r\n\t\t\"rate\": {\r\n\t\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0\r\n\t\t\t},\r\n\t\t\t\"value\": {\r\n\t\t\t\"min\": 4,\r\n\t\t\t\"max\": 9\r\n\t\t\t}\r\n\t\t},\r\n\t\t\"sizeOffset\": true\r\n\t\t}\r\n\t},\r\n\t\"groups\": {},\r\n\t\"life\": {\r\n\t\t\"count\": 0,\r\n\t\t\"delay\": {\r\n\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"sync\": false\r\n\t\t},\r\n\t\t\"duration\": {\r\n\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0.0001\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"sync\": false\r\n\t\t}\r\n\t},\r\n\t\"links\": {\r\n\t\t\"blink\": false,\r\n\t\t\"color\": {\r\n\t\t\"value\": \"#323031\"\r\n\t\t},\r\n\t\t\"consent\": false,\r\n\t\t\"distance\": 150,\r\n\t\t\"enable\": false,\r\n\t\t\"frequency\": 1,\r\n\t\t\"opacity\": 0.4,\r\n\t\t\"shadow\": {\r\n\t\t\"blur\": 5,\r\n\t\t\"color\": {\r\n\t\t\t\"value\": \"#00ff00\"\r\n\t\t},\r\n\t\t\"enable\": false\r\n\t\t},\r\n\t\t\"triangles\": {\r\n\t\t\"enable\": false,\r\n\t\t\"frequency\": 1\r\n\t\t},\r\n\t\t\"width\": 1,\r\n\t\t\"warp\": false\r\n\t},\r\n\t\"move\": {\r\n\t\t\"angle\": {\r\n\t\t\"offset\": 30,\r\n\t\t\"value\": 0\r\n\t\t},\r\n\t\t\"attract\": {\r\n\t\t\"distance\": 200,\r\n\t\t\"enable\": false,\r\n\t\t\"rotate\": {\r\n\t\t\t\"x\": 600,\r\n\t\t\t\"y\": 1200\r\n\t\t}\r\n\t\t},\r\n\t\t\"decay\": 0,\r\n\t\t\"distance\": {},\r\n\t\t\"direction\": \"right\",\r\n\t\t\"drift\": 0,\r\n\t\t\"enable\": true,\r\n\t\t\"gravity\": {\r\n\t\t\"acceleration\": 9.81,\r\n\t\t\"enable\": false,\r\n\t\t\"inverse\": false,\r\n\t\t\"maxSpeed\": 50\r\n\t\t},\r\n\t\t\"path\": {\r\n\t\t\"clamp\": true,\r\n\t\t\"delay\": {\r\n\t\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0\r\n\t\t\t},\r\n\t\t\t\"value\": 0\r\n\t\t},\r\n\t\t\"enable\": false\r\n\t\t},\r\n\t\t\"outModes\": {\r\n\t\t\"default\": \"out\",\r\n\t\t\"bottom\": \"out\",\r\n\t\t\"left\": \"out\",\r\n\t\t\"right\": \"out\",\r\n\t\t\"top\": \"out\"\r\n\t\t},\r\n\t\t\"random\": false,\r\n\t\t\"size\": false,\r\n\t\t\"speed\": 2,\r\n\t\t\"straight\": false,\r\n\t\t\"trail\": {\r\n\t\t\"enable\": false,\r\n\t\t\"length\": 10,\r\n\t\t\"fillColor\": {\r\n\t\t\t\"value\": \"#000000\"\r\n\t\t}\r\n\t\t},\r\n\t\t\"vibrate\": false,\r\n\t\t\"warp\": false\r\n\t},\r\n\t\"number\": {\r\n\t\t\"limit\": 0,\r\n\t\t\"value\": 30\r\n\t},\r\n\t\"opacity\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": true,\r\n\t\t\"minimumValue\": 0.2\r\n\t\t},\r\n\t\t\"value\": 1,\r\n\t\t\"animation\": {\r\n\t\t\"count\": 0,\r\n\t\t\"enable\": false,\r\n\t\t\"speed\": 1,\r\n\t\t\"sync\": false,\r\n\t\t\"destroy\": \"none\",\r\n\t\t\"minimumValue\": 0.1,\r\n\t\t\"startValue\": \"random\"\r\n\t\t}\r\n\t},\r\n\t\"orbit\": {\r\n\t\t\"animation\": {\r\n\t\t\"count\": 0,\r\n\t\t\"enable\": false,\r\n\t\t\"speed\": 1,\r\n\t\t\"sync\": false\r\n\t\t},\r\n\t\t\"enable\": false,\r\n\t\t\"opacity\": 1,\r\n\t\t\"rotation\": {\r\n\t\t\"random\": {\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"minimumValue\": 0\r\n\t\t},\r\n\t\t\"value\": 45\r\n\t\t},\r\n\t\t\"width\": 1\r\n\t},\r\n\t\"reduceDuplicates\": false,\r\n\t\"repulse\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": false,\r\n\t\t\"minimumValue\": 0\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"enabled\": false,\r\n\t\t\"distance\": 1,\r\n\t\t\"duration\": 1,\r\n\t\t\"factor\": 1,\r\n\t\t\"speed\": 1\r\n\t},\r\n\t\"roll\": {\r\n\t\t\"darken\": {\r\n\t\t\"enable\": false,\r\n\t\t\"value\": 0\r\n\t\t},\r\n\t\t\"enable\": false,\r\n\t\t\"enlighten\": {\r\n\t\t\"enable\": false,\r\n\t\t\"value\": 0\r\n\t\t},\r\n\t\t\"speed\": 25\r\n\t},\r\n\t\"rotate\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": true,\r\n\t\t\"minimumValue\": 20\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"animation\": {\r\n\t\t\"enable\": true,\r\n\t\t\"speed\": 0.2,\r\n\t\t\"sync\": false\r\n\t\t},\r\n\t\t\"direction\": \"clockwise\",\r\n\t\t\"path\": false\r\n\t},\r\n\t\"shadow\": {\r\n\t\t\"blur\": 0,\r\n\t\t\"color\": {\r\n\t\t\"value\": \"#000000\"\r\n\t\t},\r\n\t\t\"enable\": false,\r\n\t\t\"offset\": {\r\n\t\t\"x\": 0,\r\n\t\t\"y\": 0\r\n\t\t}\r\n\t},\r\n\t\"shape\": {\r\n\t\t\"options\": {\r\n\t\t\"character\": {\r\n\t\t\t\"fill\": false,\r\n\t\t\t\"font\": \"Verdana\",\r\n\t\t\t\"style\": \"\",\r\n\t\t\t\"value\": \"*\",\r\n\t\t\t\"weight\": \"400\"\r\n\t\t},\r\n\t\t\"char\": {\r\n\t\t\t\"fill\": false,\r\n\t\t\t\"font\": \"Verdana\",\r\n\t\t\t\"style\": \"\",\r\n\t\t\t\"value\": \"*\",\r\n\t\t\t\"weight\": \"400\"\r\n\t\t},\r\n\t\t\"polygon\": {\r\n\t\t\t\"nb_sides\": 5\r\n\t\t},\r\n\t\t\"star\": {\r\n\t\t\t\"nb_sides\": 5\r\n\t\t},\r\n\t\t\"image\": {\r\n\t\t\t\"height\": 32,\r\n\t\t\t\"replace_color\": true,\r\n\t\t\t\"src\": \"/leaf.png\",\r\n\t\t\t\"width\": 32\r\n\t\t},\r\n\t\t\"images\": {\r\n\t\t\t\"height\": 32,\r\n\t\t\t\"replace_color\": true,\r\n\t\t\t\"src\": \"/leaf.png\",\r\n\t\t\t\"width\": 32\r\n\t\t}\r\n\t\t},\r\n\t\t\"type\": \"image\"\r\n\t},\r\n\t\"size\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": false,\r\n\t\t\"minimumValue\": 1\r\n\t\t},\r\n\t\t\"value\": 16,\r\n\t\t\"animation\": {\r\n\t\t\"count\": 0,\r\n\t\t\"enable\": false,\r\n\t\t\"speed\": 40,\r\n\t\t\"sync\": false,\r\n\t\t\"destroy\": \"none\",\r\n\t\t\"minimumValue\": 0.1,\r\n\t\t\"startValue\": \"random\"\r\n\t\t}\r\n\t},\r\n\t\"stroke\": {\r\n\t\t\"width\": 0,\r\n\t\t\"color\": {\r\n\t\t\"value\": \"#000000\",\r\n\t\t\"animation\": {\r\n\t\t\t\"h\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t\t},\r\n\t\t\t\"s\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t\t},\r\n\t\t\t\"l\": {\r\n\t\t\t\"count\": 0,\r\n\t\t\t\"enable\": false,\r\n\t\t\t\"offset\": 0,\r\n\t\t\t\"speed\": 1,\r\n\t\t\t\"sync\": true\r\n\t\t\t}\r\n\t\t}\r\n\t\t}\r\n\t},\r\n\t\"tilt\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": false,\r\n\t\t\"minimumValue\": 30\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"animation\": {\r\n\t\t\"enable\": false,\r\n\t\t\"speed\": 0.2,\r\n\t\t\"sync\": false\r\n\t\t},\r\n\t\t\"direction\": \"clockwise\",\r\n\t\t\"enable\": false\r\n\t},\r\n\t\"twinkle\": {\r\n\t\t\"lines\": {\r\n\t\t\"enable\": false,\r\n\t\t\"frequency\": 0.05,\r\n\t\t\"opacity\": 1\r\n\t\t},\r\n\t\t\"particles\": {\r\n\t\t\"enable\": false,\r\n\t\t\"frequency\": 0.05,\r\n\t\t\"opacity\": 1\r\n\t\t}\r\n\t},\r\n\t\"wobble\": {\r\n\t\t\"distance\": 5,\r\n\t\t\"enable\": false,\r\n\t\t\"speed\": 50\r\n\t},\r\n\t\"zIndex\": {\r\n\t\t\"random\": {\r\n\t\t\"enable\": false,\r\n\t\t\"minimumValue\": 0\r\n\t\t},\r\n\t\t\"value\": 0,\r\n\t\t\"opacityRate\": 1,\r\n\t\t\"sizeRate\": 1,\r\n\t\t\"velocityRate\": 1\r\n\t}\r\n\t},\r\n\t\"pauseOnBlur\": true,\r\n\t\"pauseOnOutsideViewport\": true,\r\n\t\"responsive\": [],\r\n\t\"themes\": []\r\n} as RecursivePartial\r\n\r\nexport default leavesConfig;","import { IOptions, RecursivePartial } from \"tsparticles\";\r\n\r\nconst cogsconfig = {\r\n\tbackground: {\r\n\t color: {\r\n\t\tvalue: \"#323031\"\r\n\t },\r\n\t size: \"cover\",\r\n\t opacity: 0\r\n\t},\r\n\tfullScreen: {\r\n\t enable: true,\r\n\t zIndex: 1\r\n\t},\r\n\tparticles: {\r\n\t move: {\r\n\t\tangle: {\r\n\t\t offset: -20,\r\n\t\t value: -20\r\n\t\t},\r\n\t\tattract: {\r\n\t\t rotate: {\r\n\t\t\tx: 600,\r\n\t\t\ty: 1200\r\n\t\t }\r\n\t\t},\r\n\t\tdirection: \"right\",\r\n\t\tenable: true,\r\n\t\tpath: {},\r\n\t\toutModes: {\r\n\t\t bottom: \"out\",\r\n\t\t left: \"out\",\r\n\t\t right: \"out\",\r\n\t\t top: \"out\",\r\n\t\t default: \"out\"\r\n\t\t},\r\n\t\tspeed: 1,\r\n\t\tspin: {}\r\n\t },\r\n\t number: {\r\n\t\tvalue: 10\r\n\t },\r\n\t opacity: {\r\n\t\tanimation: {\r\n\t\t speed: 1,\r\n\t\t minimumValue: 0.1\r\n\t\t}\r\n\t },\r\n\t rotate: {\r\n\t\trandom: {\r\n\t\t enable: true,\r\n\t\t minimumValue: 30\r\n\t\t},\r\n\t\tvalue: {\r\n\t\t min: 10,\r\n\t\t max: 30\r\n\t\t},\r\n\t\tanimation: {\r\n\t\t enable: true,\r\n\t\t speed: 10\r\n\t\t}\r\n\t },\r\n\t shape: {\r\n\t\toptions: {\r\n\t\t image: {\r\n\t\t\theight: 32,\r\n\t\t\treplace_color: true,\r\n\t\t\tsrc: \"/gear1.png\",\r\n\t\t\twidth: 32\r\n\t\t },\r\n\t\t images: {\r\n\t\t\theight: 32,\r\n\t\t\treplace_color: true,\r\n\t\t\tsrc: \"/gear2.png\",\r\n\t\t\twidth: 32\r\n\t\t }\r\n\t\t},\r\n\t\ttype: [\"image\", \"images\"]\r\n\t },\r\n\t size: {\r\n\t\trandom: {\r\n\t\t enable: true,\r\n\t\t minimumValue: 20\r\n\t\t},\r\n\t\tvalue: {\r\n\t\t min: 15,\r\n\t\t max: 20\r\n\t\t}\r\n\t }\r\n\t},\r\n\tpauseOnBlur: true,\r\n\tpauseOnOutsideViewport: true,\r\n} as RecursivePartial\r\n\r\nexport default cogsconfig;","import { IOptions, RecursivePartial } from \"tsparticles\";\r\n\r\nconst cogsconfig = {\r\n\tbackground: {\r\n\t color: {\r\n\t\tvalue: \"#323031\"\r\n\t },\r\n\t size: \"cover\",\r\n\t opacity: 0\r\n\t},\r\n\tfullScreen: {\r\n\t enable: true,\r\n\t zIndex: 1\r\n\t},\r\n\tparticles: {\r\n\t move: {\r\n\t\tangle: {\r\n\t\t offset: -20,\r\n\t\t value: -20\r\n\t\t},\r\n\t\tattract: {\r\n\t\t rotate: {\r\n\t\t\tx: 600,\r\n\t\t\ty: 1200\r\n\t\t }\r\n\t\t},\r\n\t\tdirection: \"right\",\r\n\t\tenable: true,\r\n\t\tpath: {},\r\n\t\toutModes: {\r\n\t\t bottom: \"out\",\r\n\t\t left: \"out\",\r\n\t\t right: \"out\",\r\n\t\t top: \"out\",\r\n\t\t default: \"out\"\r\n\t\t},\r\n\t\tspeed: 1,\r\n\t\tspin: {}\r\n\t },\r\n\t number: {\r\n\t\tvalue: 10\r\n\t },\r\n\t opacity: {\r\n\t\tanimation: {\r\n\t\t speed: 1,\r\n\t\t minimumValue: 0.1\r\n\t\t}\r\n\t },\r\n\t rotate: {\r\n\t\trandom: {\r\n\t\t enable: true,\r\n\t\t minimumValue: 30\r\n\t\t},\r\n\t\tvalue: {\r\n\t\t min: 10,\r\n\t\t max: 30\r\n\t\t},\r\n\t\tanimation: {\r\n\t\t enable: true,\r\n\t\t speed: 10\r\n\t\t}\r\n\t },\r\n\t shape: {\r\n\t\toptions: {\r\n\t\t image: {\r\n\t\t\theight: 32,\r\n\t\t\treplace_color: true,\r\n\t\t\tsrc: \"/gear2.png\",\r\n\t\t\twidth: 32\r\n\t\t },\r\n\t\t images: {\r\n\t\t\theight: 32,\r\n\t\t\treplace_color: true,\r\n\t\t\tsrc: \"/gear2.png\",\r\n\t\t\twidth: 32\r\n\t\t }\r\n\t\t},\r\n\t\ttype: [\"image\", \"images\"]\r\n\t },\r\n\t size: {\r\n\t\trandom: {\r\n\t\t enable: true,\r\n\t\t minimumValue: 20\r\n\t\t},\r\n\t\tvalue: {\r\n\t\t min: 15,\r\n\t\t max: 20\r\n\t\t}\r\n\t }\r\n\t},\r\n\tpauseOnBlur: true,\r\n\tpauseOnOutsideViewport: true,\r\n} as RecursivePartial\r\n\r\nexport default cogsconfig;","import React, { useEffect } from 'react'\r\nimport IsVisible from '../../components/IsVisible'\r\nimport useTicker from '../../useTicker'\r\nimport Particles from \"react-tsparticles\";\r\n\r\nimport particleOptions from './particlesconfig';\r\nimport leavesconfig from './leavesconfig'\r\n\r\nimport styles from './home.module.css'\r\nimport cogsconfig from './cogsconfig1';\r\nimport cogsconfig2 from './cogsconfig2';\r\n\r\nfunction MultiPorpoise() {\r\n\treturn (\r\n\t\tmultipuorpoise 🐬\r\n\t)\r\n}\r\n\r\nconst range = (start: number, end?: number, step = 1) => {\r\n\tif (typeof end === 'undefined') {\r\n\t\tend = start;\r\n\t\tstart = 0;\r\n\t}\r\n\tend = end as number;\r\n\tlet therange = end - start;\r\n\tlet output = [];\r\n\tfor (let i = 0; i <= therange; i += step) {\r\n\t\toutput.push(i - Math.abs(start))\r\n\t}\r\n\treturn output;\r\n}\r\n\r\ninterface customWidth extends React.CSSProperties {\r\n\t\t'--width': number\r\n}\r\n\r\nfunction Orbitals() {\r\n\treturn (
\r\n\t\t{range(5).map(e => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})}\r\n\t
)\r\n}\r\nfunction Orbi2() {\r\n\treturn (
\r\n\t\t{range(5).map(e => {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t)\r\n\t\t})}\r\n\t
)\r\n}\r\n\r\nexport default function HomePage() {\r\n\tconst {\r\n\t\tcurr,\r\n\t\tstart,\r\n\t\tstop\r\n\t} = useTicker({\r\n\t\tstart: 0,\r\n\t\tend: 88,\r\n\t\tduration: 188,\r\n\t\tstarted: false\r\n\t})\r\n\tlet width = (curr > 0 ? 1 : 0);\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Miza: your local loyal multipurpose Discord bot\"\r\n\t})\r\n\treturn (\r\n\t
\r\n\t\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t

Miza

\r\n\t\t\t\t\t\t\t

is your local loyal discord bot

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\"Miza's\r\n\t\t\t\t\"Miza's\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Built for speed

\r\n\t\t\t\t\t\t\t\t

Built on Python, Miza is a multipurpose Discord bot, fashioned after the character \"Misery\" from the platformer game Cave Story.

She quickly branched out into all the areas you'd desire in a server, with careful attention to efficiency, performance, quality, and reliability. All commands are quick and responsive... except for downloading hundreds of items at a time. That may take you a while!

Above all else, Miza aims to provide users with a smooth, reliable and unique Discord experience, but the general premise for Miza is: \"If other bots can do it, Miza should be able to do it too!\" 🙃

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{range(20).map((e) => {\r\n\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{range(20).reverse().map((e) => {\r\n\t\t\t\t\t\t\treturn ()\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Versatile

\r\n\t\t\t\t\t\t\t\t

All of Miza's commands are easily accessible and manageable, with permission levels assignable on a user/role basis, as well as command category enabling/disabling at will.

The prefix is customizable, the command parser is intelligent, with the ability to recognize text in unicode fonts, the ability to parse and solve mathematical formulae for numerical inputs, in addition to fuzzy searching usernames to make your life a whole lot easier if you're try'na find someone quickly!

Sporting features from every category, Miza is capable of suiting just about anyone's needs, from standard text commands, game features, moderating features, image features, roleplay features, and more! Remember, you can disable anything you please, so you can have Miza suit any one of them if that's what you want!\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Maintained

\r\n\t\t\t\t\t\t\t\t

Miza is constantly getting updated by Thomas Xin, with a crew at hand for any questions, feature requests or bug reports you may have.

\r\n\t\t\t\t\t\t\t\tFind a bug? Let us know and it'll usually be fixed within a day or few!

\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t

Get Miza now

\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
Support Miza
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t\r\n\t)\r\n}","import Home from './home'\r\nexport default Home;","import embedStyles from '../messagestyles.module.css'\r\nexport default function EmbedHeader(props: {\r\n\ticon?: string,\r\n\tlink?: string,\r\n\tname?: string\r\n}) {\r\n\treturn (\r\n\t\t
\r\n\t\t\t{props.icon && \r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.link && \r\n\t\t\t\t\r\n\t\t\t\t\t{props.name}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{!props.link && \r\n\t\t\t\t\r\n\t\t\t\t\t{props.name}\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t
\r\n\t)\r\n}","import { MouseEvent, MouseEventHandler } from \"react\";\r\n\r\nimport embedStyles from '../messagestyles.module.css'\r\n\r\nconst prevent: MouseEventHandler = (e: MouseEvent) => {\r\n\te.preventDefault();\r\n}\r\n\r\n\r\nconst range = (start: number, end?: number, step = 1) => {\r\n\tif (typeof end === 'undefined') {\r\n\t\tend = start;\r\n\t\tstart = 0;\r\n\t}\r\n\tend = end as number;\r\n\tlet therange = end - start;\r\n\tlet output = [];\r\n\tfor (let i = 0; i <= therange; i += step) {\r\n\t\toutput.push(i - Math.abs(start))\r\n\t}\r\n\treturn output;\r\n}\r\n\r\nexport default function EmbedGallery(props: {\r\n\timgs?: Array<{\r\n\t\turl?: string,\r\n\t\timage: {\r\n\t\t\turl: string\r\n\t\t}\r\n\t}>\r\n}) {\r\n\tif (!props.imgs || props.imgs.length === 0) {\r\n\t\treturn <>\r\n\t}\r\n\tlet imgs = props.imgs.slice(0, 3);\r\n\r\n\tif (imgs.length === 2 || imgs.length === 3 || imgs.length === 4) {\r\n\t\treturn (
\r\n\t\t\t{range(Math.floor(imgs.length / 2) - 1).map(e => {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{range(imgs.length === 3 ? e : 1).map((i) => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t})}\r\n\t\t\t\t\t
\r\n\t\t\t\t)\r\n\t\t\t})}\r\n\t\t
)\r\n\t}\r\n\tif (imgs.length === 1) {\r\n\t\treturn ()\r\n\t}\r\n\r\n\t// Should never happen, but to make ts not bug out:\r\n\treturn
\r\n}","import React from 'react'\r\nimport embedStyles from '../messagestyles.module.css'\r\n\r\nexport default function EmbedFooter(props: {\r\n\ticon?: string,\r\n\ttext?: string,\r\n\ttime?: string\r\n}) {\r\n\treturn (
\r\n\t\t\t{ props.icon && \r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\r\n\t\t\t{props.text}\r\n\t\t\t{props.text && props.time && \r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\t{props.time}\r\n\t\t\r\n\t
)\r\n}","import { toASCII } from \"punycode\"\r\nimport * as URL from \"url\"\r\n\r\nexport const depunycodeUrl = (link: string) => {\r\n try {\r\n const url = URL.parse(link)\r\n const { hostname, protocol } = url\r\n\r\n if (protocol?.toLowerCase() === \"file:\") return\r\n if (!hostname) return\r\n\r\n const asciiHostname = toASCII(hostname)\r\n\r\n return URL.format({\r\n ...url,\r\n hostname: asciiHostname,\r\n protocol,\r\n })\r\n } catch {\r\n // return nothing\r\n }\r\n}\r\n","import type { ParseFunction } from \"simple-markdown\"\r\nimport { depunycodeUrl } from \"./depunycodeUrl\"\r\n\r\nexport const parseUrl: ParseFunction = capture => {\r\n const [, content] = capture\r\n\r\n const url = depunycodeUrl(content)\r\n\r\n if (!url) {\r\n return {\r\n type: \"text\",\r\n content,\r\n }\r\n }\r\n\r\n return {\r\n content: [{ type: \"text\", content: url }],\r\n target: url,\r\n }\r\n}\r\n","import React from \"react\"\r\nimport { defaultRules, unescapeUrl } from \"simple-markdown\"\r\nimport { depunycodeUrl } from \"../helpers/depunycodeUrl\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const link: MarkdownRule = {\r\n ...defaultRules.link,\r\n parse: (capture, parse, state) => {\r\n const [, name, href, title] = capture\r\n\r\n const url = unescapeUrl(href)\r\n if (!/^https?:\\/\\//i.test(url)) return parse(name, state)\r\n\r\n const decoded = depunycodeUrl(url)\r\n if (!decoded) {\r\n return {\r\n type: \"text\",\r\n content: url,\r\n }\r\n }\r\n\r\n const target = decoded\r\n\r\n return {\r\n content: parse(name, state),\r\n target,\r\n title,\r\n }\r\n },\r\n react: (node, output, state) => (\r\n \r\n {output(node.content, state)}\r\n \r\n ),\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport { parseUrl } from \"../helpers/parseUrl\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { link } from \"./link\"\r\n\r\nexport const autolink: MarkdownRule = {\r\n ...defaultRules.autolink,\r\n parse: parseUrl,\r\n react: link.react,\r\n}\r\n","import styled, { css } from \"styled-components\"\r\n\r\nexport const RichEmbedContainer = styled.div`\r\n max-width: 520px;\r\n display: grid;\r\n background: ${({ theme }) => theme.background.secondary};\r\n border-radius: 4px;\r\n border-left: 4px solid ${({ theme }) => theme.background.tertiary};\r\n &,\r\n & * {\r\n unicode-bidi: plaintext;\r\n text-align: left;\r\n }\r\n ${({ theme }) =>\r\n theme.appearance.display === \"compact\" &&\r\n css`\r\n margin: 6px 0 0;\r\n `};\r\n`","import React, { ReactNode } from \"react\"\r\nimport styled from \"styled-components\"\r\nimport { RichEmbedContainer } from \"./RichEmbedContainer\"\r\n\r\nconst BlockQuoteContainer = styled.div`\r\n display: flex;\r\n`\r\n\r\nconst BlockQuoteDivider = styled.div`\r\n min-width: 4px;\r\n max-width: 4px;\r\n border-radius: 4px;\r\n background: ${({ theme }) => theme.interactive.muted};\r\n`\r\n\r\nconst BlockQuoteContent = styled.blockquote`\r\n max-width: 90%;\r\n padding: 0 8px 0 12px;\r\n margin: 0;\r\n text-indent: 0;\r\n ${RichEmbedContainer} & {\r\n max-width: 100%;\r\n }\r\n`\r\n\r\nexport type BlockQuoteProps = {\r\n children: ReactNode\r\n}\r\n\r\nexport function BlockQuote(props: BlockQuoteProps) {\r\n const { children } = props\r\n\r\n return (\r\n \r\n \r\n {children}\r\n \r\n )\r\n}","import React from \"react\"\r\nimport { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { BlockQuote } from \"../styles/BlockQuote\"\r\n\r\nconst BEGINNING_OF_LINE_RE = /^$|\\n *$/\r\nconst BLOCK_QUOTE_RE = /^( *>>> +([\\S\\s]*))|^( *>(?!>>) +[^\\n]*(\\n *>(?!>>) +[^\\n]*)*\\n?)/\r\n\r\nconst SINGLELINE_QUOTE_RE = /^ *> ?/gm\r\nconst MULTILINE_QUOTE_RE = /^ *>>> ?/\r\n\r\nexport const blockQuote: MarkdownRule = {\r\n ...defaultRules.blockQuote,\r\n match: (source, state) => {\r\n const { nested, inQuote, prevCapture: lookbehind } = state\r\n\r\n // Prevents having multiple layers of quote blocks\r\n if (nested) return null\r\n if (inQuote) return null\r\n\r\n // Makes sure that quotes can only start on the beginning of a line\r\n if (!BEGINNING_OF_LINE_RE.test(lookbehind?.[0] ?? \"\")) return null\r\n\r\n return BLOCK_QUOTE_RE.exec(source)\r\n },\r\n parse: (capture, parse, state) => {\r\n const [content] = capture\r\n const { inline = false } = state\r\n\r\n // Determine whether or not the quote block is multi-line\r\n const multiline = MULTILINE_QUOTE_RE.test(capture[0])\r\n\r\n // Removes the '>' symbols from content\r\n const trimRegex = multiline ? MULTILINE_QUOTE_RE : SINGLELINE_QUOTE_RE\r\n const trimmedContent = content.replace(trimRegex, \"\")\r\n\r\n // Parses the trimmed content for any markdown\r\n const parsedContent = parse(trimmedContent, {\r\n ...state,\r\n inline: multiline ? inline : true,\r\n inQuote: true,\r\n })\r\n\r\n // Makes sure the block quote always renders, even without content\r\n if (parsedContent.length === 0) {\r\n parsedContent.push({\r\n type: \"text\",\r\n content: \" \",\r\n })\r\n }\r\n\r\n return {\r\n content: parsedContent,\r\n }\r\n },\r\n react: (node, output, state) => (\r\n
{output(node.content, state)}
\r\n ),\r\n}\r\n","import { em, rem } from \"polished\"\r\nimport styled from \"styled-components\"\r\nimport { RichEmbedContainer } from \"./RichEmbedContainer\"\r\n\r\nexport const CodeBlockContainer = styled.pre`\r\n max-width: 90%;\r\n margin: 6px 0 0;\r\n padding: ${em(8)};\r\n\r\n background: var(--background-secondary);\r\n border: 1px solid var(--background-tertiary);\r\n border-radius: 4px;\r\n\r\n color: var(--header-secondary);\r\n font-size: ${rem(14)};\r\n line-height: ${rem(18)};\r\n\r\n white-space: pre-wrap;\r\n\r\n ${RichEmbedContainer} && {\r\n max-width: 100%;\r\n\r\n background: var(--background-tertiary);\r\n border: none;\r\n }\r\n\r\n & .hljs-comment,\r\n & .hljs-quote {\r\n color: var(--interactive-muted);\r\n }\r\n\r\n & .hljs-addition,\r\n & .hljs-keyword,\r\n & .hljs-selector-tag {\r\n color: #859900;\r\n }\r\n\r\n & .hljs-doctag,\r\n & .hljs-literal,\r\n & .hljs-meta .hljs-meta-string,\r\n & .hljs-number,\r\n & .hljs-regexp,\r\n & .hljs-string {\r\n color: #2aa198;\r\n }\r\n\r\n & .hljs-name,\r\n & .hljs-section,\r\n & .hljs-selector-class,\r\n & .hljs-selector-id,\r\n & .hljs-title {\r\n color: #268bd2;\r\n }\r\n\r\n & .hljs-attr,\r\n & .hljs-attribute,\r\n & .hljs-class .hljs-title,\r\n & .hljs-template-variable,\r\n & .hljs-type,\r\n & .hljs-variable {\r\n color: #b58900;\r\n }\r\n\r\n & .hljs-bullet,\r\n & .hljs-link,\r\n & .hljs-meta,\r\n & .hljs-meta .hljs-keyword,\r\n & .hljs-selector-attr,\r\n & .hljs-selector-pseudo,\r\n & .hljs-subst,\r\n & .hljs-symbol {\r\n color: #cb4b16;\r\n }\r\n\r\n & .hljs-built_in,\r\n & .hljs-deletion {\r\n color: #dc322f;\r\n }\r\n\r\n & .hljs-formula {\r\n background: #073642;\r\n }\r\n\r\n & .hljs-emphasis {\r\n font-style: italic;\r\n }\r\n\r\n & .hljs-strong {\r\n font-weight: 700;\r\n }\r\n`\r\n","import type { Language } from \"./Language\"\r\n\r\nexport const LANGUAGES: Language[] = [\r\n { name: \"1c\" },\r\n { name: \"abnf\" },\r\n { name: \"accesslog\" },\r\n { name: \"actionscript\", aliases: [\"as\"] },\r\n { name: \"ada\" },\r\n { name: \"angelscript\", aliases: [\"asc\"] },\r\n { name: \"apache\", aliases: [\"apacheconf\"] },\r\n { name: \"applescript\", aliases: [\"osascript\"] },\r\n { name: \"arcade\" },\r\n { name: \"arduino\", aliases: [\"ino\"], dependencies: [\"cpp\"] },\r\n { name: \"armasm\", aliases: [\"arm\"] },\r\n { name: \"asciidoc\", aliases: [\"adoc\"], dependencies: [\"xml\"] },\r\n { name: \"aspectj\" },\r\n { name: \"autohotkey\", aliases: [\"ahk\"] },\r\n { name: \"autoit\" },\r\n { name: \"avrasm\" },\r\n { name: \"awk\" },\r\n { name: \"axapta\", aliases: [\"x++\"] },\r\n { name: \"bash\", aliases: [\"sh\", \"zsh\"] },\r\n { name: \"basic\" },\r\n { name: \"bnf\" },\r\n { name: \"brainfuck\", aliases: [\"bf\"] },\r\n { name: \"c\", aliases: [\"h\"], dependencies: [\"c-like\"] },\r\n {\r\n name: \"c-like\",\r\n aliases: [\"c\", \"c++\", \"cc\", \"cxx\", \"h\", \"h++\", \"hh\", \"hpp\", \"hxx\"],\r\n },\r\n { name: \"cal\" },\r\n { name: \"capnproto\", aliases: [\"capnp\"] },\r\n { name: \"ceylon\" },\r\n { name: \"clean\", aliases: [\"dcl\", \"icl\"] },\r\n { name: \"clojure\", aliases: [\"clj\"] },\r\n { name: \"clojure-repl\", dependencies: [\"clojure\"] },\r\n { name: \"cmake\", aliases: [\"cmake.in\"] },\r\n { name: \"coffeescript\", aliases: [\"coffee\", \"cson\", \"iced\"] },\r\n { name: \"coq\" },\r\n { name: \"cos\", aliases: [\"cls\"] },\r\n {\r\n name: \"cpp\",\r\n aliases: [\"c++\", \"cc\", \"cxx\", \"h++\", \"hh\", \"hpp\", \"hxx\"],\r\n dependencies: [\"c-like\"],\r\n },\r\n { name: \"crmsh\", aliases: [\"crm\", \"pcmk\"] },\r\n { name: \"crystal\", aliases: [\"cr\"] },\r\n { name: \"csharp\", aliases: [\"c#\", \"cs\"] },\r\n { name: \"csp\" },\r\n { name: \"css\" },\r\n { name: \"d\" },\r\n { name: \"dart\", dependencies: [\"markdown\"] },\r\n {\r\n name: \"delphi\",\r\n aliases: [\r\n \"dfm\",\r\n \"dpr\",\r\n \"freepascal\",\r\n \"lazarus\",\r\n \"lfm\",\r\n \"lpr\",\r\n \"pas\",\r\n \"pascal\",\r\n ],\r\n },\r\n { name: \"diff\", aliases: [\"patch\"] },\r\n { name: \"django\", aliases: [\"jinja\"], dependencies: [\"xml\"] },\r\n { name: \"dns\", aliases: [\"bind\", \"zone\"] },\r\n { name: \"dockerfile\", aliases: [\"docker\"], dependencies: [\"bash\"] },\r\n { name: \"dos\", aliases: [\"bat\", \"cmd\"] },\r\n { name: \"dsconfig\" },\r\n { name: \"dts\" },\r\n { name: \"dust\", aliases: [\"dst\"], dependencies: [\"xml\"] },\r\n { name: \"ebnf\" },\r\n { name: \"elixir\" },\r\n { name: \"elm\" },\r\n { name: \"erb\", dependencies: [\"ruby\", \"xml\"] },\r\n { name: \"erlang\", aliases: [\"erl\"] },\r\n { name: \"erlang-repl\" },\r\n { name: \"excel\", aliases: [\"xls\", \"xlsx\"] },\r\n { name: \"fix\" },\r\n { name: \"flix\" },\r\n { name: \"fortran\", aliases: [\"f90\", \"f95\"] },\r\n { name: \"fsharp\", aliases: [\"fs\"] },\r\n { name: \"gams\", aliases: [\"gms\"] },\r\n { name: \"gauss\", aliases: [\"gss\"] },\r\n { name: \"gcode\", aliases: [\"nc\"] },\r\n { name: \"gherkin\", aliases: [\"feature\"] },\r\n { name: \"glsl\" },\r\n { name: \"gml\" },\r\n { name: \"go\", aliases: [\"golang\"] },\r\n { name: \"golo\" },\r\n { name: \"gradle\" },\r\n { name: \"groovy\" },\r\n { name: \"haml\", dependencies: [\"ruby\"] },\r\n {\r\n name: \"handlebars\",\r\n aliases: [\"hbs\", \"html.handlebars\", \"html.hbs\", \"htmlbars\"],\r\n dependencies: [\"xml\"],\r\n },\r\n { name: \"haskell\", aliases: [\"hs\"] },\r\n { name: \"haxe\", aliases: [\"hx\"] },\r\n { name: \"hsp\" },\r\n { name: \"htmlbars\", aliases: [\"hbs\", \"html.handlebars\", \"html.hbs\"] },\r\n { name: \"http\", aliases: [\"https\"] },\r\n { name: \"hy\", aliases: [\"hylang\"] },\r\n { name: \"inform7\", aliases: [\"i7\"] },\r\n { name: \"ini\", aliases: [\"toml\"] },\r\n { name: \"irpf90\" },\r\n { name: \"isbl\" },\r\n { name: \"java\", aliases: [\"jsp\"] },\r\n { name: \"javascript\", aliases: [\"cjs\", \"js\", \"jsx\", \"mjs\"] },\r\n { name: \"jboss-cli\", aliases: [\"wildfly-cli\"] },\r\n { name: \"json\" },\r\n { name: \"julia\" },\r\n { name: \"julia-repl\", dependencies: [\"julia\"] },\r\n { name: \"kotlin\", aliases: [\"kt\"] },\r\n { name: \"lasso\", aliases: [\"lassoscript\", \"ls\"] },\r\n { name: \"latex\", aliases: [\"tex\"] },\r\n { name: \"ldif\" },\r\n { name: \"leaf\" },\r\n { name: \"less\" },\r\n { name: \"lisp\" },\r\n { name: \"livecodeserver\" },\r\n { name: \"livescript\", aliases: [\"ls\"] },\r\n { name: \"llvm\" },\r\n { name: \"lsl\" },\r\n { name: \"lua\" },\r\n { name: \"makefile\", aliases: [\"mak\", \"mk\"] },\r\n { name: \"markdown\", aliases: [\"md\", \"mkd\", \"mkdown\"], dependencies: [\"xml\"] },\r\n { name: \"mathematica\", aliases: [\"mma\", \"wl\"] },\r\n { name: \"matlab\" },\r\n { name: \"maxima\" },\r\n { name: \"mel\" },\r\n { name: \"mercury\", aliases: [\"m\", \"moo\"] },\r\n { name: \"mipsasm\", aliases: [\"mips\"] },\r\n { name: \"mizar\" },\r\n { name: \"mojolicious\", dependencies: [\"perl\", \"xml\"] },\r\n { name: \"monkey\" },\r\n { name: \"moonscript\", aliases: [\"moon\"] },\r\n { name: \"n1ql\" },\r\n { name: \"nginx\", aliases: [\"nginxconf\"] },\r\n { name: \"nim\" },\r\n { name: \"nix\", aliases: [\"nixos\"] },\r\n { name: \"nsis\" },\r\n {\r\n name: \"objectivec\",\r\n aliases: [\"mm\", \"obj-c\", \"obj-c++\", \"objc\", \"objective-c++\"],\r\n },\r\n { name: \"ocaml\", aliases: [\"ml\"] },\r\n { name: \"openscad\", aliases: [\"scad\"] },\r\n { name: \"oxygene\" },\r\n { name: \"parser3\", dependencies: [\"xml\"] },\r\n { name: \"perl\", aliases: [\"pl\", \"pm\"] },\r\n { name: \"pf\", aliases: [\"pf.conf\"] },\r\n { name: \"pgsql\", aliases: [\"postgres\", \"postgresql\"] },\r\n { name: \"php\", aliases: [\"php3\", \"php4\", \"php5\", \"php6\", \"php7\", \"php8\"] },\r\n { name: \"php-template\", dependencies: [\"php\", \"xml\"] },\r\n { name: \"plaintext\", aliases: [\"text\", \"txt\"] },\r\n { name: \"pony\" },\r\n { name: \"powershell\", aliases: [\"ps\", \"ps1\"] },\r\n { name: \"processing\" },\r\n { name: \"profile\" },\r\n { name: \"prolog\" },\r\n { name: \"properties\" },\r\n { name: \"protobuf\" },\r\n { name: \"puppet\", aliases: [\"pp\"] },\r\n { name: \"purebasic\", aliases: [\"pb\", \"pbi\"] },\r\n { name: \"python\", aliases: [\"gyp\", \"ipython\", \"py\"] },\r\n { name: \"python-repl\", aliases: [\"pycon\"], dependencies: [\"python\"] },\r\n { name: \"q\", aliases: [\"k\", \"kdb\"] },\r\n { name: \"qml\", aliases: [\"qt\"], dependencies: [\"javascript\", \"xml\"] },\r\n { name: \"r\" },\r\n { name: \"reasonml\", aliases: [\"re\"] },\r\n { name: \"rib\" },\r\n { name: \"roboconf\", aliases: [\"graph\", \"instances\"] },\r\n { name: \"routeros\", aliases: [\"mikrotik\"] },\r\n { name: \"rsl\" },\r\n { name: \"ruby\", aliases: [\"gemspec\", \"irb\", \"podspec\", \"rb\", \"thor\"] },\r\n { name: \"ruleslanguage\" },\r\n { name: \"rust\", aliases: [\"rs\"] },\r\n { name: \"sas\" },\r\n { name: \"scala\" },\r\n { name: \"scheme\" },\r\n { name: \"scilab\", aliases: [\"sci\"] },\r\n { name: \"scss\" },\r\n { name: \"shell\", aliases: [\"console\"], dependencies: [\"bash\"] },\r\n { name: \"smali\" },\r\n { name: \"smalltalk\", aliases: [\"st\"] },\r\n { name: \"sml\", aliases: [\"ml\"] },\r\n { name: \"sqf\" },\r\n { name: \"sql\" },\r\n { name: \"stan\", aliases: [\"stanfuncs\"] },\r\n { name: \"stata\", aliases: [\"ado\", \"do\"] },\r\n { name: \"step21\", aliases: [\"p21\", \"step\", \"stp\"] },\r\n { name: \"stylus\", aliases: [\"styl\"] },\r\n { name: \"subunit\" },\r\n { name: \"swift\" },\r\n { name: \"taggerscript\" },\r\n { name: \"tap\", dependencies: [\"yaml\"] },\r\n { name: \"tcl\", aliases: [\"tk\"] },\r\n { name: \"thrift\" },\r\n { name: \"tp\" },\r\n { name: \"twig\", aliases: [\"craftcms\"], dependencies: [\"xml\"] },\r\n { name: \"typescript\", aliases: [\"ts\"] },\r\n { name: \"vala\" },\r\n { name: \"vbnet\", aliases: [\"vb\"] },\r\n { name: \"vbscript\", aliases: [\"vbs\"] },\r\n { name: \"vbscript-html\", dependencies: [\"vbscript\", \"xml\"] },\r\n { name: \"verilog\", aliases: [\"sv\", \"svh\", \"v\"] },\r\n { name: \"vhdl\" },\r\n { name: \"vim\" },\r\n { name: \"x86asm\" },\r\n { name: \"xl\", aliases: [\"tao\"] },\r\n {\r\n name: \"xml\",\r\n aliases: [\r\n \"atom\",\r\n \"html\",\r\n \"plist\",\r\n \"rss\",\r\n \"svg\",\r\n \"wsf\",\r\n \"xhtml\",\r\n \"xjb\",\r\n \"xsd\",\r\n \"xsl\",\r\n ],\r\n },\r\n { name: \"xquery\", aliases: [\"xpath\", \"xq\"] },\r\n { name: \"yaml\", aliases: [\"yml\"], dependencies: [\"ruby\"] },\r\n { name: \"zephir\", aliases: [\"zep\"] },\r\n]\r\n","import { LANGUAGES } from \"./languages\"\r\n\r\nexport const getLanguageFromAlias = (alias: string) => {\r\n for (const language of LANGUAGES) {\r\n if (language.name === alias || language.aliases?.includes(alias)) {\r\n return language\r\n }\r\n }\r\n}\r\n","import { HLJSApi, LanguageDetail } from \"highlight.js\"\r\nimport hljs from 'highlight.js/lib/core'\r\nimport { getLanguageFromAlias } from \"./getLanguageFromAlias\"\r\n\r\nconst importRawLanguage = async (name: string) =>\r\n import(`highlight.js/lib/languages/${name}`).then(\r\n module => module.default as (hljs?: HLJSApi) => LanguageDetail,\r\n )\r\n\r\nexport const importLanguage = async (alias: string) => {\r\n const language = getLanguageFromAlias(alias)\r\n if (!language) return\r\n\r\n console.log(language)\r\n\r\n if (language.dependencies) {\r\n await Promise.all(\r\n language.dependencies.map(async dependency => {\r\n await importLanguage(dependency)\r\n }),\r\n )\r\n }\r\n\r\n hljs.registerLanguage(language.name, await importRawLanguage(language.name))\r\n\r\n if (typeof window !== \"undefined\") {\r\n console.log(\"Registered highlight.js language:\", language.name)\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-unnecessary-condition */\r\n\r\nimport hljs from \"highlight.js/lib/core\"\r\nimport { getLanguageFromAlias } from \"./getLanguageFromAlias\"\r\nimport { importLanguage } from \"./importLanguage\"\r\n\r\nexport const highlightCode = async (languageAlias: string, content: string) => {\r\n const language = getLanguageFromAlias(languageAlias)\r\n if (!language) return\r\n\r\n if (!hljs.getLanguage(language.name)) {\r\n await importLanguage(language.name)\r\n }\r\n\r\n return hljs.highlight(language.name, content).value\r\n}\r\n","import hljs from \"highlight.js/lib/core\"\r\nimport React, { useEffect, useState } from \"react\"\r\nimport { CodeBlockContainer } from \"../styles/CodeBlockContainer\"\r\nimport { getLanguageFromAlias } from \"./getLanguageFromAlias\"\r\nimport { highlightCode } from \"./highlightCode\"\r\n\r\nexport type CodeBlockProps = {\r\n content: string\r\n language?: string\r\n}\r\n\r\nexport function CodeBlock(props: CodeBlockProps) {\r\n const { content, language = \"\" } = props\r\n\r\n const [html, setHtml] = useState(\"\")\r\n useEffect(() => {\r\n highlightCode(language, content)\r\n .then(html => setHtml(html ?? \"\"))\r\n .catch(() => setHtml(\"\"))\r\n }, [content, language])\r\n\r\n if (typeof window === \"undefined\") {\r\n const safeLanguage = getLanguageFromAlias(language)?.name ?? \"plaintext\"\r\n\r\n return (\r\n \r\n )\r\n }\r\n\r\n if (!html) {\r\n return {content}\r\n }\r\n\r\n return (\r\n \r\n )\r\n}\r\n","import React from \"react\"\r\nimport { anyScopeRegex, defaultRules } from \"simple-markdown\"\r\nimport { CodeBlock } from \"../code/CodeBlock\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nconst CODE_BLOCK_RE = /^```(?:([\\w+.-]+?)\\n)?\\n*([^\\n][\\S\\s]*?)\\n*```/i\r\n\r\nexport const codeBlock: MarkdownRule = {\r\n order: defaultRules.codeBlock.order,\r\n match: anyScopeRegex(CODE_BLOCK_RE),\r\n parse: capture => {\r\n const [, language = \"\", content] = capture\r\n\r\n return {\r\n language,\r\n content,\r\n }\r\n },\r\n react: (node, output, state) => (\r\n \r\n ),\r\n}\r\n","const CUSTOM_EMOJI_CDN_BASE_URL = \"https://cdn.discordapp.com/emojis\"\r\n\r\nconst EXCEPTIONS = new Map(\r\n Object.entries({\r\n \"736648398081622016\": \"/static/discohook-emoji.png\",\r\n }),\r\n)\r\n\r\nexport const getCustomEmojiUrl = (id: string, animated?: boolean) => {\r\n if (EXCEPTIONS.has(id)) return EXCEPTIONS.get(id)\r\n\r\n // While v=1 isn't necessary, it is used anyway to decrease load times.\r\n // The user may have loaded this emoji from the browser app, which uses the\r\n // same query parameter.\r\n return `${CUSTOM_EMOJI_CDN_BASE_URL}/${id}.${animated ? \"gif\" : \"png\"}?v=1`\r\n}\r\n","import { defaultRules, inlineRegex } from \"simple-markdown\"\r\nimport { getCustomEmojiUrl } from \"../emoji/getCustomEmojiUrl\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nconst CUSTOM_EMOJI_RE = /^<(a)?:(\\w+):(\\d+)>/\r\n\r\nexport const customEmoji: MarkdownRule = {\r\n ...defaultRules.text,\r\n match: inlineRegex(CUSTOM_EMOJI_RE),\r\n parse: capture => {\r\n const [, animated, name, id] = capture\r\n\r\n return {\r\n type: \"emoji\",\r\n name,\r\n emoji: name,\r\n src: getCustomEmojiUrl(id, Boolean(animated)),\r\n }\r\n },\r\n}\r\n","export const SERIALISED_EMOJI_DATA = `\r\n😀 grinning\r\n😃 smiley\r\n😄 smile\r\n😁 grin\r\n😆 laughing satisfied\r\n😅 sweat_smile\r\n😂 joy\r\n🤣 rofl rolling_on_the_floor_laughing\r\n☺️ relaxed\r\n😊 blush\r\n😇 innocent\r\n🙂 slight_smile slightly_smiling_face\r\n🙃 upside_down upside_down_face\r\n😉 wink\r\n😌 relieved\r\n🥲 smiling_face_with_tear\r\n😍 heart_eyes\r\n🥰 smiling_face_with_3_hearts\r\n😘 kissing_heart\r\n😗 kissing\r\n😙 kissing_smiling_eyes\r\n😚 kissing_closed_eyes\r\n😋 yum\r\n😛 stuck_out_tongue\r\n😝 stuck_out_tongue_closed_eyes\r\n😜 stuck_out_tongue_winking_eye\r\n🤪 zany_face\r\n🤨 face_with_raised_eyebrow\r\n🧐 face_with_monocle\r\n🤓 nerd nerd_face\r\n😎 sunglasses\r\n🤩 star_struck\r\n🥳 partying_face\r\n😏 smirk\r\n😒 unamused\r\n😞 disappointed\r\n😔 pensive\r\n😟 worried\r\n😕 confused\r\n🙁 slight_frown slightly_frowning_face\r\n☹️ frowning2 white_frowning_face\r\n😣 persevere\r\n😖 confounded\r\n😫 tired_face\r\n😩 weary\r\n🥺 pleading_face\r\n😢 cry\r\n😭 sob\r\n😤 triumph\r\n😠 angry\r\n😡 rage\r\n🤬 face_with_symbols_over_mouth\r\n🤯 exploding_head\r\n😳 flushed\r\n🥵 hot_face\r\n🥶 cold_face\r\n😱 scream\r\n😨 fearful\r\n😰 cold_sweat\r\n😥 disappointed_relieved\r\n😓 sweat\r\n🤗 hugging hugging_face\r\n🤔 thinking thinking_face\r\n🤭 face_with_hand_over_mouth\r\n🥱 yawning_face\r\n🤫 shushing_face\r\n🤥 lying_face liar\r\n😶 no_mouth\r\n😐 neutral_face\r\n😑 expressionless\r\n😬 grimacing\r\n🙄 rolling_eyes face_with_rolling_eyes\r\n😯 hushed\r\n😦 frowning\r\n😧 anguished\r\n😮 open_mouth\r\n😲 astonished\r\n😴 sleeping\r\n🤤 drooling_face drool\r\n😪 sleepy\r\n😵 dizzy_face\r\n🤐 zipper_mouth zipper_mouth_face\r\n🥴 woozy_face\r\n🤢 nauseated_face sick\r\n🤮 face_vomiting\r\n🤧 sneezing_face sneeze\r\n😷 mask\r\n🤒 thermometer_face face_with_thermometer\r\n🤕 head_bandage face_with_head_bandage\r\n🤑 money_mouth money_mouth_face\r\n🤠 cowboy face_with_cowboy_hat\r\n🥸 disguised_face\r\n😈 smiling_imp\r\n👿 imp\r\n👹 japanese_ogre\r\n👺 japanese_goblin\r\n🤡 clown clown_face\r\n💩 poop shit hankey poo\r\n👻 ghost\r\n💀 skull skeleton\r\n☠️ skull_crossbones skull_and_crossbones\r\n👽 alien\r\n👾 space_invader\r\n🤖 robot robot_face\r\n🎃 jack_o_lantern\r\n😺 smiley_cat\r\n😸 smile_cat\r\n😹 joy_cat\r\n😻 heart_eyes_cat\r\n😼 smirk_cat\r\n😽 kissing_cat\r\n🙀 scream_cat\r\n😿 crying_cat_face\r\n😾 pouting_cat\r\n🤲/+ palms_up_together/#!\r\n👐/+ open_hands/#\r\n🙌/+ raised_hands/#\r\n👏/+ clap/#\r\n🤝 handshake shaking_hands\r\n👍/+ thumbsup/# +1/# thumbup/#\r\n👎/+ thumbsdown/# -1 thumbdown/# _1/#*\r\n👊/+ punch/#\r\n✊/+ fist/#\r\n🤛/+ left_facing_fist/# left_fist/#\r\n🤜/+ right_facing_fist/# right_fist/#\r\n🤞/+ fingers_crossed/# hand_with_index_and_middle_finger_crossed hand_with_index_and_middle_fingers_crossed/#*\r\n✌️/+ v/#\r\n🤟/+ love_you_gesture/#!\r\n🤘/+ metal/# sign_of_the_horns/#\r\n👌/+ ok_hand/#\r\n🤏/+ pinching_hand/#!\r\n🤌/+ pinched_fingers/#!\r\n👈/+ point_left/#\r\n👉/+ point_right/#\r\n👆/+ point_up_2/#\r\n👇/+ point_down/#\r\n☝️/+ point_up/#\r\n✋/+ raised_hand/#\r\n🤚/+ raised_back_of_hand/# back_of_hand/#\r\n🖐️/+ hand_splayed/# raised_hand_with_fingers_splayed/#\r\n🖖/+ vulcan/# raised_hand_with_part_between_middle_and_ring_fingers/#\r\n👋/+ wave/#\r\n🤙/+ call_me/# call_me_hand/#\r\n💪/+ muscle/#\r\n🦾 mechanical_arm\r\n🖕/+ middle_finger/# reversed_hand_with_middle_finger_extended/#\r\n✍️/+ writing_hand/#\r\n🙏/+ pray/#\r\n🦶/+ foot/#!\r\n🦵/+ leg/#!\r\n🦿 mechanical_leg\r\n💄 lipstick\r\n💋 kiss\r\n👄 lips\r\n🦷 tooth\r\n🦴 bone\r\n👅 tongue\r\n👂/+ ear/#\r\n🦻/+ ear_with_hearing_aid/#!\r\n👃/+ nose/#\r\n👣 footprints\r\n👁️ eye\r\n👀 eyes\r\n🧠 brain\r\n🫀 anatomical_heart\r\n🫁 lungs\r\n🗣️ speaking_head speaking_head_in_silhouette\r\n👤 bust_in_silhouette\r\n👥 busts_in_silhouette\r\n🫂 people_hugging\r\n👶/+ baby/#\r\n👧/+ girl/#\r\n🧒/+ child/#!\r\n👦/+ boy/#\r\n👩/+ woman/#\r\n🧑/+ adult/#!\r\n👨/+ man/#\r\n🧑‍🦱/+ person_curly_hair\r\n👩‍🦱/+ woman_curly_haired/#!\r\n👨‍🦱/+ man_curly_haired/#!\r\n🧑‍🦰/+ person_red_hair\r\n👩‍🦰/+ woman_red_haired/#!\r\n👨‍🦰/+ man_red_haired/#!\r\n👱‍♀️/+ blond_haired_woman/#!\r\n👱/+ blond_haired_person/# person_with_blond_hair/#\r\n👱‍♂️/+ blond_haired_man/#!\r\n🧑‍🦳/+ person_white_hair\r\n👩‍🦳/+ woman_white_haired/#!\r\n👨‍🦳/+ man_white_haired/#!\r\n🧑‍🦲/+ person_bald\r\n👩‍🦲/+ woman_bald/#!\r\n👨‍🦲/+ man_bald/#!\r\n🧔/+ bearded_person/#!\r\n👵/+ older_woman/# grandma/#\r\n🧓/+ older_adult/#!\r\n👴/+ older_man/#\r\n👲/+ man_with_chinese_cap/# man_with_gua_pi_mao/#\r\n👳/+ person_wearing_turban/# man_with_turban/#\r\n👳‍♀️/+ woman_wearing_turban/#!\r\n👳‍♂️/+ man_wearing_turban/#!\r\n🧕/+ woman_with_headscarf/#!\r\n👮/+ police_officer/# cop/#\r\n👮‍♀️/+ woman_police_officer/#!\r\n👮‍♂️/+ man_police_officer/#!\r\n👷/+ construction_worker/#\r\n👷‍♀️/+ woman_construction_worker/#!\r\n👷‍♂️/+ man_construction_worker/#!\r\n💂/+ guard/# guardsman/#\r\n💂‍♀️/+ woman_guard/#!\r\n💂‍♂️/+ man_guard/#!\r\n🕵️/+ detective/# spy/# sleuth_or_spy/#\r\n🕵️‍♀️/+ woman_detective/#!\r\n🕵️‍♂️/+ man_detective/#!\r\n🧑‍⚕️/+ health_worker/#!\r\n👩‍⚕️/+ woman_health_worker/#!\r\n👨‍⚕️/+ man_health_worker/#!\r\n🧑‍🌾/+ farmer/#!\r\n👩‍🌾/+ woman_farmer/#!\r\n👨‍🌾/+ man_farmer/#!\r\n🧑‍🍳/+ cook/#!\r\n👩‍🍳/+ woman_cook/#!\r\n👨‍🍳/+ man_cook/#!\r\n🧑‍🎓/+ student/#!\r\n👩‍🎓/+ woman_student/#!\r\n👨‍🎓/+ man_student/#!\r\n🧑‍🎤/+ singer/#!\r\n👩‍🎤/+ woman_singer/#!\r\n👨‍🎤/+ man_singer/#!\r\n🧑‍🏫/+ teacher/#!\r\n👩‍🏫/+ woman_teacher/#!\r\n👨‍🏫/+ man_teacher/#!\r\n🧑‍🏭/+ factory_worker/#!\r\n👩‍🏭/+ woman_factory_worker/#!\r\n👨‍🏭/+ man_factory_worker/#!\r\n🧑‍💻/+ technologist/#!\r\n👩‍💻/+ woman_technologist/#!\r\n👨‍💻/+ man_technologist/#!\r\n🧑‍💼/+ office_worker/#!\r\n👩‍💼/+ woman_office_worker/#!\r\n👨‍💼/+ man_office_worker/#!\r\n🧑‍🔧/+ mechanic/#!\r\n👩‍🔧/+ woman_mechanic/#!\r\n👨‍🔧/+ man_mechanic/#!\r\n🧑‍🔬/+ scientist/#!\r\n👩‍🔬/+ woman_scientist/#!\r\n👨‍🔬/+ man_scientist/#!\r\n🧑‍🎨/+ artist/#!\r\n👩‍🎨/+ woman_artist/#!\r\n👨‍🎨/+ man_artist/#!\r\n🧑‍🚒/+ firefighter/#!\r\n👩‍🚒/+ woman_firefighter/#!\r\n👨‍🚒/+ man_firefighter/#!\r\n🧑‍✈️/+ pilot/#!\r\n👩‍✈️/+ woman_pilot/#!\r\n👨‍✈️/+ man_pilot/#!\r\n🧑‍🚀/+ astronaut/#!\r\n👩‍🚀/+ woman_astronaut/#!\r\n👨‍🚀/+ man_astronaut/#!\r\n🧑‍⚖️/+ judge/#!\r\n👩‍⚖️/+ woman_judge/#!\r\n👨‍⚖️/+ man_judge/#!\r\n👰/+ person_with_veil/#\r\n👰‍♀️/+ woman_with_veil/#! bride_with_veil\r\n👰‍♂️/+ man_with_veil/#!\r\n🤵/+ person_in_tuxedo/# tuxedo/#*\r\n🤵‍♀️/+ woman_in_tuxedo/#!\r\n🤵‍♂️/+ man_in_tuxedo/#!\r\n👸/+ princess/#\r\n🤴/+ prince/#\r\n🦸/+ superhero/#!\r\n🦸‍♀️/+ woman_superhero/#!\r\n🦸‍♂️/+ man_superhero/#!\r\n🦹/+ supervillain/#!\r\n🦹‍♀️/+ woman_supervillain/#!\r\n🦹‍♂️/+ man_supervillain/#!\r\n🥷/+ ninja/#!\r\n🧑‍🎄/+ mx_claus/#!\r\n🤶/+ mrs_claus/# mother_christmas/#\r\n🎅/+ santa/#\r\n🧙/+ mage/#!\r\n🧙‍♀️/+ woman_mage/#!\r\n🧙‍♂️/+ man_mage/#!\r\n🧝/+ elf/#!\r\n🧝‍♀️/+ woman_elf/#!\r\n🧝‍♂️/+ man_elf/#!\r\n🧛/+ vampire/#!\r\n🧛‍♀️/+ woman_vampire/#!\r\n🧛‍♂️/+ man_vampire/#!\r\n🧟 zombie\r\n🧟‍♀️ woman_zombie\r\n🧟‍♂️ man_zombie\r\n🧞 genie\r\n🧞‍♀️ woman_genie\r\n🧞‍♂️ man_genie\r\n🧜/+ merperson/#!\r\n🧜‍♀️/+ mermaid/#!\r\n🧜‍♂️/+ merman/#!\r\n🧚/+ fairy/#!\r\n🧚‍♀️/+ woman_fairy/#!\r\n🧚‍♂️/+ man_fairy/#!\r\n👼/+ angel/#\r\n🤰/+ pregnant_woman/# expecting_woman/#\r\n🤱/+ breast_feeding/#!\r\n🧑‍🍼/+ person_feeding_baby/#!\r\n👩‍🍼/+ woman_feeding_baby/#!\r\n👨‍🍼/+ man_feeding_baby/#!\r\n🙇/+ person_bowing/# bow/#\r\n🙇‍♀️/+ woman_bowing/#!\r\n🙇‍♂️/+ man_bowing/#!\r\n💁/+ person_tipping_hand/# information_desk_person/#\r\n💁‍♀️/+ woman_tipping_hand/#!\r\n💁‍♂️/+ man_tipping_hand/#!\r\n🙅/+ person_gesturing_no/# no_good/#\r\n🙅‍♀️/+ woman_gesturing_no/#!\r\n🙅‍♂️/+ man_gesturing_no/#!\r\n🙆/+ person_gesturing_ok/# ok_woman/#\r\n🙆‍♀️/+ woman_gesturing_ok/#!\r\n🙆‍♂️/+ man_gesturing_ok/#!\r\n🙋/+ person_raising_hand/# raising_hand/#\r\n🙋‍♀️/+ woman_raising_hand/#!\r\n🙋‍♂️/+ man_raising_hand/#!\r\n🧏/+ deaf_person/#!\r\n🧏‍♀️/+ deaf_woman/#!\r\n🧏‍♂️/+ deaf_man/#!\r\n🤦/+ person_facepalming/# face_palm/# facepalm/#\r\n🤦‍♀️/+ woman_facepalming/#!\r\n🤦‍♂️/+ man_facepalming/#!\r\n🤷/+ person_shrugging/# shrug/#\r\n🤷‍♀️/+ woman_shrugging/#!\r\n🤷‍♂️/+ man_shrugging/#!\r\n🙎/+ person_pouting/# person_with_pouting_face/#\r\n🙎‍♀️/+ woman_pouting/#!\r\n🙎‍♂️/+ man_pouting/#!\r\n🙍/+ person_frowning/#\r\n🙍‍♀️/+ woman_frowning/#!\r\n🙍‍♂️/+ man_frowning/#!\r\n💇/+ person_getting_haircut/# haircut/#\r\n💇‍♀️/+ woman_getting_haircut/#!\r\n💇‍♂️/+ man_getting_haircut/#!\r\n💆/+ person_getting_massage/# massage/#\r\n💆‍♀️/+ woman_getting_face_massage/#!\r\n💆‍♂️/+ man_getting_face_massage/#!\r\n🧖/+ person_in_steamy_room/#!\r\n🧖‍♀️/+ woman_in_steamy_room/#!\r\n🧖‍♂️/+ man_in_steamy_room/#!\r\n💅/+ nail_care/#\r\n🤳/+ selfie/#\r\n💃/+ dancer/#\r\n🕺/+ man_dancing/# male_dancer/#\r\n👯 people_with_bunny_ears_partying dancers\r\n👯‍♀️ women_with_bunny_ears_partying\r\n👯‍♂️ men_with_bunny_ears_partying\r\n🕴️/+ levitate/# man_in_business_suit_levitating/#!\r\n🧑‍🦽/+ person_in_manual_wheelchair/#!\r\n👩‍🦽/+ woman_in_manual_wheelchair/#!\r\n👨‍🦽/+ man_in_manual_wheelchair/#!\r\n🧑‍🦼/+ person_in_motorized_wheelchair/#!\r\n👩‍🦼/+ woman_in_motorized_wheelchair/#!\r\n👨‍🦼/+ man_in_motorized_wheelchair/#!\r\n🚶/+ person_walking/# walking/#\r\n🚶‍♀️/+ woman_walking/#!\r\n🚶‍♂️/+ man_walking/#!\r\n🧑‍🦯/+ person_with_probing_cane/#!\r\n👩‍🦯/+ woman_with_probing_cane/#!\r\n👨‍🦯/+ man_with_probing_cane/#!\r\n🧎/+ person_kneeling/#!\r\n🧎‍♀️/+ woman_kneeling/#!\r\n🧎‍♂️/+ man_kneeling/#!\r\n🏃/+ person_running/# runner/#\r\n🏃‍♀️/+ woman_running/#!\r\n🏃‍♂️/+ man_running/#!\r\n🧍/+ person_standing/#!\r\n🧍‍♀️/+ woman_standing/#!\r\n🧍‍♂️/+ man_standing/#!\r\n🧑‍🤝‍🧑 people_holding_hands\r\n👫 couple\r\n👭 two_women_holding_hands\r\n👬 two_men_holding_hands\r\n💑 couple_with_heart\r\n👩‍❤️‍👨 couple_with_heart_woman_man\r\n👩‍❤️‍👩 couple_ww couple_with_heart_ww\r\n👨‍❤️‍👨 couple_mm couple_with_heart_mm\r\n💏 couplekiss\r\n👩‍❤️‍💋‍👨 kiss_woman_man\r\n👩‍❤️‍💋‍👩 kiss_ww couplekiss_ww\r\n👨‍❤️‍💋‍👨 kiss_mm couplekiss_mm\r\n👪 family\r\n👨‍👩‍👦 family_man_woman_boy\r\n👨‍👩‍👧 family_mwg\r\n👨‍👩‍👧‍👦 family_mwgb\r\n👨‍👩‍👦‍👦 family_mwbb\r\n👨‍👩‍👧‍👧 family_mwgg\r\n👩‍👩‍👦 family_wwb\r\n👩‍👩‍👧 family_wwg\r\n👩‍👩‍👧‍👦 family_wwgb\r\n👩‍👩‍👦‍👦 family_wwbb\r\n👩‍👩‍👧‍👧 family_wwgg\r\n👨‍👨‍👦 family_mmb\r\n👨‍👨‍👧 family_mmg\r\n👨‍👨‍👧‍👦 family_mmgb\r\n👨‍👨‍👦‍👦 family_mmbb\r\n👨‍👨‍👧‍👧 family_mmgg\r\n👩‍👦 family_woman_boy\r\n👩‍👧 family_woman_girl\r\n👩‍👧‍👦 family_woman_girl_boy\r\n👩‍👦‍👦 family_woman_boy_boy\r\n👩‍👧‍👧 family_woman_girl_girl\r\n👨‍👦 family_man_boy\r\n👨‍👧 family_man_girl\r\n👨‍👧‍👦 family_man_girl_boy\r\n👨‍👦‍👦 family_man_boy_boy\r\n👨‍👧‍👧 family_man_girl_girl\r\n🧶 yarn\r\n🧵 thread\r\n🧥 coat\r\n🥼 lab_coat\r\n🦺 safety_vest\r\n👚 womans_clothes\r\n👕 shirt\r\n👖 jeans\r\n🩲 briefs\r\n🩳 shorts\r\n👔 necktie\r\n👗 dress\r\n👙 bikini\r\n🩱 one_piece_swimsuit\r\n👘 kimono\r\n🥻 sari\r\n🥿 womans_flat_shoe\r\n👠 high_heel\r\n👡 sandal\r\n👢 boot\r\n👞 mans_shoe\r\n👟 athletic_shoe\r\n🥾 hiking_boot\r\n🩴 thong_sandal\r\n🧦 socks\r\n🧤 gloves\r\n🧣 scarf\r\n🎩 tophat\r\n🧢 billed_cap\r\n👒 womans_hat\r\n🎓 mortar_board\r\n⛑️ helmet_with_cross helmet_with_white_cross\r\n🪖 military_helmet\r\n👑 crown\r\n💍 ring\r\n👝 pouch\r\n👛 purse\r\n👜 handbag\r\n💼 briefcase\r\n🎒 school_satchel\r\n🧳 luggage\r\n👓 eyeglasses\r\n🕶️ dark_sunglasses\r\n🥽 goggles\r\n🌂 closed_umbrella\r\n🐶 dog\r\n🐱 cat\r\n🐭 mouse\r\n🐹 hamster\r\n🐰 rabbit\r\n🦊 fox fox_face\r\n🐻 bear\r\n🐼 panda_face\r\n🐻‍❄️ polar_bear\r\n🐨 koala\r\n🐯 tiger\r\n🦁 lion_face lion\r\n🐮 cow\r\n🐷 pig\r\n🐽 pig_nose\r\n🐸 frog\r\n🐵 monkey_face\r\n🙈 see_no_evil\r\n🙉 hear_no_evil\r\n🙊 speak_no_evil\r\n🐒 monkey\r\n🐔 chicken\r\n🐧 penguin\r\n🐦 bird\r\n🐤 baby_chick\r\n🐣 hatching_chick\r\n🐥 hatched_chick\r\n🦆 duck\r\n🦤 dodo\r\n🦅 eagle\r\n🦉 owl\r\n🦇 bat\r\n🐺 wolf\r\n🐗 boar\r\n🐴 horse\r\n🦄 unicorn unicorn_face\r\n🐝 bee\r\n🐛 bug\r\n🦋 butterfly\r\n🐌 snail\r\n🪱 worm\r\n🐞 lady_beetle\r\n🐜 ant\r\n🪰 fly\r\n🦟 mosquito\r\n🪳 cockroach\r\n🪲 beetle\r\n🦗 cricket\r\n🕷️ spider\r\n🕸️ spider_web\r\n🦂 scorpion\r\n🐢 turtle\r\n🐍 snake\r\n🦎 lizard\r\n🦖 t_rex\r\n🦕 sauropod\r\n🐙 octopus\r\n🦑 squid\r\n🦐 shrimp\r\n🦞 lobster\r\n🦀 crab\r\n🐡 blowfish\r\n🐠 tropical_fish\r\n🐟 fish\r\n🦭 seal\r\n🐬 dolphin\r\n🐳 whale\r\n🐋 whale2\r\n🦈 shark\r\n🐊 crocodile\r\n🐅 tiger2\r\n🐆 leopard\r\n🦓 zebra\r\n🦍 gorilla\r\n🦧 orangutan\r\n🐘 elephant\r\n🦣 mammoth\r\n🦬 bison\r\n🦛 hippopotamus\r\n🦏 rhino rhinoceros\r\n🐪 dromedary_camel\r\n🐫 camel\r\n🦒 giraffe\r\n🦘 kangaroo\r\n🐃 water_buffalo\r\n🐂 ox\r\n🐄 cow2\r\n🐎 racehorse\r\n🐖 pig2\r\n🐏 ram\r\n🐑 sheep\r\n🦙 llama\r\n🐐 goat\r\n🦌 deer\r\n🐕 dog2\r\n🐩 poodle\r\n🦮 guide_dog\r\n🐕‍🦺 service_dog\r\n🐈 cat2\r\n🐈‍⬛ black_cat\r\n🐓 rooster\r\n🦃 turkey\r\n🦚 peacock\r\n🦜 parrot\r\n🦢 swan\r\n🦩 flamingo\r\n🕊️ dove dove_of_peace\r\n🐇 rabbit2\r\n🦝 raccoon\r\n🦨 skunk\r\n🦡 badger\r\n🦫 beaver\r\n🦦 otter\r\n🦥 sloth\r\n🐁 mouse2\r\n🐀 rat\r\n🐿️ chipmunk\r\n🦔 hedgehog\r\n🐾 feet paw_prints\r\n🐉 dragon\r\n🐲 dragon_face\r\n🌵 cactus\r\n🎄 christmas_tree\r\n🌲 evergreen_tree\r\n🌳 deciduous_tree\r\n🌴 palm_tree\r\n🌱 seedling\r\n🌿 herb\r\n☘️ shamrock\r\n🍀 four_leaf_clover\r\n🎍 bamboo\r\n🎋 tanabata_tree\r\n🍃 leaves\r\n🍂 fallen_leaf\r\n🍁 maple_leaf\r\n🪶 feather\r\n🍄 mushroom\r\n🐚 shell\r\n🪨 rock\r\n🪵 wood\r\n🌾 ear_of_rice\r\n🪴 potted_plant\r\n💐 bouquet\r\n🌷 tulip\r\n🌹 rose\r\n🥀 wilted_rose wilted_flower\r\n🌺 hibiscus\r\n🌸 cherry_blossom\r\n🌼 blossom\r\n🌻 sunflower\r\n🌞 sun_with_face\r\n🌝 full_moon_with_face\r\n🌛 first_quarter_moon_with_face\r\n🌜 last_quarter_moon_with_face\r\n🌚 new_moon_with_face\r\n🌕 full_moon\r\n🌖 waning_gibbous_moon\r\n🌗 last_quarter_moon\r\n🌘 waning_crescent_moon\r\n🌑 new_moon\r\n🌒 waxing_crescent_moon\r\n🌓 first_quarter_moon\r\n🌔 waxing_gibbous_moon\r\n🌙 crescent_moon\r\n🌎 earth_americas\r\n🌍 earth_africa\r\n🌏 earth_asia\r\n🪐 ringed_planet\r\n💫 dizzy\r\n⭐ star\r\n🌟 star2\r\n✨ sparkles\r\n⚡ zap\r\n☄️ comet\r\n💥 boom\r\n🔥 fire flame\r\n🌪️ cloud_tornado cloud_with_tornado\r\n🌈 rainbow\r\n☀️ sunny\r\n🌤️ white_sun_small_cloud white_sun_with_small_cloud\r\n⛅ partly_sunny\r\n🌥️ white_sun_cloud white_sun_behind_cloud\r\n☁️ cloud\r\n🌦️ white_sun_rain_cloud white_sun_behind_cloud_with_rain\r\n🌧️ cloud_rain cloud_with_rain\r\n⛈️ thunder_cloud_rain thunder_cloud_and_rain\r\n🌩️ cloud_lightning cloud_with_lightning\r\n🌨️ cloud_snow cloud_with_snow\r\n❄️ snowflake\r\n☃️ snowman2\r\n⛄ snowman\r\n🌬️ wind_blowing_face\r\n💨 dash\r\n💧 droplet\r\n💦 sweat_drops\r\n☔ umbrella\r\n☂️ umbrella2\r\n🌊 ocean\r\n🌫️ fog\r\n🍏 green_apple\r\n🍎 apple\r\n🍐 pear\r\n🍊 tangerine\r\n🍋 lemon\r\n🍌 banana\r\n🍉 watermelon\r\n🍇 grapes\r\n🫐 blueberries\r\n🍓 strawberry\r\n🍈 melon\r\n🍒 cherries\r\n🍑 peach\r\n🥭 mango\r\n🍍 pineapple\r\n🥥 coconut\r\n🥝 kiwi kiwifruit\r\n🍅 tomato\r\n🍆 eggplant\r\n🥑 avocado\r\n🫒 olive\r\n🥦 broccoli\r\n🥬 leafy_green\r\n🫑 bell_pepper\r\n🥒 cucumber\r\n🌶️ hot_pepper\r\n🌽 corn\r\n🥕 carrot\r\n🧄 garlic\r\n🧅 onion\r\n🥔 potato\r\n🍠 sweet_potato\r\n🥐 croissant\r\n🥯 bagel\r\n🍞 bread\r\n🥖 french_bread baguette_bread\r\n🫓 flatbread\r\n🥨 pretzel\r\n🧀 cheese cheese_wedge\r\n🥚 egg\r\n🍳 cooking\r\n🧈 butter\r\n🥞 pancakes\r\n🧇 waffle\r\n🥓 bacon\r\n🥩 cut_of_meat\r\n🍗 poultry_leg\r\n🍖 meat_on_bone\r\n🌭 hotdog hot_dog\r\n🍔 hamburger\r\n🍟 fries\r\n🍕 pizza\r\n🥪 sandwich\r\n🥙 stuffed_flatbread stuffed_pita\r\n🧆 falafel\r\n🌮 taco\r\n🌯 burrito\r\n🫔 tamale\r\n🥗 salad green_salad\r\n🥘 shallow_pan_of_food paella\r\n🫕 fondue\r\n🥫 canned_food\r\n🍝 spaghetti\r\n🍜 ramen\r\n🍲 stew\r\n🍛 curry\r\n🍣 sushi\r\n🍱 bento\r\n🥟 dumpling\r\n🦪 oyster\r\n🍤 fried_shrimp\r\n🍙 rice_ball\r\n🍚 rice\r\n🍘 rice_cracker\r\n🍥 fish_cake\r\n🥠 fortune_cookie\r\n🥮 moon_cake\r\n🍢 oden\r\n🍡 dango\r\n🍧 shaved_ice\r\n🍨 ice_cream\r\n🍦 icecream\r\n🥧 pie\r\n🧁 cupcake\r\n🍰 cake\r\n🎂 birthday\r\n🍮 custard pudding flan\r\n🍭 lollipop\r\n🍬 candy\r\n🍫 chocolate_bar\r\n🍿 popcorn\r\n🍩 doughnut\r\n🍪 cookie\r\n🌰 chestnut\r\n🥜 peanuts shelled_peanut\r\n🍯 honey_pot\r\n🥛 milk glass_of_milk\r\n🍼 baby_bottle\r\n☕ coffee\r\n🍵 tea\r\n🫖 teapot\r\n🧉 mate\r\n🧋 bubble_tea\r\n🧃 beverage_box\r\n🥤 cup_with_straw\r\n🍶 sake\r\n🍺 beer\r\n🍻 beers\r\n🥂 champagne_glass clinking_glass\r\n🍷 wine_glass\r\n🥃 tumbler_glass whisky\r\n🍸 cocktail\r\n🍹 tropical_drink\r\n🍾 champagne bottle_with_popping_cork\r\n🧊 ice_cube\r\n🥄 spoon\r\n🍴 fork_and_knife\r\n🍽️ fork_knife_plate fork_and_knife_with_plate\r\n🥣 bowl_with_spoon\r\n🥡 takeout_box\r\n🥢 chopsticks\r\n🧂 salt\r\n⚽ soccer\r\n🏀 basketball\r\n🏈 football\r\n⚾ baseball\r\n🥎 softball\r\n🎾 tennis\r\n🏐 volleyball\r\n🏉 rugby_football\r\n🥏 flying_disc\r\n🪃 boomerang\r\n🎱 8ball\r\n🪀 yo_yo\r\n🏓 ping_pong table_tennis\r\n🏸 badminton\r\n🏒 hockey\r\n🏑 field_hockey\r\n🥍 lacrosse\r\n🏏 cricket_game cricket_bat_ball\r\n🥅 goal goal_net\r\n⛳ golf\r\n🪁 kite\r\n🏹 bow_and_arrow archery\r\n🎣 fishing_pole_and_fish\r\n🤿 diving_mask\r\n🥊 boxing_glove boxing_gloves\r\n🥋 martial_arts_uniform karate_uniform\r\n🎽 running_shirt_with_sash\r\n🛹 skateboard\r\n🛼 roller_skate\r\n🛷 sled\r\n⛸️ ice_skate\r\n🥌 curling_stone\r\n🎿 ski\r\n⛷️ skier\r\n🏂/+ snowboarder/#!\r\n🪂 parachute\r\n🏋️/+ person_lifting_weights/# lifter/# weight_lifter/#\r\n🏋️‍♀️/+ woman_lifting_weights/#!\r\n🏋️‍♂️/+ man_lifting_weights/#!\r\n🤼 people_wrestling wrestlers wrestling\r\n🤼‍♀️ women_wrestling\r\n🤼‍♂️ men_wrestling\r\n🤸/+ person_doing_cartwheel/# cartwheel/#\r\n🤸‍♀️/+ woman_cartwheeling/#!\r\n🤸‍♂️/+ man_cartwheeling/#!\r\n⛹️/+ person_bouncing_ball/# basketball_player/# person_with_ball/#\r\n⛹️‍♀️/+ woman_bouncing_ball/#!\r\n⛹️‍♂️/+ man_bouncing_ball/#!\r\n🤺 person_fencing fencer fencing\r\n🤾/+ person_playing_handball/# handball/#\r\n🤾‍♀️/+ woman_playing_handball/#!\r\n🤾‍♂️/+ man_playing_handball/#!\r\n🏌️/+ person_golfing/#! golfer\r\n🏌️‍♀️/+ woman_golfing/#!\r\n🏌️‍♂️/+ man_golfing/#!\r\n🏇/+ horse_racing/#\r\n🧘/+ person_in_lotus_position/#!\r\n🧘‍♀️/+ woman_in_lotus_position/#!\r\n🧘‍♂️/+ man_in_lotus_position/#!\r\n🏄/+ person_surfing/# surfer/#\r\n🏄‍♀️/+ woman_surfing/#!\r\n🏄‍♂️/+ man_surfing/#!\r\n🏊/+ person_swimming/# swimmer/#\r\n🏊‍♀️/+ woman_swimming/#!\r\n🏊‍♂️/+ man_swimming/#!\r\n🤽/+ person_playing_water_polo/# water_polo/#\r\n🤽‍♀️/+ woman_playing_water_polo/#!\r\n🤽‍♂️/+ man_playing_water_polo/#!\r\n🚣/+ person_rowing_boat/# rowboat/#\r\n🚣‍♀️/+ woman_rowing_boat/#!\r\n🚣‍♂️/+ man_rowing_boat/#!\r\n🧗/+ person_climbing/#!\r\n🧗‍♀️/+ woman_climbing/#!\r\n🧗‍♂️/+ man_climbing/#!\r\n🚵/+ person_mountain_biking/# mountain_bicyclist/#\r\n🚵‍♀️/+ woman_mountain_biking/#!\r\n🚵‍♂️/+ man_mountain_biking/#!\r\n🚴/+ person_biking/# bicyclist/#\r\n🚴‍♀️/+ woman_biking/#!\r\n🚴‍♂️/+ man_biking/#!\r\n🏆 trophy\r\n🥇 first_place first_place_medal\r\n🥈 second_place second_place_medal\r\n🥉 third_place third_place_medal\r\n🏅 medal sports_medal\r\n🎖️ military_medal\r\n🏵️ rosette\r\n🎗️ reminder_ribbon\r\n🎫 ticket\r\n🎟️ tickets admission_tickets\r\n🎪 circus_tent\r\n🤹/+ person_juggling/# juggling/# juggler/#\r\n🤹‍♀️/+ woman_juggling/#!\r\n🤹‍♂️/+ man_juggling/#!\r\n🎭 performing_arts\r\n🩰 ballet_shoes\r\n🎨 art\r\n🎬 clapper\r\n🎤 microphone\r\n🎧 headphones\r\n🎼 musical_score\r\n🎹 musical_keyboard\r\n🥁 drum drum_with_drumsticks\r\n🪘 long_drum\r\n🎷 saxophone\r\n🎺 trumpet\r\n🎸 guitar\r\n🪕 banjo\r\n🎻 violin\r\n🪗 accordion\r\n🎲 game_die\r\n♟️ chess_pawn\r\n🎯 dart\r\n🎳 bowling\r\n🎮 video_game\r\n🎰 slot_machine\r\n🧩 jigsaw\r\n🚗 red_car\r\n🚕 taxi\r\n🚙 blue_car\r\n🛻 pickup_truck\r\n🚌 bus\r\n🚎 trolleybus\r\n🏎️ race_car racing_car\r\n🚓 police_car\r\n🚑 ambulance\r\n🚒 fire_engine\r\n🚐 minibus\r\n🚚 truck\r\n🚛 articulated_lorry\r\n🚜 tractor\r\n🦯 probing_cane\r\n🦽 manual_wheelchair\r\n🦼 motorized_wheelchair\r\n🛴 scooter\r\n🚲 bike\r\n🛵 motor_scooter motorbike\r\n🏍️ motorcycle racing_motorcycle\r\n🛺 auto_rickshaw\r\n🚨 rotating_light\r\n🚔 oncoming_police_car\r\n🚍 oncoming_bus\r\n🚘 oncoming_automobile\r\n🚖 oncoming_taxi\r\n🚡 aerial_tramway\r\n🚠 mountain_cableway\r\n🚟 suspension_railway\r\n🚃 railway_car\r\n🚋 train\r\n🚞 mountain_railway\r\n🚝 monorail\r\n🚄 bullettrain_side\r\n🚅 bullettrain_front\r\n🚈 light_rail\r\n🚂 steam_locomotive\r\n🚆 train2\r\n🚇 metro\r\n🚊 tram\r\n🚉 station\r\n✈️ airplane\r\n🛫 airplane_departure\r\n🛬 airplane_arriving\r\n🛩️ airplane_small small_airplane\r\n💺 seat\r\n🛰️ satellite_orbital\r\n🚀 rocket\r\n🛸 flying_saucer\r\n🚁 helicopter\r\n🛶 canoe kayak\r\n⛵ sailboat\r\n🚤 speedboat\r\n🛥️ motorboat\r\n🛳️ cruise_ship passenger_ship\r\n⛴️ ferry\r\n🚢 ship\r\n⚓ anchor\r\n⛽ fuelpump\r\n🚧 construction\r\n🚦 vertical_traffic_light\r\n🚥 traffic_light\r\n🚏 busstop\r\n🗺️ map world_map\r\n🗿 moyai\r\n🗽 statue_of_liberty\r\n🗼 tokyo_tower\r\n🏰 european_castle\r\n🏯 japanese_castle\r\n🏟️ stadium\r\n🎡 ferris_wheel\r\n🎢 roller_coaster\r\n🎠 carousel_horse\r\n⛲ fountain\r\n⛱️ beach_umbrella umbrella_on_ground\r\n🏖️ beach beach_with_umbrella\r\n🏝️ island desert_island\r\n🏜️ desert\r\n🌋 volcano\r\n⛰️ mountain\r\n🏔️ mountain_snow snow_capped_mountain\r\n🗻 mount_fuji\r\n🏕️ camping\r\n⛺ tent\r\n🏠 house\r\n🏡 house_with_garden\r\n🏘️ homes house_buildings\r\n🏚️ house_abandoned derelict_house_building\r\n🛖 hut\r\n🏗️ construction_site building_construction\r\n🏭 factory\r\n🏢 office\r\n🏬 department_store\r\n🏣 post_office\r\n🏤 european_post_office\r\n🏥 hospital\r\n🏦 bank\r\n🏨 hotel\r\n🏪 convenience_store\r\n🏫 school\r\n🏩 love_hotel\r\n💒 wedding\r\n🏛️ classical_building\r\n⛪ church\r\n🕌 mosque\r\n🕍 synagogue\r\n🛕 hindu_temple\r\n🕋 kaaba\r\n⛩️ shinto_shrine\r\n🛤️ railway_track railroad_track\r\n🛣️ motorway\r\n🗾 japan\r\n🎑 rice_scene\r\n🏞️ park national_park\r\n🌅 sunrise\r\n🌄 sunrise_over_mountains\r\n🌠 stars\r\n🎇 sparkler\r\n🎆 fireworks\r\n🌇 city_sunset city_sunrise\r\n🌆 city_dusk\r\n🏙️ cityscape\r\n🌃 night_with_stars\r\n🌌 milky_way\r\n🌉 bridge_at_night\r\n🌁 foggy\r\n⌚ watch\r\n📱 mobile_phone iphone\r\n📲 calling\r\n💻 computer\r\n⌨️ keyboard\r\n🖥️ desktop desktop_computer\r\n🖨️ printer\r\n🖱️ mouse_three_button three_button_mouse\r\n🖲️ trackball\r\n🕹️ joystick\r\n🗜️ compression\r\n💽 minidisc\r\n💾 floppy_disk\r\n💿 cd\r\n📀 dvd\r\n📼 vhs\r\n📷 camera\r\n📸 camera_with_flash\r\n📹 video_camera\r\n🎥 movie_camera\r\n📽️ projector film_projector\r\n🎞️ film_frames\r\n📞 telephone_receiver\r\n☎️ telephone\r\n📟 pager\r\n📠 fax\r\n📺 tv\r\n📻 radio\r\n🎙️ microphone2 studio_microphone\r\n🎚️ level_slider\r\n🎛️ control_knobs\r\n🧭 compass\r\n⏱️ stopwatch\r\n⏲️ timer timer_clock\r\n⏰ alarm_clock\r\n🕰️ clock mantlepiece_clock\r\n⌛ hourglass\r\n⏳ hourglass_flowing_sand\r\n📡 satellite\r\n🔋 battery\r\n🔌 electric_plug\r\n💡 bulb\r\n🔦 flashlight\r\n🕯️ candle\r\n🪔 diya_lamp\r\n🧯 fire_extinguisher\r\n🛢️ oil oil_drum\r\n💸 money_with_wings\r\n💵 dollar\r\n💴 yen\r\n💶 euro\r\n💷 pound\r\n🪙 coin\r\n💰 moneybag\r\n💳 credit_card\r\n💎 gem\r\n⚖️ scales\r\n🪜 ladder\r\n🧰 toolbox\r\n🪛 screwdriver\r\n🔧 wrench\r\n🔨 hammer\r\n⚒️ hammer_pick hammer_and_pick\r\n🛠️ tools hammer_and_wrench\r\n⛏️ pick\r\n🔩 nut_and_bolt\r\n⚙️ gear\r\n🧱 bricks\r\n⛓️ chains\r\n🪝 hook\r\n🪢 knot\r\n🧲 magnet\r\n🔫 gun\r\n💣 bomb\r\n🧨 firecracker\r\n🪓 axe\r\n🪚 carpentry_saw\r\n🔪 knife\r\n🗡️ dagger dagger_knife\r\n⚔️ crossed_swords\r\n🛡️ shield\r\n🚬 smoking\r\n⚰️ coffin\r\n🪦 headstone\r\n⚱️ urn funeral_urn\r\n🏺 amphora\r\n🪄 magic_wand\r\n🔮 crystal_ball\r\n📿 prayer_beads\r\n🧿 nazar_amulet\r\n💈 barber\r\n⚗️ alembic\r\n🔭 telescope\r\n🔬 microscope\r\n🕳️ hole\r\n🪟 window\r\n🩹 adhesive_bandage\r\n🩺 stethoscope\r\n💊 pill\r\n💉 syringe\r\n🩸 drop_of_blood\r\n🧬 dna\r\n🦠 microbe\r\n🧫 petri_dish\r\n🧪 test_tube\r\n🌡️ thermometer\r\n🪤 mouse_trap\r\n🧹 broom\r\n🧺 basket\r\n🪡 sewing_needle\r\n🧻 roll_of_paper\r\n🚽 toilet\r\n🪠 plunger\r\n🪣 bucket\r\n🚰 potable_water\r\n🚿 shower\r\n🛁 bathtub\r\n🛀/+ bath/#\r\n🪥 toothbrush\r\n🧼 soap\r\n🪒 razor\r\n🧽 sponge\r\n🧴 squeeze_bottle\r\n🛎️ bellhop bellhop_bell\r\n🔑 key\r\n🗝️ key2 old_key\r\n🚪 door\r\n🪑 chair\r\n🪞 mirror\r\n🛋️ couch couch_and_lamp\r\n🛏️ bed\r\n🛌/+ sleeping_accommodation person_in_bed/#!*\r\n🧸 teddy_bear\r\n🖼️ frame_photo frame_with_picture\r\n🛍️ shopping_bags\r\n🛒 shopping_cart shopping_trolley\r\n🎁 gift\r\n🎈 balloon\r\n🎏 flags\r\n🎀 ribbon\r\n🎊 confetti_ball\r\n🎉 tada\r\n🪅 piñata\r\n🪆 nesting_dolls\r\n🎎 dolls\r\n🏮 izakaya_lantern\r\n🎐 wind_chime\r\n🧧 red_envelope\r\n✉️ envelope\r\n📩 envelope_with_arrow\r\n📨 incoming_envelope\r\n📧 e_mail email\r\n💌 love_letter\r\n📥 inbox_tray\r\n📤 outbox_tray\r\n📦 package\r\n🏷️ label\r\n📪 mailbox_closed\r\n📫 mailbox\r\n📬 mailbox_with_mail\r\n📭 mailbox_with_no_mail\r\n📮 postbox\r\n📯 postal_horn\r\n🪧 placard\r\n📜 scroll\r\n📃 page_with_curl\r\n📄 page_facing_up\r\n📑 bookmark_tabs\r\n🧾 receipt\r\n📊 bar_chart\r\n📈 chart_with_upwards_trend\r\n📉 chart_with_downwards_trend\r\n🗒️ notepad_spiral spiral_note_pad\r\n🗓️ calendar_spiral spiral_calendar_pad\r\n📆 calendar\r\n📅 date\r\n🗑️ wastebasket\r\n📇 card_index\r\n🗃️ card_box card_file_box\r\n🗳️ ballot_box ballot_box_with_ballot\r\n🗄️ file_cabinet\r\n📋 clipboard\r\n📁 file_folder\r\n📂 open_file_folder\r\n🗂️ dividers card_index_dividers\r\n🗞️ newspaper2 rolled_up_newspaper\r\n📰 newspaper\r\n📓 notebook\r\n📔 notebook_with_decorative_cover\r\n📒 ledger\r\n📕 closed_book\r\n📗 green_book\r\n📘 blue_book\r\n📙 orange_book\r\n📚 books\r\n📖 book\r\n🔖 bookmark\r\n🧷 safety_pin\r\n🔗 link\r\n📎 paperclip\r\n🖇️ paperclips linked_paperclips\r\n📐 triangular_ruler\r\n📏 straight_ruler\r\n🧮 abacus\r\n📌 pushpin\r\n📍 round_pushpin\r\n✂️ scissors\r\n🖊️ pen_ballpoint lower_left_ballpoint_pen\r\n🖋️ pen_fountain lower_left_fountain_pen\r\n✒️ black_nib\r\n🖌️ paintbrush lower_left_paintbrush\r\n🖍️ crayon lower_left_crayon\r\n📝 pencil memo\r\n✏️ pencil2\r\n🔍 mag\r\n🔎 mag_right\r\n🔏 lock_with_ink_pen\r\n🔐 closed_lock_with_key\r\n🔒 lock\r\n🔓 unlock\r\n❤️ heart\r\n🧡 orange_heart\r\n💛 yellow_heart\r\n💚 green_heart\r\n💙 blue_heart\r\n💜 purple_heart\r\n🖤 black_heart\r\n🤎 brown_heart\r\n🤍 white_heart\r\n💔 broken_heart\r\n❣️ heart_exclamation heavy_heart_exclamation_mark_ornament\r\n💕 two_hearts\r\n💞 revolving_hearts\r\n💓 heartbeat\r\n💗 heartpulse\r\n💖 sparkling_heart\r\n💘 cupid\r\n💝 gift_heart\r\n💟 heart_decoration\r\n☮️ peace peace_symbol\r\n✝️ cross latin_cross\r\n☪️ star_and_crescent\r\n🕉️ om_symbol\r\n☸️ wheel_of_dharma\r\n✡️ star_of_david\r\n🔯 six_pointed_star\r\n🕎 menorah\r\n☯️ yin_yang\r\n☦️ orthodox_cross\r\n🛐 place_of_worship worship_symbol\r\n⛎ ophiuchus\r\n♈ aries\r\n♉ taurus\r\n♊ gemini\r\n♋ cancer\r\n♌ leo\r\n♍ virgo\r\n♎ libra\r\n♏ scorpius\r\n♐ sagittarius\r\n♑ capricorn\r\n♒ aquarius\r\n♓ pisces\r\n🆔 id\r\n⚛️ atom atom_symbol\r\n🉑 accept\r\n☢️ radioactive radioactive_sign\r\n☣️ biohazard biohazard_sign\r\n📴 mobile_phone_off\r\n📳 vibration_mode\r\n🈶 u6709\r\n🈚 u7121\r\n🈸 u7533\r\n🈺 u55b6\r\n🈷️ u6708\r\n✴️ eight_pointed_black_star\r\n🆚 vs\r\n💮 white_flower\r\n🉐 ideograph_advantage\r\n㊙️ secret\r\n㊗️ congratulations\r\n🈴 u5408\r\n🈵 u6e80\r\n🈹 u5272\r\n🈲 u7981\r\n🅰️ a\r\n🅱️ b\r\n🆎 ab\r\n🆑 cl\r\n🅾️ o2\r\n🆘 sos\r\n❌ x\r\n⭕ o\r\n🛑 octagonal_sign stop_sign\r\n⛔ no_entry\r\n📛 name_badge\r\n🚫 no_entry_sign\r\n💯 100\r\n💢 anger\r\n♨️ hotsprings\r\n🚷 no_pedestrians\r\n🚯 do_not_litter\r\n🚳 no_bicycles\r\n🚱 non_potable_water\r\n🔞 underage\r\n📵 no_mobile_phones\r\n🚭 no_smoking\r\n❗ exclamation\r\n❕ grey_exclamation\r\n❓ question\r\n❔ grey_question\r\n‼️ bangbang\r\n⁉️ interrobang\r\n🔅 low_brightness\r\n🔆 high_brightness\r\n〽️ part_alternation_mark\r\n⚠️ warning\r\n🚸 children_crossing\r\n🔱 trident\r\n⚜️ fleur_de_lis\r\n🔰 beginner\r\n♻️ recycle\r\n✅ white_check_mark\r\n🈯 u6307\r\n💹 chart\r\n❇️ sparkle\r\n✳️ eight_spoked_asterisk\r\n❎ negative_squared_cross_mark\r\n🌐 globe_with_meridians\r\n💠 diamond_shape_with_a_dot_inside\r\nⓂ️ m\r\n🌀 cyclone\r\n💤 zzz\r\n🏧 atm\r\n🚾 wc\r\n♿ wheelchair\r\n🅿️ parking\r\n🈳 u7a7a\r\n🈂️ sa\r\n🛂 passport_control\r\n🛃 customs\r\n🛄 baggage_claim\r\n🛅 left_luggage\r\n🛗 elevator\r\n🚹 mens\r\n🚺 womens\r\n🚼 baby_symbol\r\n🚻 restroom\r\n🚮 put_litter_in_its_place\r\n🎦 cinema\r\n📶 signal_strength\r\n🈁 koko\r\n🔣 symbols\r\nℹ️ information_source\r\n🔤 abc\r\n🔡 abcd\r\n🔠 capital_abcd\r\n🆖 ng\r\n🆗 ok\r\n🆙 up\r\n🆒 cool\r\n🆕 new\r\n🆓 free\r\n0️⃣ zero\r\n1️⃣ one\r\n2️⃣ two\r\n3️⃣ three\r\n4️⃣ four\r\n5️⃣ five\r\n6️⃣ six\r\n7️⃣ seven\r\n8️⃣ eight\r\n9️⃣ nine\r\n🔟 keycap_ten\r\n🔢 1234\r\n#️⃣ hash\r\n*️⃣ asterisk keycap_asterisk\r\n⏏️ eject eject_symbol\r\n▶️ arrow_forward\r\n⏸️ pause_button double_vertical_bar\r\n⏯️ play_pause\r\n⏹️ stop_button\r\n⏺️ record_button\r\n⏭️ track_next next_track\r\n⏮️ track_previous previous_track\r\n⏩ fast_forward\r\n⏪ rewind\r\n⏫ arrow_double_up\r\n⏬ arrow_double_down\r\n◀️ arrow_backward\r\n🔼 arrow_up_small\r\n🔽 arrow_down_small\r\n➡️ arrow_right\r\n⬅️ arrow_left\r\n⬆️ arrow_up\r\n⬇️ arrow_down\r\n↗️ arrow_upper_right\r\n↘️ arrow_lower_right\r\n↙️ arrow_lower_left\r\n↖️ arrow_upper_left\r\n↕️ arrow_up_down\r\n↔️ left_right_arrow\r\n↪️ arrow_right_hook\r\n↩️ leftwards_arrow_with_hook\r\n⤴️ arrow_heading_up\r\n⤵️ arrow_heading_down\r\n🔀 twisted_rightwards_arrows\r\n🔁 repeat\r\n🔂 repeat_one\r\n🔄 arrows_counterclockwise\r\n🔃 arrows_clockwise\r\n🎵 musical_note\r\n🎶 notes\r\n➕ heavy_plus_sign\r\n➖ heavy_minus_sign\r\n➗ heavy_division_sign\r\n✖️ heavy_multiplication_x\r\n♾️ infinity\r\n💲 heavy_dollar_sign\r\n💱 currency_exchange\r\n™️ tm\r\n©️ copyright\r\n®️ registered\r\n〰️ wavy_dash\r\n➰ curly_loop\r\n➿ loop\r\n🔚 end\r\n🔙 back\r\n🔛 on\r\n🔝 top\r\n🔜 soon\r\n✔️ heavy_check_mark\r\n☑️ ballot_box_with_check\r\n🔘 radio_button\r\n⚪ white_circle\r\n⚫ black_circle\r\n🔴 red_circle\r\n🔵 blue_circle\r\n🟤 brown_circle\r\n🟣 purple_circle\r\n🟢 green_circle\r\n🟡 yellow_circle\r\n🟠 orange_circle\r\n🔺 small_red_triangle\r\n🔻 small_red_triangle_down\r\n🔸 small_orange_diamond\r\n🔹 small_blue_diamond\r\n🔶 large_orange_diamond\r\n🔷 large_blue_diamond\r\n🔳 white_square_button\r\n🔲 black_square_button\r\n▪️ black_small_square\r\n▫️ white_small_square\r\n◾ black_medium_small_square\r\n◽ white_medium_small_square\r\n◼️ black_medium_square\r\n◻️ white_medium_square\r\n⬛ black_large_square\r\n⬜ white_large_square\r\n🟧 orange_square\r\n🟦 blue_square\r\n🟥 red_square\r\n🟫 brown_square\r\n🟪 purple_square\r\n🟩 green_square\r\n🟨 yellow_square\r\n🔈 speaker\r\n🔇 mute\r\n🔉 sound\r\n🔊 loud_sound\r\n🔔 bell\r\n🔕 no_bell\r\n📣 mega\r\n📢 loudspeaker\r\n🗨️ speech_left left_speech_bubble\r\n👁‍🗨 eye_in_speech_bubble\r\n💬 speech_balloon\r\n💭 thought_balloon\r\n🗯️ anger_right right_anger_bubble\r\n♠️ spades\r\n♣️ clubs\r\n♥️ hearts\r\n♦️ diamonds\r\n🃏 black_joker\r\n🎴 flower_playing_cards\r\n🀄 mahjong\r\n🕐 clock1\r\n🕑 clock2\r\n🕒 clock3\r\n🕓 clock4\r\n🕔 clock5\r\n🕕 clock6\r\n🕖 clock7\r\n🕗 clock8\r\n🕘 clock9\r\n🕙 clock10\r\n🕚 clock11\r\n🕛 clock12\r\n🕜 clock130\r\n🕝 clock230\r\n🕞 clock330\r\n🕟 clock430\r\n🕠 clock530\r\n🕡 clock630\r\n🕢 clock730\r\n🕣 clock830\r\n🕤 clock930\r\n🕥 clock1030\r\n🕦 clock1130\r\n🕧 clock1230\r\n♀️ female_sign\r\n♂️ male_sign\r\n⚧ transgender_symbol\r\n⚕️ medical_symbol\r\n🇿 regional_indicator_z\r\n🇾 regional_indicator_y\r\n🇽 regional_indicator_x\r\n🇼 regional_indicator_w\r\n🇻 regional_indicator_v\r\n🇺 regional_indicator_u\r\n🇹 regional_indicator_t\r\n🇸 regional_indicator_s\r\n🇷 regional_indicator_r\r\n🇶 regional_indicator_q\r\n🇵 regional_indicator_p\r\n🇴 regional_indicator_o\r\n🇳 regional_indicator_n\r\n🇲 regional_indicator_m\r\n🇱 regional_indicator_l\r\n🇰 regional_indicator_k\r\n🇯 regional_indicator_j\r\n🇮 regional_indicator_i\r\n🇭 regional_indicator_h\r\n🇬 regional_indicator_g\r\n🇫 regional_indicator_f\r\n🇪 regional_indicator_e\r\n🇩 regional_indicator_d\r\n🇨 regional_indicator_c\r\n🇧 regional_indicator_b\r\n🇦 regional_indicator_a\r\n🏳️ flag_white\r\n🏴 flag_black\r\n🏁 checkered_flag\r\n🚩 triangular_flag_on_post\r\n🏳️‍🌈 rainbow_flag gay_pride_flag\r\n🏳️‍⚧️ transgender_flag\r\n🏴‍☠️ pirate_flag\r\n🇦🇫 flag_af\r\n🇦🇽 flag_ax\r\n🇦🇱 flag_al\r\n🇩🇿 flag_dz\r\n🇦🇸 flag_as\r\n🇦🇩 flag_ad\r\n🇦🇴 flag_ao\r\n🇦🇮 flag_ai\r\n🇦🇶 flag_aq\r\n🇦🇬 flag_ag\r\n🇦🇷 flag_ar\r\n🇦🇲 flag_am\r\n🇦🇼 flag_aw\r\n🇦🇺 flag_au\r\n🇦🇹 flag_at\r\n🇦🇿 flag_az\r\n🇧🇸 flag_bs\r\n🇧🇭 flag_bh\r\n🇧🇩 flag_bd\r\n🇧🇧 flag_bb\r\n🇧🇾 flag_by\r\n🇧🇪 flag_be\r\n🇧🇿 flag_bz\r\n🇧🇯 flag_bj\r\n🇧🇲 flag_bm\r\n🇧🇹 flag_bt\r\n🇧🇴 flag_bo\r\n🇧🇦 flag_ba\r\n🇧🇼 flag_bw\r\n🇧🇷 flag_br\r\n🇮🇴 flag_io\r\n🇻🇬 flag_vg\r\n🇧🇳 flag_bn\r\n🇧🇬 flag_bg\r\n🇧🇫 flag_bf\r\n🇧🇮 flag_bi\r\n🇰🇭 flag_kh\r\n🇨🇲 flag_cm\r\n🇨🇦 flag_ca\r\n🇮🇨 flag_ic\r\n🇨🇻 flag_cv\r\n🇧🇶 flag_bq\r\n🇰🇾 flag_ky\r\n🇨🇫 flag_cf\r\n🇹🇩 flag_td\r\n🇨🇱 flag_cl\r\n🇨🇳 flag_cn\r\n🇨🇽 flag_cx\r\n🇨🇨 flag_cc\r\n🇨🇴 flag_co\r\n🇰🇲 flag_km\r\n🇨🇬 flag_cg\r\n🇨🇩 flag_cd\r\n🇨🇰 flag_ck\r\n🇨🇷 flag_cr\r\n🇨🇮 flag_ci\r\n🇭🇷 flag_hr\r\n🇨🇺 flag_cu\r\n🇨🇼 flag_cw\r\n🇨🇾 flag_cy\r\n🇨🇿 flag_cz\r\n🇩🇰 flag_dk\r\n🇩🇯 flag_dj\r\n🇩🇲 flag_dm\r\n🇩🇴 flag_do\r\n🇪🇨 flag_ec\r\n🇪🇬 flag_eg\r\n🇸🇻 flag_sv\r\n🇬🇶 flag_gq\r\n🇪🇷 flag_er\r\n🇪🇪 flag_ee\r\n🇪🇹 flag_et\r\n🇪🇺 flag_eu\r\n🇫🇰 flag_fk\r\n🇫🇴 flag_fo\r\n🇫🇯 flag_fj\r\n🇫🇮 flag_fi\r\n🇫🇷 flag_fr\r\n🇬🇫 flag_gf\r\n🇵🇫 flag_pf\r\n🇹🇫 flag_tf\r\n🇬🇦 flag_ga\r\n🇬🇲 flag_gm\r\n🇬🇪 flag_ge\r\n🇩🇪 flag_de\r\n🇬🇭 flag_gh\r\n🇬🇮 flag_gi\r\n🇬🇷 flag_gr\r\n🇬🇱 flag_gl\r\n🇬🇩 flag_gd\r\n🇬🇵 flag_gp\r\n🇬🇺 flag_gu\r\n🇬🇹 flag_gt\r\n🇬🇬 flag_gg\r\n🇬🇳 flag_gn\r\n🇬🇼 flag_gw\r\n🇬🇾 flag_gy\r\n🇭🇹 flag_ht\r\n🇭🇳 flag_hn\r\n🇭🇰 flag_hk\r\n🇭🇺 flag_hu\r\n🇮🇸 flag_is\r\n🇮🇳 flag_in\r\n🇮🇩 flag_id\r\n🇮🇷 flag_ir\r\n🇮🇶 flag_iq\r\n🇮🇪 flag_ie\r\n🇮🇲 flag_im\r\n🇮🇱 flag_il\r\n🇮🇹 flag_it\r\n🇯🇲 flag_jm\r\n🇯🇵 flag_jp\r\n🎌 crossed_flags\r\n🇯🇪 flag_je\r\n🇯🇴 flag_jo\r\n🇰🇿 flag_kz\r\n🇰🇪 flag_ke\r\n🇰🇮 flag_ki\r\n🇽🇰 flag_xk\r\n🇰🇼 flag_kw\r\n🇰🇬 flag_kg\r\n🇱🇦 flag_la\r\n🇱🇻 flag_lv\r\n🇱🇧 flag_lb\r\n🇱🇸 flag_ls\r\n🇱🇷 flag_lr\r\n🇱🇾 flag_ly\r\n🇱🇮 flag_li\r\n🇱🇹 flag_lt\r\n🇱🇺 flag_lu\r\n🇲🇴 flag_mo\r\n🇲🇰 flag_mk\r\n🇲🇬 flag_mg\r\n🇲🇼 flag_mw\r\n🇲🇾 flag_my\r\n🇲🇻 flag_mv\r\n🇲🇱 flag_ml\r\n🇲🇹 flag_mt\r\n🇲🇭 flag_mh\r\n🇲🇶 flag_mq\r\n🇲🇷 flag_mr\r\n🇲🇺 flag_mu\r\n🇾🇹 flag_yt\r\n🇲🇽 flag_mx\r\n🇫🇲 flag_fm\r\n🇲🇩 flag_md\r\n🇲🇨 flag_mc\r\n🇲🇳 flag_mn\r\n🇲🇪 flag_me\r\n🇲🇸 flag_ms\r\n🇲🇦 flag_ma\r\n🇲🇿 flag_mz\r\n🇲🇲 flag_mm\r\n🇳🇦 flag_na\r\n🇳🇷 flag_nr\r\n🇳🇵 flag_np\r\n🇳🇱 flag_nl\r\n🇳🇨 flag_nc\r\n🇳🇿 flag_nz\r\n🇳🇮 flag_ni\r\n🇳🇪 flag_ne\r\n🇳🇬 flag_ng\r\n🇳🇺 flag_nu\r\n🇳🇫 flag_nf\r\n🇰🇵 flag_kp\r\n🇲🇵 flag_mp\r\n🇳🇴 flag_no\r\n🇴🇲 flag_om\r\n🇵🇰 flag_pk\r\n🇵🇼 flag_pw\r\n🇵🇸 flag_ps\r\n🇵🇦 flag_pa\r\n🇵🇬 flag_pg\r\n🇵🇾 flag_py\r\n🇵🇪 flag_pe\r\n🇵🇭 flag_ph\r\n🇵🇳 flag_pn\r\n🇵🇱 flag_pl\r\n🇵🇹 flag_pt\r\n🇵🇷 flag_pr\r\n🇶🇦 flag_qa\r\n🇷🇪 flag_re\r\n🇷🇴 flag_ro\r\n🇷🇺 flag_ru\r\n🇷🇼 flag_rw\r\n🇼🇸 flag_ws\r\n🇸🇲 flag_sm\r\n🇸🇹 flag_st\r\n🇸🇦 flag_sa\r\n🇸🇳 flag_sn\r\n🇷🇸 flag_rs\r\n🇸🇨 flag_sc\r\n🇸🇱 flag_sl\r\n🇸🇬 flag_sg\r\n🇸🇽 flag_sx\r\n🇸🇰 flag_sk\r\n🇸🇮 flag_si\r\n🇬🇸 flag_gs\r\n🇸🇧 flag_sb\r\n🇸🇴 flag_so\r\n🇿🇦 flag_za\r\n🇰🇷 flag_kr\r\n🇸🇸 flag_ss\r\n🇪🇸 flag_es\r\n🇱🇰 flag_lk\r\n🇧🇱 flag_bl\r\n🇸🇭 flag_sh\r\n🇰🇳 flag_kn\r\n🇱🇨 flag_lc\r\n🇵🇲 flag_pm\r\n🇻🇨 flag_vc\r\n🇸🇩 flag_sd\r\n🇸🇷 flag_sr\r\n🇸🇿 flag_sz\r\n🇸🇪 flag_se\r\n🇨🇭 flag_ch\r\n🇸🇾 flag_sy\r\n🇹🇼 flag_tw\r\n🇹🇯 flag_tj\r\n🇹🇿 flag_tz\r\n🇹🇭 flag_th\r\n🇹🇱 flag_tl\r\n🇹🇬 flag_tg\r\n🇹🇰 flag_tk\r\n🇹🇴 flag_to\r\n🇹🇹 flag_tt\r\n🇹🇳 flag_tn\r\n🇹🇷 flag_tr\r\n🇹🇲 flag_tm\r\n🇹🇨 flag_tc\r\n🇻🇮 flag_vi\r\n🇹🇻 flag_tv\r\n🇺🇬 flag_ug\r\n🇺🇦 flag_ua\r\n🇦🇪 flag_ae\r\n🇬🇧 flag_gb\r\n🏴󠁧󠁢󠁥󠁮󠁧󠁿 england\r\n🏴󠁧󠁢󠁳󠁣󠁴󠁿 scotland\r\n🏴󠁧󠁢󠁷󠁬󠁳󠁿 wales\r\n🇺🇸 flag_us\r\n🇺🇾 flag_uy\r\n🇺🇿 flag_uz\r\n🇻🇺 flag_vu\r\n🇻🇦 flag_va\r\n🇻🇪 flag_ve\r\n🇻🇳 flag_vn\r\n🇼🇫 flag_wf\r\n🇪🇭 flag_eh\r\n🇾🇪 flag_ye\r\n🇿🇲 flag_zm\r\n🇿🇼 flag_zw\r\n🇦🇨 flag_ac\r\n🇧🇻 flag_bv\r\n🇨🇵 flag_cp\r\n🇪🇦 flag_ea\r\n🇩🇬 flag_dg\r\n🇭🇲 flag_hm\r\n🇲🇫 flag_mf\r\n🇸🇯 flag_sj\r\n🇹🇦 flag_ta\r\n🇺🇲 flag_um\r\n🇺🇳 united_nations\r\n0⃣ zero\r\n1⃣ one\r\n2⃣ two\r\n3⃣ three\r\n4⃣ four\r\n5⃣ five\r\n6⃣ six\r\n7⃣ seven\r\n8⃣ eight\r\n9⃣ nine\r\n🏻 skin-tone-1\r\n🏼 skin-tone-2\r\n🏽 skin-tone-3\r\n🏾 skin-tone-4\r\n🏿 skin-tone-5\r\n`.trim()\r\n","export const SKIN_TONES = [\r\n {\r\n unicode: \"🏻\",\r\n number: 1,\r\n name: \"light\",\r\n },\r\n {\r\n unicode: \"🏼\",\r\n number: 2,\r\n name: \"medium_light\",\r\n },\r\n {\r\n unicode: \"🏽\",\r\n number: 3,\r\n name: \"medium\",\r\n },\r\n {\r\n unicode: \"🏾\",\r\n number: 4,\r\n name: \"medium_dark\",\r\n },\r\n {\r\n unicode: \"🏿\",\r\n number: 5,\r\n name: \"dark\",\r\n },\r\n]\r\n\r\nexport const TONE_NUMBERS = Object.fromEntries(\r\n SKIN_TONES.map(tone => [tone.number, tone.unicode]),\r\n)\r\n\r\nexport const TONE_NAMES = Object.fromEntries(\r\n SKIN_TONES.map(tone => [tone.name, tone.unicode]),\r\n)\r\n","import { SERIALISED_EMOJI_DATA } from \"./serialisedEmojiData\"\r\nimport { SKIN_TONES, TONE_NAMES, TONE_NUMBERS } from \"./skinTones\"\r\n\r\n// Flag reference:\r\n// + = include ::skin-tone-x\r\n// # = include _tonex\r\n// ! = include _x_skin_tone\r\n// * = skip alias as global\r\n\r\ntype Emoji = {\r\n emoji: string\r\n flags?: string\r\n aliases: {\r\n name: string\r\n flags?: string\r\n }[]\r\n}\r\n\r\nconst EMOJI: Emoji[] = SERIALISED_EMOJI_DATA.split(\"\\n\").map(line => {\r\n const [emoji, ...names] = line.split(\" \")\r\n\r\n return {\r\n emoji: emoji.split(\"/\")[0],\r\n flags: emoji.split(\"/\")[1],\r\n aliases: names.map(name => ({\r\n name: name.split(\"/\")[0],\r\n flags: name.split(\"/\")[1],\r\n })),\r\n }\r\n})\r\n\r\nconst ZWJ = String.fromCodePoint(0x200d)\r\n\r\nconst MAN = \"👨\"\r\nconst WOMAN = \"👩\"\r\nconst PERSON = \"🧑\"\r\n\r\nconst HANDSHAKE = \"🤝\"\r\n\r\nconst NAME_TO_EMOJI = new Map()\r\nconst EMOJI_TO_NAME = new Map()\r\n\r\nfor (const { emoji, flags, aliases } of EMOJI) {\r\n EMOJI_TO_NAME.set(emoji, aliases[0].name)\r\n\r\n if (flags?.includes(\"+\")) {\r\n for (const [number, diversity] of Object.entries(TONE_NUMBERS)) {\r\n EMOJI_TO_NAME.set(emoji + diversity, `${aliases[0].name}_tone${number}`)\r\n }\r\n }\r\n\r\n for (const alias of aliases) {\r\n if (!alias.flags?.includes(\"*\")) {\r\n NAME_TO_EMOJI.set(alias.name, emoji)\r\n }\r\n\r\n if (flags?.includes(\"+\")) {\r\n for (const [number, diversity] of Object.entries(TONE_NUMBERS)) {\r\n NAME_TO_EMOJI.set(\r\n `${alias.name}::skin-tone-${number}`,\r\n emoji + diversity,\r\n )\r\n }\r\n }\r\n\r\n if (alias.flags?.includes(\"#\")) {\r\n for (const [id, diversity] of Object.entries(TONE_NUMBERS)) {\r\n NAME_TO_EMOJI.set(`${alias.name}_tone${id}`, emoji + diversity)\r\n }\r\n }\r\n\r\n if (alias.flags?.includes(\"!\")) {\r\n for (const [number, diversity] of Object.entries(TONE_NAMES)) {\r\n NAME_TO_EMOJI.set(\r\n `${alias.name}_${number}_skin_tone`,\r\n emoji + diversity,\r\n )\r\n }\r\n }\r\n }\r\n}\r\n\r\nfor (const { unicode: toneA, number: numberA, name: nameA } of SKIN_TONES) {\r\n const idSuffix = `_tone${numberA}`\r\n const nameSuffix = `_${nameA}_skin_tone`\r\n const toneSuffix = `::skin-tone-${numberA}`\r\n\r\n const womanAndMan = `👫${toneA}`\r\n const womanAndManName = \"woman_and_man_holding_hands\"\r\n\r\n EMOJI_TO_NAME.set(womanAndMan, womanAndManName + idSuffix)\r\n NAME_TO_EMOJI.set(womanAndManName + idSuffix, womanAndMan)\r\n NAME_TO_EMOJI.set(womanAndManName + nameSuffix, womanAndMan)\r\n NAME_TO_EMOJI.set(`couple${toneSuffix}`, womanAndMan)\r\n\r\n const men = `👬${toneA}`\r\n const menName = \"men_holding_hands\"\r\n EMOJI_TO_NAME.set(men, menName + idSuffix)\r\n NAME_TO_EMOJI.set(menName + idSuffix, men)\r\n NAME_TO_EMOJI.set(menName + nameSuffix, men)\r\n NAME_TO_EMOJI.set(`two_${menName}${toneSuffix}`, men)\r\n\r\n const women = `👭${toneA}`\r\n const womenName = \"women_holding_hands\"\r\n EMOJI_TO_NAME.set(women, womenName + idSuffix)\r\n NAME_TO_EMOJI.set(womenName + idSuffix, women)\r\n NAME_TO_EMOJI.set(womenName + nameSuffix, women)\r\n NAME_TO_EMOJI.set(`two_${womenName}${toneSuffix}`, women)\r\n\r\n const people = PERSON + toneA + ZWJ + HANDSHAKE + ZWJ + PERSON + toneA\r\n const peopleName = \"people_holding_hands\"\r\n EMOJI_TO_NAME.set(people, peopleName + idSuffix)\r\n NAME_TO_EMOJI.set(peopleName + idSuffix, people)\r\n NAME_TO_EMOJI.set(peopleName + nameSuffix, people)\r\n NAME_TO_EMOJI.set(peopleName + toneSuffix, people)\r\n\r\n for (const { unicode: toneB, number: numberB, name: nameB } of SKIN_TONES) {\r\n if (numberA <= numberB) continue\r\n\r\n const idSuffix = `_tone${numberA}_tone${numberB}`\r\n const nameSuffix = `_${nameA}_skin_tone_${nameB}_skin_tone`\r\n\r\n const womanAndMan = WOMAN + toneA + ZWJ + HANDSHAKE + ZWJ + MAN + toneB\r\n EMOJI_TO_NAME.set(womanAndMan, womanAndManName + idSuffix)\r\n NAME_TO_EMOJI.set(womanAndManName + idSuffix, womanAndMan)\r\n NAME_TO_EMOJI.set(womanAndManName + nameSuffix, womanAndMan)\r\n\r\n const men = MAN + toneA + ZWJ + HANDSHAKE + ZWJ + MAN + toneB\r\n EMOJI_TO_NAME.set(men, menName + idSuffix)\r\n NAME_TO_EMOJI.set(menName + idSuffix, men)\r\n NAME_TO_EMOJI.set(menName + nameSuffix, men)\r\n\r\n const women = WOMAN + toneA + ZWJ + HANDSHAKE + ZWJ + WOMAN + toneB\r\n EMOJI_TO_NAME.set(women, womenName + idSuffix)\r\n NAME_TO_EMOJI.set(womenName + idSuffix, women)\r\n NAME_TO_EMOJI.set(womenName + nameSuffix, women)\r\n\r\n const people = PERSON + toneA + ZWJ + HANDSHAKE + ZWJ + PERSON + toneB\r\n EMOJI_TO_NAME.set(people, peopleName + idSuffix)\r\n NAME_TO_EMOJI.set(peopleName + idSuffix, people)\r\n NAME_TO_EMOJI.set(peopleName + nameSuffix, people)\r\n }\r\n}\r\n\r\nexport { NAME_TO_EMOJI, EMOJI_TO_NAME }\r\n","import { em, rem, size } from \"polished\"\r\nimport styled, { css } from \"styled-components\"\r\nimport { RichEmbedContainer } from \"./RichEmbedContainer\"\r\n\r\nexport const Emoji = styled.img.attrs({ draggable: false })<{ big?: boolean }>`\r\n ${size(em(22))};\r\n object-fit: contain;\r\n vertical-align: bottom;\r\n ${({ theme, big }) =>\r\n theme.appearance.display === \"cozy\" &&\r\n big &&\r\n css`\r\n ${size(rem(48))};\r\n min-height: ${rem(48)};\r\n `};\r\n ${RichEmbedContainer} & {\r\n ${size(18)};\r\n }\r\n`","import React from \"react\"\r\nimport { defaultRules } from \"simple-markdown\"\r\nimport { NAME_TO_EMOJI } from \"../emoji/emoji\"\r\nimport { getEmojiUrl } from \"../emoji/getEmojiUrl\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { Emoji } from \"../styles/Emoji\"\r\n\r\nconst PLAINTEXT_EMOJIS = new Set([\"™\", \"™️\", \"©\", \"©️\", \"®\", \"®️\"])\r\n\r\nconst EMOJI_NAME_RE = /^:([^\\s:]+?(?:::skin-tone-\\d)?):/\r\n\r\nexport const emoji: MarkdownRule = {\r\n ...defaultRules.text,\r\n match: content => {\r\n const match = EMOJI_NAME_RE.exec(content)\r\n if (!match) return null\r\n\r\n const [, name] = match\r\n\r\n if (NAME_TO_EMOJI.get(name)) {\r\n return match\r\n }\r\n\r\n return null\r\n },\r\n parse: capture => {\r\n const [content, name] = capture\r\n\r\n const emoji = NAME_TO_EMOJI.get(name)\r\n\r\n if (!emoji || PLAINTEXT_EMOJIS.has(emoji)) {\r\n return {\r\n type: \"text\",\r\n content,\r\n }\r\n }\r\n\r\n const url = getEmojiUrl(emoji)\r\n\r\n return {\r\n name,\r\n emoji,\r\n src: url,\r\n }\r\n },\r\n react: (node, _, state) => (\r\n \r\n ),\r\n}\r\n","const EMOJI_CDN_BASE_URL = \"https://twemoji.maxcdn.com/v/13.0.1/svg\"\r\n\r\nexport const getEmojiUrl = (emoji: string) => {\r\n const file = [...emoji]\r\n .map(character => character.codePointAt(0)?.toString(16))\r\n // Twemoji does not include \"\\uFE0F\" (VARIATION SELECTOR) in their file names\r\n // if the emoji does not contain \"\\u200D\" (ZERO WIDTH JOINER)\r\n .filter((item, index, array) => array.includes(\"200d\") || item !== \"fe0f\")\r\n .join(\"-\")\r\n\r\n return `${EMOJI_CDN_BASE_URL}/${file}.svg`\r\n}\r\n","import { defaultRules, inlineRegex } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const emote: MarkdownRule = {\r\n order: defaultRules.text.order,\r\n match: inlineRegex(/^¯\\\\_\\(ツ\\)_\\/¯/),\r\n parse: capture => {\r\n const [content] = capture\r\n\r\n return {\r\n type: \"text\",\r\n content,\r\n }\r\n },\r\n react: null,\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const emphasis: MarkdownRule = defaultRules.em\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const escape: MarkdownRule = defaultRules.escape\r\n","import { em, rem } from \"polished\"\r\nimport styled from \"styled-components\"\r\nimport { RichEmbedContainer } from \"./RichEmbedContainer\"\r\n\r\nexport const Code = styled.code`\r\n padding: ${em(3.2)};\r\n margin: ${em(-3.2)} 0;\r\n border-radius: 3px;\r\n background: ${({ theme }) => theme.background.secondary};\r\n font-size: ${em(13.6)};\r\n line-height: ${rem(18)};\r\n white-space: pre-wrap;\r\n ${RichEmbedContainer} && {\r\n background: ${({ theme }) => theme.background.tertiary};\r\n }\r\n`","import React from \"react\"\r\nimport { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { Code } from \"../styles/Code\"\r\n\r\nexport const inlineCode: MarkdownRule = {\r\n ...defaultRules.inlineCode,\r\n react: (node, output, state) => {node.content},\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const lineBreak: MarkdownRule = defaultRules.br\r\n","import { tint, transparentize } from \"polished\"\r\nimport styled from \"styled-components\"\r\nimport { DARK_THEME } from \"./darkTheme\"\r\n\r\nexport const Mention = styled.span`\r\n border-radius: 3px;\r\n padding: 0 2px;\r\n cursor: pointer;\r\n background: ${transparentize(0.9, DARK_THEME.discord.primary)};\r\n color: ${({ theme }) => theme.discord.primary};\r\n font-weight: 500;\r\n &:hover {\r\n background: ${transparentize(0.3, DARK_THEME.discord.primary)};\r\n color: var(--header-primary);\r\n }\r\n`","import React from \"react\"\r\nimport { defaultRules, inlineRegex } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { Mention } from \"../styles/Mention\"\r\n\r\nconst MENTION_RE = /^<(@!?|@&|#)\\d+>|^(@(?:everyone|here))/\r\n\r\nconst MENTION_TYPES = new Map(\r\n Object.entries({\r\n \"@\": \"@user\",\r\n \"@!\": \"@user\",\r\n \"@&\": \"@role\",\r\n \"#\": \"#channel\",\r\n }),\r\n)\r\n\r\nexport const mention: MarkdownRule = {\r\n order: defaultRules.text.order,\r\n match: inlineRegex(MENTION_RE),\r\n parse: capture => {\r\n const [, type, everyoneOrHere] = capture\r\n\r\n if (everyoneOrHere) {\r\n return {\r\n content: everyoneOrHere,\r\n }\r\n }\r\n\r\n return {\r\n content: MENTION_TYPES.get(type),\r\n }\r\n },\r\n react: (node, output, state) => (\r\n {node.content}\r\n ),\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const newline: MarkdownRule = defaultRules.newline\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const paragraph: MarkdownRule = defaultRules.paragraph\r\n","import { transparentize } from \"polished\"\r\nimport styled from \"styled-components\"\r\n\r\nexport const Spoiler = styled.span`\r\n background: ${({ theme }) =>\r\n transparentize(0.9, theme.appearance.color === \"dark\" ? \"white\" : \"black\")};\r\n border-radius: 3px;\r\n`\r\n","import React from \"react\"\r\nimport { defaultRules, inlineRegex } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { Spoiler } from \"../styles/Spoiler\"\r\n\r\nexport const spoiler: MarkdownRule = {\r\n order: defaultRules.text.order,\r\n match: inlineRegex(/^\\|\\|([\\S\\s]+?)\\|\\|/),\r\n parse: (capture, parse, state) => ({\r\n content: parse(capture[1], state),\r\n }),\r\n react: (node, output, state) => (\r\n {output(node.content, state)}\r\n ),\r\n}\r\n","import { defaultRules, inlineRegex } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const strikethrough: MarkdownRule = {\r\n ...defaultRules.del,\r\n match: inlineRegex(/^~~([\\S\\s]+?)~~(?!_)/),\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const strong: MarkdownRule = defaultRules.strong\r\n","import { EMOJI_TO_NAME } from \"./emoji\"\r\n\r\n// Matches string symbols instead of code points\r\n// Regex extracted from lodash: https://github.com/lodash/lodash/blob/4.17.15/lodash.js#L261\r\n// eslint-disable-next-line no-misleading-character-class\r\nconst UNICODE_CHARACTER_RE = /\\ud83c[\\udffb-\\udfff](?=\\ud83c[\\udffb-\\udfff])|(?:[^\\ud800-\\udfff][\\u0300-\\u036f\\u20d0-\\u20ff\\ufe20-\\ufe2f]?|[\\u0300-\\u036f\\u20d0-\\u20ff\\ufe20-\\ufe2f]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\u20d0-\\u20ff\\ufe20-\\ufe2f]|\\ud83c[\\udffb-\\udfff])?(?:\\u200d(?:[^\\ud800-\\udfff]|(?:\\ud83c[\\udde6-\\uddff]){2}|[\\ud800-\\udbff][\\udc00-\\udfff])[\\ufe0e\\ufe0f]?(?:[\\u0300-\\u036f\\u20d0-\\u20ff\\ufe20-\\ufe2f]|\\ud83c[\\udffb-\\udfff])?)*/g\r\n\r\nconst CANCEL_TAG = String.fromCharCode(0xe007f)\r\nconst WAVING_BLACK_FLAG = \"🏴\"\r\n\r\nconst getEmoji = (text: string) =>\r\n EMOJI_TO_NAME.has(text) ? `:${EMOJI_TO_NAME.get(text)}:` : text\r\n\r\nexport const convertEmojiToNames = (text: string) => {\r\n let result = \"\"\r\n\r\n let buffer: string | undefined\r\n\r\n // eslint-disable-next-line @typescript-eslint/prefer-regexp-exec\r\n for (const char of text.match(UNICODE_CHARACTER_RE) ?? []) {\r\n if (buffer) {\r\n if (char === CANCEL_TAG) {\r\n result += getEmoji(buffer + char)\r\n buffer = undefined\r\n continue\r\n } else if (/^\\udb40[\\udb61-\\udb7a]$/.test(char)) {\r\n buffer += char\r\n continue\r\n } else {\r\n result += getEmoji(buffer)\r\n buffer = undefined\r\n }\r\n } else if (char === WAVING_BLACK_FLAG) {\r\n buffer = char\r\n continue\r\n }\r\n\r\n result += getEmoji(char)\r\n }\r\n\r\n return result\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport { convertEmojiToNames } from \"../emoji/convertEmojiToNames\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const text: MarkdownRule = {\r\n ...defaultRules.text,\r\n parse: (capture, parse, state) => {\r\n const [content] = capture\r\n const { nested } = state\r\n\r\n if (nested) {\r\n return {\r\n content,\r\n }\r\n }\r\n\r\n return parse(convertEmojiToNames(content), {\r\n ...state,\r\n nested: true,\r\n })\r\n },\r\n}\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\n\r\nexport const underline: MarkdownRule = defaultRules.u\r\n","import { defaultRules } from \"simple-markdown\"\r\nimport { parseUrl } from \"../helpers/parseUrl\"\r\nimport type { MarkdownRule } from \"../parsers/MarkdownRule\"\r\nimport { link } from \"./link\"\r\n\r\nexport const url: MarkdownRule = {\r\n ...defaultRules.url,\r\n match: (content, state) => {\r\n if (!state.inline) return null\r\n\r\n const match = /^((?:https?|steam):\\/\\/[^\\s<]+[^\\s\"',.:;<\\]])/.exec(content)\r\n if (!match) return null\r\n\r\n let [href] = match\r\n let searchPosition = 0\r\n\r\n for (let pos = href.length - 1; pos >= 0 && href[pos] === \")\"; pos -= 1) {\r\n const index = href.indexOf(\"(\", searchPosition)\r\n\r\n if (index === -1) {\r\n href = href.slice(0, -1)\r\n break\r\n }\r\n\r\n searchPosition = index + 1\r\n }\r\n\r\n return [href, href]\r\n },\r\n parse: parseUrl,\r\n react: link.react,\r\n}\r\n","import { outputFor, parserFor, SingleASTNode } from \"simple-markdown\"\r\nimport type { MarkdownRule } from \"./MarkdownRule\"\r\n\r\nexport const createParser = (\r\n rules: Record,\r\n transform?: (ast: SingleASTNode[]) => SingleASTNode[],\r\n) => {\r\n const parse = parserFor(rules, { inline: true })\r\n const output = outputFor(rules, \"react\")\r\n\r\n return (content: string) => {\r\n let ast = parse(content)\r\n\r\n if (transform) {\r\n ast = transform(ast)\r\n }\r\n\r\n return output(ast)\r\n }\r\n}\r\n","import { autolink } from \"../rules/autolink\"\r\nimport { blockQuote } from \"../rules/blockQuote\"\r\nimport { codeBlock } from \"../rules/codeBlock\"\r\nimport { customEmoji } from \"../rules/customEmoji\"\r\nimport { emoji } from \"../rules/emoji\"\r\nimport { emote } from \"../rules/emote\"\r\nimport { emphasis } from \"../rules/emphasis\"\r\nimport { escape } from \"../rules/escape\"\r\nimport { inlineCode } from \"../rules/inlineCode\"\r\nimport { lineBreak } from \"../rules/lineBreak\"\r\nimport { link } from \"../rules/link\"\r\nimport { mention } from \"../rules/mention\"\r\nimport { newline } from \"../rules/newline\"\r\nimport { paragraph } from \"../rules/paragraph\"\r\nimport { spoiler } from \"../rules/spoiler\"\r\nimport { strikethrough } from \"../rules/strikethrough\"\r\nimport { strong } from \"../rules/strong\"\r\nimport { text } from \"../rules/text\"\r\nimport { underline } from \"../rules/underline\"\r\nimport { url } from \"../rules/url\"\r\nimport { createParser } from \"./createParser\"\r\n\r\nexport const parseEmbedContent = createParser({\r\n autolink,\r\n blockQuote,\r\n codeBlock,\r\n customEmoji,\r\n emoji,\r\n emote,\r\n emphasis,\r\n escape,\r\n inlineCode,\r\n lineBreak,\r\n link,\r\n mention,\r\n newline,\r\n paragraph,\r\n spoiler,\r\n strikethrough,\r\n strong,\r\n text,\r\n underline,\r\n url,\r\n})\r\n","import { autolink } from \"../rules/autolink\"\r\nimport { blockQuote } from \"../rules/blockQuote\"\r\nimport { customEmoji } from \"../rules/customEmoji\"\r\nimport { emoji } from \"../rules/emoji\"\r\nimport { emote } from \"../rules/emote\"\r\nimport { emphasis } from \"../rules/emphasis\"\r\nimport { escape } from \"../rules/escape\"\r\nimport { inlineCode } from \"../rules/inlineCode\"\r\nimport { spoiler } from \"../rules/spoiler\"\r\nimport { strikethrough } from \"../rules/strikethrough\"\r\nimport { strong } from \"../rules/strong\"\r\nimport { text } from \"../rules/text\"\r\nimport { underline } from \"../rules/underline\"\r\nimport { url } from \"../rules/url\"\r\nimport { createParser } from \"./createParser\"\r\n\r\nexport const parseEmbedHeader = createParser({\r\n autolink,\r\n blockQuote,\r\n customEmoji,\r\n emoji,\r\n emote,\r\n emphasis,\r\n escape,\r\n inlineCode,\r\n spoiler,\r\n strikethrough,\r\n strong,\r\n text,\r\n underline,\r\n url,\r\n})\r\n","import React from 'react'\r\nimport EmbedHeader from './header'\r\nimport EmbedGallery from './gallery'\r\nimport EmbedFooter from './footer'\r\nimport { parseEmbedContent } from '../markdown/parsers/parseEmbedContent'\r\nimport { parseEmbedHeader } from '../markdown/parsers/parseEmbedHeader'\r\nimport embedStyles from '../messagestyles.module.css'\r\nimport { RichEmbedContainer } from '../markdown/styles/RichEmbedContainer'\r\n\r\nfunction toHexColor(num: number) {\r\n let x = Number(num).toString(16);\r\n while (x.length < 6) {\r\n x = \"0\" + x;\r\n }\r\n return \"#\" + x;\r\n}\r\n\r\nexport type EmbedData = {\r\n\tcolor?: number,\r\n\tthumbnail?: {\r\n\t\turl: string\r\n\t},\r\n\tfields?: {\r\n\t\tname: string,\r\n\t\tvalue: string\r\n\t}[],\r\n\tauthor?: {\r\n\t\tname: string,\r\n\t\turl?: string,\r\n\t\ticon_url?: string\r\n\t},\r\n\ttitle?: string,\r\n\turl?: string,\r\n\tdescription?: string,\r\n\timages?: {\r\n\t\turl?: string,\r\n\t\timage: {\r\n\t\t\turl: string\r\n\t\t}\r\n\t}[],\r\n\timage?: {\r\n\t\turl: string\r\n\t}\r\n\tfooter?: {\r\n\t\ttext?: string,\r\n\t\ticon_url?: string\r\n\t},\r\n\ttimestamp?: string\r\n};\r\n\r\nexport default function Embed(props: {\r\n\tdata: EmbedData\r\n}) {\r\n\tlet fields = [];\r\n\tif (props.data.fields) {\r\n\t\tlet df = props.data.fields;\r\n\t\tlet fkeys = 0;\r\n\t\tfor (let i = 0; i < df.length; i++) {\r\n\t\t\tfields.push(\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{df[i].name}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{parseEmbedContent(df[i].value)}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t\t}\r\n\t}\r\n\treturn (\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t{props.data.author &&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t{props.data.title && \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{props.data.url && \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{parseEmbedHeader(props.data.title)}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{!props.data.url && props.data.title}\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{props.data.description && \r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{parseEmbedContent(props.data.description)}\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t\t{fields}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t{props.data.thumbnail && \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}","import messageStyles from './messagestyles.module.css'\r\n\r\nexport default function MessageMeta(props: {\r\n\tavatar: string,\r\n\tname: string,\r\n\tbot: boolean,\r\n\ttime: string,\r\n\tcolor?: React.CSSProperties['color']\r\n}) {\r\n\treturn (<>\r\n\t\t\r\n\t\t

\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.name}\r\n\t\t\t\t\r\n\t\t\t\t{props.bot && (\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tBOT\r\n\t\t\t\t\t)\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t{props.time}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t

\r\n\t)\r\n}","import type { SingleASTNode } from \"simple-markdown\"\r\n\r\nexport const jumbosizeEmojis = (ast: SingleASTNode[]): SingleASTNode[] => {\r\n // Gets all nodes of type 'emoji' or 'customEmoji'\r\n const emojiNodes = ast.filter(node => node.type === \"emoji\")\r\n // If there's more than 27 (limit of jumbosized emojis), return the tree as is\r\n if (emojiNodes.length > 27) return ast\r\n\r\n // Check if the tree has any amount of nodes that aren't emojis,\r\n // or nodes containing whitespace only\r\n const hasText = ast.some(node => {\r\n if (node.type === \"emoji\") return false\r\n if (node.type === \"br\") return false\r\n if (typeof node.content !== \"string\") return true\r\n if (node.content.trim() !== \"\") return true\r\n return false\r\n })\r\n if (hasText) return ast\r\n\r\n // If the message passed all checks, return a copy of the tree where all nodes\r\n // have the 'jumboable' property set to true\r\n return ast.map(node => {\r\n if (node.type === \"emoji\") {\r\n return { ...node, jumboable: true }\r\n }\r\n return node\r\n })\r\n}\r\n","import { jumbosizeEmojis } from \"../emoji/jumbosizeEmojis\"\r\nimport { autolink } from \"../rules/autolink\"\r\nimport { blockQuote } from \"../rules/blockQuote\"\r\nimport { codeBlock } from \"../rules/codeBlock\"\r\nimport { customEmoji } from \"../rules/customEmoji\"\r\nimport { emoji } from \"../rules/emoji\"\r\nimport { emote } from \"../rules/emote\"\r\nimport { emphasis } from \"../rules/emphasis\"\r\nimport { escape } from \"../rules/escape\"\r\nimport { inlineCode } from \"../rules/inlineCode\"\r\nimport { lineBreak } from \"../rules/lineBreak\"\r\nimport { link } from \"../rules/link\"\r\nimport { mention } from \"../rules/mention\"\r\nimport { newline } from \"../rules/newline\"\r\nimport { paragraph } from \"../rules/paragraph\"\r\nimport { spoiler } from \"../rules/spoiler\"\r\nimport { strikethrough } from \"../rules/strikethrough\"\r\nimport { strong } from \"../rules/strong\"\r\nimport { text } from \"../rules/text\"\r\nimport { underline } from \"../rules/underline\"\r\nimport { url } from \"../rules/url\"\r\nimport { createParser } from \"./createParser\"\r\n\r\nexport const parseMessageContent = createParser(\r\n {\r\n autolink,\r\n blockQuote,\r\n codeBlock,\r\n customEmoji,\r\n emoji,\r\n emote,\r\n emphasis,\r\n escape,\r\n inlineCode,\r\n lineBreak,\r\n link,\r\n mention,\r\n newline,\r\n paragraph,\r\n spoiler,\r\n strikethrough,\r\n strong,\r\n text,\r\n underline,\r\n url,\r\n },\r\n jumbosizeEmojis,\r\n)\r\n","import React from \"react\";\r\n\r\nimport Embed, { EmbedData } from './embed/embed'\r\nimport MessageMeta from './meta'\r\nimport { parseMessageContent as md } from './markdown/parsers/parseMessageContent'\r\nimport messageStyles from './messagestyles.module.css'\r\n\r\nexport type MessageData = {\r\n\tcontent: string,\r\n\tembed?: EmbedData,\r\n\tembeds?: Array\r\n}\r\n\r\nexport default function Message(props: {\r\n\tdata: MessageData,\r\n\tstyle?: React.CSSProperties\r\n}) {\r\n\tlet data = props.data\r\n\r\n\tif (!data || !(data instanceof Object) || (!data.content && !data.embed && !data.embeds)) {\r\n\t\treturn <>\r\n\t}\r\n\r\n\tdata.content = data.content ?? \"\";\r\n\r\n\tlet currDate = new Date()\r\n\tlet dateStr = `Today at ${\r\n\t\tcurrDate.getHours()%12 === 0 ? 12 : currDate.getHours()%12 \r\n\t}:${\r\n\t\t(\r\n\t\t\tcurrDate.getMinutes().toString().length < 2 ?\r\n\t\t\t\"0\" + currDate.getMinutes() :\r\n\t\t\tcurrDate.getMinutes()\r\n\t\t)\r\n\t} ${\r\n\t\tcurrDate.getHours()<12?\"AM\":\"PM\"\r\n\t}`\r\n\t\r\n\tlet embeds: EmbedData[];\r\n\r\n\tembeds = data.embeds ?? (\r\n\t\tdata.embed ? [data.embed] : undefined\r\n\t) ?? []\r\n\t\r\n\tfor (let i = 0; i < embeds.length; i++) {\r\n\t\tlet embed = embeds[i];\r\n\t\tif (!embed) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tlet keys = Object.keys(embed);\r\n\t\tif (keys.length === 2 && keys.includes('url') && keys.includes('image') && embed.image?.url) {\r\n\t\t\t// is just an image\r\n\t\t\tembeds[i] = {\r\n\t\t\t\timages: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\turl: embed.url,\r\n\t\t\t\t\t\timage: {\r\n\t\t\t\t\t\t\turl: embed.image.url\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t]\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tlet embedElems = [];\r\n\tfor (let embed of embeds) {\r\n\t\tembedElems.push(\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\treturn (\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{md(data.content)}\r\n\t\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{embedElems}\r\n\t\t\t\t
\r\n\t\t\t\r\n\t)\r\n}\r\n","\r\nimport DiscordMessage from '../../components/DiscordMessage/'\r\nimport { RouteChildrenProps} from 'react-router-dom'\r\nimport { FormEvent, useEffect, useRef, useState } from 'react'\r\nimport { MessageData } from '../../components/DiscordMessage/DiscordMessage'\r\nimport styles from './chat.module.css'\r\nimport commandsByCategory from '../../commands'\r\n\r\nlet exampleCommandThingy = {\r\n\t\"content\": \"\", \r\n\t\"embed\": {\r\n\t\t\"thumbnail\": {\r\n\t\t\t\"url\": \"/logo512.png\"\r\n\t\t},\r\n\t\t\"color\": 6899575, \r\n\t\t\"type\": \"rich\", \r\n\t\t\"description\": \"**```\\nAsk or talk about anything!```**\"\r\n\t}\r\n}\r\nexport default function ChatPage(props: RouteChildrenProps) {\r\n\tconst [search, sS] = useState(props.location.search);\r\n\tconst [commandInput, sCI] = useState('Can I please have a hug?');\r\n\tconst [hasDoneInitial, sHDI] = useState(false);\r\n\tconst [cData, sCD] = useState(exampleCommandThingy);\r\n\tconst [procError, sPE] = useState(null);\r\n\tconst [storedResultsFor, sSRF] = useState(null);\r\n\tconst [loading, sL] = useState(false);\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Miza: Chat\"\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t})\r\n\r\n\tlet btD = btoa(unescape(encodeURIComponent(JSON.stringify(cData))));\r\n\tlet sParams = new Map();\r\n\t(search.startsWith('?')?search:'?' + search).substring(1).split('&').forEach((a) => {\r\n\t\tlet key = a.split('=')[0];\r\n\t\tlet val = a.split('=').slice(1).join('=');\r\n\t\tsParams.set(key.toLowerCase(), val);\r\n\t});\r\n\tsParams.get('cmd') && sParams.set('cmd', decodeURIComponent(unescape(sParams.get('cmd'))));\r\n\r\n\tconst commandNames = useRef([]);\r\n\tconst doChat = (force?: string) => {\r\n\t\tlet cI = force ?? commandInput;\r\n\t\tsL(true);\r\n\t\tfetch((window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/command/ask%20' + encodeURIComponent(cI), {\r\n\t\t\tcredentials: 'omit',\r\n\t\t\tmode: 'cors'\r\n\t\t}).then(async (e) => {\r\n\t\t\tlet jsesc = await e.text();\r\n\t\t\tjsesc = jsesc\r\n\t\t\t\t.replace(/\\n/g, \"\\\\\\\\n\")\r\n\t\t\t\t.replace(/\\r/g, \"\\\\\\\\r\")\r\n\t\t\t\t.replace(/\\t/g, \"\\\\\\\\t\");\r\n\t\t\treturn JSON.parse(jsesc)\r\n\t\t}).then((e: MessageData[]) => {\r\n\t\t\tsCD(e[0]);\r\n\t\t\tsPE(null);\r\n\t\t\tsSRF(cI);\r\n\t\t\tsL(false);\r\n\t\t}).catch(e => {\r\n\t\t\tsL(false);\r\n\t\t\tsPE(e.toString());\r\n\t\t})\r\n\t}\r\n\tif (!hasDoneInitial) {\r\n\t\tlet fD = sParams.get('fdata'),\r\n\t\t\tcmd = sParams.get('cmd');\r\n\t\tif (fD) {\r\n\t\t\tsCD(JSON.parse(decodeURIComponent(escape(atob(fD)))));\r\n\t\t\tif (cmd) {\r\n\t\t\t\tsCI(decodeURIComponent(unescape(cmd)));\r\n\t\t\t\t// DON'T run the command again if there's data\r\n\t\t\t}\r\n\t\t} else if (cmd) {\r\n\t\t\tsCI(decodeURIComponent(unescape(sParams.get('cmd'))));\r\n\t\t\tdoChat(decodeURIComponent(unescape(sParams.get('cmd'))))\r\n\t\t}\r\n\t\tsHDI(true);\r\n\t}\r\n\t\r\n\t// const doStuff = () => {\r\n\t\t// let tempC: string[] = [];\r\n\t\t// if (!commandsByCategory.current) { \r\n\t\t\t// return;\r\n\t\t// }\r\n\t\t// for (let cat in commandsByCategory.current) {\r\n\t\t\t// for (let command in commandsByCategory.current[cat]) {\r\n\t\t\t// tempC.push(\r\n\t\t\t\t\t// ...commandsByCategory.current[cat][command].aliases.map(e => e.toLowerCase()),\r\n\t\t\t\t\t// command.toLowerCase()\r\n\t\t\t\t// )\r\n\t\t\t// }\r\n\t\t// }\r\n\t\t// commandNames.current = tempC;\r\n\t// }\r\n\t// if (!commandsByCategory.effects.includes(doStuff)) {\r\n\t\t// commandsByCategory.setEffectCB(doStuff);\r\n\t// }\r\n\r\n\t// useEffect(() => {\r\n\t\t// doStuff();\r\n\t// }, [commandNames])\r\n\r\n\tlet suggestedCommand = commandNames.current.filter(e => e.startsWith(commandInput.substring(1))).sort()?.[0];\r\n\r\n\tlet isPermaCmd = sParams.get('cmd') === commandInput.substring(1);\r\n\tlet isPermaRes = (\r\n\t\tsParams.get('cmd') === commandInput.substring(1) &&\r\n\t\tsParams.get('fdata') === btD\r\n\t)\r\n\r\n\treturn (
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t) => {\r\n\t\t\t\t\t\tsCI(\r\n\t\t\t\t\t\t\te.currentTarget.value\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonKeyPress={(e) => {\r\n\t\t\t\t\t\tif (e.key !== 'Enter') {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t// if (suggestedCommand && commandInput !== suggestedCommand) {\r\n\t\t\t\t\t\t\t// sCI(suggestedCommand);\r\n\t\t\t\t\t\t\t// return;\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t\tdoChat();\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t{commandInput.length !== 0 && suggestedCommand}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tsS(`?cmd=${commandInput}`)\r\n\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./chat?cmd=${\r\n\t\t\t\t\t\t\tcommandInput\r\n\t\t\t\t\t\t}`);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{commandInput}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./chat?cmd=${\r\n\t\t\t\t\t\t\tcommandInput\r\n\t\t\t\t\t\t}&fdata=${\r\n\t\t\t\t\t\t\tbtD\r\n\t\t\t\t\t\t}`)\r\n\t\t\t\t\t\tsS(`?cmd=${\r\n\t\t\t\t\t\t\tcommandInput\r\n\t\t\t\t\t\t}&fdata=${\r\n\t\t\t\t\t\t\tbtD\r\n\t\t\t\t\t\t}`)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{commandInput} [perma]\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{procError}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tThis is a recorded command, not one that was run just now.\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsS(``)\r\n\t\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./chat`);\r\n\t\t\t\t\t\t\tsCI(sParams.get('cmd'));\r\n\t\t\t\t\t\t\tdoChat(sParams.get('cmd'))\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\trun yourself\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}","export type numberStoredAsString = string;\r\n\r\nexport type mizaCommand = {\r\n\taliases: string[],\r\n\tdescription: string,\r\n\tusage: string,\r\n\texample: string[],\r\n\tlevel: numberStoredAsString,\r\n\trate_limit: numberStoredAsString,\r\n\ttimeout: numberStoredAsString\r\n}\r\n\r\nexport type helpJSONStruc = {\r\n\t[category: string]: {\r\n\t\t[commandName: string]: mizaCommand\r\n\t}\r\n}\r\n\r\nexport type commandsRefKinda = {\r\n\tcurrent: helpJSONStruc | null,\r\n\teffects: ((current?: commandsRefKinda['current']) => any)[],\r\n\tsetEffectCB: (cb: (current?: commandsRefKinda['current']) => any) => void,\r\n\tset: (to: helpJSONStruc | null) => void\r\n}\r\n\r\nconst commands: commandsRefKinda = {\r\n\tcurrent: null,\r\n\teffects: [],\r\n\tsetEffectCB(cb) {\r\n\t\tthis.effects.push(cb);\r\n\t},\r\n\tset(to) {\r\n\t\tthis.current = to;\r\n\t\tthis.effects.forEach((e) => {\r\n\t\t\te(this.current);\r\n\t\t})\r\n\t}\r\n}\r\n\r\nfetch(window.location.origin + '/static/HELP.json').then(e => e.json()).then((e: helpJSONStruc) => {\r\n\tcommands.set(e);\r\n})\r\n\r\nexport default commands;"," import DiscordMessage from '../../components/DiscordMessage'\r\nimport { RouteChildrenProps } from 'react-router-dom'\r\nimport styles from './atlas.module.css'\r\nimport commandsByCategory, { mizaCommand } from '../../commands'\r\nimport IsVisible from '../../components/IsVisible'\r\nimport React, { useEffect, useState } from 'react'\r\nimport { MessageData } from '../../components/DiscordMessage/DiscordMessage'\r\n\r\nlet catimages = new Map([\r\n\t['MAIN', '/main.svg'],\r\n\t['STRING', '/string.svg'],\r\n\t['ADMIN', '/admin.svg'],\r\n\t['VOICE', '/voice.svg'],\r\n\t['IMAGE', '/image.svg'],\r\n\t['FUN', '/upside_down.svg'],\r\n\t['OWNER', '/owner.svg'],\r\n\t['NSFW', '/nsfw.svg'],\r\n\t['MISC', '/misc.svg']\r\n])\r\n\r\nlet commandsByName: {\r\n\t[key: string]: namedMizaCommand\r\n} = {};\r\n\r\ninterface namedMizaCommand extends mizaCommand {\r\n\ttitle: string,\r\n\tcategory: string,\r\n\tname: string\r\n}\r\n\r\nexport default function AtlasPage(props: {\r\n\tlocation: RouteChildrenProps['location'],\r\n\tmatch?: {\r\n\t\tparams: {\r\n\t\t\tcommand?: string\r\n\t\t}\r\n\t}\r\n}) {\r\n\t\r\n\tconst [visibleCats, sVC] = useState<{\r\n\t\t[key: string]: boolean\r\n\t}>({})\r\n\tconst [currCmd, sCC] = useState(null)\r\n\tconst [doAnim, sDA] = useState(false);\r\n\tconst [forceRerender, sFRR] = useState(null)\r\n\tuseEffect(() => {}, [forceRerender])\r\n\tif (!commandsByCategory.effects.includes(sFRR)) {\r\n\t\tcommandsByCategory.setEffectCB(sFRR)\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Mizatlas\" + (\r\n\t\t\tcurrCmd?.title ? ': ' + currCmd.title : ''\r\n\t\t)\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t})\r\n\tlet cmd = props.match?.params.command;\r\n\tconst updateCommandsByName = () => {\r\n\t\tif (!commandsByCategory.current) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfor (let key in commandsByCategory.current) {\r\n\t\t\tfor (let cmd in commandsByCategory.current[key]) {\r\n\t\t\t\tcommandsByName[cmd.toLowerCase()] = {\r\n\t\t\t\t\t...commandsByCategory.current[key][cmd],\r\n\t\t\t\t\tcategory: key,\r\n\t\t\t\t\tname: cmd\r\n\t\t\t\t} as namedMizaCommand;\r\n\t\t\t}\r\n\r\n\t\t}\r\n\t\tif (props.match?.params?.command && !currCmd) {\r\n\t\t\tif (commandsByName[props.match?.params?.command?.toLowerCase()]) {\r\n\t\t\t\tsCC({\r\n\t\t\t\t\t...commandsByName[props.match.params.command.toLowerCase()],\r\n\t\t\t\t\ttitle: commandsByName[props.match.params.command.toLowerCase()].name,\r\n\t\t\t\t\tcategory: commandsByName[props.match.params.command.toLowerCase()].category,\r\n\t\t\t\t})\r\n\t\t\t} else if (catimages.get(props.match.params.command.toUpperCase())) {\r\n\t\t\t\tdocument.getElementById(props.match.params.command.toLowerCase())?.scrollIntoView({\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (!commandsByCategory.effects.includes(updateCommandsByName)) {\r\n\t\tcommandsByCategory.setEffectCB(updateCommandsByName);\r\n\t}\r\n\r\n\tconst scrollIntoViewBoye = () => {\r\n\t\tif (!commandsByCategory.current) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (commandsByCategory.current[(cmd ?? '').toUpperCase()]) {\r\n\t\t\tdocument.getElementById((cmd ?? '').toLowerCase())?.scrollIntoView({\r\n\t\t\t\tbehavior: 'smooth'\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tuseEffect(scrollIntoViewBoye, [cmd])\r\n\tif (!commandsByCategory.effects.includes(scrollIntoViewBoye)) {\r\n\t\tcommandsByCategory.setEffectCB(scrollIntoViewBoye);\r\n\t}\r\n\tuseEffect(() => {\r\n\t\tsetTimeout(() => {\r\n\t\t\tsDA(false);\r\n\t\t}, 250)\r\n\t}, [currCmd])\r\n\r\n\tconst [commandInput, sCI] = useState('~');\r\n\tconst [cData, sCD] = useState(null);\r\n\tconst [procError, sPE] = useState(null);\r\n\tconst [loading, sL] = useState(false);\r\n\r\n\tconst doCommand = (force?: string) => {\r\n\t\tlet cI = force ?? commandInput;\r\n\t\tsL(true);\r\n\t\tfetch((window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/command/' + encodeURIComponent(cI), {\r\n\t\t\tcredentials: 'omit',\r\n\t\t\tmode: 'cors'\r\n\t\t}).then(async (e) => {\r\n\t\t\tlet jsesc = await e.text();\r\n\t\t\tjsesc = jsesc\r\n\t\t\t\t.replace(/\\n/g, \"\\\\\\\\n\")\r\n\t\t\t\t.replace(/\\r/g, \"\\\\\\\\r\")\r\n\t\t\t\t.replace(/\\t/g, \"\\\\\\\\t\");\r\n\t\t\treturn JSON.parse(jsesc)\r\n\t\t}).then((e: MessageData[]) => {\r\n\t\t\tsCD(e[0]);\r\n\t\t\tsPE(null);\r\n\t\t\tsL(false);\r\n\t\t}).catch(e => {\r\n\t\t\tsL(false);\r\n\t\t\tsPE(e.toString());\r\n\t\t})\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t{commandsByCategory.current && Object.keys(commandsByCategory.current).map(key => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\twindow.history.replaceState(null, `Miza: ${key}`, `/atlas/${key.toLowerCase()}`)\r\n\t\t\t\t\t\t\t\tdocument.getElementById(key.toLowerCase())?.scrollIntoView({\r\n\t\t\t\t\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\thref={`/atlas/${key.toLowerCase()}`}\r\n\t\t\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t\t
    \r\n\t\t\t\t{commandsByCategory.current && Object.keys(commandsByCategory.current).map(cat => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\tsVC({\r\n\t\t\t\t\t\t\t\t\t\t...visibleCats,\r\n\t\t\t\t\t\t\t\t\t\t[cat]: true\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tinvisible: () => {\r\n\t\t\t\t\t\t\t\t\tsVC({\r\n\t\t\t\t\t\t\t\t\t\t...visibleCats,\r\n\t\t\t\t\t\t\t\t\t\t[cat]: false\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tminShown={0}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t
  1. \r\n\t\t\t\t\t\t\t\t
    {cat.toLowerCase()}
    \r\n\t\t\t\t\t\t\t\t{commandsByCategory.current && Object.keys(commandsByCategory.current[cat]).map((key) => {\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\t\t\t\t\twindow.history.replaceState(null, `Miza: ${key}`, `/atlas/${key.toLowerCase()}`)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tif ((!currCmd || currCmd.title !== key) && commandsByCategory.current) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsDA(true);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsCC({\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t...commandsByCategory.current[cat][key],\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: key,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcategory: cat,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname: key\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsCI(`~${key.toLowerCase()} `)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsCD(null);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsPE(null);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsL(false);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{key}\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t})}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{currCmd && \r\n\t\t\t\t\t<>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\tdocument.getElementById(currCmd.category.toLowerCase())?.scrollIntoView({\r\n\t\t\t\t\t\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t\twindow.history.replaceState(null, `Miza: ${currCmd.category.toLowerCase()}`, `/atlas/${currCmd.category.toLowerCase()}`)\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t{currCmd.category}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t

{currCmd.title}

\r\n\t\t\t\t\t\t

[[ aka {currCmd.aliases.join(', ')} ]]

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{currCmd.description}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tUsage: ~{currCmd.title.toLowerCase()} {currCmd.usage}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tExamples:\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

~')}}>\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t) => {\r\n\t\t\t\t\t\t\t\t\tsCI(e.currentTarget.value);\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\tonKeyPress={(e) => {\r\n\t\t\t\t\t\t\t\t\tif (e.key !== 'Enter') {\r\n\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t\t\t\tsCI(e.currentTarget.value);\r\n\t\t\t\t\t\t\t\t\tdoCommand();\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{procError}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t{cData && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{!cData && \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}","\r\nimport DiscordMessage from '../../components/DiscordMessage/'\r\nimport { RouteChildrenProps} from 'react-router-dom'\r\nimport { FormEvent, useEffect, useRef, useState } from 'react'\r\nimport { MessageData } from '../../components/DiscordMessage/DiscordMessage'\r\nimport styles from './tester.module.css'\r\nimport commandsByCategory from '../../commands'\r\n\r\nlet exampleCommandThingy = {\r\n\t\"content\": \"\", \r\n\t\"embed\": {\r\n\t\t\"thumbnail\": {\r\n\t\t\t\"url\": \"/logo512.png\"\r\n\t\t},\r\n\t\t\"color\": 6899575, \r\n\t\t\"type\": \"rich\", \r\n\t\t\"description\": \"**```\\nEnter a command to start!```**\"\r\n\t}\r\n}\r\nexport default function TesterPage(props: RouteChildrenProps) {\r\n\tconst [search, sS] = useState(props.location.search);\r\n\tconst [commandInput, sCI] = useState('~');\r\n\tconst [hasDoneInitial, sHDI] = useState(false);\r\n\tconst [cData, sCD] = useState(exampleCommandThingy);\r\n\tconst [procError, sPE] = useState(null);\r\n\tconst [storedResultsFor, sSRF] = useState(null);\r\n\tconst [loading, sL] = useState(false);\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Miza: Tester\"\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t})\r\n\r\n\tlet btD = btoa(unescape(encodeURIComponent(JSON.stringify(cData))));\r\n\tlet sParams = new Map();\r\n\t(search.startsWith('?')?search:'?' + search).substring(1).split('&').forEach((a) => {\r\n\t\tlet key = a.split('=')[0];\r\n\t\tlet val = a.split('=').slice(1).join('=');\r\n\t\tsParams.set(key.toLowerCase(), val);\r\n\t});\r\n\tsParams.get('cmd') && sParams.set('cmd', decodeURIComponent(unescape(sParams.get('cmd'))));\r\n\r\n\tconst commandNames = useRef([]);\r\n\tconst doCommand = (force?: string) => {\r\n\t\tlet cI = force ?? commandInput;\r\n\t\tsL(true);\r\n\t\tfetch((window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/command/' + encodeURIComponent(cI), {\r\n\t\t\tcredentials: 'omit',\r\n\t\t\tmode: 'cors'\r\n\t\t}).then(async (e) => {\r\n\t\t\tlet jsesc = await e.text();\r\n\t\t\tjsesc = jsesc\r\n\t\t\t\t.replace(/\\n/g, \"\\\\\\\\n\")\r\n\t\t\t\t.replace(/\\r/g, \"\\\\\\\\r\")\r\n\t\t\t\t.replace(/\\t/g, \"\\\\\\\\t\");\r\n\t\t\treturn JSON.parse(jsesc)\r\n\t\t}).then((e: MessageData[]) => {\r\n\t\t\tsCD(e[0]);\r\n\t\t\tsPE(null);\r\n\t\t\tsSRF(cI);\r\n\t\t\tsL(false);\r\n\t\t}).catch(e => {\r\n\t\t\tsL(false);\r\n\t\t\tsPE(e.toString());\r\n\t\t})\r\n\t}\r\n\tif (!hasDoneInitial) {\r\n\t\tlet fD = sParams.get('fdata'),\r\n\t\t\tcmd = sParams.get('cmd');\r\n\t\tif (fD) {\r\n\t\t\tsCD(JSON.parse(decodeURIComponent(escape(atob(fD)))));\r\n\t\t\tif (cmd) {\r\n\t\t\t\tsCI('~' + decodeURIComponent(unescape(cmd)));\r\n\t\t\t\t// DON'T run the command again if there's data\r\n\t\t\t}\r\n\t\t} else if (cmd) {\r\n\t\t\tsCI('~' + decodeURIComponent(unescape(sParams.get('cmd'))));\r\n\t\t\tdoCommand('~' + decodeURIComponent(unescape(sParams.get('cmd'))))\r\n\t\t}\r\n\t\tsHDI(true);\r\n\t}\r\n\t\r\n\tconst doStuff = () => {\r\n\t\tlet tempC: string[] = [];\r\n\t\tif (!commandsByCategory.current) { \r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfor (let cat in commandsByCategory.current) {\r\n\t\t\tfor (let command in commandsByCategory.current[cat]) {\r\n\t\t\ttempC.push(\r\n\t\t\t\t\t...commandsByCategory.current[cat][command].aliases.map(e => e.toLowerCase()),\r\n\t\t\t\t\tcommand.toLowerCase()\r\n\t\t\t\t)\r\n\t\t\t}\r\n\t\t}\r\n\t\tcommandNames.current = tempC;\r\n\t}\r\n\tif (!commandsByCategory.effects.includes(doStuff)) {\r\n\t\tcommandsByCategory.setEffectCB(doStuff);\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tdoStuff();\r\n\t}, [commandNames])\r\n\r\n\tlet suggestedCommand = commandNames.current.filter(e => e.startsWith(commandInput.substring(1))).sort()?.[0];\r\n\r\n\tlet isPermaCmd = sParams.get('cmd') === commandInput.substring(1);\r\n\tlet isPermaRes = (\r\n\t\tsParams.get('cmd') === commandInput.substring(1) &&\r\n\t\tsParams.get('fdata') === btD\r\n\t)\r\n\r\n\treturn (
\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t) => {\r\n\t\t\t\t\t\tsCI(\r\n\t\t\t\t\t\t\te.currentTarget.value.startsWith('~') ?\r\n\t\t\t\t\t\t\t\te.currentTarget.value :\r\n\t\t\t\t\t\t\t\t'~' + e.currentTarget.value\r\n\t\t\t\t\t\t);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\tonKeyPress={(e) => {\r\n\t\t\t\t\t\tif (e.key !== 'Enter') {\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tif (suggestedCommand && commandInput !== '~' + suggestedCommand) {\r\n\t\t\t\t\t\t\tsCI('~' + suggestedCommand);\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdoCommand();\r\n\t\t\t\t\t}}\r\n\t\t\t\t/>\r\n\t\t\t\t\r\n\t\t\t\t\t{commandInput.length !== 0 && suggestedCommand && '~' + suggestedCommand}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\tsS(`?cmd=${commandInput.substring(1)}`)\r\n\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./tester?cmd=${\r\n\t\t\t\t\t\t\tcommandInput.substring(1)\r\n\t\t\t\t\t\t}`);\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{commandInput}\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./tester?cmd=${\r\n\t\t\t\t\t\t\tcommandInput.substring(1)\r\n\t\t\t\t\t\t}&fdata=${\r\n\t\t\t\t\t\t\tbtD\r\n\t\t\t\t\t\t}`)\r\n\t\t\t\t\t\tsS(`?cmd=${\r\n\t\t\t\t\t\t\tcommandInput.substring(1)\r\n\t\t\t\t\t\t}&fdata=${\r\n\t\t\t\t\t\t\tbtD\r\n\t\t\t\t\t\t}`)\r\n\t\t\t\t\t}}\r\n\t\t\t\t\ttarget=\"_self\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{commandInput} [perma]\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{procError}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\tThis is a recorded command, not one that was run just now.\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tsS(``)\r\n\t\t\t\t\t\t\twindow.history.replaceState(null, \"Miza\", `./tester`);\r\n\t\t\t\t\t\t\tsCI('~' + sParams.get('cmd'));\r\n\t\t\t\t\t\t\tdoCommand('~' + sParams.get('cmd'))\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\trun yourself\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t)\r\n}","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { Link, Redirect, useHistory } from 'react-router-dom'\r\nimport { CodeBlock } from \"../../components/DiscordMessage/markdown/code/CodeBlock\";\r\n\r\nimport sty from './fileupload.module.css'\r\n\r\nfunction formatBytes(bytes: number, decimals = 2) {\r\n if (bytes === 0) return '0 Bytes';\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n}\r\n\r\n\r\n\r\nexport default function FileDetails() {\r\n\tconst [details, setDetails] = useState<{\r\n\t\tid: string /* numberlike */,\r\n\t\tfilename: string /* includes ext */,\r\n\t\tsize: number, /* in bytes */\r\n\t\tmimetype: string,\r\n\t\tdata: File,\r\n\t\turl: string\r\n\t} | null>(null)\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Miza: File Upload\"\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t})\r\n\tconst [previewTxt, setPVT] = useState(null)\r\n\tconst [forceLang, sFL] = useState(null);\r\n\tconst [progress, setProgress] = useState(0);\r\n\tconst [redirecteyboi, sR] = useState(null);\r\n\tconst [loading, sL] = useState(false);\r\n\tconst [errored, sE] = useState(false);\r\n\tconst fileRef = useRef(undefined);\r\n\tconst fiRef = useRef(null);\r\n\tconst history = useHistory();\r\n\tvar progs = [0];\r\n\tvar progf = [false];\r\n\tvar launched = false;\r\n\r\n\tconst upload_chunk = (file: File, fname: string, i: number, start: number, end: number) => {\r\n\t\tlet blob = file.slice(start, end);\r\n\t\tlet xhr = new XMLHttpRequest();\r\n\t\tlet size = end - start;\r\n\t\txhr.upload.onprogress = ((e) => {\r\n\t\t\tprogs[i] = e.loaded;\r\n\t\t\tlet loaded = 0;\r\n\t\t\tfor (let n of progs) {\r\n\t\t\t\tloaded += n;\r\n\t\t\t}\r\n\t\t\tsetProgress(loaded / file.size * 100);\r\n\t\t});\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif(this.readyState === 4) {\r\n\t\t\t\tprogs[i] = size;\r\n\t\t\t\tprogf[i] = true;\r\n\t\t\t\t// console.log(progf);\r\n\t\t\t\tif (launched) {\r\n\t\t\t\t\tlet finished = true;\r\n\t\t\t\t\tfor (let n of progf) {\r\n\t\t\t\t\t\tif (!n) {\r\n\t\t\t\t\t\t\tfinished = false;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (finished) {\r\n\t\t\t\t\t\tmerge(file, progs.length);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\txhr.onerror = () => {\r\n\t\t\tprogs[i] = 0;\r\n\t\t\tprogf[i] = false;\r\n\t\t\tconsole.log(\"Retrying chunk \" + i);\r\n\t\t\tupload_chunk(file, fname, i, start, end);\r\n\t\t\t// sE(true);\r\n\t\t}\r\n\t\txhr.open('POST', (window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/upload_chunk', true);\r\n\r\n\t\txhr.setRequestHeader(\"X-File-Name\", fname); // custom header with filename and full size\r\n\t\txhr.setRequestHeader(\"X-File-Size\", size + '');\r\n\t\txhr.setRequestHeader(\"X-Total\", file.size + '');\r\n\t\txhr.setRequestHeader(\"X-Index\", i + '');\r\n\t\txhr.send(blob);\r\n\t\treturn xhr;\r\n\t}\r\n\tconst upload = () => {\r\n\t\tlet file = fileRef.current;\r\n\t\tif (!file || typeof file === 'undefined') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tsL(true);\r\n\t\tsE(false);\r\n\t\tlaunched = false;\r\n\t\tconst chunk = 83886080;\r\n\t\tprogs.length = 0;\r\n\t\tprogf.length = 0;\r\n\t\tvar fname = encodeURIComponent(file.name);\r\n\t\t(function split_file(i) {\r\n\t\t\tif (i >= 8 && progs[i - 8] < chunk) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsplit_file(i);\r\n\t\t\t\t}, 4000);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tlet start = i * chunk;\r\n\t\t\tlet end = start + chunk;\r\n\t\t\tif (end > file.size) end = file.size;\r\n\t\t\tprogs.push(0);\r\n\t\t\tprogf.push(false);\r\n\t\t\tconsole.log(\"Sending chunk \" + i);\r\n\t\t\tupload_chunk(file, fname, i, start, end);\r\n\t\t\tif (end < file.size) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tsplit_file(i + 1);\r\n\t\t\t\t}, 250);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tlaunched = true;\r\n\t\t\t\tconsole.log(\"Merge enabled\");\r\n\t\t\t}\r\n\t\t})(0);\r\n\t}\r\n\tconst merge = (file: File, index: number) => {\r\n\t\tif (!file) return;\r\n\t\tif (!progf.length) return;\r\n\t\tprogs.length = 0;\r\n\t\tprogf.length = 0;\r\n\t\tlet xhr = new XMLHttpRequest();\r\n\t\tlet fd = new FormData();\r\n\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif (xhr.readyState === XMLHttpRequest.DONE) {\r\n\t\t\t\thistory.push(xhr.responseText.replace('/p/', '/file/'));\r\n\t\t\t\t// sR(xhr.responseText.replace('/p/', '/file/'))\r\n\t\t\t\twindow.location.reload();\r\n\t\t\t}\r\n\t\t}\r\n\t\txhr.onerror = () => {\r\n\t\t\tsE(true);\r\n\t\t}\r\n\r\n\t\tfd.append(\"Name\", file.name);\r\n\t\tfd.append(\"X-File-Name\", encodeURIComponent(file.name));\r\n\t\tfd.append(\"X-Total\", file.size + '');\r\n\t\tfd.append(\"Index\", index + '');\r\n\r\n\t\tif (document.URL.split(\"?\", 2)[1]) {\r\n\t\t\txhr.open(\"PATCH\", (window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + \"/edit/\" + document.URL.split(\"/files/\", 2)[1], true);\r\n\t\t}\r\n\t\telse {\r\n\t\t\txhr.open(\"POST\", (window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + \"/merge\", true);\r\n\t\t}\r\n\t\txhr.send(fd);\r\n\t}\r\n\tconst deleteFile = () => {\r\n\t\tif (!window.confirm(\"This action will irreversibly delete the file, and all links will become obsolete.\")) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\thistory.push('/delete/' + document.URL.split(\"/files/\", 2)[1]);\r\n\t\twindow.location.reload();\r\n\t}\r\n\tif (redirecteyboi) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\r\n\tlet radius = 50;\r\n\tlet circumference = radius * 2 * Math.PI;\r\n\r\n\tif (loading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\tUploading\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{errored ? \"Error\" : Math.floor(progress) + '%'}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\tif (!details) {\r\n\t\treturn (\r\n\t\t\t e.preventDefault()}\r\n\t\t\t\tonDrop={(ev) => {\r\n\t\t\t\t\tev.preventDefault();\r\n\t\t\t\t\tlet file;\r\n\t\t\t\t\tif (ev.dataTransfer.items) {\r\n\t\t\t\t\t\tfor (let i = 0; i < ev.dataTransfer.items.length; i++) {\r\n\t\t\t\t\t\t\tif (ev.dataTransfer.items[i].kind === 'file') {\r\n\t\t\t\t\t\t\t\tlet f = ev.dataTransfer.items[i].getAsFile();\r\n\t\t\t\t\t\t\t\tif (f) {\r\n\t\t\t\t\t\t\t\t\tfile = f;\r\n\t\t\t\t\t\t\t\t\tbreak;\t\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t// Use DataTransfer interface to access the file(s)\r\n\t\t\t\t\t\tfile = ev.dataTransfer.files[0];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!file) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfileRef.current = file;\r\n\t\t\t\t\tsetDetails({\r\n\t\t\t\t\t\tfilename: file.name,\r\n\t\t\t\t\t\tmimetype: file.type,\r\n\t\t\t\t\t\tid: file.name,\r\n\t\t\t\t\t\tsize: file.size,\r\n\t\t\t\t\t\tdata: file,\r\n\t\t\t\t\t\turl: URL.createObjectURL(file)\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (file.type.includes('text') || file.type.includes('script') || file.type === 'application/json') {\r\n\t\t\t\t\t\tfile.text().then((pvtt: string) => {\r\n\t\t\t\t\t\t\tsetPVT(pvtt)\r\n\t\t\t\t\t\t\tif (pvtt.startsWith('\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{document.URL.split(\"?\", 2)[1]?.split(\"=\", 1)[0] == \"key\" ?\r\n\t\t\t\t\t\t\t<>\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\t*You are about to edit the file {document.URL.split('/files/', 2)[1].split('?', 1)[0]}. This edit will be immediate and permanent.\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\t\tUpload file, create redirect\r\n\t\t\t\t\t\t\t\t\t, or {console.log('bye');deleteFile()}}>delete\r\n\t\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t :\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t\tUpload file or create redirect\r\n\t\t\t\t\t\t\t

\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{details.filename}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{formatBytes(details.size)}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{details.mimetype}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{details.mimetype.includes('image') &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{details.filename}\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{details.mimetype.includes('video') &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{details.mimetype.includes('audio') &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{previewTxt &&\r\n\t\t\t\t\t 10000 ? '...' : ''\r\n\t\t\t\t\t\t)} \r\n\t\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tconsole.log('hi');\r\n\t\t\t\t\t\t\tupload();\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tclassName={sty.uploadButton}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\tUpload\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}","import { useEffect, useState } from \"react\";\r\nimport { CodeBlock } from \"../../components/DiscordMessage/markdown/code/CodeBlock\";\r\n\r\nimport sty from './filedetails.module.css'\r\n\r\nfunction formatBytes(bytes: number, decimals = 2) {\r\n if (bytes === 0) return '0 Bytes';\r\n\r\n const k = 1024;\r\n const dm = decimals < 0 ? 0 : decimals;\r\n const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n}\r\n\r\nexport default function FileDetails(props: {\r\n\tmatch: any\r\n}) {\r\n\tconst [loading, setLoading] = useState(true);\r\n\tconst [details, setDetails] = useState<{\r\n\t\tid: string /* numberlike */,\r\n\t\tfilename: string /* includes ext */,\r\n\t\tttl: number /* in seconds */,\r\n\t\tsize: number, /* in bytes */\r\n\t\tmimetype: string,\r\n\t\traw: string,\r\n\t\tdl: string,\r\n\t\ttype: \"FILE\" | \"LINK\",\r\n\t\toriginal_url?: string\r\n\t} | null>(null)\r\n\tconst [previewTxt, setPVT] = useState(null)\r\n\tconst [forceLang, sFL] = useState(null);\r\n\r\n\tuseEffect(() => {\r\n\t\t(async() => {\r\n\t\t\tlet res = await fetch((window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/fi/' + props.match.params.id)\r\n\t\t\tlet data = await res.json();\r\n\t\t\tdata.type = 'FILE';\r\n\r\n\t\t\tif (data.original_url) {\r\n\t\t\t\tdata.type = \"LINK\";\r\n\t\t\t}\r\n\r\n\t\t\tsetDetails(data);\r\n\t\t\tsetLoading(false);\r\n\r\n\r\n\t\t\tif (data.mimetype.includes('text') || data.mimetype.includes('script')) {\r\n\t\t\t\tlet pvt = await fetch(data.dl);\r\n\t\t\t\tlet pvtt = await pvt.text();\r\n\t\t\t\tsetPVT(pvtt)\r\n\t\t\t\tif (pvtt.startsWith(' {\r\n\t\tif (details) {\r\n\t\t\tif (details.type === 'LINK') {\r\n\t\t\t\tdocument.title = 'Miza: URL';\r\n\t\t\t} else {\r\n\t\t\t\tdocument.title = \"Miza: \" + details?.filename\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdocument.title = \"Miza: Files\"\r\n\t\t}\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t}, [details])\r\n\tif (loading) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tLoading...\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\r\n\tif (!details) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tFile not found\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\tThe file you're looking for either never existed (you entered the wrong id) or has expired (which is unlikely).\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\tif (details.type === 'LINK') {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t{details.dl}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t{details.original_url}\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t\t\t[[ redirect: {Number(details.id).toString(16)} ]]\r\n\t\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{details.filename}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{document.URL.split('?', 1)[0]}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t

\r\n\t\t\t\t\t\t{formatBytes(details.size)}\r\n\t\t\t\t\t

\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{details.mimetype}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t{details.mimetype.includes('image') && details.size < 268435456 /* 10mb */ &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{details.filename}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t[[ {details.id} ]]\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{details.mimetype.includes('video') &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t[[ {details.id} ]]\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{details.mimetype.includes('audio') &&\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t[[ {details.id} ]]\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t}\r\n\t\t\t\t{previewTxt &&\r\n\t\t\t\t\t 10000 ? '...' : ''\r\n\t\t\t\t\t\t)} \r\n\t\t\t\t\t/>\r\n\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tDownload\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t\tView\r\n\t\t\t\t\t
  • \r\n\t\t\t\t\t{document.URL.split('?', 2)[1] &&\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\tEdit\r\n\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t// <>\r\n\t\t\t\t\t\t\t//
  • \r\n\t\t\t\t\t\t\t\t//
    \r\n\t\t\t\t\t\t\t\t\t// \r\n\t\t\t\t\t\t\t\t\t// e!.target!.form!.submit()} hidden>\r\n\t\t\t\t\t\t\t\t//
    \r\n\t\t\t\t\t\t\t//
  • \r\n\t\t\t\t\t\t\t//
  • \r\n\t\t\t\t\t\t\t\t// Delete\r\n\t\t\t\t\t\t\t//
  • \r\n\t\t\t\t\t\t// \r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}","import { useEffect, useState } from 'react'\r\nimport { Redirect, RouteChildrenProps} from 'react-router-dom'\r\nimport styles from './redir.module.css'\r\n\r\nexport default function RedirPage(props: RouteChildrenProps) {\r\n\tconst [loading, sL] = useState(false);\r\n\tconst [redir, sR] = useState(null);\r\n\tuseEffect(() => {\r\n\t\tdocument.title = 'Miza: create redirect'\r\n\t\treturn () => {\r\n\t\t\tdocument.title = 'Miza'\r\n\t\t}\r\n\t}, [])\r\n\tconst doRedir = async () => {\r\n\t\tlet urls: string[] = [];\r\n\t\tfor (var e of document.getElementsByName(\"inputs\")) {\r\n\t\t\tvar e2 = e as HTMLInputElement;\r\n\t\t\tvar url = e2!.value;\r\n\t\t\tif (!url || !url.startsWith(\"http\")) continue;\r\n\t\t\turls.push(url);\r\n\t\t}\r\n\t\tif (!urls) return;\r\n\t\tlet d = new FormData();\r\n\t\td.set('urls', JSON.stringify(urls));\r\n\t\td.set('code', '307')\r\n\t\td.set('ftype', '1')\r\n\t\tlet res = await fetch((window.location.origin.includes("//api.") ? window.location.origin : window.location.origin.split('//', 2).join("//api.")) + '/forward', {\r\n\t\t\tmethod: 'POST',\r\n\t\t\tmode: 'cors',\r\n\t\t\tbody: d\r\n\t\t})\r\n\t\tsR(res.url.split('/').slice(-1)[0]);\r\n\t}\r\n\tconst maybeRedir = (e: any) => {\r\n\t\tif (e!.key == \"Enter\") doRedir();\r\n\t}\r\n\tif (redir) {\r\n\t\treturn (\r\n\t\t\t\r\n\t\t)\r\n\t}\r\n\tfunction addField() {\r\n\t\tvar newbox = document.createElement(\"input\");\r\n\t\tnewbox.setAttribute(\"type\", \"text\");\r\n\t\tnewbox.setAttribute(\"name\", \"inputs\");\r\n\t\tnewbox.setAttribute(\"class\", styles.inp);\r\n\t\tnewbox.setAttribute(\"onKeyPress\", \"maybeRedir\");\r\n\t\tvar contains = document.getElementById(\"contains\");\r\n\t\tif (!contains) return;\r\n\t\tcontains!.appendChild(document.createElement(\"br\"));\r\n\t\tcontains!.appendChild(newbox);\r\n\t}\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t {\r\n\t\t\t\t\t\t\tif (e.key == 'Enter') doRedir()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\tAdd URL\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\tCreate redirect\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}","import { useEffect, useRef } from 'react'\r\nimport styles from './time.module.css'\r\n\r\nconst getNavigatorLanguage = (tz?: string) => {\r\n\tif (tz) {\r\n\t\treturn Intl.DateTimeFormat({\r\n\t\t\t// @ts-ignore\r\n\t\t\ttimeZone: tz\r\n\t\t}).resolvedOptions().locale\r\n\t} else {\r\n\t\treturn Intl.DateTimeFormat().resolvedOptions().locale;\r\n\t}\r\n}\r\nfunction getOrdinal(n: number): string {\r\n let ord = [\"st\", \"nd\", \"rd\"]\r\n let exceptions = [11, 12, 13]\r\n let nth = \r\n ord[(n % 10) - 1] === undefined || exceptions.includes(n % 100) ? \"th\" : ord[(n % 10) - 1]\r\n return n + nth\r\n}\r\n\r\nlet timeZones = [\r\n\t'Europe/Andorra',\r\n\t'Asia/Dubai',\r\n\t'Asia/Kabul',\r\n\t'Europe/Tirane',\r\n\t'Asia/Yerevan',\r\n\t'Antarctica/Casey',\r\n\t'Antarctica/Davis',\r\n\t'Antarctica/Mawson',\r\n\t'Antarctica/Palmer',\r\n\t'Antarctica/Rothera',\r\n\t'Antarctica/Syowa',\r\n\t'Antarctica/Troll',\r\n\t'Antarctica/Vostok',\r\n\t'America/Argentina/Buenos_Aires',\r\n\t'America/Argentina/Cordoba',\r\n\t'America/Argentina/Salta',\r\n\t'America/Argentina/Jujuy',\r\n\t'America/Argentina/Tucuman',\r\n\t'America/Argentina/Catamarca',\r\n\t'America/Argentina/La_Rioja',\r\n\t'America/Argentina/San_Juan',\r\n\t'America/Argentina/Mendoza',\r\n\t'America/Argentina/San_Luis',\r\n\t'America/Argentina/Rio_Gallegos',\r\n\t'America/Argentina/Ushuaia',\r\n\t'Pacific/Pago_Pago',\r\n\t'Europe/Vienna',\r\n\t'Australia/Lord_Howe',\r\n\t'Antarctica/Macquarie',\r\n\t'Australia/Hobart',\r\n\t'Australia/Currie',\r\n\t'Australia/Melbourne',\r\n\t'Australia/Sydney',\r\n\t'Australia/Broken_Hill',\r\n\t'Australia/Brisbane',\r\n\t'Australia/Lindeman',\r\n\t'Australia/Adelaide',\r\n\t'Australia/Darwin',\r\n\t'Australia/Perth',\r\n\t'Australia/Eucla',\r\n\t'Asia/Baku',\r\n\t'America/Barbados',\r\n\t'Asia/Dhaka',\r\n\t'Europe/Brussels',\r\n\t'Europe/Sofia',\r\n\t'Atlantic/Bermuda',\r\n\t'Asia/Brunei',\r\n\t'America/La_Paz',\r\n\t'America/Noronha',\r\n\t'America/Belem',\r\n\t'America/Fortaleza',\r\n\t'America/Recife',\r\n\t'America/Araguaina',\r\n\t'America/Maceio',\r\n\t'America/Bahia',\r\n\t'America/Sao_Paulo',\r\n\t'America/Campo_Grande',\r\n\t'America/Cuiaba',\r\n\t'America/Santarem',\r\n\t'America/Porto_Velho',\r\n\t'America/Boa_Vista',\r\n\t'America/Manaus',\r\n\t'America/Eirunepe',\r\n\t'America/Rio_Branco',\r\n\t'America/Nassau',\r\n\t'Asia/Thimphu',\r\n\t'Europe/Minsk',\r\n\t'America/Belize',\r\n\t'America/St_Johns',\r\n\t'America/Halifax',\r\n\t'America/Glace_Bay',\r\n\t'America/Moncton',\r\n\t'America/Goose_Bay',\r\n\t'America/Blanc-Sablon',\r\n\t'America/Toronto',\r\n\t'America/Nipigon',\r\n\t'America/Thunder_Bay',\r\n\t'America/Iqaluit',\r\n\t'America/Pangnirtung',\r\n\t'America/Atikokan',\r\n\t'America/Winnipeg',\r\n\t'America/Rainy_River',\r\n\t'America/Resolute',\r\n\t'America/Rankin_Inlet',\r\n\t'America/Regina',\r\n\t'America/Swift_Current',\r\n\t'America/Edmonton',\r\n\t'America/Cambridge_Bay',\r\n\t'America/Yellowknife',\r\n\t'America/Inuvik',\r\n\t'America/Creston',\r\n\t'America/Dawson_Creek',\r\n\t'America/Fort_Nelson',\r\n\t'America/Vancouver',\r\n\t'America/Whitehorse',\r\n\t'America/Dawson',\r\n\t'Indian/Cocos',\r\n\t'Europe/Zurich',\r\n\t'Africa/Abidjan',\r\n\t'Pacific/Rarotonga',\r\n\t'America/Santiago',\r\n\t'America/Punta_Arenas',\r\n\t'Pacific/Easter',\r\n\t'Asia/Shanghai',\r\n\t'Asia/Urumqi',\r\n\t'America/Bogota',\r\n\t'America/Costa_Rica',\r\n\t'America/Havana',\r\n\t'Atlantic/Cape_Verde',\r\n\t'America/Curacao',\r\n\t'Indian/Christmas',\r\n\t'Asia/Nicosia',\r\n\t'Asia/Famagusta',\r\n\t'Europe/Prague',\r\n\t'Europe/Berlin',\r\n\t'Europe/Copenhagen',\r\n\t'America/Santo_Domingo',\r\n\t'Africa/Algiers',\r\n\t'America/Guayaquil',\r\n\t'Pacific/Galapagos',\r\n\t'Europe/Tallinn',\r\n\t'Africa/Cairo',\r\n\t'Africa/El_Aaiun',\r\n\t'Europe/Madrid',\r\n\t'Africa/Ceuta',\r\n\t'Atlantic/Canary',\r\n\t'Europe/Helsinki',\r\n\t'Pacific/Fiji',\r\n\t'Atlantic/Stanley',\r\n\t'Pacific/Chuuk',\r\n\t'Pacific/Pohnpei',\r\n\t'Pacific/Kosrae',\r\n\t'Atlantic/Faroe',\r\n\t'Europe/Paris',\r\n\t'Europe/London',\r\n\t'Asia/Tbilisi',\r\n\t'America/Cayenne',\r\n\t'Africa/Accra',\r\n\t'Europe/Gibraltar',\r\n\t'America/Godthab',\r\n\t'America/Danmarkshavn',\r\n\t'America/Scoresbysund',\r\n\t'America/Thule',\r\n\t'Europe/Athens',\r\n\t'Atlantic/South_Georgia',\r\n\t'America/Guatemala',\r\n\t'Pacific/Guam',\r\n\t'Africa/Bissau',\r\n\t'America/Guyana',\r\n\t'Asia/Hong_Kong',\r\n\t'America/Tegucigalpa',\r\n\t'America/Port-au-Prince',\r\n\t'Europe/Budapest',\r\n\t'Asia/Jakarta',\r\n\t'Asia/Pontianak',\r\n\t'Asia/Makassar',\r\n\t'Asia/Jayapura',\r\n\t'Europe/Dublin',\r\n\t'Asia/Jerusalem',\r\n\t'Asia/Kolkata',\r\n\t'Indian/Chagos',\r\n\t'Asia/Baghdad',\r\n\t'Asia/Tehran',\r\n\t'Atlantic/Reykjavik',\r\n\t'Europe/Rome',\r\n\t'America/Jamaica',\r\n\t'Asia/Amman',\r\n\t'Asia/Tokyo',\r\n\t'Africa/Nairobi',\r\n\t'Asia/Bishkek',\r\n\t'Pacific/Tarawa',\r\n\t'Pacific/Enderbury',\r\n\t'Pacific/Kiritimati',\r\n\t'Asia/Pyongyang',\r\n\t'Asia/Seoul',\r\n\t'Asia/Almaty',\r\n\t'Asia/Qyzylorda',\r\n\t'Asia/Aqtobe',\r\n\t'Asia/Aqtau',\r\n\t'Asia/Atyrau',\r\n\t'Asia/Oral',\r\n\t'Asia/Beirut',\r\n\t'Asia/Colombo',\r\n\t'Africa/Monrovia',\r\n\t'Europe/Vilnius',\r\n\t'Europe/Luxembourg',\r\n\t'Europe/Riga',\r\n\t'Africa/Tripoli',\r\n\t'Africa/Casablanca',\r\n\t'Europe/Monaco',\r\n\t'Europe/Chisinau',\r\n\t'Pacific/Majuro',\r\n\t'Pacific/Kwajalein',\r\n\t'Asia/Yangon',\r\n\t'Asia/Ulaanbaatar',\r\n\t'Asia/Hovd',\r\n\t'Asia/Choibalsan',\r\n\t'Asia/Macau',\r\n\t'America/Martinique',\r\n\t'Europe/Malta',\r\n\t'Indian/Mauritius',\r\n\t'Indian/Maldives',\r\n\t'America/Mexico_City',\r\n\t'America/Cancun',\r\n\t'America/Merida',\r\n\t'America/Monterrey',\r\n\t'America/Matamoros',\r\n\t'America/Mazatlan',\r\n\t'America/Chihuahua',\r\n\t'America/Ojinaga',\r\n\t'America/Hermosillo',\r\n\t'America/Tijuana',\r\n\t'America/Bahia_Banderas',\r\n\t'Asia/Kuala_Lumpur',\r\n\t'Asia/Kuching',\r\n\t'Africa/Maputo',\r\n\t'Africa/Windhoek',\r\n\t'Pacific/Noumea',\r\n\t'Pacific/Norfolk',\r\n\t'Africa/Lagos',\r\n\t'America/Managua',\r\n\t'Europe/Amsterdam',\r\n\t'Europe/Oslo',\r\n\t'Asia/Kathmandu',\r\n\t'Pacific/Nauru',\r\n\t'Pacific/Niue',\r\n\t'Pacific/Auckland',\r\n\t'Pacific/Chatham',\r\n\t'America/Panama',\r\n\t'America/Lima',\r\n\t'Pacific/Tahiti',\r\n\t'Pacific/Marquesas',\r\n\t'Pacific/Gambier',\r\n\t'Pacific/Port_Moresby',\r\n\t'Pacific/Bougainville',\r\n\t'Asia/Manila',\r\n\t'Asia/Karachi',\r\n\t'Europe/Warsaw',\r\n\t'America/Miquelon',\r\n\t'Pacific/Pitcairn',\r\n\t'America/Puerto_Rico',\r\n\t'Asia/Gaza',\r\n\t'Asia/Hebron',\r\n\t'Europe/Lisbon',\r\n\t'Atlantic/Madeira',\r\n\t'Atlantic/Azores',\r\n\t'Pacific/Palau',\r\n\t'America/Asuncion',\r\n\t'Asia/Qatar',\r\n\t'Indian/Reunion',\r\n\t'Europe/Bucharest',\r\n\t'Europe/Belgrade',\r\n\t'Europe/Kaliningrad',\r\n\t'Europe/Moscow',\r\n\t'Europe/Simferopol',\r\n\t'Europe/Kirov',\r\n\t'Europe/Astrakhan',\r\n\t'Europe/Volgograd',\r\n\t'Europe/Saratov',\r\n\t'Europe/Ulyanovsk',\r\n\t'Europe/Samara',\r\n\t'Asia/Yekaterinburg',\r\n\t'Asia/Omsk',\r\n\t'Asia/Novosibirsk',\r\n\t'Asia/Barnaul',\r\n\t'Asia/Tomsk',\r\n\t'Asia/Novokuznetsk',\r\n\t'Asia/Krasnoyarsk',\r\n\t'Asia/Irkutsk',\r\n\t'Asia/Chita',\r\n\t'Asia/Yakutsk',\r\n\t'Asia/Khandyga',\r\n\t'Asia/Vladivostok',\r\n\t'Asia/Ust-Nera',\r\n\t'Asia/Magadan',\r\n\t'Asia/Sakhalin',\r\n\t'Asia/Srednekolymsk',\r\n\t'Asia/Kamchatka',\r\n\t'Asia/Anadyr',\r\n\t'Asia/Riyadh',\r\n\t'Pacific/Guadalcanal',\r\n\t'Indian/Mahe',\r\n\t'Africa/Khartoum',\r\n\t'Europe/Stockholm',\r\n\t'Asia/Singapore',\r\n\t'America/Paramaribo',\r\n\t'Africa/Juba',\r\n\t'Africa/Sao_Tome',\r\n\t'America/El_Salvador',\r\n\t'Asia/Damascus',\r\n\t'America/Grand_Turk',\r\n\t'Africa/Ndjamena',\r\n\t'Indian/Kerguelen',\r\n\t'Asia/Bangkok',\r\n\t'Asia/Dushanbe',\r\n\t'Pacific/Fakaofo',\r\n\t'Asia/Dili',\r\n\t'Asia/Ashgabat',\r\n\t'Africa/Tunis',\r\n\t'Pacific/Tongatapu',\r\n\t'Europe/Istanbul',\r\n\t'America/Port_of_Spain',\r\n\t'Pacific/Funafuti',\r\n\t'Asia/Taipei',\r\n\t'Europe/Kiev',\r\n\t'Europe/Uzhgorod',\r\n\t'Europe/Zaporozhye',\r\n\t'Pacific/Wake',\r\n\t'America/New_York',\r\n\t'America/Detroit',\r\n\t'America/Kentucky/Louisville',\r\n\t'America/Kentucky/Monticello',\r\n\t'America/Indiana/Indianapolis',\r\n\t'America/Indiana/Vincennes',\r\n\t'America/Indiana/Winamac',\r\n\t'America/Indiana/Marengo',\r\n\t'America/Indiana/Petersburg',\r\n\t'America/Indiana/Vevay',\r\n\t'America/Chicago',\r\n\t'America/Indiana/Tell_City',\r\n\t'America/Indiana/Knox',\r\n\t'America/Menominee',\r\n\t'America/North_Dakota/Center',\r\n\t'America/North_Dakota/New_Salem',\r\n\t'America/North_Dakota/Beulah',\r\n\t'America/Denver',\r\n\t'America/Boise',\r\n\t'America/Phoenix',\r\n\t'America/Los_Angeles',\r\n\t'America/Anchorage',\r\n\t'America/Juneau',\r\n\t'America/Sitka',\r\n\t'America/Metlakatla',\r\n\t'America/Yakutat',\r\n\t'America/Nome',\r\n\t'America/Adak',\r\n\t'Pacific/Honolulu',\r\n\t'America/Montevideo',\r\n\t'Asia/Samarkand',\r\n\t'Asia/Tashkent',\r\n\t'America/Caracas',\r\n\t'Asia/Ho_Chi_Minh',\r\n\t'Pacific/Efate',\r\n\t'Pacific/Wallis',\r\n\t'Pacific/Apia',\r\n\t'Africa/Johannesburg'\r\n];\r\n\r\n\r\nexport default function TesterPage() {\r\n\tconst intervalRef = useRef(null);\r\n\tconst timez = useRef(Intl.DateTimeFormat().resolvedOptions().timeZone)\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"Miza: Clock\"\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t})\r\n\tconst inthing = () => {\r\n\t\tlet timb2 = document.getElementById('timb2')\r\n\t\tlet x = new Date();\r\n\t\tlet timbuktu = document.getElementById('timbuktu');\r\n\t\tif (timbuktu) {\r\n\t\t\tlet y = new Intl.DateTimeFormat('en-us', {\r\n\t\t\t\ttimeZone: timez.current,\r\n\t\t\t\thour: '2-digit'\r\n\t\t\t}).format(x)\r\n\t\t\tlet hours = (y.endsWith('PM') ? parseInt(y.substring(0, 2)) + 12: parseInt(y.substring(0, 2)))\r\n\t\t\ttimbuktu.innerText = hours < 12 ? 'morning' : (hours < 17 ? 'afternoon' : 'evening');\r\n\t\t}\r\n\t\tlet options = {\r\n//\t\t\tyear: \"2-digit\", month: '2-digit', day: '2-digit',\r\n\t\t\thour: '2-digit', minute: '2-digit', second: '2-digit',\r\n\t\t\ttimeZone: timez.current\r\n\t\t}\r\n\t\t// @ts-ignore\r\n\t\tlet formatter = new Intl.DateTimeFormat(getNavigatorLanguage(timez.current), options)\r\n\t\t\r\n\t\tif (timb2) {\r\n\t\t\ttimb2.innerText = formatter.format(x).replace(/ (AM)|(PM)/g, '').trim() + \r\n\t\t\t':' + '0'.repeat(3 - (x.getMilliseconds() + '').length) + x.getMilliseconds()\r\n\t\t}\r\n\t\tlet tiz = document.getElementById('timz');\r\n\t\tif (tiz) {\r\n\t\t\tlet y = new Intl.DateTimeFormat('en-us', {\r\n\t\t\t\ttimeZone: timez.current,\r\n\t\t\t\thour: '2-digit'\r\n\t\t\t}).format(x)\r\n\t\t\tlet tzoffset = (y.endsWith('PM') ? parseInt(y.substring(0, 2)) + 12: parseInt(y.substring(0, 2))) - x.getUTCHours();\r\n\r\n\t\t\ttiz.innerText = `${\r\n\t\t\t\tnew Intl.DateTimeFormat(getNavigatorLanguage(timez.current), {\r\n\t\t\t\t\ttimeZone: timez.current,\r\n\t\t\t\t\ttimeZoneName: 'long'\r\n\t\t\t\t}).format(x).replace(/[0-9]{1,2}\\/[0-9]{1,2}\\/[0-9]{2,4}/, '').replace(',', '').trim()\r\n\t\t\t} (gmt${\r\n\t\t\t\ttzoffset < 0 ? '' : '+'\r\n\t\t\t}${tzoffset})`\r\n\t\t}\r\n\t\tlet dateboi = document.getElementById('dateboi');\r\n\t\tif (dateboi) {\r\n\t\t\tdateboi.innerText = `It's ${new Intl.DateTimeFormat(getNavigatorLanguage(timez.current), {\r\n\t\t\t\tweekday: 'long',\r\n\t\t\t\ttimeZone: timez.current\r\n\t\t\t}).format(x)} the ${getOrdinal(parseInt(new Intl.DateTimeFormat('en-us', {\r\n\t\t\t\tcalendar: 'long',\r\n\t\t\t\ttimeZone: timez.current\r\n\t\t\t}).format(x).replace(/\\/[0-9]{1,2}\\/[0-9]{4}/, '')))}`\r\n\t\t}\r\n\t\tif (intervalRef.current) {\r\n\t\t\trequestAnimationFrame(inthing);\r\n\t\t}\r\n\t}\r\n\r\n\tuseEffect(() => {\r\n\t\tintervalRef.current = true;\r\n\t\tinthing();\r\n\t\treturn () => {\r\n\t\t\tintervalRef.current = false;\r\n\t\t}\r\n\t})\r\n\tlet d = new Date();\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t

Good

\r\n\t\t\t\t\t

It's {d.toLocaleDateString(getNavigatorLanguage(timez.current), { weekday: 'long' })} the {getOrdinal(d.getDate())}

\r\n\t\t\t\t\t

[[ time ]]

\r\n\t\t\t\t\t

{timez.current.toLowerCase()}

\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\tShow time for {\r\n\t\t\t\t\t\t\t\ttimez.current = e.currentTarget.value;\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{timeZones.map(tz => {\r\n\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}","import { useEffect, useRef, useState} from \"react\";\r\nimport styles from './mpinsights.module.css'\r\nimport {\r\n\tChart,\r\n\tregisterables\r\n} from 'chart.js'\r\nimport 'chartjs-adapter-date-fns';\r\nimport { enUS as en } from 'date-fns/locale';\r\nimport zoomPlugin from 'chartjs-plugin-zoom';\r\n\r\nChart.register(...registerables);\r\nChart.register(zoomPlugin);\r\n// TODO: Implement mpinsights with charts.js\r\n\r\ntype mizaCharts = {\r\n current: {\r\n active_users: number,\r\n average_playtime: number,\r\n live_users: number,\r\n total_playtime: number,\r\n total_use_time: number,\r\n total_users: number\r\n },\r\n historical: {\r\n active_users: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n average_playtime: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n live_users: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n total_playtime: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n total_use_time: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n total_users: [\r\n number[], // datapoints\r\n number // number of datapoints\r\n ],\r\n\t\t[key: string]: [\r\n\t\t\tnumber[],\r\n\t\t\tnumber\r\n\t\t]\r\n }\r\n}\r\n\r\n\r\nexport default function MPInsightsPage() {\r\n\tconst [data, sD] = useState(null)\r\n\tconst [myChart, setMyChart] = useState(null);\r\n\tconst parentRef = useRef(null);\r\n\tuseEffect(() => {\r\n\t\tdocument.title = \"MizaPlayer Insights\"\r\n\t\treturn () => {\r\n\t\t\tdocument.title = \"Miza\";\r\n\t\t}\r\n\t}, [])\r\n\tuseEffect(() => {\r\n\t\t(async() => {\r\n\t\t\tlet a = await fetch('http://api.' + window.location.origin.split('//', 2)[1] + \"/mpinsights\", {\r\n\t\t\t\t\"headers\": {\r\n\t\t\t\t\t\"accept\": \"application/json\",\r\n\t\t\t\t},\r\n\t\t\t\t\"method\": \"GET\",\r\n\t\t\t\t\"mode\": \"cors\",\r\n\t\t\t\t\"credentials\": \"omit\"\r\n\t\t\t})\r\n\t\t\tlet theData: mizaCharts = await a.json();\r\n\t\t\tsD(theData);\r\n\r\n\t\t\tlet labels = Object.keys(theData.historical);\r\n\r\n\t\t\tlet timeChart = document.createElement('canvas');\r\n\t\t\ttimeChart.width = window.innerWidth / 2;\r\n\t\t\ttimeChart.height = window.innerWidth / 4;\r\n\t\t\ttimeChart.classList.add(styles.chart)\r\n\t\t\tlet ctx = timeChart.getContext('2d');\r\n\t\t\tif (!ctx) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tlet { historical } = theData;\r\n\t\t\tconsole.log(historical);\r\n\t\t\tlet start = Date.now() - (60 * 60 * 1000 * historical.total_use_time[1]);\r\n\t\t\tnew Chart(ctx, {\r\n\t\t\t\ttype: 'line',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tlabels: historical.total_playtime[0].map((_e, i) => {\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tdatasets: labels.slice(3).map((label, e) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tlabel: label.split('_').map(e => [e[0].toUpperCase(), ...e.slice(1)].join('')).join(' '),\r\n\t\t\t\t\t\t\tdata: theData.historical[label][0].map((e, i) => {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\tx: start + (i * 60 * 60 * 1000),\r\n\t\t\t\t\t\t\t\t\ty: Math.floor(e)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\t\t\tcallbacks: {\r\n\t\t\t\t\t\t\t\t\tlabel: function(context: any) {\r\n\t\t\t\t\t\t\t\t\t\tvar label = context.dataset.label || '';\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tif (label) {\r\n\t\t\t\t\t\t\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (context.parsed.y !== null) {\r\n\t\t\t\t\t\t\t\t\t\t\tlet x = (Math.floor((context.parsed.y/(60*60))*100)/100).toString();\r\n\t\t\t\t\t\t\t\t\t\t\tlabel += (\r\n\t\t\t\t\t\t\t\t\t\t\t\tx.split('.')[0] + '.' + x.split('.').slice(1).join('') + '0'.repeat(2 - x.split('.').slice(1).join('').length)\r\n\t\t\t\t\t\t\t\t\t\t\t) + ' hours';\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn label;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tborderWidth: 3,\r\n\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\tborderColor: [\r\n\t\t\t\t\t\t\t\t'rgb(255, 99, 132)',\r\n\t\t\t\t\t\t\t\t'rgb(54, 162, 235)'\r\n\t\t\t\t\t\t\t][e],\r\n\t\t\t\t\t\t\tpointRadius: 0,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tlayout: {\r\n\t\t\t\t\t\tpadding: 20\r\n\t\t\t\t\t},\r\n\t\t\t\t\tspanGaps: true,\r\n\t\t\t\t\tparsing: false,\r\n\t\t\t\t\tinteraction: {\r\n\t\t\t\t\t\tmode: 'nearest',\r\n\t\t\t\t\t\taxis: 'x',\r\n\t\t\t\t\t\tintersect: false\r\n\t\t\t\t\t},\r\n\t\t\t\t\tindexAxis: 'x',\r\n\t\t\t\t\tanimation: false,\r\n\t\t\t\t\tplugins: {\r\n\t\t\t\t\t\tdecimation: {\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\talgorithm: 'min-max',\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tzoom: {\r\n\t\t\t\t\t\t\tpan: {\r\n\t\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\t\tmode: 'xy'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tlimits: {\r\n\t\t\t\t\t\t\t\tx: {\r\n\t\t\t\t\t\t\t\t\tmin: start - 3600000,\r\n\t\t\t\t\t\t\t\t\tmax: Date.now() + 36000000,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ty: {\r\n\t\t\t\t\t\t\t\t\tmin: 'original',\r\n\t\t\t\t\t\t\t\t\tmax: 'original'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tzoom: {\r\n\t\t\t\t\t\t\t\twheel: {\r\n\t\t\t\t\t\t\t\t\tenabled: true\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tpinch: {\r\n\t\t\t\t\t\t\t\t\tenabled: true\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tscales: {\r\n\t\t\t\t\t\ty: {\r\n\t\t\t\t\t\t\ttype: 'linear',\r\n\t\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\t\tcallback: (str => Math.floor(Number(str) / 3600) + ' hours'),\r\n\t\t\t\t\t\t\t\tautoSkip: true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tx: {\r\n\t\t\t\t\t\t\tadapters: {\r\n\t\t\t\t\t\t\t\tdate: {\r\n\t\t\t\t\t\t\t\t\tlocale: en\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttype: 'time',\r\n\t\t\t\t\t\t\tmin: start,\r\n\t\t\t\t\t\t\tmax: Date.now(),\r\n\t\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\t\tsource: 'auto',\r\n\t\t\t\t\t\t\t\t// Disabled rotation for performance\r\n\t\t\t\t\t\t\t\tmaxRotation: 0,\r\n\t\t\t\t\t\t\t\tautoSkip: true,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tlet usersChart = document.createElement('canvas');\r\n\t\t\tusersChart.width = window.innerWidth / 2;\r\n\t\t\tusersChart.height = window.innerWidth / 4;\r\n\t\t\tusersChart.classList.add(styles.chart)\r\n\t\t\tlet ctx2 = usersChart.getContext('2d');\r\n\t\t\tif (!ctx2) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tnew Chart(ctx2, {\r\n\t\t\t\ttype: 'line',\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tlabels: historical.total_playtime[0].map((_e, i) => {\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tdatasets: labels.slice(0, 3).map((label, e) => {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tlabel: label.split('_').map(e => [e[0].toUpperCase(), ...e.slice(1)].join('')).join(' '),\r\n\t\t\t\t\t\t\tdata: theData.historical[label][0].map((e, i) => {\r\n\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\tx: start + (i * 60 * 60 * 1000),\r\n\t\t\t\t\t\t\t\t\ty: Math.floor(e)\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}),\r\n\t\t\t\t\t\t\ttooltip: {\r\n\t\t\t\t\t\t\t\tcallbacks: {\r\n\t\t\t\t\t\t\t\t\tlabel: function(context: any) {\r\n\t\t\t\t\t\t\t\t\t\tvar label = context.dataset.label || '';\r\n\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\tif (label) {\r\n\t\t\t\t\t\t\t\t\t\t\tlabel += ': ';\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif (context.parsed.y !== null) {\r\n\t\t\t\t\t\t\t\t\t\t\tlabel += context.parsed.y + ' users';\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\treturn label;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tborderWidth: 2,\r\n\t\t\t\t\t\t\tfill: false,\r\n\t\t\t\t\t\t\ttension: 0.1,\r\n\t\t\t\t\t\t\tborderColor: [\r\n\t\t\t\t\t\t\t\t'rgb(255, 99, 132)',\r\n\t\t\t\t\t\t\t\t'rgb(54, 162, 235)',\r\n\t\t\t\t\t\t\t\t'rgb(153, 102, 255)'\r\n\t\t\t\t\t\t\t][e],\r\n\t\t\t\t\t\t\tpointRadius: 0,\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t},\r\n\t\t\t\toptions: {\r\n\t\t\t\t\tlayout: {\r\n\t\t\t\t\t\tpadding: 20\r\n\t\t\t\t\t},\r\n\t\t\t\t\tspanGaps: true,\r\n\t\t\t\t\tparsing: false,\r\n\t\t\t\t\tinteraction: {\r\n\t\t\t\t\t\tmode: 'nearest',\r\n\t\t\t\t\t\taxis: 'x',\r\n\t\t\t\t\t\tintersect: false\r\n\t\t\t\t\t},\r\n\t\t\t\t\tindexAxis: 'x',\r\n\t\t\t\t\tanimation: false,\r\n\t\t\t\t\tplugins: {\r\n\t\t\t\t\t\tdecimation: {\r\n\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\talgorithm: 'min-max'\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tzoom: {\r\n\t\t\t\t\t\t\tpan: {\r\n\t\t\t\t\t\t\t\tenabled: true,\r\n\t\t\t\t\t\t\t\tmode: 'xy'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tlimits: {\r\n\t\t\t\t\t\t\t\tx: {\r\n\t\t\t\t\t\t\t\t\tmin: start - 3600000,\r\n\t\t\t\t\t\t\t\t\tmax: Date.now() + 36000000,\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\ty: {\r\n\t\t\t\t\t\t\t\t\tmin: 'original',\r\n\t\t\t\t\t\t\t\t\tmax: 'original'\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tzoom: {\r\n\t\t\t\t\t\t\t\twheel: {\r\n\t\t\t\t\t\t\t\t\tenabled: true\r\n\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\tpinch: {\r\n\t\t\t\t\t\t\t\t\tenabled: true\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tscales: {\r\n\t\t\t\t\t\ty: {\r\n\t\t\t\t\t\t\ttype: 'linear',\r\n\t\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\t\tcallback: (str => str + ' users'),\r\n\t\t\t\t\t\t\t\tautoSkip: true\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\tx: {\r\n\t\t\t\t\t\t\tadapters: {\r\n\t\t\t\t\t\t\t\tdate: {\r\n\t\t\t\t\t\t\t\t\tlocale: en\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttype: 'time',\r\n\t\t\t\t\t\t\tmin: start,\r\n\t\t\t\t\t\t\tmax: Date.now(),\r\n\t\t\t\t\t\t\tticks: {\r\n\t\t\t\t\t\t\t\tsource: 'auto',\r\n\t\t\t\t\t\t\t\t// Disabled rotation for performance\r\n\t\t\t\t\t\t\t\tmaxRotation: 0,\r\n\t\t\t\t\t\t\t\tautoSkip: true,\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tsetMyChart([\r\n\t\t\t\ttimeChart,\r\n\t\t\t\tusersChart\r\n\t\t\t]);\r\n\t\t})()\r\n\t}, [])\r\n\tuseEffect(() => {\r\n\t\tif (!parentRef.current || !myChart || myChart.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tmyChart.forEach(e => {\r\n\t\t\tif (parentRef.current) {\r\n\t\t\t\tparentRef.current.appendChild(e)\r\n\t\t\t}\r\n\t\t})\r\n\t}, [parentRef, myChart])\r\n\treturn (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t
MP Insights
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t
\r\n\t)\r\n}","import React, { useEffect, useRef } from 'react'\r\nimport {\r\n\tBrowserRouter as Router,\r\n\tSwitch,\r\n\tRoute,\r\n\tNavLink,\r\n\tuseLocation,\r\n\tRedirect\r\n} from \"react-router-dom\";\r\n\r\nimport { ThemeProvider } from \"styled-components\"\r\nimport { DEFAULT_THEME } from './components/DiscordMessage/markdown/styles/defaultTheme'\r\nimport HomePage from './pages/home/'\r\nimport ChatPage from './pages/chat/'\r\nimport AtlasPage from './pages/atlas/'\r\nimport TesterPage from './pages/tester/'\r\nimport FileUploadPage from './pages/fileupload/'\r\nimport FileDetailsPage from './pages/filedetails/'\r\nimport CRedirPage from './pages/createredirect/'\r\nimport TimePage from './pages/time/'\r\nimport MPInsightsPage from './pages/mpinsights/'\r\n\r\nimport './appstyles.css'\r\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\r\n\r\nfunction MizaApp() {\r\n\tconst location = useLocation();\r\n\tconst prevLoc = useRef(location.pathname);\r\n\tuseEffect(() => {\r\n\t\tlet pL = prevLoc.current;\r\n\t\tdocument.body.classList.add(\r\n\t\t\t'page' + (\r\n\t\t\t\tlocation.pathname === '/' ? '/landing' : location.pathname\r\n\t\t\t).replaceAll('/', '-').split('-').slice(0, 2).join('-')\r\n\t\t)\r\n\t\tsetTimeout(() => {\r\n\t\t\tdocument.body.classList.remove(\r\n\t\t\t\t'page' + (\r\n\t\t\t\t\tpL === '/' ? '/landing' : prevLoc.current\r\n\t\t\t\t).replaceAll('/', '-').split('-').slice(0, 2).join('-')\r\n\t\t\t)\r\n\t\t\tprevLoc.current = location.pathname;\r\n\t\t}, 150)\r\n\t}, [location.pathname])\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{() => {\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t {/* old url */}\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
404 page
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\tmiza.web 2\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tmade with ♥ and 🍝\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\tby hucario\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t)\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t
\r\n\t)\r\n}\r\nexport default function App() {\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t)\r\n}","import React from 'react';\r\nimport ReactDOM from 'react-dom'\r\n\r\nimport App from './app';\r\n\r\nReactDOM.render(\r\n\t,\r\n\tdocument.getElementById('root')\r\n);\r\n\r\n(async () => {\r\n\tlet loader = document.getElementById('loader');\r\n\tconst SIM_LOAD_TIME = 500;\r\n\tif (loader) {\r\n\t\t// @ts-expect-error TS can't find this - it's set in the HTML file\r\n\t\tlet LOAD_START_TIME = (window.LOAD_START_TIME ?? Date.now()) as number;\r\n\r\n\t\tconsole.log(`Took ${Date.now() - LOAD_START_TIME}ms to load scripts. Starting render...`)\r\n\r\n\t\tif ((LOAD_START_TIME + SIM_LOAD_TIME >= Date.now())) {\r\n\t\t\tawait new Promise(res => setTimeout(res, LOAD_START_TIME + SIM_LOAD_TIME - (Date.now())))\r\n\t\t}\r\n\t\tloader.addEventListener('transitionend', () => {\r\n\t\t\tif (!loader) {\r\n\t\t\t\t// this should never happen, but typescript doesn't like me\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tloader.style.display = 'none';\r\n\t\t})\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (!loader) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tloader.style.display = 'none'; // for some reason, sometimes transitionend doesn't work\r\n\t\t}, 250)\r\n\t\tloader.style.opacity = '0';\r\n\t}\r\n})()","// extracted by mini-css-extract-plugin\nmodule.exports = {\"block\":\"messagestyles_block__10MzI\",\"code\":\"messagestyles_code__8n3hA\",\"embed\":\"messagestyles_embed__kQ-pz\",\"markup\":\"messagestyles_markup__M5oN6\",\"wrapper\":\"messagestyles_wrapper__DMKBA\",\"message\":\"messagestyles_message__2plQj\",\"contents\":\"messagestyles_contents__vKGNW\",\"timestamp\":\"messagestyles_timestamp__ViDfh\",\"timestampVisibleOnHover\":\"messagestyles_timestampVisibleOnHover__1gqWF\",\"latin24CompactTimeStamp\":\"messagestyles_latin24CompactTimeStamp__1FedJ\",\"alt\":\"messagestyles_alt__2i21n\",\"separator\":\"messagestyles_separator__3YGka\",\"zalgo\":\"messagestyles_zalgo__1dWsQ\",\"messageContent\":\"messagestyles_messageContent__1UMiY\",\"emojiContainer\":\"messagestyles_emojiContainer__3ueiF\",\"emoji\":\"messagestyles_emoji___YxuQ\",\"anchor\":\"messagestyles_anchor__1oLJF\",\"anchorUnderlineOnHover\":\"messagestyles_anchorUnderlineOnHover__-FciL\",\"container\":\"messagestyles_container__18TMn\",\"full\":\"messagestyles_full__ZTyi5\",\"grid\":\"messagestyles_grid__RVyfZ\",\"hasThumbnail\":\"messagestyles_hasThumbnail__1cyhJ\",\"suppressButton\":\"messagestyles_suppressButton__AiMtg\",\"authorName\":\"messagestyles_authorName__2LXfP\",\"authorNameLink\":\"messagestyles_authorNameLink__1auaK\",\"description\":\"messagestyles_description__Grl-r\",\"fieldName\":\"messagestyles_fieldName__1EK21\",\"fieldValue\":\"messagestyles_fieldValue__3LWE8\",\"footerText\":\"messagestyles_footerText__2sB_F\",\"link\":\"messagestyles_link__2rq-4\",\"provider\":\"messagestyles_provider__3Bs4p\",\"title\":\"messagestyles_title__1wYCt\",\"titleLink\":\"messagestyles_titleLink__1m4xe\",\"margin\":\"messagestyles_margin__C2ZX1\",\"author\":\"messagestyles_author__1Qjpb\",\"fields\":\"messagestyles_fields__15DAB\",\"footer\":\"messagestyles_footer__21T7C\",\"media\":\"messagestyles_media__39yfE\",\"galleryImagesWrapper\":\"messagestyles_galleryImagesWrapper__1MS1R\",\"gallerySide\":\"messagestyles_gallerySide__Y_VN_\",\"imageWrapper\":\"messagestyles_imageWrapper__1F_DI\",\"clickable\":\"messagestyles_clickable__OyfP_\",\"imageZoom\":\"messagestyles_imageZoom__Wi1se\",\"galleryImageElement\":\"messagestyles_galleryImageElement__3TfQf\",\"thumbnail\":\"messagestyles_thumbnail__1Klsy\",\"image\":\"messagestyles_image__2e9bt\",\"video\":\"messagestyles_video__2jY57\",\"field\":\"messagestyles_field__3ndoL\",\"inline\":\"messagestyles_inline__1Wgfb\",\"avatar\":\"messagestyles_avatar__3T8yK\",\"header\":\"messagestyles_header__1S5c2\",\"headerText\":\"messagestyles_headerText__QND1f\",\"username\":\"messagestyles_username__32Lgb\",\"botTag\":\"messagestyles_botTag__27yrY\",\"botTagRegular\":\"messagestyles_botTagRegular__vn9vK\",\"rem\":\"messagestyles_rem__AuXQ1\",\"authorIcon\":\"messagestyles_authorIcon__2VyJ3\",\"footerIcon\":\"messagestyles_footerIcon__3xp_p\",\"footerSeparator\":\"messagestyles_footerSeparator__1L4lA\",\"hljs-comment\":\"messagestyles_hljs-comment__xgidC\",\"hljs-quote\":\"messagestyles_hljs-quote__gGt-W\",\"hljs-addition\":\"messagestyles_hljs-addition__6pHkO\",\"hljs-keyword\":\"messagestyles_hljs-keyword__1w-vC\",\"hljs-selector-tag\":\"messagestyles_hljs-selector-tag__H3-cL\",\"hljs-doctag\":\"messagestyles_hljs-doctag__2rBN4\",\"hljs-literal\":\"messagestyles_hljs-literal__3Ynsx\",\"hljs-meta\":\"messagestyles_hljs-meta__1XwRV\",\"hljs-meta-string\":\"messagestyles_hljs-meta-string__1G9rh\",\"hljs-number\":\"messagestyles_hljs-number__2kjrt\",\"hljs-regexp\":\"messagestyles_hljs-regexp__2g8FE\",\"hljs-string\":\"messagestyles_hljs-string__3aXO1\",\"hljs-name\":\"messagestyles_hljs-name__3AMr1\",\"hljs-section\":\"messagestyles_hljs-section__3Xuvf\",\"hljs-selector-class\":\"messagestyles_hljs-selector-class__1fYHT\",\"hljs-selector-id\":\"messagestyles_hljs-selector-id__3JpJg\",\"hljs-title\":\"messagestyles_hljs-title__24DtQ\",\"hljs-attr\":\"messagestyles_hljs-attr__2WD5r\",\"hljs-attribute\":\"messagestyles_hljs-attribute__2_Tgn\",\"hljs-class\":\"messagestyles_hljs-class__3yD8D\",\"hljs-template-variable\":\"messagestyles_hljs-template-variable__K2zHI\",\"hljs-type\":\"messagestyles_hljs-type__2SmVC\",\"hljs-variable\":\"messagestyles_hljs-variable__3iaTC\",\"hljs-bullet\":\"messagestyles_hljs-bullet__23oHI\",\"hljs-link\":\"messagestyles_hljs-link__3QYdc\",\"hljs-selector-attr\":\"messagestyles_hljs-selector-attr__3VTvW\",\"hljs-selector-pseudo\":\"messagestyles_hljs-selector-pseudo__3O2kJ\",\"hljs-subst\":\"messagestyles_hljs-subst__lngNm\",\"hljs-symbol\":\"messagestyles_hljs-symbol__1buPc\",\"hljs-built_in\":\"messagestyles_hljs-built_in__yGT3m\",\"hljs-deletion\":\"messagestyles_hljs-deletion__2i5Yu\",\"hljs-formula\":\"messagestyles_hljs-formula__16DGk\",\"hljs-emphasis\":\"messagestyles_hljs-emphasis__1S0Dx\",\"hljs-strong\":\"messagestyles_hljs-strong__2NVNc\"};"],"sourceRoot":""}