{"version":3,"sources":["components/Header/index.tsx","assets/icon.jpg","i18n.ts","assets/language.svg","components/Footer/index.tsx","shared/Button/index.tsx","shared/MutedPlayer/index.tsx","assets/youtube.svg","shared/YouTubePlayer/index.tsx","assets/close.svg","shared/Modal/index.tsx","pages/Home/MapsModal/index.tsx","pages/Home/PatchsModal/index.tsx","assets/video.mp4","assets/video.webm","assets/discord.svg","pages/Home/index.tsx","App.tsx","index.tsx","pages/Home/index.module.css","shared/shared.module.css","services/tools/tools.service.ts","components/Footer/index.module.css","shared/YouTubePlayer/index.module.css","services/api/index.ts","shared/Modal/index.module.css","shared/Button/index.module.css","services/api/api.service.ts","shared/Select/index.tsx","assets/spinner.svg","shared/Spinner/index.tsx","shared/Select/index.module.css","shared/Spinner/index.module.css","pages/Home/MapsModal/index.module.css","pages/Home/PatchsModal/index.module.css","components/Header/index.module.css"],"names":["withRouter","props","t","i18n","useTranslation","countOnline","setOnline","useState","useEffect","ApiService","instance","getOnlinePlayers","then","count","_jsx","className","s","header","join","children","_jsxs","sShared","container","logo","href","language","width","height","logoImage","alt","src","nav","HashLink","to","link","NavLink","pathname","search","location","target","rel","stats","undefined","statsHide","LANGUAGES","id","label","code","resources","translationRU","use","LanguageDetector","initReactI18next","init","reduce","acc","item","translation","fallbackLng","whitelist","map","detection","order","lookupFromPathIndex","lookupLocalStorage","checkWhitelist","transSupportBasicHtmlNodes","transKeepBasicHtmlNodesFor","_extends","Object","assign","bind","n","e","arguments","length","r","hasOwnProperty","call","apply","_ref2","d","fill","_ref3","SvgLanguage","_ref","svgRef","title","titleId","viewBox","ref","ForwardRef","Footer","currentItem","setItem","find","footer","Select","select","items","directionDropDown","change","window","replace","LanguageSvg","iconLang","Button","button","type","onClick","toBool","val","defaultValue","MutedPlayer","autoPlay","muted","playsInline","p","dispatched","setDispatched","videoRef","useRef","useLayoutEffect","current","setAttribute","opacity","_ref4","gradientUnits","x1","y1","x2","y2","gradientTransform","offset","stopColor","_ref5","SvgYoutube","YouTubePlayer","isCover","setCover","cover","style","backgroundImage","_Fragment","buttonWrapper","YouTubeButtonSvg","YouTube","youtube","videoId","opts","playerVars","autoplay","SvgClose","Modal","show","document","body","overflowY","hide","onHide","onKeyDown","keyCode","addEventListener","removeEventListener","currentTarget","modal","CloseSvg","close","MapsModal","maps","setMaps","apiService","getMaps","mps","Spinner","name","image","loading","PatchsModal","SvgDiscord","Home","isMapsModalOpen","setMapsModalOpen","isPatchsModalOpen","setPatchsModalOpen","main","banner","loop","bannerPreview","videoMp4","videoWebm","bannerLink","section","Trans","i18nKey","modsAndMaps","contacts","contactsDiscordLink","DiscordSvg","contactsDiscordImage","Statistic","loadable","App","Helmet","htmlAttributes","lang","content","property","BrowserRouter","basename","Header","Switch","Route","exact","path","rootElement","getElementById","hasChildNodes","ReactDOM","hydrate","render","module","exports","Tools","constructor","this","toolsService","isPreRendering","navigator","userAgent","response","fetch","json","onlinePlayers","camelcaseKeys","modName","sort","a","b","getStats","filter","query","URLSearchParams","entries","forEach","append","String","toString","getModFamilies","modFamilies","_props$dropDownClasNa","isOpen","setOpen","searchText","setSearchText","mainClass","buttonClass","arrow","buttonArrow","arrowClass","arrowUp","arrowDown","list","toLowerCase","includes","dropdownClass","dropdown","dropDownClasName","dropdownUp","dropdownDown","onClickOutside","searchWrapper","autoFocus","onInput","value","stopPropagation","notFound","transform","attributeName","values","keyTimes","dur","begin","repeatCount","SvgSpinner","preserveAspectRatio","spinner","SpinnerSvg"],"mappings":"6OAiDeA,mBArCf,SAAgBC,GACZ,MAAM,EAACC,EAAC,KAAEC,GAAQC,eACXC,EAAaC,GAAaC,mBAAS,GAQ1C,OANAC,qBAAU,KACaC,UAAWC,SAEnBC,mBAAmBC,MAAKC,GAASP,EAAUO,IAAO,GAC9D,IAGCC,cAAA,UAAQC,UAAW,CAACC,IAAEC,QAAQC,KAAK,KAAKC,SACpCC,eAAA,WAASL,UAAW,CAACM,IAAQC,UAAWN,IAAEM,WAAWJ,KAAK,KAAKC,SAAA,CAC3DC,eAAA,KAAGL,UAAWC,IAAEO,KAAMC,KAAM,IAAIrB,EAAKsB,YAAYN,SAAA,CAC7CL,cAAA,OAAKY,MAAM,KAAKC,OAAO,KAAKZ,UAAWC,IAAEY,UAAWC,IAAK3B,EAAE,kBAAmB4B,IC1BnF,4hOD0BmG,eAIlGV,eAAA,OAAKL,UAAWC,IAAEe,IAAIZ,SAAA,CAClBL,cAACkB,WAAQ,CAACC,GAAG,gBAAgBlB,UAAWC,IAAEkB,KAAKf,SAAEjB,EAAE,yBACnDY,cAACkB,WAAQ,CAACC,GAAG,oBAAoBlB,UAAWC,IAAEkB,KAAKf,SAAEjB,EAAE,6BACvDY,cAACkB,WAAQ,CAACC,GAAG,aAAalB,UAAWC,IAAEkB,KAAKf,SAAEjB,EAAE,wBAChDY,cAACqB,UAAO,CAACF,GAAI,CAACG,SAAU,UAAWC,OAAQpC,EAAMqC,SAASD,QAAStB,UAAWC,IAAEkB,KAAKf,SAAEjB,EAAE,sBACzFY,cAAA,KAAGU,KAAK,iDAAiDT,UAAWC,IAAEkB,KAAMK,OAAO,SAASC,IAAI,sBAAqBrB,SAAEjB,EAAE,2BAG7HkB,eAAA,QAAML,UAAW,CACbC,IAAEyB,MACDpC,OAA4BqC,EAAd1B,IAAE2B,WACnBzB,KAAK,KAAKC,SAAA,CACPjB,EAAE,oBAAoB,KAAGG,SAK9C,I,wCEtCO,MAAMuC,EAAY,CACrB,CACIC,GAAI,EACJC,MAAO,UACPC,KAAM,KACNC,U,OACD,CACCH,GAAI,EACJC,MAAO,6CACPC,KAAM,KACNC,UAAWC,GACZ,CACCJ,GAAI,EACJC,MAAO,aACPC,KAAM,KACNC,U,QAIR7C,IACK+C,IAAIC,KACJD,IAAIE,KACJC,KAAK,CACFL,UAAWJ,EACNU,QAAiB,CAACC,EAAKC,KACpBD,EAAIC,EAAKT,MAAQ,CAACU,YAAaD,EAAKR,WAC7BO,IACR,CAAC,GACRG,YAAad,EAAU,GAAGG,KAC1BY,UAAWf,EAAUgB,KAAIJ,GAAQA,EAAKT,OACtCc,UAAW,CACPC,MAAO,CAAC,QACRC,oBAAqB,EACrBC,mBAAoB,OACpBC,gBAAgB,EAChBC,4BAA4B,EAC5BC,2BAA4B,CAAC,KAAM,QAIhChE,EAAI,ECjDnB,SAASiE,IAAa,OAAOA,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvE,EAAIwE,UAAUD,GAAI,IAAK,IAAIG,KAAK1E,GAAG,CAAG,GAAE2E,eAAeC,KAAK5E,EAAG0E,KAAOJ,EAAEI,GAAK1E,EAAE0E,GAAK,CAAE,OAAOJ,CAAG,EAAGJ,EAASW,MAAM,KAAML,UAAY,CAEnR,IAAIM,EAAqB,gBAAoB,OAAQ,CACnDC,EAAG,gBACHC,KAAM,SAEJC,EAAqB,gBAAoB,OAAQ,CACnDD,KAAM,UACND,EAAG,8yBAEL,SAASG,EAAYC,EAAMC,GACzB,IAAI,MACFC,EAAK,QACLC,KACGvF,GACDoF,EACJ,OAAoB,gBAAoB,MAAOjB,EAAS,CACtDzC,OAAQ,GACR8D,QAAS,YACT/D,MAAO,GACPgE,IAAKJ,EACL,kBAAmBE,GAClBvF,GAAQsF,EAAqB,gBAAoB,QAAS,CAC3D1C,GAAI2C,GACHD,GAAS,KAAMP,EAAOG,EAC3B,CACA,MAAMQ,EAA0B,aAAiBP,GAClC,Q,iBCeAQ,MA9Bf,WACI,MAAOC,EAAaC,GAAWvF,mBAAqBqC,EAAU,KACxD,EAAC1C,EAAC,KAAEC,GAAQC,cAOlB,OALAI,qBAAU,KACN,MAAMgD,EAAOZ,EAAUmD,MAAKvC,GAAQA,EAAKT,OAAS5C,EAAKsB,YAAamB,EAAU,GAC9EkD,EAAQtC,EAAK,GACd,CAACrD,EAAKsB,WAGLX,cAAA,UAAQC,UAAW,CAACC,IAAEgF,OAAQ,eAAe9E,KAAK,KAAKC,SACnDC,eAAA,WAASL,UAAW,CAACM,IAAQC,UAAWN,IAAEM,WAAWJ,KAAK,KAAKC,SAAA,CAC1DjB,EAAE,eACHkB,eAAC6E,IAAM,CACHlF,UAAWC,IAAEkF,OACbC,MAAOvD,EACPwD,kBAAkB,KAClBC,OACI7C,GACI8C,OAAOhE,SAASd,KAAO8E,OAAOhE,SAASF,SAASmE,QAAQpG,EAAKsB,SAAU+B,EAAKT,MAClF5B,SAAA,CAED0E,EAAY/C,MACbhC,cAAC0F,EAAW,CAACzF,UAAWC,IAAEyF,kBAK9C,E,0BC7Be,SAASC,EAAOzG,GAC3B,OAAOA,EAAMuB,KACTV,cAAA,KAAGC,UAAWC,IAAE2F,OAAQnF,KAAMvB,EAAMuB,KAAKL,SACpClB,EAAMkB,WAGXL,cAAA,UACIC,UAAWC,IAAE2F,OACbC,KAAM3G,EAAM2G,KACZC,QAAUpC,GAAMxE,EAAM4G,SAAW5G,EAAM4G,QAAQpC,GAAGtD,SAEjDlB,EAAMkB,UAGnB,CCrBA,SAAS2F,EAAOC,EAAiCC,GAC7C,YAAYtE,IAARqE,EACOC,IAEFD,CACb,CAIe,SAASE,EAAYhH,GAChC,MAAM,SAACiH,EAAQ,MAAEC,EAAK,YAAEC,KAAgBC,GAAKpH,GACtCqH,EAAYC,GAAiBhH,oBAAS,GACvCiH,EAAWC,iBAAyB,MAgB1C,OAdAC,2BAAgB,KACRJ,GAGCE,GAAaA,EAASG,UAG3BJ,GAAc,GAEdC,EAASG,QAAQC,aAAa,QAAS,KACvCJ,EAASG,QAAQC,aAAa,cAAe,KAC7CJ,EAASG,QAAQC,aAAa,WAAY,KAAI,GAC/C,CAACN,EAAYC,IAGZzG,cAAA,YACQuG,EACJ3B,IAAK8B,EACLN,SAAUJ,EAAOI,GAAU,GAC3BC,OAAO,EACPC,YAAaN,EAAOM,GAAa,IAG7C,C,YCzCA,SAAS,IAAa,OAAO,EAAW/C,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvE,EAAIwE,UAAUD,GAAI,IAAK,IAAIG,KAAK1E,GAAG,CAAG,GAAE2E,eAAeC,KAAK5E,EAAG0E,KAAOJ,EAAEI,GAAK1E,EAAE0E,GAAK,CAAE,OAAOJ,CAAG,EAAG,EAASO,MAAM,KAAML,UAAY,CAEnR,IAAI,EAAqB,gBAAoB,OAAQ,CACnDQ,KAAM,OACND,EAAG,kCAED,EAAqB,gBAAoB,OAAQ,CACnD4C,QAAS,IACT3C,KAAM,UACND,EAAG,wCAED6C,EAAqB,gBAAoB,iBAAkB,CAC7DjF,GAAI,IACJkF,cAAe,iBACfC,GAAI,MACJC,GAAI,MACJC,GAAI,MACJC,GAAI,IACJC,kBAAmB,0BACL,gBAAoB,OAAQ,CAC1CC,OAAQ,EACRC,UAAW,YACI,gBAAoB,OAAQ,CAC3CD,OAAQ,EACRC,UAAW,aAETC,EAAqB,gBAAoB,OAAQ,CACnDrD,KAAM,UACND,EAAG,qdAEL,SAASuD,EAAWnD,EAAMC,GACxB,IAAI,MACFC,EAAK,QACLC,KACGvF,GACDoF,EACJ,OAAoB,gBAAoB,MAAO,EAAS,CACtD3D,MAAO,GACPC,OAAQ,GACR8D,QAAS,eACTC,IAAKJ,EACL,kBAAmBE,GAClBvF,GAAQsF,EAAqB,gBAAoB,QAAS,CAC3D1C,GAAI2C,GACHD,GAAS,KAAM,EAAO,EAAOuC,EAAOS,EACzC,CACA,MAAM,EAA0B,aAAiBC,GAClC,Q,iBCnBAC,MArBf,SAAuBxI,GACnB,MAAOyI,EAASC,GAAYpI,oBAAS,GAErC,OACIO,cAAA,UAAQC,UAAWC,IAAE4H,OAAS3I,EAAMc,UAAY,IAAMd,EAAMc,UAAY,IACpE8H,MAAO,CAACC,gBAAiB,8BAA8B7I,EAAM4C,qBAC7DgE,QAASA,IAAM6B,GAAWC,GAAS,GAAOxH,SAExCuH,EAEGtH,eAAA2H,WAAA,CAAA5H,SAAA,CACGL,cAAA,QAAMC,UAAWC,IAAEuE,MAAMpE,SAAElB,EAAMsF,QACjCzE,cAAA,WAASC,UAAWC,IAAEgI,cAAc7H,SAChCL,cAACmI,EAAgB,SAJzBnI,cAACoI,IAAO,CAACnI,UAAWC,IAAEmI,QAASC,QAASnJ,EAAM4C,GAAIwG,KAAM,CAACC,WAAY,CAACC,SAAU,OAUhG,EC1BA,SAAS,IAAa,OAAO,EAAWlF,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvE,EAAIwE,UAAUD,GAAI,IAAK,IAAIG,KAAK1E,GAAG,CAAG,GAAE2E,eAAeC,KAAK5E,EAAG0E,KAAOJ,EAAEI,GAAK1E,EAAE0E,GAAK,CAAE,OAAOJ,CAAG,EAAG,EAASO,MAAM,KAAML,UAAY,CAEnR,IAAI,EAAqB,gBAAoB,OAAQ,CACnDQ,KAAM,OACND,EAAG,iTAEL,SAASuE,EAASnE,EAAMC,GACtB,IAAI,MACFC,EAAK,QACLC,KACGvF,GACDoF,EACJ,OAAoB,gBAAoB,MAAO,EAAS,CACtDI,QAAS,YACTC,IAAKJ,EACL,kBAAmBE,GAClBvF,GAAQsF,EAAqB,gBAAoB,QAAS,CAC3D1C,GAAI2C,GACHD,GAAS,KAAM,EACpB,CACA,MAAM,EAA0B,aAAiBiE,GAClC,Q,oBCsBAC,OArCf,SAAexJ,GACPA,EAAMyJ,OACNC,SAASC,KAAKf,MAAMgB,UAAY,UAGpC,MAAMC,EAAOA,KACT7J,EAAM8J,SACNJ,SAASC,KAAKf,MAAMgB,UAAY,MAAM,EAGpCG,EAAavF,IACG,KAAdA,EAAEwF,SACFH,GAAM,EAcd,OANAtJ,qBAAU,KACN8F,OAAO4D,iBAAiB,UAAWF,GAE5B,IAAM1D,OAAO6D,oBAAoB,UAAWH,MAGhD/J,EAAMyJ,KACTtI,eAAA,WAASL,UAAWC,KAAEM,UAAWuF,QAASpC,GAZ7BA,KACTA,EAAElC,SAAWkC,EAAE2F,eACfN,GAAM,EAUqCjD,CAAQpC,GAAGtD,SAAA,CACtDC,eAAA,WAASL,UAAWC,KAAEqJ,MAAMlJ,SAAA,CACvBlB,EAAMsF,OAASzE,cAAA,MAAAK,SAAKlB,EAAMsF,QAC1BtF,EAAMkB,YAEXL,cAACwJ,EAAQ,CAACvJ,UAAWC,KAAEuJ,WAE3B,IACR,E,6BCHeC,OA3Bf,SAAmBvK,GACf,MAAOwK,EAAMC,GAAWnK,mBAAoB,KACtC,EAACL,GAAKE,cASZ,OAPAI,qBAAU,KACN,MAAMmK,EAAalK,UAAWC,SAE1BT,EAAMyJ,MAAwB,IAAhBe,EAAK9F,QACnBgG,EAAWC,UAAUhK,MAAKiK,GAAOH,EAAQG,IAAK,GACnD,CAAC5K,EAAMyJ,KAAMe,IAGZrJ,eAACqI,GAAK,CAAClE,MAAOrF,EAAE,kBAAmBwJ,KAAMzJ,EAAMyJ,KAAMK,OAAQA,IAAM9J,EAAM8J,SAAS5I,SAAA,CAC7D,IAAhBsJ,EAAK9F,QAAgB7D,cAACgK,KAAO,IAE9BhK,cAAA,WAASC,UAAW,CAACM,IAAQC,UAAWN,KAAEM,WAAWJ,KAAK,KAAKC,SAC1DsJ,EAAK7G,KAAIA,GACNxC,eAAA,WAAAD,SAAA,CACIL,cAAA,OAAKe,IAAK+B,EAAImH,KAAMjJ,IAAK8B,EAAIoH,MAAOC,QAAQ,SAC5CnK,cAAA,QAAAK,SAAOyC,EAAImH,SAFDnH,EAAIf,UAQtC,E,oBCHeqI,OAzBf,SAAqBjL,GACjB,MAAM,EAACC,GAAKE,cAEZ,OACIU,cAAC2I,GAAK,CAAClE,MAAOrF,EAAE,oBAAqBwJ,KAAMzJ,EAAMyJ,KAAMK,OAAQA,IAAM9J,EAAM8J,SAAS5I,SAChFC,eAAA,WAASL,UAAWC,KAAEM,UAAUH,SAAA,CAC5BC,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAKjB,EAAE,yBACPY,cAAA,QAAAK,SAAOjB,EAAE,2BAGbkB,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAKjB,EAAE,yBACPY,cAAA,QAAAK,SAAOjB,EAAE,2BAGbkB,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAKjB,EAAE,yBACPY,cAAA,QAAAK,SAAOjB,EAAE,+BAK7B,EC/Be,OAA0B,kCCA1B,OAA0B,mCCAzC,SAAS,KAAa,OAAO,GAAWmE,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvE,EAAIwE,UAAUD,GAAI,IAAK,IAAIG,KAAK1E,GAAG,CAAG,GAAE2E,eAAeC,KAAK5E,EAAG0E,KAAOJ,EAAEI,GAAK1E,EAAE0E,GAAK,CAAE,OAAOJ,CAAG,EAAG,GAASO,MAAM,KAAML,UAAY,CAEnR,IAAI,GAAqB,gBAAoB,OAAQ,CACnDO,EAAG,qsCACHC,KAAM,YAER,SAASiG,GAAW9F,EAAMC,GACxB,IAAI,MACFC,EAAK,QACLC,KACGvF,GACDoF,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDI,QAAS,eACTC,IAAKJ,EACL,kBAAmBE,GAClBvF,GAAQsF,EAAqB,gBAAoB,QAAS,CAC3D1C,GAAI2C,GACHD,GAAS,KAAM,GACpB,CACA,MAAM,GAA0B,aAAiB4F,IAClC,Q,oBC8FAC,OAnGf,WACI,MAAOC,EAAiBC,GAAoB/K,oBAAS,IAC9CgL,EAAmBC,GAAsBjL,oBAAS,IACnD,EAACL,EAAC,KAAEC,GAAQC,cAElB,OACIgB,eAAA,QAAML,UAAWC,KAAEyK,KAAKtK,SAAA,CAEpBC,eAAA,WAASL,UAAWC,KAAE0K,OAAOvK,SAAA,CACzBC,eAAC6F,EAAW,CAAC0E,MAAM,EAAM5K,UAAWC,KAAE4K,cAAczK,SAAA,CAChDL,cAAA,UAAQgB,IAAK+J,GAAUjF,KAAK,cAC5B9F,cAAA,UAAQgB,IAAKgK,GAAWlF,KAAK,kBAEjCxF,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAI,cACJL,cAAA,MAAAK,SAAKjB,EAAE,sBACPY,cAAC4F,EAAM,CAAClF,KAAK,qCAAoCL,SAAEjB,EAAE,mBACrDY,cAAA,KAAGC,UAAWC,KAAE+K,WAAYvK,KAAK,iCAAgCL,SAAEjB,EAAE,4BAI7EkB,eAAA,WAASyB,GAAG,cAAc9B,UAAW,CAACM,IAAQC,UAAWN,KAAEgL,SAAS9K,KAAK,KAAKC,SAAA,CAC1EL,cAAA,MAAAK,SAAKjB,EAAE,yBAEPkB,eAAA,MAAAD,SAAA,CACIC,eAAA,MAAAD,SAAA,CACIL,cAAA,KAAAK,SAAG,MAAKL,cAAA,QAAAK,SAAOjB,EAAE,6BAErBkB,eAAA,MAAAD,SAAA,CACIL,cAAA,KAAAK,SAAG,MACHL,cAAA,QAAAK,SACIL,cAACmL,IAAK,CAACC,QAAQ,uBAAsB/K,SACjCL,cAAA,KAAGyB,OAAO,SAASC,IAAI,+BAA+BhB,KAAK,gCAA+BL,SAAC,gBAIvGC,eAAA,MAAAD,SAAA,CACIL,cAAA,KAAAK,SAAG,MACHL,cAAA,QAAAK,SACIL,cAACmL,IAAK,CAACC,QAAQ,uBAAsB/K,SACjCL,cAAA,KAAGyB,OAAO,SAASf,KAAK,qCAAoCL,SAAC,gBAIzEC,eAAA,MAAAD,SAAA,CACIL,cAAA,KAAAK,SAAG,MACHL,cAAA,QAAAK,SACIL,cAACmL,IAAK,CAACC,QAAQ,uBAAsB/K,SACjCL,cAAA,KAAGyB,OAAO,SAASC,IAAI,+BAA+BhB,KAAK,iEAAgEL,SAAC,gBAIxIC,eAAA,MAAAD,SAAA,CACIL,cAAA,KAAAK,SAAG,MACHL,cAAA,QAAAK,SAAOjB,EAAE,gCAIE,OAAlBC,EAAKsB,UACFX,cAAC2H,EAAa,CAAC1H,UAAWC,KAAEmI,QAAStG,GAAG,cAAc0C,MAAM,kPAIpEnE,eAAA,WAASyB,GAAG,kBAAkB9B,UAAWC,KAAEmL,YAAYhL,SAAA,CACnDL,cAAA,UACAM,eAAA,WAASL,UAAWM,IAAQC,UAAUH,SAAA,CAClCC,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAKjB,EAAE,oBACPY,cAAA,QAAAK,SAAOjB,EAAE,0BACTY,cAAC4F,EAAM,CAACG,QAASA,IAAMyE,GAAiB,GAAMnK,SAAEjB,EAAE,uBAGtDkB,eAAA,WAAAD,SAAA,CACIL,cAAA,MAAAK,SAAKjB,EAAE,sBACPY,cAAA,QAAAK,SAAOjB,EAAE,4BACTY,cAAC4F,EAAM,CAACG,QAASA,IAAM2E,GAAmB,GAAMrK,SAAEjB,EAAE,6BAMhEkB,eAAA,WAASyB,GAAG,WAAW9B,UAAW,CAACM,IAAQC,UAAWN,KAAEgL,QAAShL,KAAEoL,UAAUlL,KAAK,KAAKC,SAAA,CACnFL,cAAA,MAAAK,SAAKjB,EAAE,wBACPY,cAAA,QAAAK,SACIL,cAACmL,IAAK,CAACC,QAAQ,gBAAe/K,SAC1BL,cAAA,KAAGyB,OAAO,SAASC,IAAI,sBAAsBhB,KAAK,iCAAgCL,SAAC,aAG3FL,cAAA,KAAGC,UAAWC,KAAEqL,oBAAqB7J,IAAI,+BAA+BD,OAAO,SAASf,KAAK,gCAA+BL,SACxHL,cAACwL,GAAU,CAACvL,UAAWC,KAAEuL,4BAIjCzL,cAAC0J,GAAS,CAACd,KAAM2B,EAAiBtB,OAAQA,IAAMuB,GAAiB,KACjExK,cAACoK,GAAW,CAACxB,KAAM6B,EAAmBxB,OAAQA,IAAMyB,GAAmB,OAGnF,ECtGA,MAAMgB,GAAYC,aAAS,IAAM,sDA6ClBC,OA3Cf,WACI,MAAM,EAACxM,EAAC,KAAEC,GAAQC,cAElB,OACIgB,eAAA2H,WAAA,CAAA5H,SAAA,CACIC,eAACuL,IAAM,CAACC,eAAgB,CAACC,KAAM1M,EAAKsB,UAAUN,SAAA,CAC1CL,cAAA,SAAAK,SAAQjB,EAAE,kBACVY,cAAA,QAAMiK,KAAK,cAAc+B,QAAS5M,EAAE,wBAEpCY,cAAA,QAAMiM,SAAS,WAAWD,QAAS5M,EAAE,kBACrCY,cAAA,QAAMiM,SAAS,UAAUD,QAAQ,YACjChM,cAAA,QAAMiM,SAAS,SAASD,QAAS,wBAAwB3M,EAAKsB,cAC9DX,cAAA,QAAMiM,SAAS,WAAWD,QAAS,yCAAyC3M,EAAKsB,iBACjFX,cAAA,QAAMiM,SAAS,iBAAiBD,QAAQ,QACxChM,cAAA,QAAMiM,SAAS,kBAAkBD,QAAQ,QACzChM,cAAA,QAAMiM,SAAS,eAAeD,QAAQ,cACtChM,cAAA,QAAMiK,KAAK,eAAe+B,QAAQ,wBAClChM,cAAA,QAAMiK,KAAK,gBAAgB+B,QAAS5M,EAAE,kBACtCY,cAAA,QAAMiK,KAAK,sBAAsB+B,QAAS5M,EAAE,wBAC5CY,cAAA,QAAMiK,KAAK,gBAAgB+B,QAAS,yCAAyC3M,EAAKsB,oBAGtFL,eAAC4L,gBAAa,CAACC,SAAU9M,EAAKsB,SAASN,SAAA,CACnCL,cAACoM,EAAM,IAEP9L,eAAC+L,IAAM,CAAAhM,SAAA,CAEHL,cAACsM,IAAK,CAACC,OAAK,EAACC,KAAK,IAAGnM,SACjBL,cAACsK,GAAI,MAGTtK,cAACsM,IAAK,CAACC,OAAK,EAACC,KAAK,UAASnM,SACvBL,cAAC0L,GAAS,SAKlB1L,cAAC8E,EAAM,SAIvB,EC9CA,MAAM2H,GAAc5D,SAAS6D,eAAe,QAExCD,IAAeA,GAAYE,gBAC3BC,IAASC,QAAQ7M,cAAC4L,GAAG,IAAKa,IAE1BG,IAASE,OAAO9M,cAAC4L,GAAG,IAAKa,G,qBCZ7BM,EAAOC,QAAU,CAAC,KAAO,mBAAmB,OAAS,qBAAqB,cAAgB,4BAA4B,WAAa,yBAAyB,QAAU,sBAAsB,QAAU,sBAAsB,YAAc,0BAA0B,SAAW,uBAAuB,oBAAsB,kCAAkC,qBAAuB,mC,qBCArXD,EAAOC,QAAU,CAAC,UAAY,0B,kCCD9B,kCAAe,MAAMC,EAGTC,cAAe,CAEvB,mBAAWtN,GAIP,OAHKuN,KAAKC,eACND,KAAKC,aAAe,IAAIH,GAErBE,KAAKC,YAChB,CAEA,kBAAIC,GACA,MAA+B,cAAxBC,UAAUC,SACrB,EAdiBN,EACFG,kBAAY,C,qBCA/BL,EAAOC,QAAU,CAAC,OAAS,uBAAuB,UAAY,0BAA0B,OAAS,uB,qBCAjGD,EAAOC,QAAU,CAAC,MAAQ,6BAA6B,cAAgB,qCAAqC,MAAQ,6B,kCCDpH,6E,qBCCAD,EAAOC,QAAU,CAAC,UAAY,yBAAyB,MAAQ,qBAAqB,MAAQ,qB,qBCA5FD,EAAOC,QAAU,CAAC,OAAS,uB,kCCD3B,+DAWe,MAAMrN,EAGTuN,cAAe,CAEvB,mBAAWtN,GAIP,OAHKuN,KAAKtD,aACNsD,KAAKtD,WAAa,IAAIlK,GAEnBwN,KAAKtD,UAChB,CAEA,sBAAMhK,GACF,GAAIoN,IAAMrN,SAASyN,eAAgB,OAAO,EAE1C,MAAMG,QAAiBC,MAAM,oBAG7B,aAFmBD,EAASE,QAEhBC,cAAc9J,MAC9B,CAEA,aAAMiG,GACF,GAAImD,IAAMrN,SAASyN,eAAgB,MAAO,GAE1C,MAAMG,QAAiBC,MAAM,kCACvBC,QAAaF,EAASE,OAE5B,OAAOE,IAAyBF,GAC3B5K,KAAIJ,IAAI,CACLX,GAAIW,EAAKX,GACTkI,KAAMvH,EAAKmL,QACX3D,MAAO,qBAAqBxH,EAAKX,aAEpC+L,MAAK,CAACC,EAAGC,IACND,EAAE9D,KAAO+D,EAAE/D,KAAO,GAAK,GAEnC,CAEA,cAAMgE,CAASC,GACX,GAAIjB,IAAMrN,SAASyN,eAAgB,MAAO,GAE1C,MAAMc,EAAQ,IAAIC,gBAElB7K,OAAO8K,QAAQH,GAAQI,SAAQ5L,QACfd,IAAZc,EAAK,IACLyL,EAAMI,OAAO7L,EAAK,GAAI8L,OAAO9L,EAAK,OAGtC,MAAM8K,QAAiBC,MAAM,mBAAqBU,EAAMM,YAClDf,QAAaF,EAASE,OAE5B,OAAOE,IAA+BF,EAC1C,CAEA,oBAAMgB,GACF,GAAIzB,IAAMrN,SAASyN,eAAgB,MAAO,GAE1C,MAAMG,QAAiBC,MAAM,yBACvBC,QAAaF,EAASE,OAG5B,OADqCE,IAAoCF,GAC3DiB,WAClB,EA9DiBhP,EACFkK,gBAAU,C,2LCUd,SAAS1E,EAAOhG,GAAwC,IAADyP,EAClE,MAAM,EAACxP,GAAKE,eACLuP,EAAQC,GAAWrP,oBAAS,IAC5BsP,EAAYC,GAAiBvP,mBAAS,IAEvCwP,EAAY/O,IAAEM,UAAY,KAAOrB,EAAMc,WAAa,IACpDiP,EAAchP,IAAE2F,QAAU1G,EAAMgQ,MAAQ,IAAMjP,IAAEkP,YAAc,IAC9DC,EAAYnP,IAAEiP,MAAQ,KAAON,EAAS3O,IAAEoP,QAAUpP,IAAEqP,WAEpD1O,EACF1B,EAAMoC,OACF,QAA6B,IAArBpC,EAAMkG,MAAMxB,gBACI,IAArB1E,EAAMkG,MAAMxB,OAAf,IAEF2L,EAAOrQ,EAAMkG,MAAM6I,QAAOxL,IAC3BqM,GAAcrM,EAAKV,MAAMyN,cAAcC,SAASX,EAAWU,iBAGhE,IAAIE,EAAgBzP,IAAE0P,SAAW,KAA6B,QAA1BhB,EAAIzP,EAAM0Q,wBAAgB,IAAAjB,IAAI,IAqBlE,MAnBgC,OAA5BzP,EAAMmG,kBACNqK,GAAiB,IAAMzP,IAAE4P,WAEzBH,GAAiB,IAAMzP,IAAE6P,aAG7BrQ,qBAAU,KACN,MAAMsQ,EAAiBA,IAAMnB,GAAUC,GAAQ,GACzC5F,EAAavF,GAAmC,KAAdA,EAAEwF,SAAkB6G,IAK5D,OAHAnH,SAASO,iBAAiB,QAAS4G,GACnCnH,SAASO,iBAAiB,UAAWF,GAE9B,KACHL,SAASQ,oBAAoB,QAAS2G,GACtCnH,SAASQ,oBAAoB,UAAWH,EAAU,CACrD,IAID5I,eAAA,WAASL,UAAWgP,EAAU5O,SAAA,CAC1BL,cAAA,UAAQ8F,KAAK,SAAS7F,UAAWiP,EAAanJ,QAASA,IAAM+I,GAASD,GAAQxO,SACzElB,EAAMkB,WAEVlB,EAAMgQ,OAASnP,cAAA,OAAKC,UAAWoP,IAC/BR,GACGvO,eAAA,WACIL,UAAW0P,EACX5H,MAAO,CAAClH,UAAQR,SAAA,CAEflB,EAAMoC,QACHvB,cAAA,WAASC,UAAWC,IAAE+P,cAAc5P,SAChCL,cAAA,SACI8F,KAAK,SACLoK,WAAW,EACXjQ,UAAWC,IAAEqB,OACb4O,QAASxM,GAAKqL,EAAerL,EAAElC,OAAe2O,OAC9CrK,QAASpC,GAAKA,EAAE0M,sBAKxBb,EAAK3L,OAAS,EACV2L,EAAK1M,KAAIJ,GACL1C,cAAA,UACIC,UAAWC,IAAEwC,KAEb+B,MAAO/B,EAAKV,MACZ+D,QAASA,IAAM5G,EAAMoG,OAAO7C,GAAMrC,SAEjCqC,EAAKV,OAJDU,EAAKX,MAOlB/B,cAAA,QAAMC,UAAWC,IAAEoQ,SAASjQ,SAAEjB,EAAE,6BAM5D,C,oDCrGA,SAASkE,IAAa,OAAOA,EAAWC,OAAOC,OAASD,OAAOC,OAAOC,OAAS,SAAUC,GAAK,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CAAE,IAAIvE,EAAIwE,UAAUD,GAAI,IAAK,IAAIG,KAAK1E,GAAG,CAAG,GAAE2E,eAAeC,KAAK5E,EAAG0E,KAAOJ,EAAEI,GAAK1E,EAAE0E,GAAK,CAAE,OAAOJ,CAAG,EAAGJ,EAASW,MAAM,KAAML,UAAY,CAEnR,IAAIM,EAAqB,gBAAoB,IAAK,CAChDqM,UAAW,oBACG,gBAAoB,IAAK,CACvCA,UAAW,iCACG,gBAAoB,IAAK,CACvCA,UAAW,mBACG,gBAAoB,mBAAoB,CACtDC,cAAe,YACf1K,KAAM,SACN2K,OAAQ,OACRC,SAAU,MACVC,IAAK,OACLC,MAAO,KACPC,YAAa,eACE,gBAAoB,OAAQ,CAC3C1M,EAAG,knDACHC,KAAM,cACW,gBAAoB,IAAK,CAC1CmM,UAAW,+BACG,gBAAoB,IAAK,CACvCA,UAAW,kBACG,gBAAoB,mBAAoB,CACtDC,cAAe,YACf1K,KAAM,SACN2K,OAAQ,OACRC,SAAU,MACVC,IAAK,OACLC,MAAO,QACPC,YAAa,eACE,gBAAoB,OAAQ,CAC3C1M,EAAG,ooDACHC,KAAM,eAER,SAAS0M,EAAWvM,EAAMC,GACxB,IAAI,MACFC,EAAK,QACLC,KACGvF,GACDoF,EACJ,OAAoB,gBAAoB,MAAOjB,EAAS,CACtDqB,QAAS,cACToM,oBAAqB,WACrBnM,IAAKJ,EACL,kBAAmBE,GAClBvF,GAAQsF,EAAqB,gBAAoB,QAAS,CAC3D1C,GAAI2C,GACHD,GAAS,KAAMP,EACpB,CACA,MAAMW,EAA0B,aAAiBiM,GAClC,Q,iBCrCA9G,IARf,SAAiB7K,GACb,MAAMc,EAAYC,IAAE8Q,UAAgB,OAAL7R,QAAK,IAALA,OAAK,EAALA,EAAOc,WAAY,IAAMd,EAAMc,UAAY,IAE1E,OACID,cAACiR,EAAU,CAAChR,UAAWA,GAE/B,C,2kiBCXA8M,EAAOC,QAAU,CAAC,UAAY,0BAA0B,OAAS,uBAAuB,YAAc,4BAA4B,SAAW,yBAAyB,WAAa,2BAA2B,aAAe,6BAA6B,KAAO,qBAAqB,MAAQ,sBAAsB,QAAU,wBAAwB,UAAY,0BAA0B,cAAgB,8BAA8B,OAAS,uBAAuB,SAAW,yB,qBCArdD,EAAOC,QAAU,CAAC,QAAU,yB,qBCA5BD,EAAOC,QAAU,CAAC,UAAY,6B,qBCA9BD,EAAOC,QAAU,CAAC,UAAY,+B,yCCA9BD,EAAOC,QAAU,CAAC,OAAS,uBAAuB,UAAY,0BAA0B,KAAO,qBAAqB,UAAY,0BAA0B,MAAQ,sBAAsB,UAAY,0BAA0B,IAAM,oBAAoB,KAAO,qB","file":"static/js/main.748a35cd.chunk.js","sourcesContent":["import React, {useState, useEffect} from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\nimport {NavLink, withRouter, RouteChildrenProps} from 'react-router-dom';\r\nimport {HashLink} from 'react-router-hash-link';\r\n\r\nimport ApiService from '../../services/api';\r\n\r\nimport iconJpg from '../../assets/icon.jpg';\r\nimport sShared from '../../shared/shared.module.css';\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction Header(props: RouteChildrenProps) {\r\n const {t, i18n} = useTranslation();\r\n const [countOnline, setOnline] = useState(0); \r\n\r\n useEffect(() => {\r\n const apiService = ApiService.instance;\r\n \r\n apiService.getOnlinePlayers().then(count => setOnline(count));\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n
\r\n DowOnline\r\n \r\n\r\n \r\n \r\n \r\n {t('resources.online')}: {countOnline}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default withRouter(Header);\r\n","export default \"data:image/jpeg;base64,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\"","import i18n, {Resource} from 'i18next';\r\nimport {initReactI18next} from 'react-i18next';\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\n\r\nimport translationRU from './locales/ru.json';\r\nimport translationEN from './locales/en.json';\r\nimport translationES from './locales/es.json';\r\n\r\n\r\nexport const LANGUAGES = [\r\n {\r\n id: 0,\r\n label: 'English',\r\n code: 'en',\r\n resources: translationEN\r\n }, {\r\n id: 1,\r\n label: 'Русский',\r\n code: 'ru',\r\n resources: translationRU\r\n }, {\r\n id: 2,\r\n label: 'Español',\r\n code: 'es',\r\n resources: translationES\r\n }\r\n];\r\n\r\ni18n\r\n .use(LanguageDetector)\r\n .use(initReactI18next)\r\n .init({\r\n resources: LANGUAGES\r\n .reduce((acc, item) => {\r\n acc[item.code] = {translation: item.resources};\r\n return acc;\r\n }, {}),\r\n fallbackLng: LANGUAGES[0].code,\r\n whitelist: LANGUAGES.map(item => item.code),\r\n detection: {\r\n order: ['path'],\r\n lookupFromPathIndex: 0,\r\n lookupLocalStorage: 'lang',\r\n checkWhitelist: true,\r\n transSupportBasicHtmlNodes: true,\r\n transKeepBasicHtmlNodesFor: ['br', 'p']\r\n }\r\n });\r\n\r\nexport default i18n;","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 0h24v24H0z\",\n fill: \"none\"\n});\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#4C4C4C\",\n d: \"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zm6.93 6h-2.95c-.32-1.25-.78-2.45-1.38-3.56 1.84.63 3.37 1.91 4.33 3.56zM12 4.04c.83 1.2 1.48 2.53 1.91 3.96h-3.82c.43-1.43 1.08-2.76 1.91-3.96zM4.26 14C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2 0 .68.06 1.34.14 2H4.26zm.82 2h2.95c.32 1.25.78 2.45 1.38 3.56-1.84-.63-3.37-1.9-4.33-3.56zm2.95-8H5.08c.96-1.66 2.49-2.93 4.33-3.56C8.81 5.55 8.35 6.75 8.03 8zM12 19.96c-.83-1.2-1.48-2.53-1.91-3.96h3.82c-.43 1.43-1.08 2.76-1.91 3.96zM14.34 14H9.66c-.09-.66-.16-1.32-.16-2 0-.68.07-1.35.16-2h4.68c.09.65.16 1.32.16 2 0 .68-.07 1.34-.16 2zm.25 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95c-.96 1.65-2.49 2.93-4.33 3.56zM16.36 14c.08-.66.14-1.32.14-2 0-.68-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2h-3.38z\"\n});\nfunction SvgLanguage(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 24,\n viewBox: \"0 0 24 24\",\n width: 24,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgLanguage);\nexport default __webpack_public_path__ + \"static/media/language.14ad3b1d.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState, useEffect} from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\n\r\nimport Select, {SelectItem} from '../../shared/Select';\r\nimport {LANGUAGES} from '../../i18n';\r\n\r\nimport {ReactComponent as LanguageSvg} from '../../assets/language.svg';\r\nimport sShared from '../../shared/shared.module.css';\r\nimport s from './index.module.css';\r\n\r\n\r\n\r\nfunction Footer() {\r\n const [currentItem, setItem] = useState(LANGUAGES[0]);\r\n const {t, i18n} = useTranslation();\r\n\r\n useEffect(() => {\r\n const item = LANGUAGES.find(item => item.code === i18n.language) || LANGUAGES[0];\r\n setItem(item);\r\n }, [i18n.language]);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Footer;\r\n","import React, {PropsWithChildren} from 'react';\r\n\r\nimport s from './index.module.css';\r\n\r\n\r\nexport interface ButtonProps {\r\n href?: string;\r\n type?: 'submit' | 'button';\r\n onClick?: (event: React.MouseEvent) => void;\r\n}\r\n\r\nexport default function Button(props: PropsWithChildren) {\r\n return props.href ? (\r\n \r\n {props.children}\r\n \r\n ) : (\r\n \r\n );\r\n}\r\n","//https://github.com/potato4d/react-muted-video-player\r\nimport React, {useState, useRef, useLayoutEffect} from 'react';\r\n\r\n\r\nfunction toBool(val: boolean | null | undefined, defaultValue: boolean) {\r\n if (val === undefined) {\r\n return defaultValue;\r\n }\r\n return !!val;\r\n}\r\n\r\ntype MutedPlayerProps = JSX.IntrinsicElements['video'];\r\n\r\nexport default function MutedPlayer(props: MutedPlayerProps) {\r\n const {autoPlay, muted, playsInline, ...p} = props;\r\n const [dispatched, setDispatched] = useState(false);\r\n const videoRef = useRef(null);\r\n\r\n useLayoutEffect(() => {\r\n if (dispatched)\r\n return;\r\n\r\n if (!videoRef || !videoRef.current)\r\n return;\r\n\r\n setDispatched(true);\r\n\r\n videoRef.current.setAttribute('muted', '1');\r\n videoRef.current.setAttribute('playsinline', '1');\r\n videoRef.current.setAttribute('autoplay', '1');\r\n }, [dispatched, setDispatched]);\r\n\r\n return (\r\n \r\n );\r\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M407 493l276-143-276-144v287z\"\n});\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.12,\n fill: \"#420000\",\n d: \"M407 206l242 161.6 34-17.6-276-144z\"\n});\nvar _ref4 = /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"a\",\n gradientUnits: \"userSpaceOnUse\",\n x1: 512.5,\n y1: 719.7,\n x2: 512.5,\n y2: 1.2,\n gradientTransform: \"matrix(1 0 0 -1 0 721)\"\n}, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0,\n stopColor: \"#e52d27\"\n}), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#bf171d\"\n}));\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"url(#a)\",\n d: \"M1013 156.3s-10-70.4-40.6-101.4C933.6 14.2 890 14 870.1 11.6 727.1 1.3 512.7 1.3 512.7 1.3h-.4s-214.4 0-357.4 10.3C135 14 91.4 14.2 52.6 54.9 22 85.9 12 156.3 12 156.3S1.8 238.9 1.8 321.6v77.5C1.8 481.8 12 564.4 12 564.4s10 70.4 40.6 101.4c38.9 40.7 89.9 39.4 112.6 43.7 81.7 7.8 347.3 10.3 347.3 10.3s214.6-.3 357.6-10.7c20-2.4 63.5-2.6 102.3-43.3 30.6-31 40.6-101.4 40.6-101.4s10.2-82.7 10.2-165.3v-77.5c0-82.7-10.2-165.3-10.2-165.3zM407 493V206l276 144-276 143z\"\n});\nfunction SvgYoutube(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 68,\n height: 48,\n viewBox: \"0 0 1024 721\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgYoutube);\nexport default __webpack_public_path__ + \"static/media/youtube.a77ca1c8.svg\";\nexport { ForwardRef as ReactComponent };","import React, {PropsWithChildren, useState} from 'react';\r\nimport YouTube from 'react-youtube';\r\n\r\nimport {ReactComponent as YouTubeButtonSvg} from '../../assets/youtube.svg';\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction YouTubePlayer(props: PropsWithChildren<{id: string, title: string, className?: string}>) {\r\n const [isCover, setCover] = useState(true);\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default YouTubePlayer;\r\n","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"M7 4a.995.995 0 00-.707.293l-2 2a.999.999 0 000 1.414L11.586 15l-7.293 7.293a.999.999 0 000 1.414l2 2a.999.999 0 001.414 0L15 18.414l7.293 7.293a.999.999 0 001.414 0l2-2a.999.999 0 000-1.414L18.414 15l7.293-7.293a.999.999 0 000-1.414l-2-2a.999.999 0 00-1.414 0L15 11.586 7.707 4.293A.996.996 0 007 4z\"\n});\nfunction SvgClose(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 30 30\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgClose);\nexport default __webpack_public_path__ + \"static/media/close.ccc0b983.svg\";\nexport { ForwardRef as ReactComponent };","import React, {PropsWithChildren, useEffect} from 'react';\r\n\r\nimport {ReactComponent as CloseSvg} from '../../assets/close.svg';\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction Modal(props: PropsWithChildren<{title?: string, show: boolean, onHide: () => void}>) {\r\n if (props.show) {\r\n document.body.style.overflowY = 'hidden';\r\n }\r\n\r\n const hide = () => {\r\n props.onHide();\r\n document.body.style.overflowY = 'auto';\r\n };\r\n\r\n const onKeyDown = (e: KeyboardEvent) => {\r\n if (e.keyCode === 27)\r\n hide();\r\n };\r\n\r\n const onClick = (e: React.MouseEvent) => {\r\n if (e.target === e.currentTarget) \r\n hide();\r\n };\r\n\r\n useEffect(() => {\r\n window.addEventListener('keydown', onKeyDown);\r\n\r\n return () => window.removeEventListener('keydown', onKeyDown);\r\n });\r\n\r\n return props.show ? (\r\n onClick(e)}>\r\n \r\n {props.title && {props.title}
}\r\n {props.children}\r\n \r\n \r\n \r\n ) : null;\r\n}\r\n\r\nexport default Modal;\r\n","import React, {useState, useEffect} from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\n\r\nimport Modal from '../../../shared/Modal';\r\nimport ApiService, {GameMap} from '../../../services/api';\r\nimport Spinner from '../../../shared/Spinner';\r\n\r\nimport sShared from '../../../shared/shared.module.css';\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction MapsModal(props: {show: boolean, onHide: () => void}) {\r\n const [maps, setMaps] = useState([]);\r\n const {t} = useTranslation();\r\n\r\n useEffect(() => {\r\n const apiService = ApiService.instance;\r\n \r\n if (props.show && maps.length === 0)\r\n apiService.getMaps().then(mps => setMaps(mps));\r\n }, [props.show, maps]);\r\n \r\n return (\r\n props.onHide()}>\r\n {maps.length === 0 && }\r\n\r\n \r\n {maps.map(map => (\r\n \r\n
\r\n {map.name}\r\n \r\n ))}\r\n \r\n \r\n );\r\n}\r\n\r\nexport default MapsModal;\r\n","import React from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\n\r\nimport Modal from '../../../shared/Modal';\r\n\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction PatchsModal(props: {show: boolean, onHide: () => void}) {\r\n const {t} = useTranslation();\r\n \r\n return (\r\n props.onHide()}>\r\n \r\n \r\n {t('home.patchs.0.title')}
\r\n {t('home.patchs.0.text')}\r\n \r\n\r\n \r\n {t('home.patchs.1.title')}
\r\n {t('home.patchs.1.text')}\r\n \r\n\r\n \r\n {t('home.patchs.2.title')}
\r\n {t('home.patchs.2.text')}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default PatchsModal;\r\n","export default __webpack_public_path__ + \"static/media/video.15c39b91.mp4\";","export default __webpack_public_path__ + \"static/media/video.0cc303ea.webm\";","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M33.2 1.3H0v37.6l22.1 20V22.4H34c7.5 0 11.2 3.7 11.2 9.5v27.9c0 5.8-3.5 9.7-11.2 9.7H0v21.2h33.2c17.8.1 34.5-8.8 34.5-29.4V31.2C67.7 10.4 51 1.3 33.2 1.3zm174.1 60.1V30.6c0-11.1 19.8-13.7 25.8-2.5l18.3-7.5C244.3 4.7 231.1 0 220.2 0c-17.8 0-35.4 10.4-35.4 30.6v30.8c0 20.3 17.6 30.6 35 30.6 11.2 0 24.6-5.6 32-20.1l-19.6-9.1c-4.8 12.4-24.9 9.4-24.9-1.4zm-60.6-26.6c-6.9-1.5-11.5-4-11.8-8.3.4-10.4 16.3-10.7 25.6-.8l14.7-11.4C166 3 155.6 0 144.8 0c-16.3 0-32.1 9.2-32.1 26.8 0 17.1 13 26.2 27.3 28.4 7.3 1 15.4 3.9 15.2 9-.6 9.6-20.2 9.1-29.1-1.8L112 75.8c8.3 10.7 19.6 16.2 30.2 16.2 16.3 0 34.4-9.5 35.1-26.8 1-22-14.8-27.5-30.6-30.4zM79.8 90.7h22.4V1.3H79.8zM457.5 1.3h-33.2v37.6l22.1 20V22.4h11.8c7.5 0 11.2 3.7 11.2 9.5v27.9c0 5.8-3.5 9.7-11.2 9.7h-34v21.2h33.2c17.8.1 34.5-8.8 34.5-29.4V31.2c.1-20.8-16.6-29.9-34.4-29.9zM294.6 0c-18.4 0-36.7 10.1-36.7 30.7v30.6c0 20.5 18.4 30.7 36.9 30.7 18.4 0 36.7-10.2 36.7-30.7V30.7C331.5 10.2 313 0 294.6 0zM309 61.3c0 6.4-7.2 9.7-14.3 9.7-7.2 0-14.4-3.2-14.4-9.7V30.7c0-6.6 7-10.1 14-10.1 7.3 0 14.7 3.2 14.7 10.1zm102.8-30.6c-.5-21-14.7-29.4-33-29.4h-35.5v89.5H366V62.3h4l20.6 28.4h28L394.4 60c10.8-3.4 17.4-12.7 17.4-29.3zm-32.6 12.1H366V22.4h13.2c14.2 0 14.2 20.4 0 20.4z\",\n fill: \"#7289da\"\n});\nfunction SvgDiscord(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 491.9 92\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgDiscord);\nexport default __webpack_public_path__ + \"static/media/discord.9aa2a460.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState} from 'react';\r\nimport {useTranslation, Trans} from 'react-i18next';\r\n\r\nimport Button from '../../shared/Button';\r\nimport MutedPlayer from '../../shared/MutedPlayer';\r\nimport YouTubePlayer from '../../shared/YouTubePlayer';\r\nimport MapsModal from './MapsModal';\r\nimport PatchsModal from './PatchsModal';\r\n\r\nimport videoMp4 from '../../assets/video.mp4';\r\nimport videoWebm from '../../assets/video.webm';\r\nimport {ReactComponent as DiscordSvg} from '../../assets/discord.svg';\r\nimport sShared from '../../shared/shared.module.css';\r\nimport s from './index.module.css';\r\n\r\n\r\nfunction Home() {\r\n const [isMapsModalOpen, setMapsModalOpen] = useState(false);\r\n const [isPatchsModalOpen, setPatchsModalOpen] = useState(false);\r\n const {t, i18n} = useTranslation();\r\n\r\n return (\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n {t('resources.howToPlay')}
\r\n\r\n \r\n - \r\n 1{t('home.howToPlayList.0')}\r\n
\r\n - \r\n 2\r\n \r\n \r\n \r\n \r\n \r\n
\r\n - \r\n 3\r\n \r\n \r\n \r\n \r\n \r\n
\r\n - \r\n 4\r\n \r\n \r\n \r\n \r\n \r\n
\r\n - \r\n 5\r\n {t('home.howToPlayList.4')}\r\n
\r\n
\r\n\r\n {i18n.language === 'ru' && \r\n \r\n }\r\n \r\n\r\n \r\n \r\n \r\n \r\n {t('resources.maps')}
\r\n {t('home.mapsDescription')}\r\n \r\n \r\n\r\n \r\n {t('resources.patchs')}
\r\n {t('home.patchsDescription')}\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n setMapsModalOpen(false)} />\r\n setPatchsModalOpen(false)} />\r\n \r\n );\r\n}\r\n\r\nexport default Home;\r\n","import React from 'react';\r\nimport Helmet from 'react-helmet';\r\nimport {BrowserRouter, Switch, Route} from 'react-router-dom';\r\nimport {useTranslation} from 'react-i18next';\r\nimport loadable from '@loadable/component';\r\n\r\nimport Header from './components/Header';\r\nimport Footer from './components/Footer';\r\nimport Home from './pages/Home';\r\n\r\n\r\nconst Statistic = loadable(() => import('./pages/Statistic'));\r\n\r\nfunction App() {\r\n const {t, i18n} = useTranslation();\r\n\r\n return (\r\n <>\r\n \r\n {t('helmet.title')}\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n >\r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport 'focus-visible';\r\nimport './index.css';\r\nimport App from './App';\r\nimport './i18n';\r\n\r\n\r\nconst rootElement = document.getElementById('root');\r\n\r\nif (rootElement && rootElement.hasChildNodes()) {\r\n ReactDOM.hydrate(, rootElement);\r\n} else {\r\n ReactDOM.render(, rootElement);\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"main\":\"Home_main__22AIT\",\"banner\":\"Home_banner__2CtpK\",\"bannerPreview\":\"Home_bannerPreview__3utal\",\"bannerLink\":\"Home_bannerLink__1UBft\",\"section\":\"Home_section__2_Yhe\",\"youtube\":\"Home_youtube__15ZdZ\",\"modsAndMaps\":\"Home_modsAndMaps__2cf1b\",\"contacts\":\"Home_contacts__2Jqsh\",\"contactsDiscordLink\":\"Home_contactsDiscordLink__mvRz-\",\"contactsDiscordImage\":\"Home_contactsDiscordImage__3-Zdd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"shared_container__33RS8\"};","export default class Tools {\r\n private static toolsService: Tools;\r\n\r\n private constructor() {}\r\n\r\n static get instance(): Tools {\r\n if (!this.toolsService)\r\n this.toolsService = new Tools();\r\n\r\n return this.toolsService;\r\n }\r\n\r\n get isPreRendering(): boolean {\r\n return navigator.userAgent === 'ReactSnap';\r\n }\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"footer\":\"Footer_footer__381x8\",\"container\":\"Footer_container__3wtn6\",\"select\":\"Footer_select__15d7-\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"cover\":\"YouTubePlayer_cover__1C3IP\",\"buttonWrapper\":\"YouTubePlayer_buttonWrapper__1sMqT\",\"title\":\"YouTubePlayer_title__tr4tZ\"};","export {default} from './api.service';\r\nexport * from './game-map.model';\r\nexport * from './statistic-filter.model';\r\nexport * from './statistic-item.model';\r\nexport * from './mod-family.model';","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Modal_container__1mWfp\",\"close\":\"Modal_close__lin6x\",\"modal\":\"Modal_modal__6tXiv\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"button\":\"Button_button__3iTHk\"};","import camelcaseKeys from 'camelcase-keys';\r\n\r\nimport Tools from '../tools/tools.service';\r\nimport {GameMap} from './game-map.model';\r\nimport {StatisticFilter} from './statistic-filter.model';\r\nimport {StatisticItem} from './statistic-item.model';\r\nimport {GetModFamilyResponse} from './get-mod-family-response.model';\r\nimport {ModFamily} from './mod-family.model';\r\nimport {ModLite} from './mod-lite.model';\r\n\r\n\r\nexport default class ApiService {\r\n private static apiService: ApiService;\r\n\r\n private constructor() {}\r\n\r\n static get instance(): ApiService {\r\n if (!this.apiService)\r\n this.apiService = new ApiService();\r\n\r\n return this.apiService;\r\n }\r\n\r\n async getOnlinePlayers(): Promise {\r\n if (Tools.instance.isPreRendering) return 0;\r\n\r\n const response = await fetch('/api/onlinestate');\r\n const json = await response.json();\r\n\r\n return json.onlinePlayers.length;\r\n }\r\n\r\n async getMaps(): Promise {\r\n if (Tools.instance.isPreRendering) return [];\r\n\r\n const response = await fetch('/api/mods/listLite?modType=Map');\r\n const json = await response.json();\r\n\r\n return camelcaseKeys(json)\r\n .map(item => ({\r\n id: item.id,\r\n name: item.modName,\r\n image: `/Storage/ModIcons/${item.id}.jpg`\r\n }))\r\n .sort((a, b) =>\r\n a.name > b.name ? 1 : -1\r\n );\r\n }\r\n\r\n async getStats(filter: StatisticFilter): Promise {\r\n if (Tools.instance.isPreRendering) return [];\r\n\r\n const query = new URLSearchParams();\r\n\r\n Object.entries(filter).forEach(item =>\r\n item[1] !== undefined &&\r\n query.append(item[0], String(item[1]))\r\n );\r\n\r\n const response = await fetch('/api/stats/list?' + query.toString());\r\n const json = await response.json();\r\n\r\n return camelcaseKeys(json);\r\n }\r\n\r\n async getModFamilies(): Promise {\r\n if (Tools.instance.isPreRendering) return [];\r\n\r\n const response = await fetch('/api/mods/modfamilies');\r\n const json = await response.json();\r\n\r\n const result: GetModFamilyResponse = camelcaseKeys(json);\r\n return result.modFamilies;\r\n }\r\n}","import React, {PropsWithChildren, useState, useEffect} from 'react';\r\nimport {useTranslation} from 'react-i18next';\r\n\r\nimport s from './index.module.css';\r\n\r\n\r\nexport interface SelectItem {\r\n id: number;\r\n label: string;\r\n [key: string]: any;\r\n}\r\n\r\ninterface SelectProps {\r\n items: SelectItem[];\r\n change: (item: SelectItem) => void;\r\n className?: string;\r\n dropDownClasName?: string;\r\n directionDropDown?: 'up' | 'down';\r\n arrow?: boolean;\r\n search?: boolean;\r\n}\r\n\r\nexport default function Select(props: PropsWithChildren) {\r\n const {t} = useTranslation();\r\n const [isOpen, setOpen] = useState(false);\r\n const [searchText, setSearchText] = useState('');\r\n\r\n const mainClass = s.container + ' ' + (props.className || '');\r\n const buttonClass = s.button + (props.arrow ? ' ' + s.buttonArrow : '');\r\n const arrowClass= s.arrow + ' ' + (isOpen ? s.arrowUp : s.arrowDown);\r\n\r\n const height = \r\n props.search ?\r\n `calc(${props.items.length * 100}% + 50)` :\r\n `${props.items.length * 100}%`;\r\n\r\n const list = props.items.filter(item => \r\n !searchText || item.label.toLowerCase().includes(searchText.toLowerCase())\r\n );\r\n\r\n let dropdownClass = s.dropdown + ' ' + (props.dropDownClasName ?? '');\r\n \r\n if (props.directionDropDown === 'up') {\r\n dropdownClass += ' ' + s.dropdownUp;\r\n } else {\r\n dropdownClass += ' ' + s.dropdownDown;\r\n }\r\n\r\n useEffect(() => {\r\n const onClickOutside = () => isOpen && setOpen(false);\r\n const onKeyDown = (e: KeyboardEvent) => e.keyCode === 27 && onClickOutside();\r\n\r\n document.addEventListener('click', onClickOutside);\r\n document.addEventListener('keydown', onKeyDown);\r\n \r\n return () => {\r\n document.removeEventListener('click', onClickOutside);\r\n document.removeEventListener('keydown', onKeyDown);\r\n };\r\n });\r\n\r\n return (\r\n \r\n \r\n {props.arrow && }\r\n {isOpen && (\r\n \r\n {props.search &&\r\n \r\n }\r\n {\r\n list.length > 0 ?\r\n list.map(item =>\r\n \r\n ) :\r\n {t('resources.notFound')}\r\n }\r\n \r\n )}\r\n \r\n );\r\n}","function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(50 50)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(-19 -19) scale(0.6)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"rotate(18.0657)\"\n}, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n values: \"0;45\",\n keyTimes: \"0;1\",\n dur: \"0.2s\",\n begin: \"0s\",\n repeatCount: \"indefinite\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.359972760794346 21.46047782418268 L38.431040572659825 28.531545636048154 L28.531545636048154 38.431040572659825 L21.46047782418268 31.359972760794346 A38 38 0 0 1 7.0000000000000036 37.3496987939662 L7.0000000000000036 37.3496987939662 L7.000000000000004 47.3496987939662 L-6.999999999999999 47.3496987939662 L-7 37.3496987939662 A38 38 0 0 1 -21.46047782418268 31.35997276079435 L-21.46047782418268 31.35997276079435 L-28.531545636048154 38.431040572659825 L-38.43104057265982 28.531545636048158 L-31.359972760794346 21.460477824182682 A38 38 0 0 1 -37.3496987939662 7.000000000000007 L-37.3496987939662 7.000000000000007 L-47.3496987939662 7.000000000000008 L-47.3496987939662 -6.9999999999999964 L-37.3496987939662 -6.999999999999997 A38 38 0 0 1 -31.35997276079435 -21.460477824182675 L-31.35997276079435 -21.460477824182675 L-38.431040572659825 -28.531545636048147 L-28.53154563604818 -38.4310405726598 L-21.4604778241827 -31.35997276079433 A38 38 0 0 1 -6.999999999999992 -37.3496987939662 L-6.999999999999992 -37.3496987939662 L-6.999999999999994 -47.3496987939662 L6.999999999999977 -47.3496987939662 L6.999999999999979 -37.3496987939662 A38 38 0 0 1 21.460477824182686 -31.359972760794342 L21.460477824182686 -31.359972760794342 L28.531545636048158 -38.43104057265982 L38.4310405726598 -28.53154563604818 L31.35997276079433 -21.4604778241827 A38 38 0 0 1 37.3496987939662 -6.999999999999995 L37.3496987939662 -6.999999999999995 L47.3496987939662 -6.999999999999997 L47.349698793966205 6.999999999999973 L37.349698793966205 6.999999999999976 A38 38 0 0 1 31.359972760794346 21.460477824182686 M0 -23A23 23 0 1 0 0 23 A23 23 0 1 0 0 -23\",\n fill: \"#f2c94c\"\n}))), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(19 19) scale(0.6)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"rotate(4.4343)\"\n}, /*#__PURE__*/React.createElement(\"animateTransform\", {\n attributeName: \"transform\",\n type: \"rotate\",\n values: \"45;0\",\n keyTimes: \"0;1\",\n dur: \"0.2s\",\n begin: \"-0.1s\",\n repeatCount: \"indefinite\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M-31.35997276079435 -21.460477824182675 L-38.431040572659825 -28.531545636048147 L-28.53154563604818 -38.4310405726598 L-21.4604778241827 -31.35997276079433 A38 38 0 0 1 -6.999999999999992 -37.3496987939662 L-6.999999999999992 -37.3496987939662 L-6.999999999999994 -47.3496987939662 L6.999999999999977 -47.3496987939662 L6.999999999999979 -37.3496987939662 A38 38 0 0 1 21.460477824182686 -31.359972760794342 L21.460477824182686 -31.359972760794342 L28.531545636048158 -38.43104057265982 L38.4310405726598 -28.53154563604818 L31.35997276079433 -21.4604778241827 A38 38 0 0 1 37.3496987939662 -6.999999999999995 L37.3496987939662 -6.999999999999995 L47.3496987939662 -6.999999999999997 L47.349698793966205 6.999999999999973 L37.349698793966205 6.999999999999976 A38 38 0 0 1 31.359972760794346 21.460477824182686 L31.359972760794346 21.460477824182686 L38.431040572659825 28.531545636048158 L28.53154563604818 38.4310405726598 L21.460477824182703 31.35997276079433 A38 38 0 0 1 6.9999999999999964 37.3496987939662 L6.9999999999999964 37.3496987939662 L6.999999999999995 47.3496987939662 L-7.000000000000009 47.3496987939662 L-7.000000000000007 37.3496987939662 A38 38 0 0 1 -21.46047782418263 31.359972760794385 L-21.46047782418263 31.359972760794385 L-28.531545636048097 38.43104057265987 L-38.431040572659796 28.531545636048186 L-31.35997276079433 21.460477824182703 A38 38 0 0 1 -37.34969879396619 7.000000000000032 L-37.34969879396619 7.000000000000032 L-47.34969879396619 7.0000000000000355 L-47.3496987939662 -7.000000000000002 L-37.3496987939662 -7.000000000000005 A38 38 0 0 1 -31.359972760794346 -21.46047782418268 M0 -23A23 23 0 1 0 0 23 A23 23 0 1 0 0 -23\",\n fill: \"#333333\"\n}))));\nfunction SvgSpinner(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 100 100\",\n preserveAspectRatio: \"xMidYMid\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgSpinner);\nexport default __webpack_public_path__ + \"static/media/spinner.e73efde0.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\n\r\nimport {ReactComponent as SpinnerSvg} from '../../assets/spinner.svg';\r\nimport s from './index.module.css'; \r\n\r\n\r\nfunction Spinner(props: {className?: string}) {\r\n const className = s.spinner + (props?.className ? ' ' + props.className : '');\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default Spinner;","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"Select_container__2XuSV\",\"button\":\"Select_button__7Ua0-\",\"buttonArrow\":\"Select_buttonArrow__3SSa0\",\"dropdown\":\"Select_dropdown__327Sx\",\"dropdownUp\":\"Select_dropdownUp__2a2g5\",\"dropdownDown\":\"Select_dropdownDown__3yh8b\",\"item\":\"Select_item__2ls-o\",\"arrow\":\"Select_arrow__XKXxo\",\"arrowUp\":\"Select_arrowUp__IY9lx\",\"arrowDown\":\"Select_arrowDown__3_YI2\",\"searchWrapper\":\"Select_searchWrapper__19N-H\",\"search\":\"Select_search__2KF9E\",\"notFound\":\"Select_notFound__17WKx\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"spinner\":\"Spinner_spinner__3KH4t\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"MapsModal_container__3088h\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PatchsModal_container__2FySU\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"header\":\"Header_header__3R89P\",\"container\":\"Header_container__1dcuS\",\"logo\":\"Header_logo__Mu4Zu\",\"logoImage\":\"Header_logoImage__VU6Ye\",\"stats\":\"Header_stats__1bt-H\",\"statsHide\":\"Header_statsHide__19rgf\",\"nav\":\"Header_nav__39Rz4\",\"link\":\"Header_link__buW_t\"};"],"sourceRoot":""}