Skip to content

Instantly share code, notes, and snippets.

@smitch88
Created November 9, 2023 04:25
Show Gist options
  • Save smitch88/f465f4560bf34806fadb1612d06c7fd2 to your computer and use it in GitHub Desktop.
Save smitch88/f465f4560bf34806fadb1612d06c7fd2 to your computer and use it in GitHub Desktop.
<!--
A short 3D action game for the 2021 js13kGames Competition.
Our hero, Captain Callisto, blasts through space, seeking adventure. What will he find?
Controls:
* Arrow keys or WASD to move
* Z or spacebar to jump
* X or shift to jetpack
* R to restart level
* M to toggle music
* Escape to show main menu
-->
<!--MIT License
Copyright (c) 2021 Cody Ebberson
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.-->
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Captain Callisto</title>
<style>
* {
touch-action: none;
}
html,body {
width: 100%;
height: 100%;
margin: 0;
border: 0;
overflow: hidden;
display: block;
background: #000;
}
canvas {
position: absolute;
}
</style>
</head>
<body>
<canvas></canvas>
<canvas></canvas>
<script>
eval(Function("[M='IcYxomD?WOqC`Wc~e[EHhax?FiyqNP{HHpsSUzyQhnFzevQej_fOUCnWQW}jSUHc^mZFOXDtf~AB]lZlEyxngbLe@Zh^`fBj]wiNFvKbpm@Tt]w?K?TIf@}wwZpl@kT~hP{gR^UCj~ZDecg`AscdlMaaue?mDrUV]X[aN}FszF_~bgyH@dluJHw|Ywqnt`FRhtadxik_`_B]}IhNFCT[C@X}YGymrNOVrI~H|x@lxOUWSWdYWbDOMS{hbWN{jDnxC]lmb}BQy_inUvmbExIWEUs@re_dUiNGxXJCEmUNz}`v_oja{@Rgco~~Apky{DWpRXnSMVlM^YP_KL~vV@MlnlxkWMG_[IM{gZa^cOaj]IswhcJtv}GIqiCr`PL^Vzwg}Grgdx}cyY^dhqG`SqZtF|zuiUDH_~|Mk^?UyXQ`t^ibt{lbdjhh]xA[gIripoVwf]IWATwGD{Mb}Kh?_T{MeyY?TtYgd]}u_cnVBJUr~QgQqBwmbNfchaLHzM[]gZjUuswLyycdZe[Vg^cJmx^_m]jvuno_gvlJdTR@_j@pmmNL_mDZBmAJHMsJd]jqpeqjSCHNTVo_[gZbv[SKMOD?w|XWN|zD@?fO}y@zwStIHXnbLBl@oYoA^JPXOlgN~OX?JLIT?cpSXgKH[AX`i~oHaUheYBMeNy~xkRXxczw[}HNYrRoVhOHHQfYK[]eHefBcbTpCa}qss_v_ErmK}YtJOUfMx_cuBZmU`u`nRVMSXN^eE?eGkPovRzq?pCrtSUlvDgyTphWYRQUfSUaKzS@pOZkvfnczjiIDSdF^@I~qwszRoCAjNc}jYJr{Fg@BCQfDkNGHF@LAHXnAdwQZrJ~@pQ{QP`K]uZ{ZnV^fbXlv}ISh|{zTyAAuCfsisfnaBlFj|D}]cLT@wBZ`vwwxvdm^FUjiLpS`zK}dSTw]QIqMA`JbqF{rL_dGgf`?hyAHj^JYm|}nn}vH`SgJLvyDwUObhQYX]TnDouZCTfRsCvLZCmyX@Xjcn~MDxjnLkpeQxzpSkoAEnNz]XkzTrE`rPX}VE}VkvknfR[bAZ_bsMTr`OHlX}AULeWI`omOMoAwCkDur{}HXZMeA}HtZkQtGCJ`XpMRnL{RiCyEs[hSnFep@aICnntuX^CIySBogA]dZkZkwMgIWm`HkM{jLRDUB[ukSOUxVi`uGQj_^}]j{FMKXSETwhs__p[uwPhRItmOPZqCrcKoK_G[UJNF_ToUTdgOeAW]rjy[KV}eeobHqWOHyuQSyLNchYFL?OnOPcZU~{ZwbB]rNDMBteHNvpSAOpzVEG^n|daEDsEElUroZG[~lgp[lAvyF{?_rRQcOAJWsk@hraxjYETnCmFTTCAjYwZSrCFo]Shbdh@rroRct[t]{]JOn`WGcIiu]BgcQfcUjirAObb~xRoIroZuFngvEuVpB}FBGnogl^tQXXT^vp}HH}lEsN|hspD]LcchiL~^Gfph@jMkfk]?j~GeNDrxhY`ps]~|RMicL]XrVT[S~gxQpQyfyOpRBVh^aaAuN_?hzICY{Jz@xzHMl|@jkvF^puW`vumH@]QoH}XLPyxjXeZMeCufIAmEY]EpLDRcQqghQc_OOCk|ugXmELzL}MMEmUpxfRpcVhOeHES|ZL_ei{gxYPC}R{Qtge|cYOLOafBouePsFA}w_Q{Ke|rguNlnTnqWt}TCoUFB|uuBgO|L?LnoMVnK[[nPywt]QY@CzxUWcgwyBEGnXUE]Toz~QHhAEquwz?ESCiceQFZvn[{V@GgQMhplLSMH||NP_MdOon~TzJSr|m~gkObKkLOzIyrD?sTzHJQvDZlYpfvkAfekFF]{cb]dnVnwIN[F{ZNYj@?oe^wpIU{@}uYnRSAFwkNd`SIdZd}us^ljw^[c_HVgx~loMv~{e@itWHIf{DUlMy~_QqMPB}RiPpJmD}RLxk|fRPtlJXu@l`}~z_OUmo[jzL|CumOnsww?YVqRntGzFEwd]V^aQ`?TtrL_tAWAvJx]IvgZnba`|QzrMOAl`}CI?xGRIL`yvp?qCiyaQsH^l^|Y@jPtQ[whpsfpWwb{weV@o}PAXwkbdDDufn@l@qn_UDcsC@KKk?f@z@fO[lCw_}Qb[ho_Nh]juPDrNr~dTyjZZiWhPED`LVdYtTQX@HDsZiMv[mEMkEDZwHEpDtL?yE^iggpKZguFKQcWeQDvKL|T|[SvoZgRSASfBx`zLxYLL|@L@NGWvbuPziAWgNKOd|OBUOmhHSyTdoCrNaO]jgyzskmVORwuObVVPeUZ}aarGNHJHDLRG@`|CUp|pj{Hm_X`U{tKGwRStis|JEl[FGEJX@zDNS@c?atDNMRw_wU^vNBDkCmfrxPwBReWmpaJENKGns[aQXOKNSolWrP_oYmdILzSGh^MftFil^XmKFexz^eBJ]OpUHgVK_|gVp~kGxEbCrDvi|a}Uwt^IbRcImJ_wXeSZAmOrAkbhtKv_~_Wm{aPX|?HnSU}}wcu?Qgd_bmEcFztZNhn^YMiYAwDDxq~yhe`}[?uSxpTHoz?^dz_dhJUj{baHDRH}J`]@yoqGBjWuZUAcJFGwK}@NDb[^iq|GmJOuWBFf|IlW~n^tqBpEglFz{@bAfUAWXzh@}dUHi`Iok]nrl}oBDb^wgQ{D_xbRHQDJmw@TvZJNZIIB`CKRQ]jw@@ITyzIBIpEIq{|AUAMQNu^Y|V?wFM]AeTXIwSjmRl_QbCYwdH]kex}EFG~uRlbtoKhdPFEIShpsiubpE?DB[SILSa]QUPFL]Nwumf[i?O@IkfR^bklRPLVx}rPLC[TBB_YTgzEY}gUwVM^]gT@gkCknKKcsrIJxvro[]~EHTtpBQpVdWDyF{VKHL@NPmTeujIzmsemIs^jXPHcdQaMP]WzYSew{OY_m?PdrYwznGcNcgMT{gljXgy`zOc}UDOEbuUSk`ihCimJg}YhjcRDUU?l}Y}DEP]qvdpNH~j?`JpdMCW[OQk`XgC[PvcBXxPG_yFiFE_n^wmIy@kzNuCdd[NYKDCxrASMBJ|{wjCab`S~@{Pjdksxj?JFXMtyvA~}ZylD~j_tYzLF`gCaQQJJAN{jrhonNACx?UZClkY[kGRP|beFtXmNod[RZZbAigsoXDjdk{ISmRK]lN`@WbF~nwvFkOrJZO[EY}Kf~BafAkR|~]ZZUrFJoAYVQG|L|hrxnTEYCXBkVUVC}TzCzD^yPmCtB_}`uAdAj^sqmDXkfj[KdjEy[RH]}I@u_~i~QxRsX]~F_BsQPXR]zJcxa|vJxJWQi~|GUW?yNcBPeZ@YOF_@uxxO[lT^xpxi[de_?JaWFrBoavY?mppOHKZOB[zhRtvV^M?nkn[z`Rbj~D{y]Yx`gl_XimLZmneWifp`hDV{ur`Ocb^{GOz?ARoyysd]SztNh@bBzVpZGMZiuUF?]_WtUrUDPIqyhOf{Z]rxrAQYzSIwLiIXJ]xlDjNH`WAlsUEXDfJdpAQmqZtkMaiWZUIvFiYuZMMRGQ}nPJDm_Ow|`HhifxMs`_HY_Xf]fhKln]Rsq^COdM~[PpPBStdu?rEGM|~CHd]_Vu?dogmRIKslPZ~Wu_}LJkOjgl~VZvTVGNJTsQbQzJoZ^PXJ}XX`ZJNppPyYqBgGTi?vbk}iCS_SixRWU_DaR@V^hioeL?M@vglfeTvDlq^RDjyY`hLYsHenUiHjMe{TAzLS`@[WtCOLr_}~HnqUNwYhaPVstvZdkPLDSpDYCR_K~or`lFkxaBlh`AuwtkiZL?g[IE{DuIzz`MjpTp@d}Q|H_ebmTgOTbaCap[NMzXn?IPil~FIlhNsTV]QqCCRySFhlZhwqXY~tSNrAOZ@JeKAJr]SmY^ZZ?e[PPbliO|[xX[bKTJ|CuAbi~@eOFR^W?LRSeO{~PDRkoQ^KI[zkHWyucUCmwYYC~sRQTbb`GKluvdBDtN_[knznxCaPgQly{OEBbQHsOPuEZpU[elrVjB{{qBOkSK^mdRxbFS|a^~MZE^VyLRUbR?eSQgRsO|AuTKKVva~c~z|y`QJbtL`e{@LdzE^PPothedtYJgS_ePCFhHc|P[_d`CSD|RmuxdFI|`cWmp]ZZpdfbkxEpGGT^RmZhEHCreYuULa[Vgad[QpEAKhBVRm[D`Jo|]FF`C`WTwpXr_knwEjSav]Bb`zfFXvArrM~SQNW[ToZadtUJvyxNmOT}BXEakmKBmOKxYZ]VNXwhF??CzNSinoP|jFZFtNmaewx{P`nkszcDL{lXlG]{UVKM@lBgJSohFbZHaXw@NWTyKEkxdBopTmG`ZOeQ[nBuloWFSb[cd?WgqjX]{WsE_j_sMNlRygM[|ceMm|wIQ_k}FYSrEhmcig~Q|ewNS}yp@oJvO{uBiYujdcy`|s|`G_g?hJgynnkZIGQC@GYV]BkQsO^q]_sBP^Pb@gPPn~DJyOkwL[NY[qN?~giqPUHXV}Z[GTqva}NKCaUAfmR`ogkDVABFPwPTubPLujUR?N`XX?{_qBMNMj}XKzKAtCH`krcDG{fqpzGwPK^C``hFaHt}cd@`SiVriJ@aSBp@@LLXcH@wGwklXweXxa[EbZHNFmcZmgP]FhQU_`RhIbbAVCrMvBmxp^qzv^HSKez_TeLidMkcwp_`ZtP}D|Oj}jsioVKe@XM~f[c_SgjpVI^Di`^FLf?DIIcL]YDV{PyvXWSqwkTnnmUXBTZrqTvcWKqgV`]CGIUM~`SSGB{nA{]hA?@zJTPZSTK[bSYA|~ZU~DevX_z^YW|J{jAOwV}two_MS[VcsRbOMTGWHAC]v~QpIp`ANdKdv?jVq~HWQjMbg?]_ZsEgKmhjqfG~vfBBkM^|H_]BGc@EE?|Be[vmVS|SZL^UTM{a_Itly{Ax|yQNXr~okximqDGF{MMP}fcU[`jEGd?SqfyQFXFJjaJRR~r^bH^iC?jFjUEfVcJDWeT~[F`pXvZAgzkST?SYjnx{^fiI~QhGkMats}Q~QvsWvV]EwXzox_VEFoProc]AVy~J[FgRSLFeYnU^`BuxYnzla]GT~r[_oQ~ZEaqmIyXiy{|UHtiblWJ{CK}IPRDYX^NOH]T~q]K@ZfrN@hNZXP^Kd~`WyloycXW}Vr{lGTaFiueTbaf`gB{G^sSFriR{OlH_H^AwUry]DS`lFU]AGCie{aCqwbio`rRYeVzdzjQkVnOX[xxxYmtvETrLlO~wTpGIlVj^q~sSFNf@?|tm?GbndPnJB~FsBKQqMLQKixysgz`tuEKBv|eV[{BUkVGaJk]@{BCpxeiWIBKxchyQ[zqq`G@hZtmK]uZ]PyARuyXgTonfJx[AdcgFGjLLcpGGPHIfYhN{RLYvbGp`^^~OXhlaFUOce?BE~{wY?RvZpiI{E{`V]@qQSCMX~dQ{wPXJ|_M`fIZuQ_HZRgqN]yRsxzoGMzznKDhOoWItalhjlZ[zaQusWGibjrPFwgPZ{xmnZLBahK}hB}VqM{BdQ@_~ScZkTBQgUYkr}tOzFRygowod~lSIO@oOPel_HtscE`Swqh^|MuqCarmZNACmKjXX`_NUj_ZXRWBAJME_IT{fEcagAd{@m@qciWiAzhlK^]~BXqC|G]jwJqEmiPlI`CSdZPUK{ENwMlCaSyWITQi_XxgvmziKRtimt?evtjUEtdLg@LbfcrIa~[ptoVFn[IbqPLhHdjwGXxebfAJFn{BgQwLZ]uxgzIe}[Gs`FkOCkaeQ{j?^ZQWkOd^mM@rZ]BoPkem`{CWOxwBtkMCbKOWBUkVvgzmvuZ]jk_`i|Bgx?XZIXdx`^zpsC{]]ZEs{SFSAncj^DwipvOIXlc[}z[NykFUT`[HAnrVrldrwP@szb~VeVciAyJaQTO`IRXoOAhNbvYdEYry~zIeYrEhqkzIRKmszArHFFjSDmnvNp@cq}womqDF?BebiDr_TZ`{^WzPHjDmZNGgjwvF`SqjujgPMuZAyhrWVM~NG[nEobT`UBukYZJfGS@?SwqenCX`MF@Nlvw[~tPEkT?khEwCWBDN`szke?|vsmJSWHU_yJrjulsVhcjo{bSbta]i}F}tr_P{DKBLSN{BnctAVU}OEcyVdJXsSeFsQ^iD}TRt{z^@XTR`UgZXTwyiio^GHwu`ShsYPmEa_vfbQe}?f?]KG_|GL@tQvbslU@^WB?u_RuLP|VPjP`ipWFjXZBg?lpqplfttqBt{N|Vi^}SoZRG}iJYTCLhJeB[j[fy}jhdJI@l|ktAQKtKNO]Oy]DRQ[XSy^_gI_tCKEUFE^u?dHAVBNWcINipJhqBwnAdUWd}]OuyVgFkBx{FrstPwebL_Fkc^lytn?TwWB{U_kH?lthd_dVQQgrf{FNAtTJrzIUBTwbCrWqTJ_c_JcBAnV@?aAuwn`PElUor`DzQZwi`NE@zM{oPuv}]VkPGK^Ebp}f?QdWz~wAb_eZRCiStefb?|~HEMzjw?UJu[gHcClJGx|v{GSQz@qSP|`mlFykbLc~dl@pJd^^nY_`suUGY{FU_NdA?dZUpBWWVl@I_MvwYFimt^ztxg@jWsHYeVk|tjA}`g_ZLqBc}uA]vmnqzoOZpno{qM[k|UzS}N~Z?yL@[kb_O}zMTmXziceEdUW}OiW?SfnFuF?hCI?[E^WdvViEDjS?VwOeUTbW@VyleBmkweGY[zaUEvgTFhfkHCEbjJC~nrQ|wKAZlfszl}F|lLasJC^|rCoVum_E}vDDs_c?{zh_L?TMS^R@KIcCeAYWy_^YQyLYGPn?XnmgkjcCPMXXI{vTKnU_`xliQ?IwKS~JBqdPhrEuoDxsGeReQO]`B~mtxUBKe[E}frBUWyr_mkoID?EbIIID@HzeA[mmbdk~VWLLlQEPN^iRn}]?fGZRXoVj]|]@UXsAGVFuCjDbije^]CBgq{J{sTxbitCpT]oXZH`NDpVwvfPetEqO^w?kgY`[nfaexOaygQYpy@Lzat]xaXNTS{Tt^zlzMHOUyMRFJDLyGFzIVH^T`xHLnFNxVCw}hYON_kYcw]gYm]WirY_C[jT{[noCSPFEdaohGCzMYlJIr?ovAwQyTdzi{lUUod{pF{alIcNPft@xx@tcthyL]zpQxwtrnHcDkAeJXzoSCwHQ[yBqkBFDqTNX]TCGTSTLQvZS@B?BtNszlCubXTGOdLTRxuBADq_wcR^[[X@KiLsRqhxmwdJNF?DoY{V[rAA^^bPSdng]zn|v~TajOcUi}?rBAMM`sklh]aEvlO~iNtEAbIJVpl^{F~ZvQRcmfGZ]]UHuXrQ]{@lcrVfF~xBlZDmEIxmSS|vc}HNg]^_xI{UqI}dW`QjH}rdpjlJc~_drS?ZEd{ky]@Qawqfh?CG^}fpjnAFQTdfmjbkN@VGmOkkKRvQLTLDadL{dazL~jZFWHxdC^oLygMxIISAHH@Egyu_CRnUwFN@ZVljJeFt]xPCgw^WwOlYkIFPloZLL~TvP~AUdblEV[B_}T?aUfchO}x|hEiY]HxJtkzOGiV~y@yjo~OfRFt^YTgMM^eEkcqT[GAthrgt]GrfHF^EUHZaZYxScBXS`I~AQCmr~e]T|BhFnaoIj_XmZVhE^am[}Kp`vqn_imvt~vjZ]~FYgffoTrmDPFCkd}[nbwa_{a[NSvOaJbpPbIeIK_QGbuy^K?pOLpwPJOtobV]lhmtsPHMLVjuRH@]b~PBtfZDFnM|GdwSFwpP?htjnXoTbdbFCdT|[Fgj_QUbckIkzD`yoW`VUjnQLDTqy}pXVpXVvC^]R_noIeySI?}^}RK`jctnb[z}nA|udnHFzWCDvsgijeDvEnqGcVnV@ozn}nmL@gofl[uOOwXf~giGMez`]kqCjD^dm_JtCGYByooBjQkpqokStSwvyY{dUN{wIN]KshrRnYu^~cVgs_vgYlyKoy|B^{t`NwtPAuCcBaLYtZ_zWRQv~pJIwpOAFxkVQKW|S]zVzem??XgyV{IBB[rzWCIG?qWsHMahe[FEAR@MiyIBmddNigp]VwaKRYnPtyYV[yViFuufR[sbfwSjGgGn{VEVitILnqkJLUtcP_NOKemFVSLMFBs{G_DFC@~HnYVwsl`uIopgl^vrMSrJIpoY|wjQ~atqkQr]HNQVOIIDuKUSuTtGVZbUySY{LOA@iJ_Q]XHzAtPeg|aZIJ[^DLbHm`YfBiauJTwpJjrBuJkH@jwv}~edFUCL]|YjX|kSc[fTVAE|Kl@Q|FrAovtuw_w`yhmoYd]pGhDSBD~{wVxZxwvkaTWxFyz?uzJ}bkzuxyX}HlEgEtSE|tzhjeo?uFyPgDPfHU`BGhhAB?BIe?I|CRUvV|VHNOeKuVfU]OQQKkuj@`@_oh^my^wC@^WQMSrwsgTmvCRQV`YcewxLFcl^gRHreYTf``|xwBO|bo{tKQvNd]P~blAw`rcnBQqN_p?rUtPLIFbC`fnwGHC_i{Q@KWuOaPw[UgGwTR~IW?@^yjem]jvxaO`PXfHbiiPnfr^MOhUeZnSCBI]NxDcoOIUF@mnXxTeaDLq^a?WGxMouejiAtHMr[}LIdvR^K@PwW^NurwLJb{DZbFcQ_@MWjtOGkoqpMrZseBe`~[FGVu`zZ{lq_}]tvxc^AJCxUv}nRsXPlB}|Fsyel[W}xxkxYrEJ^]tsXDmiJm^nEptUVAVlljpRc@`{x~CCOc]YkBlub|QlqsRPO@NF|d`Gk~_]UfwRqJXE@Qqi`{rPaFIw@bQ}y]GEB~I?{IvnON]`BJXYClUOEd?zK}MsS^XErHJ`YU[XkMDtd]^sZJzDpV|mbLo{s]BstFuHyJiUfATbpabQI_degoojfHW[zGRsKMxrt}u@eIkUfRx}kYkIUxysuD}LyeizJzoeZF]}EhtgVt@hQjBD@WCI`h_ovH?LJRU{XeM~IXJRl]tND}ezlKR[tcKpE]]kwSyheL~OieYNXr_zIiXZZYO_fg_pIR[ZVnnY`UOthLU][[[aHjDaJUF]NqkUJOeg`EljHMAub[oPb`lCUXTrp{O]Hd`ftmZvytieK]JvnrmMXpWuKzG@iehCpwZYIKIzSLGheQvVHl[?BQ[YZi?Up}km|Vos[U[GvgUQoYv^d|P|NijlrpysVg[TC|?zTD_fPRN^xlhXyrUdriCVg{~TGbCKV`nd~Oku@t?}JTFTkxIzmVbJtoAxKHN@^]dyYUj]]CH|jP_}dwj^F|G_fHQthcXFCRr??I`KiWOsr^Xqjyb{HUhRzK@|X^|s`wAVe{Te~l`oeH~mZZ]jtWsPHO@HfcOu{_NHGmkawxU[iMpz@~QTZKmCq}s_MesrRNQ`vBDF~_aE}|?Jd~v`|QE^Ig^Lu]pN{K@TEeiljr`Ja|[eykUxlF^mahi?N]uZpHFAFEfQQ]vHZD}@yHuIz]{UKyLrty|TIlw`c~fuBqx@uU?ihYRuh]Jhntx?}b[P[Mb_WDAQ`MUs|omBTQkiAufprCXtUWd}kaI`cBiGJreU|[oBoaWf?YMGVY?l_BzUUgEHAeYxZ~hCHyr``{fXEwYl`NRu]?]q[~j}PoVap`laAdlHsCbLrE?zUdu]hi~yR[cCzA?Edun]@{lIfxR}V|ptxto{fevgvkrrCnmctOIsYxqAPQkzFQd_POrE@OdIZzIzcMLghpU|R]QeaGFHtWvExQvjWponRQsL~[X~?CoVE_TevsGyDbFa[grZ}FveCUfCcu|Y^A}ZEscbPfMuTCLohFh~U_[|zUj{WrSl@bnQPtiXWKBbKxspxGofWauhuLWBoBH`eQL_o[oQAYzMvwyFMF_NXQ{Fwo|@|sIYWp|~VB}Ny{aGpqEPNjQjEUXRHlrdqGCoN`[TEffvnf?am}KdsVZ^|fthpSwCtVGnUTFLyzHZP|?yTjp^~fSVHHFDESGcNRZAcaFVP~DT]AAiC?cPeNIvbtE]X[R~qStlI}RYsbvnkpooBtv^LbLDindQc{tu|W[tO]dmDx^OZPme[iRpyxaaOQJMB]cepR_r|iYKz]wHZZIqfputEsxj`QfmpbFgqg~RPr^[iYWjke?AQk@etZRvaBbGeErcCTvbi_Q|ONJOLgpHzMyiZkcyB{wTnICwwb{SBYN_{Bi|XXW_jq|to[mIMFGPsuoyLHtID{wwM}hubTE]xo~IlOsjer|wl~udPBDzqFH{?nMpQ[e^nXYU~pNf`GSkF?~q@@XHNpKMWvzW}YXF`SWOeJnGkcRp@IwLmVE}cxkBAbKlLs]}[TGWZYe@uDqcEmvxrgacU?sP@mNlb@YS?LR{U?lB^Ocra?EspjkqdwQjhw_`oOZWlsp]rqz}}XbuNvDYnA[mp[W{UGjnxyPMoWsobKdn~S]oAHuWJYcwm[k_BtRjaN@rpCBJUvc_FAfsY}nfOnieuTld`AyMHVPHI|~QhKMIVgljqH}q{SQo[AstfZm{zfXbkikeEramM|PSbXz[]^jsIvT{dMd?g@uB~vq`TbpVLaU|mJeB`iR@S@JWZROnbv]CcMZqUmsJ^d@uKZezLczeKYd|RMBdVzIA]wNNElQYVVumdBEoKagy@QlRLTzUHNgB~~XBRqpa_?@|uP~TC{`VT`kRG{qTXtZiA?qSG{H??UIYjnZhlpqKNqQ`aacbzcP_cDcbtC`~_YARtPmbcMq}ceH}GjHoVSKb_vzBCb}_p~oL|i]vdGH[]^QnP[pnBlbHszlKc|]vx{vDh~[rVuIOY|?wh[PQMmsNA]yLXgGfhFYQFmhv~SKPgbmYGh_ZFcc_]ypYg|{Mii_sDszK{tIjIYKTG?zRP{nB@{qwI{v@|PB|~xxcAHgEHfCdfeRDm[DqIa_rt{v_UWkaS[AWT|s[T~LHPUOpwfSkqTm]EBzrDj[ZMTlZMzTFW_MuQXiBFnPkaQcYRwCa@e[{JM_uHXg}@^{A_tcNvRcNpIfGEY[zNNeqOtfYGfvPHwdX^rzzufYDO`CuxeZJibfVQUlRmPjVGScGxeOcZgAceG[?WdceOSJbSaBoVc[dELjouTOewOqsmZNXbAFGDCR_MtsDgwUgMBzwrnHGQlX{TwKbhJyFB?}^SZUTIpzKn?AwIycGTf^YwdWPswacvGm|^EYmOv}~IpyldqZF}usK|{gzQCgfPt_vGFPLUUCwBdF{~sFc{oO~dUXrMCmit@@hM@ph}QkyYxuh`FAV`K_HBaqHrbKuizBkzMzIfh[~eqPbpyTkcl`^GV_QEXPKsQNNAJFIuSWdXFG}y`gWSXtUlv~xy{xOAjViHOLXbuUM[HhQ|[`tCIvReDq~mIvV~szBrfLmWiqHG{mEFIHRJvF]SyKQHcCsIMMMFlOhc~dHyfQ{ST`?jEcGcytidWZ~QTKGWtzGzGj~AKkO{lNe?|iUoDYwdBQpsqfg}I}f_YD}MktsvKs~O~pIY{x^^b}myj^RPyKEh~y[NNEIAo}ldKkhSiffrk_bDSn]znaE}`csqxkwbW}aESJCL{v{}vJTr?xpjKPo~OEVptMR@ZieZOVAeqL~|vmMVJNFIHPFY_pjlusQHXXmX}Oennvc@vIpEeRv|IEZWYF[dhzha`KRw[JthayOqojFdZIpB^D~Nyqa_FecSEKl[HF`]UI~oe_sFm}VNGCoZ|{kX}kczIZKG}AJkR]IIbiu@PlKxiReRdI[JdFDCd[hApsooCPK_FHSe@yS[WxhqOeCKKwD_pTCSHagmTRb[JhB]}DzlQ~oN@PcmYiFUPlNpUyJ|dZ~MZgiD`sd{pOqtsCsfr|EjM^EWyK`norQEgmRuh@^yN~fFQoHwi~tVT}{`na`JLQ_j@_zNhWimBue?H]XnwaZjVJKFTPAjC`jpnfgfmTaudtr^GwP?DTNWHdYkGI@NYAg[rFLzME`mZVw~uCqoc~{beIcDHQ?rs@jcaGN}`jShU`Wem_oBFSbi_rj}TwNq|R^~{A~RxzZFCp{@BsXpAJ^tAGg~kHDiJb}[VUzuUD__qDNkl|dlrzUyRxRvW?~VZeVL}wPnQn?~GBbMHpXaNWRmrSPRdMkikkv{JAuEOLxRz}ymy^KaujcfW{O_[ADzkaBxePbWs[ySLSg|ZadAkRWh|y|?BDjXuqQ}QExbU?shvh]ONiqzxDiQLd?eODk`ern~iNQXst|JFJMq|BPeBjXKaxS|tbIEV]a[nqbMRl?Bcujo`xpLdlg?vXR]LbdomJQV]XpYaY@DO]BOWS}_Aglf|GgkgXZ{PEqS@oQkXH_sw[_e_LKvqnJZ^Ct~??TEr|BBoqKGbbgg`o_rrHO?o]P`xFpio@LYLFL|nvSE_y_jHsUXn}KDf^j@tZgEGVpwUQ~g}EhXZq]GjF|cYxQoskXecyzxQgBZCJpqfQNJRCSopCjopyLiJIgZk[eSfsOV`E?_JSIluGZVl|j]hKaJ]^cm|TepZV?ZE~yAj}UJwrMDgIXv~T?C~pLjEh@^}LOPYCaGWmsJ[OM_DHX]LseS^MKHgBUXYIbAM|PtIlYTNTa?t_~]uU@i~gVN}_rcOW`|bSFfqOEHKZFFqxGd@?KBZi`LrrrcDHJ^pie{Sx@I]_{`rpoXx_vltNvkiwY`_{~tDI}^z]s?rlRcbcC?uGdsaCtulWGpfeO_Y[CJLUV[_DXRQuM?ezmG~nwoHyQri@GBFyzOc}dg}OCL|uK_WNq|DMMGCW[v^p@IaxPg~IGLejxXzKF~EyHWtc~?UzQlnS~Wpxl_KhjRKdyVQLRUY@u[roRKSohiLg@yKIdfVncW|RTeg^zGsYep`eXNz}^]_JrtYB]~ALuad]UkR@{PpzAnzeO?wrriL|LDj?SbEthKhsiJIBNsfjVyPuDkXkxtWGowmYHeAtHVNyEFJx{NA}CInLsXjV^cOYKpv{b@g{ybFUR`EDhtfWP]gaYPRVXwbWtEIH?b`mqlLXOfEierZVUlCZECOeh{Vqls^hydf~LEtRcxTDdOGYl]XzqKmBAzrVxm?J{nnU_R`R^~}MkD_]ULa~XuSI`[`UHWako`m]~rYOAK_}fZsoTvbqZBWXAK^Lbe_wcHMUV]`|wPRNfTm{Udk`GL|LbBipgsocCK]MkXPzUVxb~@aliM`YjdBEfAN@QGz^LQv?dggpcOJlkkW^I[ln`vWt^IpzkGvxnWICRMKMV|aoMQh@rFM{V]EpMdMMxyx]aiJRkaeYYmLvxlBF~yR~vesRubBULbBxXnFKe}YdzrrnoyPAGYD~`UuMuSSwWTDpkMB~xKajMnz?hFvauVPYM}ypd`VUvUydt?OZSUBUWnW]l@w~l_plB~WEWuYuAibFh]kLu]JsykcjTF]C|N[yF[lsPCumSf_DscKctQY|h`EGT{BqrSsLDqtv@vQBizqyoog~{|ZHBkE_[]kLCrgNd~NhSATYTScQ`sWqheXTadpVp|qdP}fzEXUfbLezxloqElzlXEnlrf?ClvpnoSakxriWmSUy?TmGs~zrhUX@~M{_EiN}?TSDANVj}IzLG?ljNoENbassaukmq@FmF_DwNy_HJfXJBIZr~TFvgG@wuVgyNUM[}N~cuySItjRUqO|IAZ|LjGRZPfrlS^v~IBy^c~RBxc_NMA_mmjLro_E^LKdplEnZXcRZ{rQZmVzaUdC?Pq~|LI?I?bHBZ@b^jAssAb[IEBtAvQFFR|G`_bmUx@vanrIl~ZklC}~yRuZO_X`IS_eiUkjbEejvU^olHS^M{liQxkptPCkQraxdNKc}ql}nYD]CzVrL~gQeB?ubQYRaaHLUgGiTH@qNhgardsQLlvJH]UBkfY|FdhLBkb@CSpfdxM^C[H}Fb{dv~lzXa_YWnlaLqSE_FmmbJ^LEUCSmvJwXsywUdzDLpYphoGuX]YC]LXGLsR[vg~m|`KHgcDN]MD}gyi`tjhFiNBleYNXG|_h{Wg|jHzOKFWxKZzVe~mHSXxNaenURhc@mUStJx?|MUgWjbSP_l^]lLkkUydRZp]weqhvUhe{qPJzdefE[BpUFhiMzOZodBRAkIro^auICqzUKQ`H@aWBBdRu@DpXoxUD@'", ...']charCodeAtUinyxpf', "for(;e<34041;c[e++]=p-=128,A=A?p-A&&A:(p==34|p==39|p==96)&&p)for(p=1;p<128;f.map((n,x)=>(U=C[n]+=(i*a/2-C[n]<<15)/((o[n]+=o[n]<4)+1/20)>>15,r[x]+=y[x]*(i-t/a))),p=p*2+i)for(f='010210320321043105410652065410765208753109821'.split(t=0).map((n,x)=>(U=0,[...n].map((n,x)=>(U=U*997+(c[e-n]|0)|0)),a*128-1&U*997+p+!!A*129)*12+x),y=f.map((n,x)=>(U=C[n]*2+1,U=Math.log(U/(a-U)),t-=r[x]*U,U/750)),t=~-a/(1+Math.exp(t))|1,i=h%a<t,h=h%a+(i?t:a-t)*(h>>15)-!i*t;h<a*128;h=h*64|M.charCodeAt(d++)&63);for(o=String.fromCharCode(...c);C=/[\0- -]/.exec(o);)with(o.split(C))o=join(shift());return o")([], [], 48893926, 1 << 15, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], new Uint16Array(12 << 22).fill(1 << 13), new Uint8Array(12 << 22), 0, 0, 0))
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment