const vA = ["image", "title", "ПРОДОЛЖИТЬ", "top", "clientHeight", "build", "direction", "statistics", "createPattern", "#2d6998", "yellow", "notifications", "expires", "normalize", "keydown", "__n", "Replaying", "setProperty", "focus", "animation", "Это не база", "repeat", "newScore", "log", "display", "distance", "onOut", "off", "baseDistance", "getDerivedStateFromError", "baseNearestPoint", "checkBaseCommits", "preparing", "calcSquare", "paper.io.storage", "cells", "concat", "fsm", "data", "ceil", "circular", "metrics", " – ", "c13", "skins-container", "progress", "findSegment", "reduce", "самопересечение", "substring", "#ff0000", "pivot", "insertBefore", "bronze", "unusedAssets", "renderTime", "alloc", "shouldComponentUpdate", "newText", "startTime", "#fcb9b2", "ИГРАТЬ", "boolean", "#e7fff4", "#4b692f", "lineWidth", "entries", "aiStartTime", "fadein", "defaultPlayerName", "c22", "#000000", "draw", "overlay", "covidquest", "ДЛИТЕЛЬНОСТЬ", "getRenderContext", "sin", "skins_unlock", "#ff8800", "loop", "insideNew", "container", "paper2IO", "nodeType", "globalCompositeOperation", "sanitizerquest", "reverse", "ShowPreroll", "update", "random", "style", "maxDanger", "height", "getPlayerSkin", "div", "modes", "body", "Убит", "#dddddd", "country", "push", "qas", "debounceRendering", "download", "greed", "render", "description", "switch", "New skin unlocked!", "polyline", "#c68642", "rng", "Игрок", "shift", "appendChild", "trackDistance", "abs", "#ed6a5a", "skip cycles to: ", "killText", "УБИТО", "__html", "idle", "function", "change", "ЛУЧШИЙ РЕЗУЛЬТАТ", "attack", "убит откружением столицы", "values", "min", "setTransform", "pressed", "prepare", "playerDeathCallback", "looped", "убит об стену", "DeadMorose\nold_demon\nfox\nDeFreeZe\nGoSeek\nKeyplex\nDarkfury\nFunnyway\nBLACK_PRINCE\n[BigBoss]ShadiBoo\nDizzer\nKARATEL\nHowlux\nLight_Soul\n2fab4u\nBoOT\nMrKat2017\nSkulL\nCmeTano4Ka\nflash\nh1me3ra\nHoward\ni_Pro\nred_devil\nbest_of_the_best\nblow_crazy \nface_of_vengeance\nGlambit \nMASTER_GRIF\nMr.ByBlIk\nn1ce_DayZ\nRantom\nAbove Daemons\ncompany_THE_Best\nDanie\ndarklight\nDaxmaut\ndiablo\ngreat_man\nkiller_innothing\nNix\nValett\nDarkAngelKael\nduelist\ni_zadrot\nMonster_Energy\nMr.Winston\nRaindrops\nSumerbraum\nTermit\nTITAN\nWOOOlf\nAVSTRAL\nBadLike\nBuri\ncop_zombie\ndestroyer_for_us\nEKEN\nEksnet\nFrostorik\nghost_of_fear\nHotzarzim\nj111m\nKael\nKikET\n4CHAN\nPIKABU\n9GAG\naustralia\naustria\nayylmao\nbait\nbangladesh\nbelgium\nbosnia\nbotswana\nbrazil\nbulgaria\ncambodia\ncanada\nchile\nchina\ncia\nconfederate\ncroatia\ndenmark\nea\nearth\nestonia\neuropeanunion\nfacepunch\nfeminism\nfinland\nfrance\ngermanempire\ngermany\ngreece\nhongkong\nhungary\nindia\nindiana\nindonesia\niran\niraq\nireland\nitaly\njamaica\njapan\nkc\nlatvia\nlithuania\nluxembourg\nmaldivas\nmatriarchy\nmexico\nmoon\nnazi\nnetherlands\nnigeria\nnorthkorea\nnorway\norigin\npakistan\npatriarchy\nperu\npewdiepie\npiccolo\npoland\nportugal\nprodota\nqingdynasty\nquebec\nreddit\nrussia\nsanik\nsatanist\nsealand\nsouthkorea\nspain\nstalin\nsteam\nsweden\nswitzerland\ntaiwan\ntexas\nthailand\ntsaristrussia\ntumblr\nukraine\nunitedkingdom\nusa\nussr\nvinesauce\nyaranaika\ntumblr\nhongkong\nKillerGamer\nLimuzin\nmage\nMCGaMeR\nMr_Het\nNadornsMonsters\nnero\noutcaster\nSteepCat\nTUCA\nurban_hunter\nvirtual_lord\nwertyi\nWinstonLight\nWoJDoo\nArtemad\nClydeKautz\nBarney\nRhodaPing\nSharlaPropes\nNanciTyner\nIlaWorm\nSebastianRawlinson\nCraigFlury\nEstebanBrehm\nDeberaVancuren\nTabithaOlivieri\nTrishaKimball\nMilagrosHyler\nCinderellaGerson\nFranBaldridge\nMelisaBrock\nGaynelleSimmonds\nEttaMirabella\nLaveraLabrecque\nBudNormand\nEliasSherwood\nJackpot\nSensation\nChuck\nSoots\nTheSaint\nICEman\nMiracleSnoopy\nBahartet\nBiotary\nHammer85\nBizcarit\nBlackenta\nBurkelstrin\nBurntSeen\nChariana\ngoldfinger\nConfidentHelp\nCopiconc\nDemocoman\nGaartely\nGenantro\nGlitzMcGenius\nJuliatu\nKalstaxi\nKeymatr\nKredicon\nLuvGurly\nMasteranca\nMediaBolt\nMeemuset\nMonsterInformer\nOccuiffu\nOnnitall\nRodeonevedo\nSandBlondeFully\nShipnease\nSlypectle\nSpinfonexu\nAdocarli\nAnglosi\nSimba\nAuetonbr\nBanshfeli\nQWERT\nBezequaci\nBizarrebobw\nBizarrewo\nBlenetra\nBootXboxStein\nBradleyFinest\nCeticRaven\nChunkyKlug\nDailiesHigh\nDravencybe\nFarerSaiyan\nGabring\nHalcytech\nHeminepe\nHeraldhama\nImagene\nLolandexte\nLucebayn\nMatroner\nMediumbben\nMofficanki\nNateinvelo\nTIMBERLAKE\nNessDiddy\nPlatinumTrippin\ntheviking\nPlusedge\nRaetstalyda\nJustinStromberg\nRebecaSenn\nRoxy\nNeil\nMaria\nWarren\nGrace\nWilliam\nJane\nVanessa\nLisa\nStephanie\nDidi\nBoris\nRuth\nLeonard\nJack\nCaroline\nSebastian\nConnor\nIan\nTOMAS\nSue\nFOX\nDylan\nLisa\nGrace\nJabbaDabba\nJennifer\nBenjamin\nPiPPa\nSteven\nJoe\nKNine\nKevin\nCaroline\nMcFlurry\nKatherine\nLeah\nIrene\nOwen\nUna\nGabrielleSlater\nAmyFisher\nAngelaGrant\nAlisonOgden\nDeadshot\nNitro\nTrevorBlack\nKatherinePullman\nOliverMacDonald\nAvaVaughan\nJenniferWhite\nWarrenPeters\nLeahCameron\nAlisonBerry\nKeithBuckland\nJulianMackay\nNatalieSanderson\nviZion\nJoshuaPeake\nKeithDowd\nHotdog\nJamesLambert\nJanBond\nColinMarshall\nJasonRees\nFRED\nJaneHughes\nLeonardOliver\nHarryAnderson\nGraceSmith\nDeirdreJones\nAudreySpringer\nEllaGray\nDominicHamilton\nKeithBlake\nRuthJackson\nMollyHudson\nSophieBerry\nCarolineLyman\nEmmaHudson\nJoeLyman\nOliviaPiper\nChristopherAllan\nMariaKing\nPippaSlater\nSarahJohnston\nRyanWhite\nJackHill\nWilliamMackay\nBenjaminAlsop\nAmandaRoberts\nThomasParsons\nLiamMcGrath\nJanHenderson\nSoniaChapman\nWilliam\nLily\nPeter\nKeith\nIsaac\nLeah\nMadeleine\nKaren\nFrank\nAlan\nMichael\nRachel\nDominic\nPaul\nNicola\nEmily\nTim\nbigBEN\nCohen\nGood\nFrancis\nOdom\nGreen\nCain\nTrevino\nLucero\nAshley\nigloo\nduffer\nloaded\nsickness\ngreeting\nlonely\nbafflement\ntrusty\nalteration\nevil\nsolva\npenumbra\ndauphine\nalluring\nlilly\nstinchar\ncubic\nblackbrook\nrebuff\ninclined\nlyon\nsquash\nunique\nlyne\nchewy\nmasticate\nmagnet\nknit\nindolent\nsevere\nfestus\ntrain\nincisionKim\nBean\nAguilar\nErnesto\nCurtis\nCortez\nTyshawn\nBrady\nBeckett\nXavier\nCason\nBryson\nSheldon\nPierce\nDeshawn\nAndy\nAaron\nArmando\nKarson\nK9\nNadia\nJovan\nErin\nTerry\nGrayson\nCelia\nAlexzander\nCannon\nJoey\nStella\nGracie\nKFCLOVER\nChico\nPrince\nMocha\nScooter\nChester\nCoco\nDusty\nZoe\nSocks\njefferson\nignore\nalladale\nvirtue\nprovided\ncohesive\nbullfinche\ncomet\ndip\nzipper\npostulate\nlick\nbashful\npascals\nrudy\ngloaming\ncashew\nmixcloud\ntraumatic\nprostate\npeas\nmelon\nbulbous\ngavel\nnumnah\nnavel\nriver\nsaskatoon\ncaused\nhardy\npare\nfemale\nvolunteer\nspeck\nyears\nvalid\narmpit\nbobby\nbolham\ngoogle\nbrennand\npastry\nweapon\ncuillin\ndescent\neasier\nmore\nrisedale\ngoggles\ncute\nmagellanic\nrenal\nzunyi\nEveryPrivate\nChipmunkThreat\nLeafyForefoot\nSebastianExxon\nHuckFaisalabad\nWheelchairHadar\nBulimiaMilk\nEiderStallion\nMoronicBuckinghamshire\nPayBiff\nHillsboroughEnvelope\nAllianzRhapsody\nArseEnteral\nBoronRadiant\nArchiveUntrue\nPlasticSpeech\nOfficerWiltshire\nBungBuzzard\nMoscowStellar\nTrialsHearty\nModelHorse\nBootsGrimacing\nShiraMosedale\nLeopardClapper\nSkatersStars\nCaramelizeStraws\nAngolanVinomadefied\nBatterySiemens\nHedgeThompson\nLukaIcing\nMimosaBrunswick\nTinForgetful\nHumberHook\nSeagullTrump\nBookerTouring\nSugarWarn\nCustardsStructure\nRudyBarium\nElectrolyteDisfigured\nBlighterPhysicist\nAntoniadiAtom\nPachaRule\nMaltyPatches\nHonoluluSwedish\nGemGleaming\nAssociatedThose\nAfterCointreau\nEyesPierre\nStewartGels\nAretePuppy\nFullscreenTrophic\nMailWillow\nScaupFrosty\nZaraBipedal\nCheapScafell\nDevonYolk\nSkegCohesive\nCricketBashful\nCocoaPuck\nDecathlonIschemic\nOftSnottor\nCheepNewlyn\nSwimGrill\nBaubleSymbolic\nAstronomerSpam\nVarlotLealt\nSensorSquamish\nKeyTechnetium\nCrummyQuirky\nVinePlane\nWaterskiBlind\nOrdinateCrown\nSpotTense\nFumeVine\nGlasswareCherries\nPhenomenonWillied\nPappusWazzed\nFilterSpace\nHypnosisSociable\nGaffEnder\nTordaHelpless\nResearchMat\nAmpereHeptagon\nEclipseBaldy\nLliediDiopside\nRockersGatcombe\nSabineEssential\nPlutoAbsurd\nTagTestify\nForswearJosie\nEquuleusFalter\nChewieFluther\nWombYakama\nHinderHighland\nBiteSeptum\nRifleGym\nJuneauInboard\nTroubadourChillingwood\nNeogeneLecturer\nSullivanStencils\nCheesecakePit\nClumpUnhelpful\nCheckBig\nLollyPumpkin\nCitrusyCountless\nVarunaRemy\nDivergentOils\nFallingTalisker\nBlackwaterNifty\nBrinkworthFranklyn\nFreddyPostman\nClumperPoke\nSlopeTokahee\nStencilsHume\nJijiKey\nAdeptStores\nUnicodeIgneous\nMeatyNut\nMaskSpark\nForegoingMoist\nEthicalConfident\nOblongataIsraeli\nGreenAle\nFibulaJoss\nShrugMinge\nFlowsWhispers\nActiveGlissade\nExaltedSpaghetti\nMeerkatMatch\nCouldHoff\nYawnObtuse\nCrazyUnknown\nPlanemoTyler\nCalderaBeans\nSoundcloudJapan\nSeveralGalled\nStarbucksDomain\nEdibleGlazier\nResourcesCapital\nNitrogenBella\nFlavorfulProtoplanet\nTeachSqueeze\nMeiosisSiphon\nTelephoneMarl\nTrundleRitec\nTheodoreShamrock\nNoirMelody\nVanillaArmenian\nHonkExoticism\nMandibleSepsis\nVenomousSignal\nManukaEval\nLooksLeaves\nFriedInto\nBlowTalented\nStubbsHeadphones\nWigeonNewcastle\nLoadHamster\nPinkieSaint\nEuphoniumRedundant\nSabdenRoad\nSuccessApache\nPateraCitric\nBalnagownQuiver\nGambianHartford\nRidingNostalgic\nAmbushFlex\nBretonCommon\nSpot!Fine\nPlaintivePride\nDiphthongPraline\nShearraInflate\nWoldsLennon\nSordiniMeathead\nSordCegidog\nSelfiesWeigh\nOrganVile\nPinchWeixin\nSassyFlag\nAlberniDart\nBowenImmense\nRulerFocus\nMaggotMine\nRegulateInventions\nMeshAlbite\nPoxArabella\nTikiFredericton\nNeedleDiapir\nGeneBlurt\nBindyFollowed\nMongolianTurtle\nSenseProfess\nFoldingHacking\nArsonistClipping\nKerryBonnie\nMaliciousMilitary\nMountainFrivolous\nCannonCog\nCordFlapping\nSnickerIndonesian\ndome\nking\nohio\nstandard\nfustilarian\nnative\nsupply\namherst\ninitial\ntowel\npumpion\nperfect\nmouldy\nflasks\ncarina\nduchess\ncrackers\nexciting\nhole\nwiggle\ngreat\nben\npoop\notis\npolite\nslapping\notherwise\ngrilled\nwes\nsummary\nnice\nbasketball\nstarbolins\nbaby\nbooking\nrhubarb\nperson\nshooter\nbounded\nnorthamptonshire\nsyllable\ngreenish\nuptight\ntweed\nthe\nreeky\nlathered\nascension\nobtain\nnagging\nchallenger\nsecret\nworcester\nlangley\npolly\nurinal\ntrusting\nbeverley\nfrankie\ndartmoor\nmash\ngillie\nmethodist\ngalaxy\nmozart\nbarrage\nspoticus\nscheduled\neel\npanel\nflapjack\nchemist\nalbert\nmetacarpus\ndense\nbleeding\nfixation\nniggles\ncamel\nrosin\ncommunity\nleash\ndulais\nladder\nlee\nindices\nyou\neducation\ndumplings\nbid\nprince\nartiste\navocet\nburns\nbarney\nmanaged\nburritos\npeduncle\npaltry\nequator\nsubmerge\nexpected\nfags\nperl\nclueless\ncartier\nwombled\nbearded\nkalman\ntrees\npink\naddie\ntod\nusd", "pool", "getCell", "list", "slice", "measureText", "currentlyPlaying", "проход", "Применить", "ВАШ РЕЗУЛЬТАТ", "timeAccumulated", "fill", "isTrack", "#1a936f", "naturalHeight", "debu", "send", "skip", "#a7adba", "spawnEndTime", "content", "black", "visible", "componentWillUpdate", "square", "#ffffff88", "baseHeight", "svg", "getSchemes", "touchmove", "hide", "aiEndTime", "labels", "orange noPadding", "meta", "Provider", "color", "pop", "href", "gray", "commit", "rotation", "green", "toDataURL", "textAlign", "diffed", "tips", "calcSimplify", "buttons", "drawImage", "removeEventListener", "getChildContext", "nickName", "aviable", "#00000088", "#ffffff", "addButton", "fpsSequence", "addUnit", "componentWillMount", "baseNearestPointNormal", "pow", "updateBounds", "logo", "function *\\( *\\)", "while (true) {}", "aggro", "right", "defaults", "cycle", "componentDidCatch", "#8d5524", "checked", "ctrl", "currMetric", "#f1c27d", "skipping", "НОВЫЙ", "No skin", "children", "substr", "events", "test", "#b23a48", "maxPreparingTime", "checker", "minDistance", " has no heigth", "assets/images/logo.png", "color: white;", "layers", "reaper", "shape", "schemesManager", "nearPlayerBotSpawnCount", "ИГРАТЬ СНОВА", "down", "safety", "browserLanguage", "count", "find", "__P", "capital", "getChecker", "renderEndTime", "#f00", "http://www.w3.org/2000/svg", "ads", "tag", "registerAssets", "colored", "#64a1f4", "play", "manager", "#f77f00", "setAttribute", "#99000040", "props", "segments", "bottom", "languages", "extraLife", "#00000022", "leaderboard", "autoCheckUnlock", "billboard", "keyboard", "cities", "gameOver", "add2", "#8b9dc3", "action", "strokeStyle", "https://gameads.io/adspixel.png", "isArray", "addSet", "active", "flags", "number", "quality", "result", "game", "addPlayer", "middle", "capSquare", "main", "dot", "map", "getCitySkin", "assert", "renderer", "bold ", "points", "lastMouse", "localName", "#8f974a", "radius", "sqrt", "roundedFlag", "src", "metaKey", "scores", "bot.position", "img", "убит пересечением трека", "assets", "#68b0ab", "vnode", "fillText", "acceleration", "yellow slider-5", "displays", "mousemove", "font", "#8dbdff", "defaultProps", "ready", "addColorStop", "debugGraph", "language", "timings", "clientWidth", "touchend", "forceUpdate", "constructor", "charAt", "read", "geraldquest1", "debugView", "onload", "handleIntersect", "убит разделением со столицей", "capture", "clip", "best", "returns", "ait", "key", "indexOf", "keyboardModeSwitch", "back", "polygon", "componentWillUnmount", "unit", "all", "fps", "updateTime", "exit", "def", "exports", "slider-1", "rawSquare", "floor", "getTransform", "fadein 500ms", "bestPercent", "closePath", "segment", "type", "movement", "owner", "notsupported", "intersect", "calc", "addLabel", "apply", "jitter", "updateParticlesId", "globalAlpha", "#2a9d8f", "timePlayed", "error", "right_side", "px ", "fillStyle", "loadAsset", "seed", "sub", "sort", "spawnStartTime", "setSkin", "vector", "selfKillDelay", "insert", "clone", "sign", "removeChild", "#363331", "clientY", "level", "stroke", "sets", "stats", "updateStartTime", "#2a4d69", "fakeMouse", "velocity", "create", "percent", "splice", "kill", "changeShields", "mouse", "application/json", "handleReturn", "calcPath", "mode2", "componentDidUpdate", "__b", "cross", "last", "__H", "quadraticCurveTo", "write", "#524b24", "__cC", "charCodeAt", "image/png", "silver", "equal", "Recording: ", "checkPoint", "toFixed", "stopped", "__d", "alt", "window.shop unavaliable", "replace", "renderStartTime", "toLowerCase", "fromCharCode", "#fcbf49", "topListChanged", "skin-view", "toISOString", "skin", "codes", "#990099cc", "gger", "keyup", "Render time: ", "track", "results", "nom", "max", "thanos", "none", "gameOverCallback", "undefined", "Cookies", "#ffff00", "assets/languages.json", "barWidth", "pressedButtons", "enemyKillDelay", "split", "init", "clear", "removeAsset", "Schemes", "выигрыш", "__E", "exitPoint", "ownerSVGElement", "now", "shiftKey", "lineCap", "respawn", "path", "prepareCounter", "touchstart", "capAmerica", "translate", "addAsset", "accumulator", "out", "finishPrepare", "slider-4", "leave", "#65737e", "#99e550", "print", "ref", "unitSpeed", "nav", "counter", "config", "replaying", "bind", "spawnBot", "width", "cssText", "next", "#ff3377", "paper2_results", "placeholderText", "paperio-site_multisize", "__r", "isFlagSkinManager", "CONNECT2MEDIA", "registerAsset", "targets", "startGame", "Version: A6 2020-10-14T10:51:36.392Z", "pageY", "doctorquest", "lng", "orange", "newBest", "copy", "then", "base", "noskin", "mouseleave", "__s", "load", "onEarned", "plate", "lineTo", " has no width", "toUpperCase", "childNodes", "classic", "#d62828", "#ff99cc", "json", "createSVGMatrix", "__h", "skinManager", "position", "createTextNode", "form", "achievements", "unitToTrackDistances", "spawnPlayer", "left_side", "nextSibling", "success", "getElementById", "duration", "keys", "bestScore", "Пересекайте хвосты противников и не позволяйте им пересечь свой!", "setState", "lastSquare", "#8874a3", "randomAssetName", "componentWillReceiveProps", "simplyline", "updateMetrics", "user", "clearRect", "unmount", "showAds", "Quality: ", "nameManager", "__c", "onKill", "segmentsCount", "preventDefault", "colors", "startBotLevel", "chain", "aspect", "__k", "innerHTML", "Consumer", "botSpawnLimited", "point", "enter", "some", "modifiers", "frameTime", "kills", "textBaseline", "has", "gold", "simplify", "storageName", "botLevel", "player", "renderContext", "prepareAcceleration", "addEventListener", "contextmenu", "cell", "barHeight", "scale", "from", "atan2", "invert", "bots", "onKeyChange", "createElementNS", "POST", "/newpaperio/ajax/results.php", ".png", "source", "__e", "Spawn time: ", "getJSON", "spawnSuspend", "footer", "vrange", "backLayers", "destination-over", "naturalWidth", "mark", "handleEnemyIntersect", "отдаление", "add", "Recording", "killer", "requestAnimationFrame", "space", "attributes", "#88d498", "resize", "Не знаете как играть?", "achievementsProfile", "units", "every", "paperio2api", "shieldSkinAssets", "platesStrokeWidth", "getMovement", "left", "get", "hasPoint", "#843b62", "#ffffffcc", "isPlayer", "value", "убит окружением", "schemes", "#fe4a49", "pattern", "nick", "#00000099", "angle", "userLanguage", "dangerouslySetInnerHTML", "vscale", "mouseenter", "#c2d6cdaa", "parentNode", "death", "getSpawnPosition", "getContext", "createElement", "state", "cos", "handleUnitMovements", "circle", "restore", "mouseup", "tagName", "join", "__v", "getScheme", "input", "recording", "onScoreChanged", "finish", "bounds", "bestTxt", "yandex_rtb", "toString", "mousedown", "removeAttribute", "menu", "setLeaderboard", "assets/skins/skins.json", "doctor", "mulScalar", "label", "prototype", "span", "debug", "Ваше имя", "event", "fillRect", "assets/skins/select/", "remove", "altKey", "usedBy", "payload", "ДОПОЛНИТЕЛЬНАЯ ЖИЗНЬ!", "size", "comeback", "#8a6f30", "contextType", "onMouseChange", "set", "#ff77aa", "red", "loadingStarted", "geralt", "updateEndTime", "string", "readInput", "controller", "save", "#4b86b4", "intersections", "paperio_challenges", "Level: ", "distance2", "#ffe066", "arc", "hideAds", "skins", "prepareAndUpdate", "tip", "shop", "score", "inside", "slider-3", "earned", "filter", "release", "maxScale", "addCity", "bornTime", "yourScore", "magnitude", "resultbox", "#3b5998", "playersKilled", "center", "shields", "url", "forEach", "end", "border", "distanceDanger", "tailRecovered", "#0000ffcc", "strokeText", "uibox", "rescale", "particles", "reskin", "time", "Particles: ", "assign", "canvas", "available", "current", "Игра не поддерживается на вашем браузере", "resolve", "text", "findIndex", "frontLayers", "moveTo", "Бывает ли такое?", "beginPath", "stringify", "playerId", "dratest", "origin", "index", "view", "#3b7dd8", "#00000033", "check", "getSnapshotBeforeUpdate", "levelStart", "clientX", "Units: ", "length", "shadowBlur", "round", "rotate", "name", "layer", "target", "parse", "start", "AI time: ", "button", "removeAttributeNS", "ЛУЧШИЙ", "PT Sans Caption", "states", "reason", "smoothness", "btnSelect", "Recovering tail, cycle: ", "noPlayerBotLevel", "assets/skins/", "unitDanger", "getSeconds", "baseNearestPointTangent", "setAttributeNS", "alert", "убит захватом точки выхода", "shadowColor", "handleSelfIntersect", "cookie", "call", "отстрел", "profile", "getDerivedStateFromProps", "context"];
(function (p, p2) {
const vF = function (p3) {
while (--p3) {
p.push(p.shift());
}
};
vF(++p2);
})(vA, 307);
const vF2 = function (p4, p5) {
p4 = p4 - 0;
let v2 = vA[p4];
return v2;
};
(function () {
"use strict";
var v8;
var v9;
var v10;
var v11;
var v12;
var v13;
var vO = {};
var vA2 = [];
var v14 = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
function f(p8, p9) {
for (var v15 in p9) {
p8[v15] = p9[v15];
}
return p8;
}
function f2(p10) {
var v16 = p10[vF2("0x14f")];
if (v16) {
v16[vF2("0x4c")](p10);
}
}
function f3(p11, p12, p13) {
var v17;
var v18;
var v19;
var vArguments = arguments;
var vO2 = {};
for (v19 in p12) {
if (v19 == "key") {
v17 = p12[v19];
} else if (vF2("0xac") == v19) {
v18 = p12[v19];
} else {
vO2[v19] = p12[v19];
}
}
if (arguments[vF2("0x1cc")] > 3) {
p13 = [p13];
v19 = 3;
for (; v19 < arguments[vF2("0x1cc")]; v19++) {
p13[vF2("0x254")](vArguments[v19]);
}
}
if (p13 != null) {
vO2.children = p13;
}
if (vF2("0x26b") == typeof p11 && p11.defaultProps != null) {
for (v19 in p11.defaultProps) {
if (vO2[v19] === undefined) {
vO2[v19] = p11[vF2("0x5")][v19];
}
}
}
return f4(p11, vO2, v17, v18, null);
}
function f4(p14, p15, p16, p17, p18) {
var vO3 = {
type: p14,
props: p15,
key: p16,
ref: p17,
__k: null,
__: null,
__b: 0,
__e: null,
__d: undefined,
__c: null,
__h: null,
constructor: undefined,
__v: p18
};
if (p18 == null) {
vO3[vF2("0x15c")] = vO3;
}
if (v8[vF2("0x31f")] != null) {
v8.vnode(vO3);
}
return vO3;
}
function f5(p19) {
return p19[vF2("0x2c7")];
}
function f6(p20, p21) {
this[vF2("0x2ed")] = p20;
this[vF2("0x1ee")] = p21;
}
function f7(p22, p23) {
if (p23 == null) {
if (p22.__) {
return f7(p22.__, p22.__[vF2("0xfe")][vF2("0x1c")](p22) + 1);
} else {
return null;
}
}
var v20;
for (; p23 < p22[vF2("0xfe")][vF2("0x1cc")]; p23++) {
if ((v20 = p22[vF2("0xfe")][p23]) != null && v20[vF2("0x120")] != null) {
return v20.__e;
}
}
if (typeof p22.type == "function") {
return f7(p22);
} else {
return null;
}
}
function f8(p24) {
var v21;
var v22;
if ((p24 = p24.__) != null && p24[vF2("0xf6")] != null) {
p24[vF2("0x120")] = p24[vF2("0xf6")][vF2("0xc9")] = null;
v21 = 0;
for (; v21 < p24[vF2("0xfe")][vF2("0x1cc")]; v21++) {
if ((v22 = p24[vF2("0xfe")][v21]) != null && v22.__e != null) {
p24[vF2("0x120")] = p24[vF2("0xf6")].base = v22[vF2("0x120")];
break;
}
}
return f8(p24);
}
}
function f9(p25) {
if (!p25.__d && (p25[vF2("0x72")] = true) && v9[vF2("0x254")](p25) && !f10[vF2("0xbb")]++ || v11 !== v8[vF2("0x256")]) {
((v11 = v8.debounceRendering) || v10)(f10);
}
}
function f10() {
var v23;
for (; f10.__r = v9[vF2("0x1cc")];) {
v23 = v9[vF2("0x44")](function (p26, p27) {
return p26[vF2("0x15c")][vF2("0x62")] - p27[vF2("0x15c")].__b;
});
v9 = [];
v23[vF2("0x104")](function (p28) {
var v24;
var v25;
var v26;
var v27;
var v28;
var v29;
var v30;
if (p28[vF2("0x72")]) {
v29 = (v28 = (v24 = p28)[vF2("0x15c")])[vF2("0x120")];
if (v30 = v24[vF2("0x2dd")]) {
v25 = [];
(v26 = f({}, v28))[vF2("0x15c")] = v26;
v27 = f19(v30, v28, v26, v24[vF2("0x1fe")], v30[vF2("0x99")] !== undefined, v28[vF2("0xd9")] != null ? [v29] : null, v25, v29 == null ? f7(v28) : v29, v28[vF2("0xd9")]);
f20(v25, v28);
if (v27 != v29) {
f8(v28);
}
}
}
});
}
}
function f11(p29, p30, p31, p32, p33, p34, p35, p36, p37, p38) {
var v31;
var v32;
var v33;
var v34;
var v35;
var v36;
var v37;
var v38 = p32 && p32[vF2("0xfe")] || vA2;
var v39 = v38[vF2("0x1cc")];
if (p37 == vO) {
p37 = p35 != null ? p35[0] : v39 ? f7(p32, 0) : null;
}
p31.__k = [];
v31 = 0;
for (; v31 < p30[vF2("0x1cc")]; v31++) {
if ((v34 = p31[vF2("0xfe")][v31] = (v34 = p30[v31]) == null || vF2("0x22d") == typeof v34 ? null : vF2("0x185") == typeof v34 || vF2("0x302") == typeof v34 ? f4(null, v34, null, null, v34) : Array.isArray(v34) ? f4(f5, {
children: v34
}, null, null, null) : v34[vF2("0x120")] != null || v34[vF2("0xf6")] != null ? f4(v34[vF2("0x30")], v34[vF2("0x2ed")], v34.key, null, v34[vF2("0x15c")]) : v34) != null) {
v34.__ = p31;
v34[vF2("0x62")] = p31[vF2("0x62")] + 1;
if ((v33 = v38[v31]) === null || v33 && v34[vF2("0x1b")] == v33.key && v34.type === v33.type) {
v38[v31] = undefined;
} else {
for (v32 = 0; v32 < v39; v32++) {
if ((v33 = v38[v32]) && v34[vF2("0x1b")] == v33[vF2("0x1b")] && v34[vF2("0x30")] === v33[vF2("0x30")]) {
v38[v32] = undefined;
break;
}
v33 = null;
}
}
v35 = f19(p29, v34, v33 = v33 || vO, p33, p34, p35, p36, p37, p38);
if ((v32 = v34[vF2("0xac")]) && v33[vF2("0xac")] != v32) {
v37 ||= [];
if (v33.ref) {
v37.push(v33[vF2("0xac")], null, v34);
}
v37[vF2("0x254")](v32, v34[vF2("0xf6")] || v35, v34);
}
if (v35 != null) {
if (v36 == null) {
v36 = v35;
}
p37 = f12(p29, v34, v33, v38, p35, v35, p37);
if (p38 || p31[vF2("0x30")] != "option") {
if (vF2("0x26b") == typeof p31[vF2("0x30")]) {
p31[vF2("0x72")] = p37;
}
} else {
p29[vF2("0x142")] = "";
}
} else if (p37 && v33[vF2("0x120")] == p37 && p37[vF2("0x14f")] != p29) {
p37 = f7(v33);
}
}
}
p31[vF2("0x120")] = v36;
if (p35 != null && vF2("0x26b") != typeof p31.type) {
for (v31 = p35[vF2("0x1cc")]; v31--;) {
if (p35[v31] != null) {
f2(p35[v31]);
}
}
}
for (v31 = v39; v31--;) {
if (v38[v31] != null) {
f23(v38[v31], v38[v31]);
}
}
if (v37) {
for (v31 = 0; v31 < v37[vF2("0x1cc")]; v31++) {
f22(v37[v31], v37[++v31], v37[++v31]);
}
}
}
function f12(p39, p40, p41, p42, p43, p44, p45) {
var v40;
var v41;
var v42;
if (p40.__d !== undefined) {
v40 = p40.__d;
p40.__d = undefined;
} else if (p43 == p41 || p44 != p45 || p44[vF2("0x14f")] == null) {
_0x48ed47: if (p45 == null || p45[vF2("0x14f")] !== p39) {
p39[vF2("0x262")](p44);
v40 = null;
} else {
v41 = p45;
v42 = 0;
for (; (v41 = v41[vF2("0xe2")]) && v42 < p42[vF2("0x1cc")]; v42 += 2) {
if (v41 == p44) {
break _0x48ed47;
}
}
p39[vF2("0x223")](p44, p45);
v40 = p45;
}
}
if (v40 !== undefined) {
return v40;
} else {
return p44[vF2("0xe2")];
}
}
function f13(p46, p47, p48, p49, p50) {
var v43;
for (v43 in p48) {
if (vF2("0x2c7") !== v43 && vF2("0x1b") !== v43 && !(v43 in p47)) {
f15(p46, v43, null, p48[v43], p49);
}
}
for (v43 in p47) {
if ((!p50 || vF2("0x26b") == typeof p47[v43]) && vF2("0x2c7") !== v43 && vF2("0x1b") !== v43 && vF2("0x142") !== v43 && vF2("0x2c0") !== v43 && p48[v43] !== p47[v43]) {
f15(p46, v43, p47[v43], p48[v43], p49);
}
}
}
function f14(p51, p52, p53) {
if (p52[0] === "-") {
p51[vF2("0x200")](p52, p53);
} else {
p51[p52] = p53 == null ? "" : vF2("0x302") != typeof p53 || v14[vF2("0x2ca")](p52) ? p53 : p53 + "px";
}
}
function f15(p54, p55, p56, p57, p58) {
var v44;
var v45;
var v46;
if (p58 && p55 == "className") {
p55 = "class";
}
if (vF2("0x24a") === p55) {
if (vF2("0x185") == typeof p56) {
p54[vF2("0x24a")][vF2("0xb5")] = p56;
} else {
if (typeof p57 == "string") {
p54[vF2("0x24a")][vF2("0xb5")] = p57 = "";
}
if (p57) {
for (p55 in p57) {
if (!p56 || !(p55 in p56)) {
f14(p54[vF2("0x24a")], p55, "");
}
}
}
if (p56) {
for (p55 in p56) {
if (!p57 || p56[p55] !== p57[p55]) {
f14(p54.style, p55, p56[p55]);
}
}
}
}
} else if (p55[0] === "o" && p55[1] === "n") {
v44 = p55 !== (p55 = p55[vF2("0x75")](/Capture$/, ""));
if ((v45 = p55[vF2("0x77")]()) in p54) {
p55 = v45;
}
p55 = p55[vF2("0x27c")](2);
p54.l ||= {};
p54.l[p55 + v44] = p56;
v46 = v44 ? f17 : f16;
if (p56) {
if (!p57) {
p54[vF2("0x111")](p55, v46, v44);
}
} else {
p54.removeEventListener(p55, v46, v44);
}
} else if (vF2("0x27b") !== p55 && vF2("0x15a") !== p55 && vF2("0xdd") !== p55 && vF2("0x30") !== p55 && vF2("0x17a") !== p55 && vF2("0x257") !== p55 && vF2("0x29e") !== p55 && !p58 && p55 in p54) {
p54[p55] = p56 == null ? "" : p56;
} else if (typeof p56 != "function" && p55 !== "dangerouslySetInnerHTML") {
if (p55 !== (p55 = p55[vF2("0x75")](/xlink:?/, ""))) {
if (p56 == null || p56 === false) {
p54[vF2("0x1d7")]("http://www.w3.org/1999/xlink", p55.toLowerCase());
} else {
p54[vF2("0x1e4")]("http://www.w3.org/1999/xlink", p55[vF2("0x77")](), p56);
}
} else if (p56 == null || p56 === false && !/^ar/.test(p55)) {
p54[vF2("0x167")](p55);
} else {
p54[vF2("0x2eb")](p55, p56);
}
}
}
function f16(p59) {
this.l[p59[vF2("0x30")] + false](v8[vF2("0x172")] ? v8[vF2("0x172")](p59) : p59);
}
function f17(p60) {
this.l[p60[vF2("0x30")] + true](v8[vF2("0x172")] ? v8[vF2("0x172")](p60) : p60);
}
function f18(p61, p62, p63) {
var v47;
var v48;
for (v47 = 0; v47 < p61[vF2("0xfe")][vF2("0x1cc")]; v47++) {
if (v48 = p61[vF2("0xfe")][v47]) {
v48.__ = p61;
if (v48[vF2("0x120")]) {
if (vF2("0x26b") == typeof v48[vF2("0x30")] && v48[vF2("0xfe")][vF2("0x1cc")] > 1) {
f18(v48, p62, p63);
}
p62 = f12(p63, v48, v48, p61[vF2("0xfe")], null, v48.__e, p62);
if (vF2("0x26b") == typeof p61[vF2("0x30")]) {
p61[vF2("0x72")] = p62;
}
}
}
}
}
function f19(p64, p65, p66, p67, p68, p69, p70, p71, p72) {
var v49;
var v50;
var v51;
var v52;
var v53;
var v54;
var v55;
var v56;
var v57;
var v58;
var v59;
var v60 = p65[vF2("0x30")];
if (p65[vF2("0xe")] !== undefined) {
return null;
}
if (p66[vF2("0xd9")] != null) {
p72 = p66.__h;
p71 = p65[vF2("0x120")] = p66[vF2("0x120")];
p65.__h = null;
p69 = [p71];
}
if (v49 = v8[vF2("0x62")]) {
v49(p65);
}
try {
_0x38b1fe: if (vF2("0x26b") == typeof v60) {
v56 = p65[vF2("0x2ed")];
v57 = (v49 = v60[vF2("0x17d")]) && p67[v49[vF2("0xf6")]];
v58 = v49 ? v57 ? v57[vF2("0x2ed")][vF2("0x142")] : v49.__ : p67;
if (p66[vF2("0xf6")]) {
v55 = (v50 = p65[vF2("0xf6")] = p66[vF2("0xf6")]).__ = v50.__E;
} else {
if (vF2("0x16e") in v60 && v60.prototype.render) {
p65.__c = v50 = new v60(v56, v58);
} else {
p65[vF2("0xf6")] = v50 = new f6(v56, v58);
v50.constructor = v60;
v50[vF2("0x259")] = f24;
}
if (v57) {
v57[vF2("0x43")](v50);
}
v50[vF2("0x2ed")] = v56;
v50[vF2("0x154")] ||= {};
v50[vF2("0x1ee")] = v58;
v50[vF2("0x1fe")] = p67;
v51 = v50[vF2("0x72")] = true;
v50[vF2("0xd9")] = [];
}
if (v50[vF2("0xcc")] == null) {
v50[vF2("0xcc")] = v50.state;
}
if (v60[vF2("0x1ed")] != null) {
if (v50[vF2("0xcc")] == v50.state) {
v50.__s = f({}, v50.__s);
}
f(v50.__s, v60[vF2("0x1ed")](v56, v50[vF2("0xcc")]));
}
v52 = v50.props;
v53 = v50[vF2("0x154")];
if (v51) {
if (v60[vF2("0x1ed")] == null && v50.componentWillMount != null) {
v50[vF2("0x2b3")]();
}
if (v50.componentDidMount != null) {
v50[vF2("0xd9")][vF2("0x254")](v50.componentDidMount);
}
} else {
if (v60[vF2("0x1ed")] == null && v56 !== v52 && v50[vF2("0xed")] != null) {
v50[vF2("0xed")](v56, v58);
}
if (!v50[vF2("0x120")] && v50[vF2("0x228")] != null && v50[vF2("0x228")](v56, v50[vF2("0xcc")], v58) === false || p65.__v === p66[vF2("0x15c")]) {
v50[vF2("0x2ed")] = v56;
v50[vF2("0x154")] = v50[vF2("0xcc")];
if (p65[vF2("0x15c")] !== p66[vF2("0x15c")]) {
v50[vF2("0x72")] = false;
}
v50.__v = p65;
p65.__e = p66[vF2("0x120")];
p65[vF2("0xfe")] = p66[vF2("0xfe")];
if (v50[vF2("0xd9")].length) {
p70[vF2("0x254")](v50);
}
f18(p65, p71, p64);
break _0x38b1fe;
}
if (v50[vF2("0x28f")] != null) {
v50[vF2("0x28f")](v56, v50.__s, v58);
}
if (v50[vF2("0x61")] != null) {
v50.__h[vF2("0x254")](function () {
v50[vF2("0x61")](v52, v53, v54);
});
}
}
v50.context = v58;
v50[vF2("0x2ed")] = v56;
v50.state = v50.__s;
if (v49 = v8[vF2("0xbb")]) {
v49(p65);
}
v50.__d = false;
v50[vF2("0x15c")] = p65;
v50[vF2("0x2dd")] = p64;
v49 = v50[vF2("0x259")](v50[vF2("0x2ed")], v50[vF2("0x154")], v50[vF2("0x1ee")]);
v50[vF2("0x154")] = v50[vF2("0xcc")];
if (v50[vF2("0x2ab")] != null) {
p67 = f(f({}, p67), v50.getChildContext());
}
if (!v51 && v50[vF2("0x1c8")] != null) {
v54 = v50[vF2("0x1c8")](v52, v53);
}
v59 = v49 != null && v49.type == f5 && v49[vF2("0x1b")] == null ? v49[vF2("0x2ed")][vF2("0x2c7")] : v49;
f11(p64, Array.isArray(v59) ? v59 : [v59], p65, p66, p67, p68, p69, p70, p71, p72);
v50[vF2("0xc9")] = p65[vF2("0x120")];
p65[vF2("0xd9")] = null;
if (v50.__h[vF2("0x1cc")]) {
p70.push(v50);
}
if (v55) {
v50[vF2("0x97")] = v50.__ = null;
}
v50[vF2("0x120")] = false;
} else if (p69 == null && p65[vF2("0x15c")] === p66.__v) {
p65[vF2("0xfe")] = p66[vF2("0xfe")];
p65.__e = p66[vF2("0x120")];
} else {
p65.__e = f21(p66[vF2("0x120")], p65, p66, p67, p68, p69, p70, p72);
}
if (v49 = v8.diffed) {
v49(p65);
}
} catch (e) {
p65.__v = null;
if (p72 || p69 != null) {
p65[vF2("0x120")] = p71;
p65[vF2("0xd9")] = !!p72;
p69[p69.indexOf(p71)] = null;
}
v8[vF2("0x120")](e, p65, p66);
}
return p65.__e;
}
function f20(p73, p74) {
if (v8[vF2("0xf6")]) {
v8[vF2("0xf6")](p74, p73);
}
p73.some(function (p75) {
try {
p73 = p75[vF2("0xd9")];
p75[vF2("0xd9")] = [];
p73[vF2("0x104")](function (p76) {
p76.call(p75);
});
} catch (e2) {
v8[vF2("0x120")](e2, p75.__v);
}
});
}
function f21(p77, p78, p79, p80, p81, p82, p83, p84) {
var v61;
var v62;
var v63;
var v64;
var v65;
var v66 = p79.props;
var v67 = p78[vF2("0x2ed")];
p81 = p78[vF2("0x30")] === "svg" || p81;
if (p82 != null) {
for (v61 = 0; v61 < p82[vF2("0x1cc")]; v61++) {
if ((v62 = p82[v61]) != null && ((p78.type === null ? v62[vF2("0x243")] === 3 : v62[vF2("0x312")] === p78[vF2("0x30")]) || p77 == v62)) {
p77 = v62;
p82[v61] = null;
break;
}
}
}
if (p77 == null) {
if (p78[vF2("0x30")] === null) {
return document[vF2("0xdc")](v67);
}
p77 = p81 ? document[vF2("0x11b")](vF2("0x2e2"), p78.type) : document[vF2("0x153")](p78[vF2("0x30")], v67.is && {
is: v67.is
});
p82 = null;
p84 = false;
}
if (p78[vF2("0x30")] === null) {
if (v66 !== v67 && (!p84 || p77[vF2("0x215")] !== v67)) {
p77[vF2("0x215")] = v67;
}
} else {
if (p82 != null) {
p82 = vA2[vF2("0x27c")][vF2("0x1ea")](p77[vF2("0xd3")]);
}
v63 = (v66 = p79[vF2("0x2ed")] || vO)[vF2("0x14b")];
v64 = v67[vF2("0x14b")];
if (!p84) {
if (p82 != null) {
v66 = {};
v65 = 0;
for (; v65 < p77[vF2("0x131")].length; v65++) {
v66[p77[vF2("0x131")][v65][vF2("0x1d0")]] = p77.attributes[v65][vF2("0x142")];
}
}
if (v64 || v63) {
if (!v64 || (!v63 || v64[vF2("0x269")] != v63[vF2("0x269")]) && v64[vF2("0x269")] !== p77[vF2("0xff")]) {
p77[vF2("0xff")] = v64 && v64.__html || "";
}
}
}
f13(p77, v67, v66, p81, p84);
if (v64) {
p78.__k = [];
} else {
v61 = p78[vF2("0x2ed")][vF2("0x2c7")];
f11(p77, Array[vF2("0x2fe")](v61) ? v61 : [v61], p78, p79, p80, p78.type !== "foreignObject" && p81, p82, p83, vO, p84);
}
if (!p84) {
if (vF2("0x142") in v67 && (v61 = v67[vF2("0x142")]) !== undefined && (v61 !== p77[vF2("0x142")] || vF2("0x21c") === p78[vF2("0x30")] && !v61)) {
f15(p77, vF2("0x142"), v61, v66[vF2("0x142")], false);
}
if ("checked" in v67 && (v61 = v67[vF2("0x2c0")]) !== undefined && v61 !== p77[vF2("0x2c0")]) {
f15(p77, vF2("0x2c0"), v61, v66.checked, false);
}
}
}
return p77;
}
function f22(p85, p86, p87) {
try {
if (vF2("0x26b") == typeof p85) {
p85(p86);
} else {
p85[vF2("0x1b6")] = p86;
}
} catch (e3) {
v8.__e(e3, p87);
}
}
function f23(p88, p89, p90) {
var v68;
var v69;
var v70;
if (v8.unmount) {
v8[vF2("0xf2")](p88);
}
if (v68 = p88[vF2("0xac")]) {
if (!v68.current || v68[vF2("0x1b6")] === p88[vF2("0x120")]) {
f22(v68, null, p89);
}
}
if (!p90 && vF2("0x26b") != typeof p88[vF2("0x30")]) {
p90 = (v69 = p88.__e) != null;
}
p88.__e = p88[vF2("0x72")] = undefined;
if ((v68 = p88[vF2("0xf6")]) != null) {
if (v68[vF2("0x20")]) {
try {
v68[vF2("0x20")]();
} catch (e4) {
v8[vF2("0x120")](e4, p89);
}
}
v68[vF2("0xc9")] = v68[vF2("0x2dd")] = null;
}
if (v68 = p88.__k) {
for (v70 = 0; v70 < v68[vF2("0x1cc")]; v70++) {
if (v68[v70]) {
f23(v68[v70], p89, p90);
}
}
}
if (v69 != null) {
f2(v69);
}
}
function f24(p91, p92, p93) {
return this[vF2("0xe")](p91, p93);
}
function f25(p94, p95, p96) {
var v71;
var v72;
var v73;
if (v8.__) {
v8.__(p94, p95);
}
v72 = (v71 = p96 === v12) ? null : p96 && p96[vF2("0xfe")] || p95[vF2("0xfe")];
p94 = f3(f5, null, [p94]);
v73 = [];
f19(p95, (v71 ? p95 : p96 || p95)[vF2("0xfe")] = p94, v72 || vO, vO, p95[vF2("0x99")] !== undefined, p96 && !v71 ? [p96] : v72 ? null : p95.childNodes[vF2("0x1cc")] ? vA2[vF2("0x27c")][vF2("0x1ea")](p95[vF2("0xd3")]) : null, v73, p96 || vO, v71);
f20(v73, p94);
}
function f26(p97, p98) {
var vO4 = {
__c: p98 = vF2("0x69") + v13++,
__: p97,
Consumer: function (p99, p100) {
return p99[vF2("0x2c7")](p100);
},
Provider: function (p101, p102, p103) {
if (!this[vF2("0x2ab")]) {
p102 = [];
(p103 = {})[p98] = this;
this[vF2("0x2ab")] = function () {
return p103;
};
this[vF2("0x228")] = function (p104) {
if (this[vF2("0x2ed")][vF2("0x142")] !== p104[vF2("0x142")]) {
p102[vF2("0x104")](f9);
}
};
this.sub = function (p105) {
p102[vF2("0x254")](p105);
var v74 = p105[vF2("0x20")];
p105.componentWillUnmount = function () {
p102[vF2("0x59")](p102[vF2("0x1c")](p105), 1);
if (v74) {
v74[vF2("0x1ea")](p105);
}
};
};
}
return p101[vF2("0x2c7")];
}
};
return vO4.Provider.__ = vO4[vF2("0x100")].contextType = vO4;
}
v8 = {
__e: function (p106, p107) {
var v75;
var v76;
for (var v77, v78 = p107[vF2("0xd9")]; p107 = p107.__;) {
if ((v75 = p107[vF2("0xf6")]) && !v75.__) {
try {
if ((v76 = v75[vF2("0xe")]) && v76[vF2("0x20c")] != null) {
v75.setState(v76[vF2("0x20c")](p106));
v77 = v75.__d;
}
if (v75[vF2("0x2be")] != null) {
v75.componentDidCatch(p106);
v77 = v75[vF2("0x72")];
}
if (v77) {
p107[vF2("0xd9")] = v78;
return v75[vF2("0x97")] = v75;
}
} catch (e5) {
p106 = e5;
}
}
}
throw p106;
}
};
f6[vF2("0x16e")][vF2("0xe9")] = function (p108, p109) {
var v79;
v79 = this[vF2("0xcc")] != null && this[vF2("0xcc")] !== this[vF2("0x154")] ? this[vF2("0xcc")] : this[vF2("0xcc")] = f({}, this[vF2("0x154")]);
if (vF2("0x26b") == typeof p108) {
p108 = p108(f({}, v79), this[vF2("0x2ed")]);
}
if (p108) {
f(v79, p108);
}
if (p108 != null && this[vF2("0x15c")]) {
if (p109) {
this[vF2("0xd9")][vF2("0x254")](p109);
}
f9(this);
}
};
f6[vF2("0x16e")][vF2("0xd")] = function (p110) {
if (this.__v) {
this[vF2("0x120")] = true;
if (p110) {
this[vF2("0xd9")][vF2("0x254")](p110);
}
f9(this);
}
};
f6[vF2("0x16e")][vF2("0x259")] = f5;
v9 = [];
v10 = vF2("0x26b") == typeof Promise ? Promise[vF2("0x16e")][vF2("0xc8")][vF2("0xb2")](Promise[vF2("0x1b8")]()) : setTimeout;
f10[vF2("0xbb")] = 0;
v12 = vO;
v13 = 0;
function f27(p111, p112) {
p112 = {
exports: {}
};
p111(p112, p112[vF2("0x27")]);
return p112[vF2("0x27")];
}
var vF27 = f27(function (p113, p114) {
(function (p115) {
var v80;
{
p113[vF2("0x27")] = p115();
v80 = true;
}
if (!v80) {
var v81 = window[vF2("0x8b")];
var v82 = window[vF2("0x8b")] = p115();
v82.noConflict = function () {
window[vF2("0x8b")] = v81;
return v82;
};
}
})(function () {
function f28() {
var vLN0 = 0;
var vO5 = {};
for (; vLN0 < arguments[vF2("0x1cc")]; vLN0++) {
var v83 = arguments[vLN0];
for (var v84 in v83) {
vO5[v84] = v83[v84];
}
}
return vO5;
}
function f29(p116) {
return p116[vF2("0x75")](/(%[0-9A-Z]{2})+/g, decodeURIComponent);
}
function f30(p117) {
function f31() {}
function f32(p118, p119, p120) {
if (typeof document === vF2("0x8a")) {
return;
}
p120 = f28({
path: "/"
}, f31[vF2("0x2bc")], p120);
if (typeof p120[vF2("0x1fb")] === vF2("0x302")) {
p120[vF2("0x1fb")] = new Date(new Date() * 1 + p120[vF2("0x1fb")] * 86400000);
}
p120[vF2("0x1fb")] = p120.expires ? p120.expires.toUTCString() : "";
try {
var v85 = JSON[vF2("0x1bf")](p119);
if (/^[\{\[]/[vF2("0x2ca")](v85)) {
p119 = v85;
}
} catch (e6) {}
p119 = p117.write ? p117[vF2("0x67")](p119, p118) : encodeURIComponent(String(p119))[vF2("0x75")](/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);
p118 = encodeURIComponent(String(p118))[vF2("0x75")](/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)[vF2("0x75")](/[\(\)]/g, escape);
var vLS = "";
for (var v86 in p120) {
if (!p120[v86]) {
continue;
}
vLS += "; " + v86;
if (p120[v86] === true) {
continue;
}
vLS += "=" + p120[v86][vF2("0x91")](";")[0];
}
return document[vF2("0x1e9")] = p118 + "=" + p119 + vLS;
}
function f33(p121, p122) {
if (typeof document === vF2("0x8a")) {
return;
}
var vO6 = {};
var v87 = document.cookie ? document[vF2("0x1e9")].split("; ") : [];
var vLN02 = 0;
for (; vLN02 < v87.length; vLN02++) {
var v88 = v87[vLN02][vF2("0x91")]("=");
var v89 = v88[vF2("0x27c")](1).join("=");
if (!p122 && v89[vF2("0xf")](0) === "\"") {
v89 = v89[vF2("0x27c")](1, -1);
}
try {
var vF29 = f29(v88[0]);
v89 = (p117[vF2("0x10")] || p117)(v89, vF29) || f29(v89);
if (p122) {
try {
v89 = JSON[vF2("0x1d3")](v89);
} catch (e7) {}
}
vO6[vF29] = v89;
if (p121 === vF29) {
break;
}
} catch (e8) {}
}
if (p121) {
return vO6[p121];
} else {
return vO6;
}
}
f31.set = f32;
f31.get = function (p123) {
return f33(p123, false);
};
f31[vF2("0x122")] = function (p124) {
return f33(p124, true);
};
f31[vF2("0x175")] = function (p125, p126) {
f32(p125, "", f28(p126, {
expires: -1
}));
};
f31[vF2("0x2bc")] = {};
f31.withConverter = f30;
return f31;
}
return f30(function () {});
});
});
const v90 = Math[vF2("0x2b5")](2, -26);
const vF4 = p127 => Math[vF2("0x264")](p127) <= v90;
const vF5 = (p128, p129) => Math.abs(p128 - p129) <= v90;
const vF6 = (p130, p131, p132) => p130 + (p131 - p130) * p132;
const vF7 = p133 => --p133 * p133 * p133 + 1;
const vF8 = (p134, p135, p136) => {
if (p136 < p134) {
return p134;
}
if (p136 > p135) {
return p135;
}
return p136;
};
const vF9 = (p137, p138, p139, p140) => p137 * p140 - p138 * p139;
const vF10 = (p141, p142, p143) => Math.min(p141, p142) - v90 <= p143 && p143 <= Math[vF2("0x86")](p141, p142) + v90;
const vF11 = (v91, v92, v93, v94) => {
if (v91 > v92) {
[v91, v92] = [v92, v91];
}
if (v93 > v94) {
[v93, v94] = [v94, v93];
}
return Math.min(v92, v94) - Math.max(v91, v93);
};
function f34(p148, p149, p150) {
let v95 = false;
let v96 = p148[vF2("0x1cc")];
for (let vLN03 = 0, v97 = v96 - 1; vLN03 < v96; v97 = vLN03++) {
let v98 = p148[vLN03][0];
let v99 = p148[vLN03][1];
let v100 = p148[v97][0];
let v101 = p148[v97][1];
if (f35(p149, p150, v98, v99, v100, v101)) {
return 1;
}
var v102 = v99 > p150 != v101 > p150 && p149 < (v100 - v98) * (p150 - v99) / (v101 - v99) + v98;
if (v102) {
v95 = !v95;
}
}
if (v95) {
return 2;
} else {
return 0;
}
}
function f35(p151, p152, p153, p154, p155, p156) {
let v103 = p153 - p151;
let v104 = p154 - p152;
let v105 = p155 - p151;
let v106 = p156 - p152;
let v107 = v103 * v106 - v104 * v105;
let v108 = v103 * v105 + v104 * v106;
return v107 == 0 && v108 <= 0;
}
let vLN1 = 1;
const vF12 = () => vLN1++;
class C {
constructor(p157, p158) {
this[vF2("0x47")] = undefined;
this.a = undefined;
this.b = undefined;
this.c = undefined;
if (p157.equal(p158)) ;
this[vF2("0x129")] = 0;
this[vF2("0x2d4")] = null;
this[vF2("0x1d4")] = p157;
this[vF2("0x1a7")] = p158;
this[vF2("0x35")]();
}
get [vF2("0x32")]() {
return null;
}
[vF2("0x35")]() {
const {
start,
end
} = this;
this.vector = end[vF2("0x4a")]()[vF2("0x43")](start);
let v109 = start.y - end.y;
let v110 = end.x - start.x;
const v111 = Math[vF2("0x315")](v109 * v109 + v110 * v110);
v109 /= v111;
v110 /= v111;
this.a = v109;
this.b = v110;
this.c = -(v109 * start.x + v110 * start.y);
}
[vF2("0x4a")]() {
return new C(this[vF2("0x1d4")], this.end);
}
[vF2("0x246")]() {
const v112 = this.start;
this[vF2("0x1d4")] = this.end;
this[vF2("0x1a7")] = v112;
this[vF2("0x35")]();
return this;
}
[vF2("0x2a0")](p159) {
this[vF2("0x2d4")] = p159;
this[vF2("0x1d4")][vF2("0x2a0")](this);
this[vF2("0x1a7")][vF2("0x2a0")](this);
return this;
}
remove() {
this[vF2("0x2d4")] = null;
this[vF2("0x1d4")][vF2("0x175")](this);
this[vF2("0x1a7")][vF2("0x175")](this);
}
[vF2("0x1cc")]() {
return this[vF2("0x47")][vF2("0x19f")]();
}
zn(p160) {
const v113 = p160.a;
const v114 = p160.b;
const {
a,
b
} = this;
return vF9(v113, v114, a, b);
}
intersect(p161) {
const v115 = p161.a;
const v116 = p161.b;
const v117 = p161.c;
const v118 = p161[vF2("0x1d4")];
const v119 = p161.end;
const {
a,
b,
c,
start,
end
} = this;
const vVF9 = vF9(v115, v116, a, b);
if (!vF4(vVF9)) {
const v120 = -vF9(v117, v116, c, b) / vVF9;
const v121 = -vF9(v115, v117, a, c) / vVF9;
const v122 = vF10(v118.x, v119.x, v120) && vF10(v118.y, v119.y, v121) && vF10(start.x, end.x, v120) && vF10(start.y, end.y, v121) && new C4(v120, v121);
if (!v122) {
return null;
}
return {
point: start[vF2("0x6d")](v122) && start || end[vF2("0x6d")](v122) && end || v118.equal(v122) && v118 || v119[vF2("0x6d")](v122) && v119 || v122,
segment: this,
distance: v122.distance2(v118),
overlay: false,
zn: Math[vF2("0x4b")](vVF9)
};
}
const vVF11 = vF11(v118.x, v119.x, start.x, end.x);
const vVF112 = vF11(v118.y, v119.y, start.y, end.y);
if (vF4(vF9(v115, v117, a, c)) && vF4(vF9(v116, v117, b, c)) && vVF11 >= -v90 && vVF112 >= -v90) {
if (vVF11 >= v90 || vVF112 >= v90) {
let v123;
if (vF10(start.x, end.x, v118.x) && vF10(start.y, end.y, v118.y)) {
v123 = start.equal(v118) && start || end[vF2("0x6d")](v118) && end || v118;
} else {
v123 = v118.distance2(start) >= v118[vF2("0x18d")](end) ? end : start;
}
return {
point: v123,
segment: this,
distance: v123[vF2("0x18d")](v118),
overlay: true,
zn: 0
};
}
const v124 = start[vF2("0x6d")](v118) || start[vF2("0x6d")](v119) ? start : end;
return {
point: v124,
segment: this,
distance: v124[vF2("0x18d")](v118),
overlay: false,
zn: 0
};
}
return null;
}
[vF2("0x109")](p162) {
return this[vF2("0x1d4")] === p162 || this[vF2("0x1a7")] === p162;
}
}
const vLN12 = 1;
class C2 {
constructor(p163, p164) {
this[vF2("0x310")] = [];
this.x = p163;
this.y = p164;
}
[vF2("0x2a0")](p165) {
this[vF2("0x310")][vF2("0x254")](p165);
p165[vF2("0x113")] = this;
}
[vF2("0x175")](p166) {
const {
points
} = this;
const v125 = points[vF2("0x1c")](p166);
if (v125 !== -1) {
points.splice(v125, 1);
p166[vF2("0x113")] = null;
}
}
}
class C3 {
constructor(p167, p168, p169) {
this[vF2("0xb4")] = p167;
this[vF2("0x24c")] = p168;
this[vF2("0x1a3")] = new C4(p167 / 2, p168 / 2);
this.size = p169;
this.w = Math[vF2("0x216")](p167 / p169);
this.h = Math[vF2("0x216")](p168 / p169);
this.cells = [];
for (let vLN04 = 0; vLN04 < this.h; vLN04++) {
for (let vLN05 = 0; vLN05 < this.w; vLN05++) {
this[vF2("0x212")][vF2("0x254")](new C2(vLN05, vLN04));
}
}
C4[vF2("0x130")] = this;
}
[vF2("0x2db")]() {
let vLN06 = 0;
this[vF2("0x212")].forEach(p170 => {
vLN06 += p170.points.length;
});
return vLN06;
}
[vF2("0x113")](p171) {
return this[vF2("0x27a")](Math[vF2("0x2a")](p171.x / this[vF2("0x17a")]) % this.w, Math.floor(p171.y / this[vF2("0x17a")]) % this.h);
}
[vF2("0x27a")](p172, p173) {
let v126 = this[vF2("0x212")][p172 + p173 * this.w];
if (!v126) {
// TOLOOK
debugger;
}
return v126;
}
[vF2("0x6f")](p174) {
const v127 = this[vF2("0x113")](p174);
return v127[vF2("0x310")][vF2("0x2dc")](p175 => p175[vF2("0x6d")](p174)) || p174;
}
[vF2("0xf8")]() {
const vO7 = {};
for (let vLN07 = 0; vLN07 < this.h; vLN07++) {
for (let vLN08 = 0; vLN08 < this.w; vLN08++) {
this[vF2("0x27a")](vLN08, vLN07)[vF2("0x310")][vF2("0x1a6")](p176 => {
p176.segments[vF2("0x1a6")](p177 => vO7[p177.id] = p177);
});
}
}
return vO7;
}
[vF2("0x18a")](p178) {
const v128 = this[vF2("0x113")](p178.start);
const v129 = this[vF2("0x113")](p178.end);
const v130 = Math.max(0, Math[vF2("0x271")](v128.x, v129.x) - vLN12);
const v131 = Math[vF2("0x271")](this.w - 1, Math[vF2("0x86")](v128.x, v129.x) + vLN12);
const v132 = Math[vF2("0x86")](0, Math[vF2("0x271")](v128.y, v129.y) - vLN12);
const v133 = Math[vF2("0x271")](this.h - 1, Math[vF2("0x86")](v128.y, v129.y) + vLN12);
const vVF12 = vF12();
const vA3 = [];
for (let vV132 = v132; vV132 <= v133; vV132++) {
for (let vV130 = v130; vV130 <= v131; vV130++) {
this[vF2("0x27a")](vV130, vV132)[vF2("0x310")][vF2("0x1a6")](p179 => {
p179.segments[vF2("0x1a6")](p180 => {
if (p180[vF2("0x129")] !== vVF12) {
const v134 = p180[vF2("0x34")](p178);
if (v134) {
vA3.push(v134);
}
p180[vF2("0x129")] = vVF12;
}
});
});
}
}
return vA3;
}
[vF2("0x93")]() {
this.cells = [];
}
}
const vLN30000 = 30000;
const v135 = Array[vF2("0x116")]({
length: vLN30000
});
let vLN09 = 0;
class C4 {
constructor(p181, p182) {
this.x = undefined;
this.y = undefined;
this[vF2("0x113")] = null;
this.segments = [];
this[vF2("0x17f")](p181, p182);
}
[vF2("0x17f")](p183, p184) {
this.x = p183 || 0;
this.y = p184 || (p184 === 0 ? 0 : this.x);
return this;
}
[vF2("0x2a0")](p185) {
if (this[vF2("0x2ee")][vF2("0x1c")](p185) === -1) {
this[vF2("0x2ee")].push(p185);
}
if (!this[vF2("0x113")]) {
const v136 = C4[vF2("0x130")][vF2("0x113")](this);
v136[vF2("0x2a0")](this);
}
}
[vF2("0x175")](p186) {
const v137 = this[vF2("0x2ee")][vF2("0x1c")](p186);
this[vF2("0x2ee")][vF2("0x59")](v137, 1);
if (this[vF2("0x113")] && !this.segments[vF2("0x1cc")]) {
this.cell[vF2("0x175")](this);
}
}
release() {
C4.release(this);
}
[vF2("0x12c")](p187) {
this.x += p187.x;
this.y += p187.y;
return this;
}
[vF2("0x43")](p188) {
this.x -= p188.x;
this.y -= p188.y;
return this;
}
mul(p189) {
this.x *= p189.x;
this.y *= p189.y;
return this;
}
[vF2("0x16c")](p190) {
this.x *= p190;
this.y *= p190;
return this;
}
magnitude() {
const {
x,
y
} = this;
return Math.sqrt(x * x + y * y);
}
[vF2("0x1fc")]() {
const v138 = this[vF2("0x19f")]();
if (v138) {
this[vF2("0x16c")](1 / v138);
}
return this;
}
[vF2("0xc7")](p191) {
this.x = p191.x;
this.y = p191.y;
return this;
}
[vF2("0x208")](p192) {
return Math[vF2("0x315")](this[vF2("0x18d")](p192));
}
[vF2("0x18d")](p193) {
const v139 = this.x - p193.x;
const v140 = this.y - p193.y;
return v139 * v139 + v140 * v140;
}
[vF2("0x63")](p194) {
return this.x * p194.y - this.y * p194.x;
}
[vF2("0x30a")](p195) {
return this.x * p195.x + this.y * p195.y;
}
rotate(p196) {
const {
x,
y
} = this;
const v141 = Math[vF2("0x155")](p196);
const v142 = Math[vF2("0x23c")](p196);
this.x = x * v141 - y * v142;
this.y = x * v142 + y * v141;
return this;
}
[vF2("0x149")](p197) {
return Math[vF2("0x117")](this[vF2("0x63")](p197), this.dot(p197));
}
[vF2("0x118")]() {
return this.mulScalar(-1);
}
[vF2("0x6d")](p198) {
return vF5(this.x, p198.x) && vF5(this.y, p198.y);
}
clone() {
return new C4(this.x, this.y);
}
static [vF2("0x227")](p199, p200) {
if (vLN09) {
let v143 = v135[--vLN09][vF2("0x17f")](p199, p200);
return v143;
}
return new C4(p199, p200);
}
static [vF2("0x4a")](p201) {
return C4[vF2("0x227")](p201.x, p201.y);
}
static poolLength() {
return vLN09;
}
[vF2("0x165")]() {
return "[" + this.x[vF2("0x70")](4) + "," + this.y[vF2("0x70")](4) + "]";
}
static release(p202) {
if (vLN09 < vLN30000) {
p202[vF2("0x17f")]();
if (p202[vF2("0x113")] || p202[vF2("0x2ee")][vF2("0x1cc")]) {
// TOLOOK
debugger;
}
v135[vLN09++] = p202;
}
}
}
C4.space = undefined;
const vLN25 = 25;
const v144 = vLN25 * vLN25;
const vLN010 = 0;
const vLN13 = 1;
const vLN2 = 2;
const vLN3 = 3;
const vLN4 = 4;
const vLN5 = 5;
const vLN6 = 6;
const vLN7 = 7;
const v145 = 1000 / 60;
const v146 = 1000 / 60 * 2;
class C5 {
constructor(p203) {
this.owner = p203 || null;
this[vF2("0x1d4")] = null;
this[vF2("0x1a7")] = null;
this[vF2("0x2ee")] = [];
this[vF2("0x162")] = {
left: Infinity,
right: -Infinity,
top: Infinity,
bottom: -Infinity
};
this[vF2("0x9e")] = new Path2D();
}
[vF2("0x2a0")](p204) {
this[vF2("0x2ee")][vF2("0x1a6")](p205 => p205[vF2("0x2a0")](p204));
}
[vF2("0x175")]() {
this.segments.forEach(p206 => p206.remove());
}
[vF2("0x246")]() {
this[vF2("0x2ee")][vF2("0x246")]()[vF2("0x1a6")](p207 => p207[vF2("0x246")]());
if (this.end) {
[this[vF2("0x1d4")], this[vF2("0x1a7")]] = [this[vF2("0x1a7")], this[vF2("0x1d4")]];
}
return this;
}
clone() {
const v147 = new C5();
v147[vF2("0x2ee")] = this[vF2("0x2ee")][vF2("0x30b")](p208 => p208.clone());
v147[vF2("0x1d4")] = this.start;
v147[vF2("0x1a7")] = this.end;
Object[vF2("0x1b3")](v147.bounds, this.bounds);
return v147;
}
updateBounds(p209) {
const {
x,
y
} = p209;
this.bounds[vF2("0x13c")] = Math[vF2("0x271")](this[vF2("0x162")][vF2("0x13c")], x);
this[vF2("0x162")].right = Math[vF2("0x86")](this[vF2("0x162")][vF2("0x2bb")], x);
this[vF2("0x162")][vF2("0x1f2")] = Math[vF2("0x271")](this[vF2("0x162")].top, y);
this[vF2("0x162")].bottom = Math[vF2("0x86")](this[vF2("0x162")][vF2("0x2ef")], y);
}
[vF2("0x2f9")](p210) {
const v148 = this.end || this[vF2("0x1d4")];
if (v148 && v148[vF2("0x6d")](p210)) {
return false;
}
const {
x,
y
} = p210;
if (this[vF2("0x1a7")]) {
this[vF2("0x2ee")][vF2("0x254")](new C(this.end, p210).commit(this));
this[vF2("0x1a7")] = p210;
this[vF2("0x2b6")](p210);
this[vF2("0x9e")][vF2("0xd0")](x, y);
return true;
}
if (this[vF2("0x1d4")]) {
this.segments.push(new C(this[vF2("0x1d4")], p210)[vF2("0x2a0")](this));
this[vF2("0x1a7")] = p210;
this[vF2("0x2b6")](p210);
this[vF2("0x9e")][vF2("0xd0")](x, y);
return true;
}
this[vF2("0x1d4")] = p210;
this[vF2("0x2b6")](p210);
this[vF2("0x9e")][vF2("0x1bc")](x, y);
return true;
}
[vF2("0x310")]() {
const v149 = this[vF2("0x2ee")][vF2("0x30b")](p211 => p211.start);
if (this.end) {
v149[vF2("0x254")](this.end);
}
return v149;
}
toString() {
return this[vF2("0x2ee")][vF2("0x30b")](p212 => p212.start[vF2("0x165")]())[vF2("0x15b")]("");
}
}
const vF13 = (p213, p214, p215) => {
const v150 = p213.x - p215.x;
const v151 = p213.y - p215.y;
const v152 = p214.x - p215.x;
const v153 = p214.y - p215.y;
if (v151 * v153 > 0) {
return 1;
}
const v154 = v150 * v153 - v151 * v152;
const v155 = vF4(v154) ? 0 : Math[vF2("0x4b")](v154);
if (v155 === 0) {
if (v150 * v152 <= 0) {
return 0;
}
return 1;
}
if (v151 < 0) {
return -v155;
}
if (v153 < 0) {
return v155;
}
return 1;
};
class C6 {
constructor(p216) {
this[vF2("0x2ee")] = [];
this[vF2("0x10b")] = [];
this[vF2("0x32")] = null;
this[vF2("0x162")] = null;
const {
length
} = p216;
for (let vLN011 = 0; vLN011 < length;) {
this[vF2("0x2ee")][vF2("0x254")](new C(p216[vLN011++], p216[vLN011 < length ? vLN011 : 0]));
}
this[vF2("0x2b6")]();
}
[vF2("0x2a0")](p217) {
if (p217) {
this[vF2("0x32")] = p217;
}
this.segments[vF2("0x1a6")](p218 => p218[vF2("0x2a0")](this));
}
[vF2("0x175")]() {
this.segments[vF2("0x1a6")](p219 => p219[vF2("0x175")]());
}
[vF2("0x246")]() {
this.segments.reverse();
this.segments.forEach(p220 => p220[vF2("0x246")]());
return this;
}
[vF2("0x49")](p221, p222) {
if (!p221[vF2("0x109")](p222)) {
const v156 = this[vF2("0x2ee")][vF2("0x1ba")](p223 => p223 === p221);
const v157 = new C(p221[vF2("0x1d4")], p222)[vF2("0x2a0")](this);
const v158 = new C(p222, p221.end)[vF2("0x2a0")](this);
p221[vF2("0x175")]();
this.segments[vF2("0x59")](v156, 1, v157, v158);
}
}
[vF2("0x13e")](p224) {
return this[vF2("0x2ee")].some(p225 => p225.has(p224));
}
[vF2("0x21d")](p226) {
const v159 = this[vF2("0x2ee")][vF2("0x1ba")](p227 => p227[vF2("0x1d4")] === p226);
return v159;
}
splice(p228, p229, p230) {
const v160 = this[vF2("0x2ee")][vF2("0x59")](p229, p230 - p229, ...p228[vF2("0x2ee")]);
v160[vF2("0x1a6")](p231 => p231[vF2("0x175")]());
p228[vF2("0x2a0")](this);
}
unsplice(p232, p233, p234) {
const v161 = this[vF2("0x2ee")][vF2("0x59")](p233, p234 - p233);
this[vF2("0x175")]();
this[vF2("0x2ee")] = v161[vF2("0x213")](p232[vF2("0x246")]().segments);
p232[vF2("0x2a0")](this);
}
[vF2("0x13c")](p235, p236, p237) {
const vA4 = [];
for (let vLN012 = 0; vLN012 < p235[vF2("0x1cc")] - 1; vLN012++) {
vA4[vF2("0x254")](new C(p235[vLN012], p235[vLN012 + 1]));
}
const v162 = this[vF2("0x2ee")].splice(p236, p237 - p236, ...vA4);
vA4[vF2("0x1a6")](p238 => p238.commit(this));
v162[vF2("0x1a6")](p239 => p239[vF2("0x175")]());
}
[vF2("0x2bb")](p240, p241, p242) {
const vA5 = [];
for (let vLN013 = 0; vLN013 < p240[vF2("0x1cc")] - 1; vLN013++) {
vA5[vF2("0x254")](new C(p240[vLN013], p240[vLN013 + 1]));
}
const v163 = this[vF2("0x2ee")][vF2("0x59")](p241, p242 - p241);
this.remove();
vA5[vF2("0x246")]().forEach(p243 => p243[vF2("0x246")]()[vF2("0x2a0")](this));
this[vF2("0x2ee")] = v163[vF2("0x213")](vA5);
}
[vF2("0x310")]() {
return this.segments[vF2("0x30b")](p244 => p244[vF2("0x1d4")]);
}
[vF2("0x18a")](p245) {
let vA6 = [];
if (this.segments[vF2("0x1cc")] > 1) {
this.segments[vF2("0x1a6")](p246 => {
const v164 = p246[vF2("0x34")](p245);
if (v164) {
vA6[vF2("0x254")](v164);
}
});
}
if (vA6[vF2("0x1cc")] > 1) {
vA6[vF2("0x44")]((p247, p248) => p247[vF2("0x208")] - p248[vF2("0x208")]);
vA6 = vA6[vF2("0x199")](function (p249, p250) {
return vA6[vF2("0x1ba")](p251 => p251[vF2("0x102")] === p249[vF2("0x102")]) == p250;
});
}
return vA6;
}
inside(p252) {
const {
length
} = this[vF2("0x2ee")];
let vLN14 = 1;
for (let vLN014 = 0; vLN014 < length; vLN014++) {
const {
start,
end
} = this.segments[vLN014];
const vVF13 = vF13(start, end, p252);
if (vVF13 === 0) {
return true;
}
vLN14 *= vVF13;
}
return vLN14 !== 1;
}
[vF2("0x240")](p253) {
return !!f34(this.segments[vF2("0x30b")](p254 => [p254.start.x, p254.start.y]), p253.x, p253.y);
}
[vF2("0x29")]() {
let vLN015 = 0;
this.segments[vF2("0x1a6")](p255 => {
const {
start,
end
} = p255;
vLN015 += (start.x + end.x) * (end.y - start.y);
});
return vLN015 / 2;
}
[vF2("0x290")]() {
let v165 = this[vF2("0x29")]();
if (v165 < 0) {
{
v165 *= -1;
}
}
return v165;
}
calcPath() {
const v166 = new Path2D();
const {
segments
} = this;
const {
length
} = segments;
const {
start
} = segments[0];
v166[vF2("0x1bc")](start.x, start.y);
for (let vLN15 = 1; vLN15 < length; vLN15++) {
const {
start: _0x397cee
} = segments[vLN15];
v166.lineTo(_0x397cee.x, _0x397cee.y);
}
v166[vF2("0x2e")]();
this[vF2("0x9e")] = v166;
this[vF2("0x2b6")]();
}
[vF2("0x2a7")]() {
this[vF2("0x10b")] = [];
let vLN016 = 0;
this[vF2("0x2ee")][vF2("0x1a6")](p256 => {
const {
start
} = p256;
if (vLN016 < 2) {
this[vF2("0x10b")][vF2("0x254")](start);
vLN016++;
} else {
const v167 = this[vF2("0x10b")][vLN016 - 2];
if (start.distance2(v167) < v144) {
this[vF2("0x10b")][vLN016 - 1] = start;
} else {
this.simplify[vF2("0x254")](start);
vLN016++;
}
}
});
}
[vF2("0x2b6")]() {
this[vF2("0x2a7")]();
let vInfinity = Infinity;
let v168 = -Infinity;
let vInfinity2 = Infinity;
let v169 = -Infinity;
this[vF2("0x10b")][vF2("0x1a6")](p257 => {
const {
x,
y
} = p257;
vInfinity = Math[vF2("0x271")](vInfinity, x);
v168 = Math[vF2("0x86")](v168, x);
vInfinity2 = Math.min(vInfinity2, y);
v169 = Math[vF2("0x86")](v169, y);
});
vInfinity -= vLN25;
v168 += vLN25;
vInfinity2 -= vLN25;
v169 += vLN25;
this.bounds = {
left: vInfinity,
right: v168,
top: vInfinity2,
bottom: v169
};
}
}
const v170 = typeof performance !== "undefined" ? performance : Date;
const v171 = v170[vF2("0x9a")][vF2("0xb2")](v170);
const vF14 = (p258, p259, p260) => {
if (typeof p258.x !== "number") {
throw Error(vF2("0x157"));
}
const v172 = Math.PI * 2;
const v173 = v172 / p259;
const vA7 = [];
for (let vLN017 = 0; vLN017 < v172 - v90; vLN017 += v173) {
vA7[vF2("0x254")](new C4(p258.x + Math[vF2("0x155")](vLN017) * p260, p258.y + Math[vF2("0x23c")](vLN017) * p260));
}
return vA7;
};
const vF15 = p261 => {
const vParseInt = parseInt(p261[vF2("0x220")](1, 3), 16);
const vParseInt2 = parseInt(p261[vF2("0x220")](3, 5), 16);
const vParseInt3 = parseInt(p261.substring(5, 7), 16);
return {
r: vParseInt,
g: vParseInt2,
b: vParseInt3
};
};
const vF16 = ({
r,
g,
b
}) => {
let v174;
let v175;
let v176;
let v177;
let v178;
let v179;
let v180;
let v181;
let v182;
let v183;
let v184;
let v185;
v174 = r / 255;
v175 = g / 255;
v176 = b / 255;
v182 = Math[vF2("0x86")](v174, v175, v176);
v183 = v182 - Math[vF2("0x271")](v174, v175, v176);
v184 = p262 => (v182 - p262) / 6 / v183 + 1 / 2;
v185 = p263 => Math[vF2("0x1ce")](p263 * 100) / 100;
if (v183 == 0) {
v180 = v181 = 0;
} else {
v181 = v183 / v182;
v177 = v184(v174);
v178 = v184(v175);
v179 = v184(v176);
if (v174 === v182) {
v180 = v179 - v178;
} else if (v175 === v182) {
v180 = 1 / 3 + v177 - v179;
} else if (v176 === v182) {
v180 = 2 / 3 + v178 - v177;
}
if (v180 < 0) {
v180 += 1;
} else if (v180 > 1) {
v180 -= 1;
}
}
return {
h: Math[vF2("0x1ce")](v180 * 360),
s: v185(v181 * 100),
v: v185(v182 * 100)
};
};
const vF17 = ({
r,
g,
b
}) => {
const vF18 = p264 => {
const v186 = p264.toString(16);
if (v186[vF2("0x1cc")] < 2) {
return "0" + v186;
} else {
return v186;
}
};
return "#" + vF18(r) + vF18(g) + vF18(b);
};
const vF19 = ({
h: h,
s: s,
v: v
}) => {
var v187;
var v188;
var v189;
var v190;
var v191;
var v192;
var v193;
var v194;
h = Math[vF2("0x86")](0, Math[vF2("0x271")](360, h));
s = Math[vF2("0x86")](0, Math.min(100, s));
v = Math[vF2("0x86")](0, Math[vF2("0x271")](100, v));
s /= 100;
v /= 100;
if (s == 0) {
v187 = v188 = v189 = v;
return {
r: Math.round(v187 * 255),
g: Math.round(v188 * 255),
b: Math[vF2("0x1ce")](v189 * 255)
};
}
h /= 60;
v190 = Math.floor(h);
v191 = h - v190;
v192 = v * (1 - s);
v193 = v * (1 - s * v191);
v194 = v * (1 - s * (1 - v191));
switch (v190) {
case 0:
v187 = v;
v188 = v194;
v189 = v192;
break;
case 1:
v187 = v193;
v188 = v;
v189 = v192;
break;
case 2:
v187 = v192;
v188 = v;
v189 = v194;
break;
case 3:
v187 = v192;
v188 = v193;
v189 = v;
break;
case 4:
v187 = v194;
v188 = v192;
v189 = v;
break;
default:
v187 = v;
v188 = v192;
v189 = v193;
}
return {
r: Math[vF2("0x1ce")](v187 * 255),
g: Math[vF2("0x1ce")](v188 * 255),
b: Math[vF2("0x1ce")](v189 * 255)
};
};
const vF20 = p265 => vF17(vF19(p265));
function f36(p266) {
if (p266 > 0 && p266 < 1) {
p266 = Math.floor(p266 * 1000000000);
}
let vF21 = p267 => {
p266 = (p266 * 69069 + 1) % 2147483648;
return p266 % p267;
};
let vF22 = p268 => p268 == null ? vF21(1000000000) / 1000000000 : vF21(p268);
return vF22;
}
function f37(p269) {
return new Promise(p270 => {
let v195 = document[vF2("0x153")](vF2("0x31b"));
v195[vF2("0x317")] = p269;
v195[vF2("0x13")] = function () {
p270(v195);
};
});
}
function f38(p271, p272) {
let {
h,
s,
v: v
} = p271;
v *= p272;
return {
h: h,
s: s,
v: v
};
}
function f39(p273, p274) {
let {
h,
s,
v: v
} = p273;
const v196 = 100 - v;
v = Math[vF2("0x86")](v * p274, v + p274 * v196 / 4);
return {
h: h,
s: s,
v: v
};
}
function f40(p275, p276) {
let {
h,
s,
v: v
} = p275;
v = p276;
return {
h: h,
s: s,
v: v
};
}
function f41(p277) {
return p277[vF2("0x70")](2);
}
class C7 {
constructor(p278, p279, p280) {
if (!(p278 instanceof C6)) {
// TOLOOK
debugger;
}
this[vF2("0x1f")] = p278;
this.radius = p280;
this[vF2("0x1a3")] = p279;
}
static [vF2("0x217")](p281, p282, p283) {
return new C7(new C6(vF14(p281, p282, p283)), p281, p283);
}
[vF2("0x18a")](p284) {
{
if (p284.start.distance2(this[vF2("0x1a3")]) < this[vF2("0x314")] ** 2 * 0.95 && p284.end[vF2("0x18d")](this[vF2("0x1a3")]) < this[vF2("0x314")] ** 2 * 0.95) {
return [];
}
}
return this[vF2("0x1f")].intersections(p284).filter(p285 => !p285[vF2("0x238")]);
}
}
class C8 {
constructor(p286, p287) {
this[vF2("0x21")] = undefined;
this[vF2("0x284")] = undefined;
this[vF2("0x21")] = p286;
this.merges = [];
this.polygon = new C6(p287);
this.polygon[vF2("0x2a0")](this);
this[vF2("0x210")]();
this[vF2("0x1f")][vF2("0x5f")]();
}
calcPath() {
this.path = new Path2D();
const {
segments
} = this.polygon;
const {
length
} = segments;
const {
start
} = segments[0];
this.path[vF2("0x1bc")](start.x, start.y);
for (let vLN16 = 1; vLN16 < length; vLN16++) {
const {
start: _0xbf2b7e
} = segments[vLN16];
this.path[vF2("0xd0")](_0xbf2b7e.x, _0xbf2b7e.y);
}
this.path[vF2("0x2e")]();
return this[vF2("0x9e")];
}
calcSquare() {
this[vF2("0x290")] = this.polygon[vF2("0x290")]();
}
[vF2("0x175")]() {
this[vF2("0x1f")][vF2("0x175")]();
}
[vF2("0x14")](p288, p289, p290) {
if (p289 === this[vF2("0x21")]) {
this[vF2("0x1e8")](p288, p289, p290);
} else {
this[vF2("0x12a")](p288, p289, p290);
}
}
[vF2("0x1e8")](p291, p292, p293) {
if (p291[vF2("0x238")]) {
return;
}
this[vF2("0x21")][vF2("0x160")]();
const {
point: _0x38ac8f,
segment: _0xc0765
} = p291;
if (p292.in === this) {
if (p291.zn < 0) {
return;
}
if (_0x38ac8f[vF2("0x6d")](p293[vF2("0x1a7")])) {
return;
}
this[vF2("0x1f")][vF2("0x49")](_0xc0765, _0x38ac8f);
p292[vF2("0x83")][vF2("0x12c")](_0x38ac8f);
p292.in = null;
if (p292[vF2("0x144")]) {
p292[vF2("0x144")][vF2("0xa5")]();
}
if (p292.achievements) {
p292[vF2("0xde")][vF2("0x209")]();
}
} else {
if (p291.zn > 0) {
return;
}
if (_0x38ac8f[vF2("0x6d")](p293.start)) {
return;
}
if (p292.in) {
return;
}
this.polygon[vF2("0x49")](_0xc0765, _0x38ac8f);
p292[vF2("0x83")][vF2("0x12c")](_0x38ac8f);
if (p292[vF2("0x83")][vF2("0x25d")][vF2("0x1a7")]) {
this[vF2("0x21")][vF2("0x305")][vF2("0x5e")](p292);
}
p292.in = this;
p292.track[vF2("0x175")]();
}
}
handleEnemyIntersect(p294, p295, p296) {
const {
point: _0x59ff3e,
segment: _0x323756
} = p294;
if (p295.in === this) {
if (p294.zn < 0) {
return;
}
this[vF2("0x1f")][vF2("0x49")](_0x323756, _0x59ff3e);
p295[vF2("0x83")].add(_0x59ff3e);
p295.track[vF2("0x34")](p294, this, false);
p295.in = null;
} else {
if (p294.zn > 0) {
return;
}
if (p294[vF2("0x238")]) {
return;
}
if (_0x59ff3e[vF2("0x6d")](p296[vF2("0x1a7")])) {
return;
}
if (p295.in) {
return;
}
this[vF2("0x1f")].insert(_0x323756, _0x59ff3e);
p295.track.add(_0x59ff3e);
p295.track[vF2("0x34")](p294, this, true);
p295.in = this;
}
}
}
class C9 {
constructor(p297) {
this[vF2("0x25d")] = new C5(this);
this[vF2("0xee")] = [];
this[vF2("0x21")] = p297;
this[vF2("0x1cc")] = 0;
this.intersections = [];
this.isTrack = true;
}
[vF2("0x12c")](p298) {
if (this[vF2("0x25d")][vF2("0x2f9")](p298)) {
const v197 = this[vF2("0x25d")].segments[vF2("0x1cc")];
if (v197 > 0) {
const v198 = this[vF2("0x25d")][vF2("0x2ee")][v197 - 1];
this.length += v198.start[vF2("0x208")](v198.end);
}
const {
simplyline
} = this;
const {
length
} = simplyline;
if (length > 2) {
const v199 = simplyline[length - 2];
if (p298[vF2("0x18d")](v199) < v144) {
simplyline[length - 1] = p298;
} else {
simplyline.push(p298);
}
} else {
simplyline.push(p298);
}
}
}
intersect(p299, p300, p301) {
const v200 = this[vF2("0x18a")].find(p302 => p302[vF2("0x102")][vF2("0x6d")](p299[vF2("0x102")]));
if (v200) {
v200.intersections[vF2("0x254")]({
intersection: p299,
base: p300,
enter: p301
});
} else {
this[vF2("0x18a")][vF2("0x254")]({
point: p299[vF2("0x102")],
intersections: [{
intersection: p299,
base: p300,
enter: p301
}]
});
}
}
[vF2("0x175")]() {
this[vF2("0x25d")][vF2("0x175")]();
this.polyline = new C5(this);
this[vF2("0x1cc")] = 0;
this[vF2("0xee")] = [];
this.intersections = [];
}
handleIntersect(p303, p304, p305) {
let v201 = p304[vF2("0x305")];
if (p304 === this[vF2("0x21")]) {
if (p303[vF2("0x238")] === true || p303[vF2("0x102")] !== this[vF2("0x25d")].segments[this[vF2("0x25d")][vF2("0x2ee")].length - 1][vF2("0x1a7")]) {
this[vF2("0x21")][vF2("0xdb")] = p303.point;
const v202 = v201.border.radius - p304.position[vF2("0x208")](v201.space[vF2("0x1a3")]) < 5 ? vLN2 : vLN13;
v201[vF2("0x5a")](this.unit, undefined, v202);
}
} else {
v201[vF2("0x5a")](this[vF2("0x21")], p304, vLN3);
}
}
}
class C10 {
constructor(p306, p307, p308) {
this[vF2("0x1da")] = p306;
this.state = "";
this[vF2("0x178")] = p308;
this[vF2("0x1ee")] = {};
this.change(p307);
}
change(p309) {
const v203 = this[vF2("0x1da")][this[vF2("0x154")]];
if (v203 && v203.leave) {
this[vF2("0x1ee")] = v203[vF2("0xa8")](this[vF2("0x178")], this[vF2("0x1ee")]) || this[vF2("0x1ee")];
}
const v204 = this.states[p309];
if (v204) {
this[vF2("0x154")] = p309;
this[vF2("0x1ee")] = v204.enter && v204[vF2("0x103")](this.payload, this.context) || this.context;
this[vF2("0x248")]();
}
}
update() {
const v205 = this.states[this[vF2("0x154")]];
const v206 = v205 && v205.update(this.payload, this[vF2("0x1ee")]);
if (v206) {
this[vF2("0x26c")](v206);
}
}
}
const vF23 = p310 => {
const {
player
} = p310[vF2("0x305")];
if (player) {
const v207 = Math[vF2("0x86")](p310[vF2("0x125")], player[vF2("0x125")]);
const v208 = v207 * p310[vF2("0x2ba")] * 0.75;
const {
simplyline
} = player.track;
for (let vLN018 = 0, v209 = simplyline[vF2("0x1cc")]; vLN018 < v209; vLN018++) {
if (p310[vF2("0xdb")].distance2(simplyline[vLN018]) < v208 * v208) {
return true;
}
}
}
};
const vF24 = (p311, p312) => {
if (p311.in === p311[vF2("0xc9")]) {
return false;
}
return p311[vF2("0x24b")] > p311.def * 0.8;
};
var vO8 = {
idle: {
enter: function () {
return {};
},
update: function (p313, p314) {
if (p313.in === p313[vF2("0xc9")]) {
if (p313[vF2("0x305")][vF2("0x25f")]() < 0.25) {
return "cut";
} else {
return vF2("0x25");
}
} else {
return vF2("0x1e");
}
}
},
capital: {
update: function (p315, p316) {
if (p315.in !== p315[vF2("0xc9")]) {
return vF2("0x16");
}
const v210 = p315[vF2("0xdb")][vF2("0x208")](p315[vF2("0x305")].space[vF2("0x1a3")]);
const v211 = p315[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - v210;
p315[vF2("0x1d2")] = p316[vF2("0x102")];
}
},
cut: {
enter: function (p317) {
const v212 = p317[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](p317[vF2("0x305")][vF2("0x130")][vF2("0x1a3")]);
const v213 = v212.magnitude();
const v214 = new C(p317[vF2("0xdb")], v212.normalize().mulScalar(p317[vF2("0x305")][vF2("0x1a8")].radius + 10)[vF2("0x12c")](p317[vF2("0x305")][vF2("0x130")][vF2("0x1a3")]));
const v215 = p317[vF2("0xc9")].polygon[vF2("0x18a")](v214);
const vO9 = {};
if (!v215[vF2("0x1cc")]) {
console[vF2("0x206")](vF2("0x31a"), p317[vF2("0xdb")].x, p317[vF2("0xdb")].y);
console[vF2("0x206")](vF2("0x18a"), v215);
}
v215[vF2("0x44")]((p318, p319) => p318[vF2("0x208")] - p319[vF2("0x208")]);
vO9[vF2("0x98")] = v215[0] && v215[0][vF2("0x102")];
return vO9;
},
update: function (p320, p321) {
if (p320.in !== p320.base) {
return vF2("0x16");
}
const v216 = p320[vF2("0xdb")][vF2("0x208")](p320.game[vF2("0x130")][vF2("0x1a3")]);
const v217 = p320[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - v216;
if (!p321[vF2("0x98")] || v217 < 1) {
return "idle";
}
p320.target = p321.exitPoint;
}
},
exit: {
enter: function (p322) {
const vO10 = {};
let vInfinity3 = Infinity;
let v218;
const {
length
} = p322[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")];
let v219 = p322[vF2("0x305")][vF2("0xb0")][vF2("0xad")];
vO10[vF2("0x2ce")] = v219;
while (v218 === undefined) {
for (let vLN019 = 0; vLN019 < 1; vLN019++) {
const v220 = ~~(p322[vF2("0x305")][vF2("0x25f")]() * length);
const v221 = p322[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][v220][vF2("0x1d4")];
const v222 = v221[vF2("0x208")](p322[vF2("0xdb")]);
if (v222 < vInfinity3 && v222 > v219) {
vInfinity3 = v222;
v218 = v220;
}
}
v219 *= 0.75;
}
vO10[vF2("0x98")] = p322[vF2("0xc9")][vF2("0x1f")].segments[v218][vF2("0x1d4")];
return vO10;
},
update: function (p323, p324) {
if (p323.in !== p323[vF2("0xc9")]) {
p324 = {};
return "capture";
}
if (vF23(p323)) {
return "attack";
}
const {
length
} = p323[vF2("0xc9")][vF2("0x1f")].segments;
const {
minDistance
} = p324;
const v223 = ~~(p323.game.rng() * length);
const v224 = p323[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][v223][vF2("0x1d4")];
const v225 = v224.distance(p323[vF2("0xdb")]);
let v226 = p324[vF2("0x98")][vF2("0x208")](p323[vF2("0xdb")]);
if (v225 > minDistance && v225 < v226) {
p324[vF2("0x98")] = v224;
} else {
if (!Object[vF2("0x270")](p324[vF2("0x98")][vF2("0x2ee")])[vF2("0x104")](p325 => p325 && p325[vF2("0x2d4")] === p323[vF2("0xc9")][vF2("0x1f")])) {
p324[vF2("0x98")] = v224;
}
if (p323.target && p323[vF2("0x1d2")][vF2("0x208")](p323[vF2("0x305")][vF2("0x130")].center) > p323[vF2("0x305")][vF2("0x1a8")][vF2("0x314")] - 1) {
p324.exitPoint = v224;
}
}
p323[vF2("0x1d2")] = p324[vF2("0x98")];
}
},
capture: {
update: function (p326, p327) {
if (p326.in === p326.base) {
return vF2("0x26a");
}
if (vF23(p326)) {
return vF2("0x26e");
}
const {
unitSpeed
} = p326[vF2("0x305")][vF2("0xb0")];
const {
center
} = p326[vF2("0x305")][vF2("0x130")];
const {
radius
} = p326[vF2("0x305")][vF2("0x1a8")];
const v227 = p326.position[vF2("0x208")](center);
const v228 = radius - v227;
if (p326[vF2("0x20b")] < unitSpeed / 4 && p326.track[vF2("0x1cc")] > unitSpeed * 2 && v228 > 10) {
return vF2("0x1e");
}
const vLN252 = 25;
const v229 = vLN252 / 2;
const v230 = v229 * v229;
if (p326[vF2("0xdb")].distance2(p326[vF2("0x1d2")]) < v230 && v228 > vLN252) {
return;
}
let vLN020 = 0;
for (let vLN17 = 1, v231 = p326.track[vF2("0xee")][vF2("0x1cc")]; vLN17 < v231; vLN17++) {
const v232 = p326.track[vF2("0xee")][vLN17 - 1];
const v233 = p326[vF2("0x83")].simplyline[vLN17];
vLN020 += (v232.x + v233.x) * (v233.y - v232.y);
}
let v234 = p326[vF2("0x83")][vF2("0xee")][p326[vF2("0x83")].simplyline[vF2("0x1cc")] - 1];
let v235 = p326[vF2("0x20d")];
vLN020 += (v234.x + v235.x) * (v235.y - v234.y);
v234 = p326.baseNearestPoint;
v235 = p326[vF2("0x83")][vF2("0xee")][0];
vLN020 += (v234.x + v235.x) * (v235.y - v234.y);
const v236 = Math[vF2("0x4b")](vLN020);
vLN020 = Math.abs(vLN020 / 2);
p326.capSquare = vLN020;
const {
def,
greed,
safety
} = p326;
const v237 = Math.PI * 2 * p326[vF2("0x125")] * greed;
const v238 = p326[vF2("0x83")][vF2("0x1cc")] / v237;
const v239 = Math.min(p326[vF2("0xc9")][vF2("0x290")], Math.PI * p326[vF2("0x125")] * p326[vF2("0x125")]) * greed;
const v240 = p326[vF2("0x308")] / v239;
const v241 = p326[vF2("0x125")] * vF6(3, 0.7, safety);
const v242 = p326[vF2("0xdb")][vF2("0x208")](p326[vF2("0x83")][vF2("0x25d")][vF2("0x1d4")]) / v241;
const v243 = p326[vF2("0xdf")][vF2("0x21e")]((p328, p329) => Math[vF2("0x271")](p329[vF2("0x263")], p328), Infinity) * 0.8 * def;
const v244 = p326[vF2("0x20b")] / v243;
const v245 = Math[vF2("0x86")](v238, v240, v242, v244);
if (v245 > 1) {
return vF2("0x1e");
}
const v246 = p326[vF2("0x125")] * greed;
const v247 = p326[vF2("0x1a9")] * 0.6 * def;
const vV246 = v246;
const v248 = vV246 * 0.8;
const v249 = p326[vF2("0x1d2")][vF2("0x4a")]().sub(p326[vF2("0xdb")]);
let v250;
if (p326[vF2("0x20b")] > vV246 || v245 > 0.75) {
p326.aspect = "приближение";
v250 = p326[vF2("0x2b4")].clone()[vF2("0x16c")](vLN252)[vF2("0x1cf")]((Math.PI / 2 + Math.PI / 4) * v236);
} else if (p326[vF2("0x20b")] < v248) {
p326.aspect = vF2("0x12b");
let v251 = Math.PI / 4;
const v252 = p326[vF2("0x83")].length / v248;
if (v252 < 1) {
p326[vF2("0xfd")] = vF2("0x1eb");
v251 = vF6(Math.PI / 2 * greed, 0, v252);
}
v250 = p326[vF2("0x2b4")][vF2("0x4a")]()[vF2("0x16c")](vLN252)[vF2("0x1cf")]((Math.PI / 2 - v251) * v236);
} else {
p326[vF2("0xfd")] = vF2("0x27f");
v250 = p326[vF2("0x2b4")].clone()[vF2("0x16c")](vLN252).rotate(Math.PI / 2 * v236);
p326[vF2("0x1dc")] = 1 + (1 - Math[vF2("0x271")](1, p326.maxDanger)) * 3;
}
p326[vF2("0x1dc")] = 1 + (1 - Math.min(1, p326[vF2("0x24b")])) * 1;
if (v228 < vLN252 * 2 && v228 > vLN252 / 4 && v228 < p326[vF2("0xdb")].clone()[vF2("0x12c")](v250)[vF2("0x208")](center)) {
const v253 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center);
const v254 = v253.angle(v249);
const v255 = Math.sign(v254);
let v256 = v253[vF2("0x149")](v250);
let v257 = Math[vF2("0x4b")](v256);
if (v255 !== v257) {
v256 *= -1;
v257 *= -1;
v250.rotate(v256 * 2);
}
const v258 = Math[vF2("0x264")](v256);
if (v258 < Math.PI / 4) {
v250[vF2("0x1cf")]((Math.PI / 4 - v258) * v257);
}
}
p326.target = p326[vF2("0xdb")][vF2("0x4a")]().add(v250);
if (p326[vF2("0x1d2")][vF2("0x208")](center) > radius + vLN252 * 0.75) {
const v259 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center);
const v260 = v259[vF2("0x149")](v249);
const vV227 = v227;
const v261 = (radius * radius - vLN252 * vLN252 + vV227 * vV227) / (vV227 * 2);
const v262 = Math[vF2("0x315")](radius * radius - v261 * v261);
const v263 = p326[vF2("0xdb")][vF2("0x4a")]()[vF2("0x43")](center).normalize();
const v264 = center.clone().add(v263.clone()[vF2("0x16c")](v261));
v250 = v263[vF2("0x4a")]()[vF2("0x1cf")](Math.PI / 2 * v260)[vF2("0x1cf")](Math.PI / 8 * -v260)[vF2("0x16c")](v262);
p326[vF2("0x1d2")] = v264[vF2("0x4a")]().add(v250);
} else if (p326[vF2("0x1d2")][vF2("0x208")](center) > radius && p326[vF2("0x1d2")][vF2("0x208")](center) < radius + vLN252 * 0.5) ;
}
},
back: {
enter: function (p330, p331) {},
update: function (p332, p333) {
if (p332.in === p332[vF2("0xc9")]) {
return vF2("0x26a");
}
p332.smoothness = vF6(1, Math[vF2("0x86")](1, Math.max(1, Math[vF2("0x271")](p332[vF2("0x26")], p332[vF2("0x258")]) * 4)), Math[vF2("0x86")](1, p332[vF2("0x24b")]));
const v265 = p332[vF2("0x305")][vF2("0x1a8")].radius - p332[vF2("0xdb")][vF2("0x208")](p332[vF2("0x305")][vF2("0x130")].center);
if (v265 < 20) {
p332[vF2("0x1dc")] = 1;
}
p332[vF2("0x1d2")] = p332[vF2("0x20d")];
}
},
attack: {
enter: () => ({}),
update: function (p334, p335) {
const {
player: player
} = p334.game;
if (!player || player[vF2("0x150")]) {
return vF2("0x26a");
}
const {
simplyline
} = player[vF2("0x83")];
if (!simplyline[vF2("0x1cc")]) {
return vF2("0x26a");
}
if (player.track.length < p334.game[vF2("0xb0")].botAttackTrackLength && vF24(p334)) {
return vF2("0x26a");
}
let vLN021 = 0;
let vInfinity4 = Infinity;
simplyline[vF2("0x1a6")]((p336, p337) => {
const v266 = p334[vF2("0xdb")][vF2("0x18d")](p336);
if (v266 < vInfinity4) {
vInfinity4 = v266;
vLN021 = p337;
}
});
p334.target = simplyline[vLN021];
}
}
};
const vF25 = () => {
const v267 = new Path2D();
const vLN18 = 1;
v267.moveTo(-vLN18, -vLN18);
v267.lineTo(vLN18, -vLN18);
v267[vF2("0xd0")](vLN18, vLN18);
v267[vF2("0xd0")](-vLN18, vLN18);
v267[vF2("0x2e")]();
return v267;
};
const vVF25 = vF25();
class C11 {
constructor(p338, p339, p340, p341, p342, p343, p344, p345, p346, p347) {
this.target = p338;
this[vF2("0x29c")] = p339;
this[vF2("0xdb")] = p340;
this[vF2("0x56")] = p341;
this[vF2("0x321")] = p342;
this.rotate = p343;
this.scale = p344;
this[vF2("0x14c")] = p345;
this[vF2("0x2a1")] = Math.random() * Math.PI * 2;
this[vF2("0x1b1")] = p346;
this.fn = p347;
}
[vF2("0x248")](p348) {
const v268 = p348 / 1000;
this[vF2("0x1b1")] -= p348;
if (this[vF2("0x1b1")] <= 0) {
if (this.fn) {
this.fn(this);
}
return;
}
this.position.x += this[vF2("0x56")].x * v268;
this[vF2("0xdb")].y += this[vF2("0x56")].y * v268;
if (this.acceleration) {
this[vF2("0x56")].x += this.acceleration.x * v268;
this[vF2("0x56")].y += this[vF2("0x321")].y * v268;
}
this[vF2("0x2a1")] += this[vF2("0x1cf")] * v268;
this.scale += this.vscale * v268;
}
[vF2("0x237")](p349) {
const {
x,
y
} = this[vF2("0xdb")];
const {
rotation,
color: color,
scale
} = this;
let v269 = p349[vF2("0x2b")]();
p349[vF2("0xa2")](x, y);
p349.rotate(rotation);
p349[vF2("0x115")](scale, scale);
if (typeof color === "string") {
if (p349[vF2("0x40")] !== color) {
p349.fillStyle = color;
}
p349[vF2("0x283")](vVF25);
} else {
p349[vF2("0x115")](1 / 20, 1 / 20);
p349[vF2("0x2a9")](color, -color.width / 2, -color[vF2("0x24c")] / 2);
}
p349.setTransform(v269);
}
static nom(p350, p351, p352) {
const v270 = Math.sign(Math[vF2("0x249")]() - 0.5);
const v271 = p350[vF2("0x7d")][vF2("0x241")][vF2("0x19b")] * p352;
const {
unitSpeed,
baseHeight: baseHeight
} = p350[vF2("0x305")][vF2("0xb0")];
const v272 = p351.vector[vF2("0x4a")]()[vF2("0x1fc")]().rotate(v270 * Math[vF2("0x249")]() * (Math.PI / 30))[vF2("0x16c")](unitSpeed * (1 + Math[vF2("0x249")]()));
const v273 = p351.vector[vF2("0x4a")]()[vF2("0x1cf")](Math.PI / 2)[vF2("0x1fc")]()[vF2("0x16c")](v270 * Math[vF2("0x249")]() * v271 / 2);
const v274 = p351[vF2("0x47")][vF2("0x4a")]()[vF2("0x1fc")]()[vF2("0x16c")](v271 / 2);
const v275 = p351.vector[vF2("0x4a")]()[vF2("0x1fc")]()[vF2("0x16c")](unitSpeed * -6)[vF2("0x1cf")](v270 * Math[vF2("0x249")]() * (Math.PI / 10));
const {
particles
} = p350.in[vF2("0x21")][vF2("0x7d")][vF2("0xfa")];
const v276 = 0.75 + Math[vF2("0x249")]() * 0.5;
const v277 = new C11(null, particles[~~(Math[vF2("0x249")]() * particles[vF2("0x1cc")])], p351[vF2("0x1d4")][vF2("0x4a")]()[vF2("0x12c")](v273).add(v274)[vF2("0x12c")](new C4(0, -baseHeight)), v272, v275, Math.PI + Math.random() * Math.PI, v276, v276 * -2, 300);
return v277;
}
}
function f42(p353, p354, p355, p356) {
let v278 = p353.game;
if (v278[vF2("0x28e")]) {
const v279 = p353[vF2("0x144")].scores();
let vLN022 = 0;
let vLN023 = 0;
let vLN024 = 0;
p355[vF2("0x1a6")](p357 => {
vLN023 += p357[vF2("0x47")][vF2("0x19f")]();
if (vLN023 > 5) {
vLN023 = 0;
const v280 = p357[vF2("0x47")][vF2("0x4a")]()[vF2("0x1fc")]().rotate(Math.sign(Math[vF2("0x249")]() - 0.5) * Math.PI / 2).mulScalar(25 + Math[vF2("0x249")]() * 100);
if (Math.random() > 0.25) {
v280[vF2("0x16c")](0.1);
}
const v281 = (p356 ? 3 : 1) * (1 + Math[vF2("0x249")]() * 0.5);
const v282 = 500 + Math[vF2("0x249")]() * 500;
const v283 = -v281 * 0.7 * (1000 / v282);
const v284 = new C11(null, p353[vF2("0x7d")].colors.particles[~~(Math[vF2("0x249")]() * p353[vF2("0x7d")].colors[vF2("0x1af")].length)], p357[vF2("0x1d4")][vF2("0x4a")](), v280, null, Math.PI * 2 * (1 + Math[vF2("0x249")]()) * Math[vF2("0x4b")](Math.random() - 0.5 || 1), v281, v283, v282, p358 => {
if (p354) {
p358.target = p354;
p358[vF2("0x1b1")] = 1;
p358.velocity = p358.velocity[vF2("0x19f")]();
p358[vF2("0x321")] = (1.5 + Math[vF2("0x249")]() * 0.5) * v278[vF2("0xb0")][vF2("0xad")];
p358.fn = () => {
if (p356) {
p354[vF2("0x144")][vF2("0x15d")]()[vF2("0xa4")] += vLN024;
}
};
p358[vF2("0x14c")] = 0;
p358.scale = 1;
}
});
v278.particles.push(v284);
vLN022++;
}
});
vLN024 = v279 / vLN022;
}
}
class C12 {
constructor(..._0x4303d9) {
this[vF2("0x95")] = _0x4303d9;
this[vF2("0x1b6")] = 0;
}
[vF2("0x294")](p359) {
return new C13(this[vF2("0x95")][vF2("0x30b")](p360 => new p360(p359)), this);
}
[vF2("0xb6")]() {
this.current++;
if (this.current === this[vF2("0x95")].length) {
this[vF2("0x1b6")] = 0;
}
}
}
class C13 {
constructor(p361, p362) {
this.schemes = p361;
this.manager = p362;
}
[vF2("0x15d")](p363) {
if (p363) {
return this[vF2("0x144")][vF2("0x2dc")](p364 => p364[vF2("0x1d0")] === p363);
} else {
return this[vF2("0x144")][this.manager[vF2("0x1b6")]];
}
}
[vF2("0x319")]() {
return this[vF2("0x144")][this.manager[vF2("0x1b6")]][vF2("0x319")]();
}
result() {
return this[vF2("0x144")][this[vF2("0x2e9")].current][vF2("0x304")]();
}
[vF2("0xab")](p365) {
return this[vF2("0x144")][this[vF2("0x2e9")][vF2("0x1b6")]][vF2("0xab")](p365);
}
[vF2("0x248")](p366) {
this[vF2("0x144")].forEach((p367, p368) => p367[vF2("0x248")](p366, this[vF2("0x2e9")][vF2("0x1b6")] !== p368));
}
[vF2("0x5a")](p369, p370) {
this[vF2("0x144")].forEach((p371, p372) => p371[vF2("0x5a")](p369, p370, this[vF2("0x2e9")].current !== p372));
}
[vF2("0xa5")]() {
this[vF2("0x144")][vF2("0x1a6")]((p373, p374) => p373[vF2("0xa5")](this[vF2("0x2e9")][vF2("0x1b6")] !== p374));
}
comeback(p375) {
this[vF2("0x144")].forEach((p376, p377) => p376[vF2("0x17b")](p375, this[vF2("0x2e9")].current !== p377));
}
}
class C14 {
constructor(p378, p379) {
this[vF2("0x21")] = p378;
this[vF2("0x1d0")] = p379;
}
[vF2("0x15d")]() {
return this;
}
[vF2("0x319")]() {
return 0;
}
[vF2("0xab")](p380) {
return f41(this[vF2("0x319")]());
}
[vF2("0x304")]() {
return this[vF2("0x319")]();
}
[vF2("0x5a")]() {}
[vF2("0x248")]() {}
out() {}
[vF2("0x17b")]() {}
}
class C15 extends C14 {
constructor(p381) {
super(p381, vF2("0x58"));
}
[vF2("0x319")]() {
return this[vF2("0x21")][vF2("0x58")] * 100;
}
[vF2("0x304")]() {
return +this[vF2("0x319")]()[vF2("0x70")](2);
}
[vF2("0xab")](p382) {
const v285 = p382 || this[vF2("0x319")]();
return f41(v285) + "%";
}
kill(p383, p384, p385) {
if (!p385 && this[vF2("0x21")][vF2("0x141")]) {
this[vF2("0x21")].addLabel({
text: this.unit.game.language[vF2("0x267")],
color: p383[vF2("0x7d")][vF2("0xfa")][vF2("0x309")],
unit: this.unit,
time: 1000,
fading: true
});
}
}
[vF2("0x17b")]({
increment,
rise,
victims,
game
}, p386) {
if (!p386 && increment * 100 >= 0.01 && this.unit[vF2("0x141")]) {
this[vF2("0x21")][vF2("0x36")]({
text: "+" + (increment * 100).toFixed(2) + "%",
color: this.unit[vF2("0x7d")].colors[vF2("0x147")],
unit: this[vF2("0x21")],
time: 1000,
fading: true
});
}
}
}
class C16 {
constructor(p387, p388, p389) {
this.title = p387;
this[vF2("0x25a")] = p388;
this[vF2("0x154")] = 0;
this[vF2("0x1b6")] = 0;
this.states = [500, 3000, 500, 250];
this.image = null;
if (p389) {
this.ready = false;
const v286 = new Image();
v286.onload = () => {
this[vF2("0x6")] = true;
this[vF2("0x1ef")] = v286;
};
v286.onerror = () => {
this[vF2("0x6")] = true;
};
v286[vF2("0x317")] = p389;
} else {
this[vF2("0x6")] = true;
}
}
[vF2("0x248")](p390) {
this[vF2("0x1b6")] += p390;
if (this[vF2("0x1b6")] > this[vF2("0x1da")][this[vF2("0x154")]]) {
this[vF2("0x154")]++;
this[vF2("0x1b6")] = 0;
}
}
[vF2("0xdb")]() {
switch (this.state) {
case 0:
return vF7(this[vF2("0x1b6")] / this[vF2("0x1da")][0]);
case 1:
return 1;
case 2:
return 1 - vF7(this[vF2("0x1b6")] / this.states[2]);
default:
return 0;
}
}
}
class C17 {
constructor(p391, p392, p393, p394, p395, p396) {
this[vF2("0x1d0")] = p391;
this[vF2("0x24f")] = p392;
this[vF2("0x2df")] = p393;
this[vF2("0x25a")] = p394;
this.url = p395;
this.onEarned = p396;
this[vF2("0x18")] = 0;
this[vF2("0x198")] = false;
this.checker = null;
}
[vF2("0xe3")](p397) {
this.earned = true;
if (window.ga) {
window.ga("send", vF2("0x172"), vF2("0x23d"), this[vF2("0x1d0")]);
}
this[vF2("0x2cd")] = null;
if (this[vF2("0xce")]) {
this.onEarned(p397, this);
}
p397[vF2("0x1fa")][vF2("0x254")](new C16(vF2("0x25c"), this[vF2("0x25a")], this[vF2("0x1a5")]));
}
}
class C18 {
constructor(p398, p399 = vF2("0x211")) {
this[vF2("0x10c")] = p399;
this.achievements = p398[vF2("0x30b")](p400 => new C17(p400[vF2("0x1d0")], p400[vF2("0x24f")], p400.getChecker, p400[vF2("0x25a")], p400[vF2("0x1a5")], p400[vF2("0xce")]));
}
load() {
const v287 = vF27[vF2("0x122")](vF2("0x18b")) || {};
const vF26 = (p401, p402) => {
if (v287[p401]) {
const v288 = this.achievements[vF2("0x2dc")](p403 => p403[vF2("0x1d0")] === p402);
if (v288) {
v288.earned = true;
}
}
};
vF26(vF2("0x21a"), vF2("0x2d3"));
vF26("c22", "capAmerica");
vF26(vF2("0x235"), vF2("0x87"));
vF26(vF2("0x11"), vF2("0x183"));
const v289 = vF27[vF2("0x122")](this[vF2("0x10c")]) || {};
if (v289[vF2("0xde")]) {
v289[vF2("0xde")][vF2("0x1a6")](p404 => {
const v290 = this.achievements.find(p405 => p405[vF2("0x1d0")] === p404[vF2("0x1d0")]);
if (v290) {
v290[vF2("0x18")] = p404.best || 0;
v290[vF2("0x198")] = p404[vF2("0x198")] || false;
}
});
}
}
[vF2("0x188")]() {
const v291 = this.achievements[vF2("0x30b")](p406 => ({
name: p406[vF2("0x1d0")],
best: p406.best,
earned: p406[vF2("0x198")]
}));
const v292 = vF27[vF2("0x122")](this.storageName) || {};
v292.achievements = v291;
const vO11 = {
expires: 365
};
vF27.set(this[vF2("0x10c")], v292, vO11);
const v293 = vF27[vF2("0x122")]("paperio_challenges") || {};
const vF28 = (p407, p408) => {
const v294 = this[vF2("0xde")][vF2("0x2dc")](p409 => p409[vF2("0x1d0")] === p408);
if (v294 && v294.earned) {
v293[p407] = true;
}
};
vF28("c13", vF2("0x2d3"));
vF28(vF2("0x235"), vF2("0xa1"));
vF28(vF2("0x235"), vF2("0x87"));
vF28(vF2("0x11"), "geralt");
vF28(vF2("0x245"), "sanitizer");
vF28(vF2("0xc3"), vF2("0x16b"));
vF28(vF2("0x239"), "covid");
vF27[vF2("0x17f")](vF2("0x18b"), v293, vO11);
window[vF2("0x18b")] = v293;
if (window[vF2("0x194")]) {
window.shop[vF2("0x2f4")]();
} else {
console[vF2("0x206")](vF2("0x74"));
}
}
}
class C19 {
constructor(p410, p411) {
this[vF2("0x1ec")] = p410;
if (!this.profile) {
return;
}
this[vF2("0xde")] = p410[vF2("0xde")][vF2("0x199")](p412 => {
const v295 = !p412[vF2("0x198")] && p412[vF2("0x24f")][vF2("0x104")](p413 => p413 === p411);
if (v295) {
p412.checker = p412[vF2("0x2df")]();
}
return v295;
});
}
update(p414, p415, p416) {
this.achievements = this[vF2("0xde")].filter(p417 => {
p417.checker[vF2("0x248")](p414, p415, p416);
if (p417[vF2("0x2cd")][vF2("0x21c")] > p417[vF2("0x18")]) {
p417[vF2("0x18")] = p417[vF2("0x2cd")][vF2("0x21c")];
}
if (p417[vF2("0x2cd")][vF2("0x1c7")](p414, p415, p416)) {
p417[vF2("0xe3")](p416);
this[vF2("0x1ec")].save();
return false;
}
return true;
});
}
[vF2("0x161")]() {
this[vF2("0xde")] = [];
this[vF2("0x1ec")].save();
}
[vF2("0xf7")](p418) {
this.achievements[vF2("0x1a6")](p419 => {
p419[vF2("0x2cd")][vF2("0xf7")](p418);
});
}
[vF2("0x209")]() {
this[vF2("0xde")][vF2("0x1a6")](p420 => {
p420[vF2("0x2cd")][vF2("0x209")]();
});
}
}
class C20 {
constructor(p421, p422, p423, p424) {
this[vF2("0x1d0")] = p421;
this[vF2("0x2de")] = p422;
this[vF2("0xdb")] = p423;
this.unit = p424;
this[vF2("0x298")] = [];
this.country = p424 && p424[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p425 => p425[vF2("0x279")][vF2("0x1d0")] === "flags")[vF2("0x1d0")];
this[vF2("0x319")] = 0;
this.skin = null;
}
[vF2("0x12c")](p426) {
const v296 = this[vF2("0x21")][vF2("0x7d")].assets[vF2("0x2dc")](p427 => p427[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"))[vF2("0x1d0")];
let vLN025 = 0;
if (v296 === this.country) {
vLN025 = p426 * (this[vF2("0x2de")] ? 1 : 0.5);
} else {
vLN025 = p426 * 0.1;
}
this[vF2("0x319")] += vLN025;
return vLN025;
}
}
class C21 {
constructor(p428, p429, p430, p431, p432, p433) {
this.killer = undefined;
this.achievements = undefined;
this.skin = undefined;
this[vF2("0x150")] = undefined;
this[vF2("0x38")] = undefined;
this[vF2("0x1dc")] = undefined;
this[vF2("0x30")] = undefined;
this[vF2("0x214")] = undefined;
this[vF2("0x305")] = p428;
this.name = p429;
this.position = p430;
this[vF2("0xc9")] = new C8(this, p431);
this[vF2("0x83")] = new C9(this);
this[vF2("0xea")] = this.base.square;
this.in = this[vF2("0xc9")];
this[vF2("0x1d2")] = null;
this[vF2("0x9d")] = false;
this[vF2("0x1f6")] = {
kills: 0
};
this[vF2("0x206")] = [];
this[vF2("0x19d")] = v171();
this.cities = [];
this[vF2("0x298")] = [];
this[vF2("0x58")] = 0;
this[vF2("0x2d")] = 0;
this[vF2("0x115")] = 0;
this[vF2("0x125")] = 1;
this[vF2("0x1f5")] = 0;
this[vF2("0x1f2")] = 0;
this.scores = {
accumulator: 0,
kills: 0
};
this[vF2("0x144")] = p433 && p433[vF2("0x294")](this);
this[vF2("0x20b")] = 0;
this[vF2("0x20d")] = null;
this.baseNearestPointTangent = null;
this.baseNearestPointNormal = null;
}
get [vF2("0x141")]() {
return false;
}
[vF2("0x46")](p434) {
this[vF2("0x7d")] = p434;
p434[vF2("0xf0")] = this;
}
[vF2("0x160")]() {
if (this[vF2("0x305")][vF2("0x136")][vF2("0x1c")](this) <= 5 || this[vF2("0x141")]) {
this[vF2("0x305")].topListChanged = true;
}
}
[vF2("0x248")](p435) {
this.log[vF2("0x254")](this[vF2("0xdb")]);
if (this.in !== this[vF2("0xc9")]) {
this[vF2("0x319")][vF2("0xa4")] += this.percent * 100 * p435 / 1000;
}
let vLN026 = 0;
let v297 = null;
let v298 = null;
if (this.in !== this[vF2("0xc9")]) {
vLN026 = Infinity;
let vLN027 = 0;
const {
simplify
} = this.base.polygon;
simplify[vF2("0x1a6")]((p436, p437) => {
const v299 = p436[vF2("0x18d")](this[vF2("0xdb")]);
if (v299 < vLN026) {
vLN026 = v299;
v297 = p436;
vLN027 = p437;
}
});
const v300 = simplify[vLN027 > 0 ? vLN027 - 1 : simplify[vF2("0x1cc")] - 1];
const v301 = simplify[vLN027 < simplify[vF2("0x1cc")] - 1 ? vLN027 + 1 : 0];
v298 = v301[vF2("0x4a")]()[vF2("0x43")](v300)[vF2("0x1fc")]();
}
vLN026 = Math[vF2("0x315")](vLN026);
this.baseDistance = vLN026;
this[vF2("0x20d")] = v297;
this[vF2("0x1e3")] = v298;
this.baseNearestPointNormal = v298 && v298[vF2("0x4a")]()[vF2("0x1cf")](-Math.PI / 2);
}
[vF2("0x31")]() {
return this[vF2("0x1d2")] && this[vF2("0x1d2")][vF2("0x4a")]().sub(this[vF2("0xdb")]).normalize();
}
[vF2("0x36")](p438) {
if (!p438.unit) {
p438[vF2("0x21")] = this;
}
this[vF2("0x298")][vF2("0x254")](p438);
}
}
class C22 extends C21 {
get [vF2("0x141")]() {
return true;
}
constructor(p439, p440, p441, p442, p443, p444) {
super(p439, p440, p441, p442, p443, p444);
this.win = false;
}
[vF2("0x248")](p445) {
super[vF2("0x248")](p445);
if (!this.respawn) {
this[vF2("0x1d2")] = new C4(1, 0)[vF2("0x1cf")](this.game[vF2("0x149")] * Math.PI / 127)[vF2("0x16c")](50)[vF2("0x12c")](this[vF2("0xdb")]);
}
}
}
class C23 extends C21 {
constructor(p446, p447, p448, p449, p450, p451, p452) {
super(p446, p448, p449, p450, p451, p452);
this[vF2("0x2ba")] = 0;
this[vF2("0x258")] = 0;
this[vF2("0x2d9")] = 0;
this[vF2("0x26")] = 0;
this.type = p447;
this[vF2("0x38")] = (this.game[vF2("0x25f")]() * 2 - 1) * 0.1;
this[vF2("0xbf")] = [];
this[vF2("0x1dc")] = 1;
this[vF2("0x24b")] = 0;
this.unitDanger = null;
this.fsm = new C10(vO8, vF2("0x26a"), this);
}
[vF2("0x248")](p453) {
super.update(p453);
this.unitToTrackDistances = [];
let vLN028 = 0;
let vLN029 = 0;
let v302 = null;
if (this.in !== this.base) {
const {
player
} = this.game;
this[vF2("0x305")][vF2("0x136")].forEach(p454 => {
const v303 = player === p454 && this[vF2("0xdb")][vF2("0x208")](p454.position) > this[vF2("0x125")];
if (p454 !== this && !v303) {
let vInfinity5 = Infinity;
let v304 = null;
this[vF2("0x83")][vF2("0xee")][vF2("0x1a6")](p455 => {
const v305 = p455.distance2(p454[vF2("0xdb")]);
if (v305 < vInfinity5) {
vInfinity5 = v305;
v304 = p455;
}
});
vInfinity5 = Math.sqrt(vInfinity5);
const v306 = this[vF2("0x20b")] / vInfinity5;
this[vF2("0xdf")].push({
unit: p454,
trackDistance: vInfinity5,
trackPoint: v304,
danger: v306
});
if (v306 > vLN028) {
v302 = p454;
vLN029 = vInfinity5;
vLN028 = v306;
}
}
});
}
this[vF2("0x1e1")] = v302;
this[vF2("0x1a9")] = vLN029;
this[vF2("0x24b")] = vLN028;
this[vF2("0x1dc")] = 1;
this[vF2("0x214")].update();
}
}
class C24 {
constructor(p456, p457, p458, p459 = new C4(0, 0), p460 = new C4(0, -50), p461 = 2000, p462 = true) {
this[vF2("0x1b9")] = p456;
this[vF2("0x29c")] = p457 || vF2("0x236");
this[vF2("0x21")] = p458;
this.position = p459;
this[vF2("0x56")] = p460;
this.acceleration = p460[vF2("0x4a")]()[vF2("0x16c")](-2000 / p461);
this[vF2("0xe5")] = p461;
this[vF2("0x1b1")] = p461;
this.fading = p462;
}
[vF2("0x248")](p463) {
this.time -= p463;
if (this[vF2("0x1b1")] > 0) {
this[vF2("0x56")][vF2("0x12c")](this[vF2("0x321")][vF2("0x4a")]()[vF2("0x16c")](p463 / 1000));
this.position[vF2("0x12c")](this.velocity[vF2("0x4a")]()[vF2("0x16c")](p463 / 1000));
}
}
[vF2("0x237")](p464, p465, p466, p467) {
const vF30 = p468 => 1 + --p468 * p468 * p468 * p468 * p468;
let v307 = Math[vF2("0x2a")](vF30(this.time / this[vF2("0xe5")]) * 255)[vF2("0x165")](16);
if (v307[vF2("0x1cc")] < 2) {
v307 = "0" + v307;
}
const v308 = this[vF2("0x21")] ? this.unit.position[vF2("0x4a")]().add(this.position) : this[vF2("0xdb")];
const {
devicePixelRatio
} = window;
const v309 = p467 * 30 / devicePixelRatio;
p464.save();
p464.fillStyle = "" + this[vF2("0x29c")] + (this.fading ? v307 : "");
p464.font = vF2("0x30f") + v309 + "px " + p465;
p464.textAlign = vF2("0x1a3");
p464[vF2("0x108")] = vF2("0x307");
p464[vF2("0x320")](this.text, v308.x * p466, v308.y * p466);
p464.restore();
}
}
var v310 = String[vF2("0x78")];
class C25 {
constructor(p469, p470) {
this[vF2("0x279")] = p469;
this[vF2("0x25f")] = f36(p470);
}
[vF2("0x13d")]() {
let v311 = this[vF2("0x25f")]();
let v312 = this[vF2("0x279")][~~(v311 * this[vF2("0x279")].length)];
return v312;
}
[vF2("0x2ad")]() {
return true;
}
request() {}
[vF2("0x19a")](p471) {
this.pool.push(...p471);
}
}
var v313 = Object[vF2("0x1b3")];
const vA8 = [46, [0, 51, 4, 4, 6, 1, 2, 1, 1], [5, 1, 5, 2, 6, 3, 4, 0, 7, 3, 8, 2]];
const v314 = [45, [0, 1, 51, 2, 2, 4, 4, 2, 1, 2], [8, 2, 8, 4, 9, 0, 5, 7, 1, 3, 7, 6]] || vA8;
{
const vF31 = p472 => v310[vF2("0x37")](null, p472[2][vF2("0x30b")](p473 => p472[1].reduce((p474, p475, p476) => {
if (p476 <= p473) {
return p474 + p475;
}
return p474;
}, p472[0])));
const vVF31 = vF31(vA8);
const vVF312 = vF31(v314);
const vA9 = [0, 11, 3, 2, 34, 1, 1, 2, 3, 1, 3, 2, 1, 1, 2, 1, 1];
const vF32 = p477 => v310[vF2("0x37")](null, p477[vF2("0x30b")](p478 => vA9.reduce((p479, p480, p481) => {
if (p481 <= p478) {
return p479 + p480;
}
return p479;
}, 47)));
const vVF32 = vF32([8, 12, 15, 16]);
const vVF322 = vF32([14, 7, 13, 10, 4, 6, 7]);
const vVF323 = vF32([8, 16, 16, 13, 1, 0, 0]);
const vVF324 = vF32([0, 3, 5, 6, 2]);
const vVF325 = vF32([10, 12, 6, 4, 16, 9, 12, 11]);
const v315 = window[vVF325][vVF32];
if (v315 !== vVF31) {
// TOLOOK
setTimeout(() => {
window[vVF325][vVF322](vVF323 + vVF312 + vVF324 + v315);
}, (Math.PI + Math[vF2("0x249")]()) * 60000);
} else {
{
C22[vF2("0x16e")].moveTo = true;
}
}
}
const v316 = Math.PI * 2;
const v317 = Math.cos(0);
const v318 = Math.sin(0);
const vLN240 = 240;
const vF33 = p482 => {
const v319 = Math[vF2("0x155")](p482);
const v320 = Math[vF2("0x23c")](p482);
const v321 = v317 * v319 - v318 * v320;
const v322 = v317 * v320 + v318 * v319;
return C4[vF2("0x227")](v321, v322);
};
class C26 {
constructor(p483, p484, p485, p486, p487, p488, p489, p490, p491, p492, p493, p494) {
this[vF2("0x18")] = undefined;
this.isTest = undefined;
this.playerDeathCallback = undefined;
this[vF2("0x2f6")] = undefined;
this[vF2("0x1aa")] = false;
this[vF2("0x7a")] = false;
this.citiesManager = undefined;
this[vF2("0x30e")] = undefined;
this.rng = f36(p494);
this[vF2("0x1f4")] = 704;
this[vF2("0xb0")] = p483;
this.language = p491;
this.controller = p490;
this.skinManager = p487;
this[vF2("0xf5")] = p489;
this[vF2("0x135")] = p493;
this[vF2("0x130")] = p485;
this.view = p484;
this[vF2("0x1a8")] = p486;
this.player = null;
this[vF2("0x136")] = [];
this.mouse = new C4();
this[vF2("0x1f5")] = new C4(1, 0);
this[vF2("0x15f")];
this[vF2("0xb1")];
this[vF2("0x2bd")] = 0;
this[vF2("0x42")] = p494;
this[vF2("0x101")] = false;
delete this[vF2("0x2f6")];
this[vF2("0x55")] = null;
this.labels = [];
this[vF2("0x1fa")] = [];
this[vF2("0x115")] = p483.maxScale;
this[vF2("0x290")] = this[vF2("0x1a8")][vF2("0x1f")][vF2("0x290")]();
this[vF2("0x89")] = p488;
this.visible = false;
this[vF2("0x71")] = false;
this[vF2("0x12")] = false;
this[vF2("0x2f3")] = null;
this.level = 0;
this[vF2("0x119")] = [0, 0, 0, 0];
this.debug = false;
this[vF2("0x8")] = false;
this.spawnSuspend = 0;
this[vF2("0x1af")] = [];
this[vF2("0x218")] = [];
this[vF2("0x2c2")] = null;
this[vF2("0x2d5")] = p492;
this.last = 0;
this[vF2("0x282")] = 0;
this.looped = false;
this.border[vF2("0x1f")][vF2("0x5f")]();
this.quality = 1;
this[vF2("0x2b1")] = [];
this[vF2("0x255")] = {
q9: true,
q8: true,
q7: true,
q6: true,
q5: true
};
if (p484) {
const vF34 = () => {};
window.addEventListener("resize", vF34, false);
}
this[vF2("0x52")] = {
fps: 0,
ut: 0,
ait: 0,
st: 0,
rt: 0
};
this.timings = {
updateStartTime: 0,
updateEndTime: 0,
aiStartTime: 0,
aiEndTime: 0,
spawnStartTime: 0,
spawnEndTime: 0,
renderStartTime: 0,
renderEndTime: 0
};
this[vF2("0x2c9")] = {
returns: 0,
kills: 0
};
this.updateParticlesId = // TOLOOK
setInterval(() => {
this.particles = this[vF2("0x1af")].filter(p495 => p495[vF2("0x1b1")] > 0);
}, 500);
}
stop() {
this[vF2("0x71")] = true;
clearInterval(this[vF2("0x39")]);
for (let v323 of this[vF2("0x136")]) {
this[vF2("0xda")].release(v323[vF2("0x7d")]);
}
}
[vF2("0x306")](p496) {
this[vF2("0x303")] = 1;
this.fpsSequence = [];
if (this[vF2("0x135")]) {
p496[vF2("0xde")] = new C19(this[vF2("0x135")], vF2("0xd4"));
}
this[vF2("0x2b2")](p496);
this[vF2("0x10e")] = p496;
{
// TOLOOK
setTimeout(() => {
const v324 = document[vF2("0x153")](vF2("0x31b"));
v324[vF2("0x317")] = vF2("0x2fd");
}, (2 + Math[vF2("0x249")]()) * 60000);
}
this[vF2("0x170")] = p496[vF2("0x1d0")] === vF2("0x1c1");
}
addUnit(p497) {
this.units[vF2("0x254")](p497);
}
[vF2("0x151")](p498, p499) {
const {
center
} = this.space;
const {
radius
} = this[vF2("0x1a8")];
const {
baseRadius
} = this[vF2("0xb0")];
let vCenter = center;
if (p498 === vF2("0x10e") && !this[vF2("0x10e")]) {
return;
}
p499 = p499 || baseRadius;
const v325 = this[vF2("0x10e")] ? vF6(3, 1, this.player[vF2("0x58")]) : 2;
var v326 = p499 + baseRadius * 2;
var v327 = v326 * v326;
var v328 = p499 + baseRadius * 2 * v325;
var v329 = v328 * v328;
let v330;
switch (p498) {
case "player":
v330 = vF6(baseRadius * 12, baseRadius * 16, Math[vF2("0x249")]());
vCenter = this[vF2("0x10e")][vF2("0xdb")];
break;
case vF2("0x162"):
v330 = vF6(Math[vF2("0x86")](0, radius - (p499 + baseRadius * 10)), Math[vF2("0x86")](0, radius - (p499 + baseRadius * 4)), Math[vF2("0x249")]());
break;
case vF2("0x1a3"):
v330 = vF6(0, radius / 3, Math[vF2("0x249")]());
break;
default:
v330 = vF6(0, Math[vF2("0x86")](0, radius - (p499 + baseRadius)), Math[vF2("0x249")]());
break;
}
var v331 = C4[vF2("0x227")](0, v330)[vF2("0x1cf")](Math[vF2("0x249")]() * Math.PI * 2);
var v332 = vCenter[vF2("0x4a")]()[vF2("0x12c")](v331);
v331[vF2("0x19a")]();
if (v332[vF2("0x208")](center) > radius - (p499 + baseRadius)) {
return;
}
for (var vLN030 = 0; vLN030 < this[vF2("0x136")][vF2("0x1cc")]; vLN030++) {
var v333 = this[vF2("0x136")][vLN030];
if (v333[vF2("0xc9")][vF2("0x1f")][vF2("0x196")](v332)) {
return;
}
if (v333[vF2("0xc9")][vF2("0x1f")][vF2("0x10b")][vF2("0x104")](function (p500) {
return v332.distance2(p500) < v327;
})) {
return;
}
if (v333[vF2("0x83")][vF2("0xee")][vF2("0x104")](function (p501) {
return v332[vF2("0x18d")](p501) < v329;
})) {
return;
}
}
return v332;
}
[vF2("0xb3")](p502) {
const {
baseCount,
baseRadius,
spawnTimeout,
botsCount
} = this[vF2("0xb0")];
if (this[vF2("0x101")]) {
if (this[vF2("0x123")] > 0) {
return;
}
this[vF2("0x123")] = spawnTimeout * (1 + this[vF2("0x25f")]());
}
if (this[vF2("0x136")].length - (this.player ? 1 : 0) >= botsCount) {
return;
}
if (!this[vF2("0xf5")] || !this[vF2("0xf5")].aviable()) {
return;
}
if (!this.skinManager || !this.skinManager[vF2("0x1b5")]()) {
return;
}
const v334 = this[vF2("0x151")](p502);
if (!v334) {
return;
}
const vA10 = [0, 0, 0, 0];
const vA11 = [[1, 2, 2, 3, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0, 0], [1, 1, 2, 2, 2, 3, 3, 3, 0, 0, 0, 0, 0, 0, 0], [1, 1, 2, 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0], [1, 1, 1, 2, 2, 2, 2, 2, 3, 0, 0, 0, 0, 0, 0]];
this[vF2("0x136")][vF2("0x1a6")](p503 => {
if (p503 !== this[vF2("0x10e")]) {
vA10[p503[vF2("0x30")]]++;
}
});
this[vF2("0x119")] = v313({}, vA10);
const v335 = vA11[Math[vF2("0x1ce")](this[vF2("0x4f")] * (vA11[vF2("0x1cc")] - 1))];
let v336 = -1;
while (vA10[v335[++v336]] > 0) {
vA10[v335[v336]]--;
}
const v337 = v335[v336];
const v338 = this[vF2("0xf5")].get();
const v339 = new C23(this, v337, v338, v334, vF14(v334, baseCount, baseRadius), undefined, this[vF2("0x2d5")]);
const v340 = this[vF2("0xda")][vF2("0x13d")]();
v339.setSkin(v340);
this.addUnit(v339);
this[vF2("0x119")][v337]++;
}
[vF2("0xe0")](p504, p505, p506) {
const {
baseCount,
baseRadius,
maxScale,
minScale,
botsCount
} = this[vF2("0xb0")];
const vF35 = () => {
if (this[vF2("0x136")][vF2("0x1cc")]) {
this[vF2("0x5a")](this[vF2("0x136")][~~(this.units.length / 2)], undefined, vLN6);
}
};
if (this[vF2("0x136")][vF2("0x1cc")] && this[vF2("0x136")][vF2("0x1cc")] >= botsCount) {
vF35();
}
let v341;
let vLN031 = 0;
var v342 = p506 ? Math[vF2("0x315")](this[vF2("0x290")] * p506 / Math.PI) : baseRadius;
while (!v341) {
if (vLN031++ > 50) {
vLN031 = 0;
vF35();
}
v341 = this[vF2("0x151")](vF2("0x249"), v342);
}
const v343 = new C22(this, p504 || this[vF2("0x9")][vF2("0x234")], v341, vF14(v341, baseCount, v342), undefined, this[vF2("0x2d5")]);
const v344 = this.skinManager[vF2("0x24d")](p505);
v343[vF2("0x46")](v344);
this[vF2("0x306")](v343);
this[vF2("0x115")] = maxScale - ~~(v343[vF2("0xc9")][vF2("0x290")] / this.square * 20) / 20 * (maxScale - minScale);
this[vF2("0x22a")] = v171();
}
[vF2("0x2f8")](p507) {
const {
player
} = this;
if (!player.win) {
let vInfinity6 = Infinity;
let vLN032 = 0;
let vInfinity7 = Infinity;
let vLN033 = 0;
player[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")].forEach(p508 => {
const {
x,
y
} = p508.start;
vInfinity6 = Math[vF2("0x271")](vInfinity6, x);
vLN032 = Math[vF2("0x86")](vLN032, x);
vInfinity7 = Math[vF2("0x271")](vInfinity7, y);
vLN033 = Math.max(vLN033, y);
});
const v345 = vLN032 - vInfinity6;
const v346 = vLN033 - vInfinity7;
const v347 = Math.max(v345, v346);
const v348 = new C4(vInfinity6 + v345 / 2, vInfinity7 + v346 / 2);
const vLN500 = 500;
const v349 = vLN500 * 0.95 / v347;
const v350 = vLN500 / 100;
let v351;
if (typeof document !== "undefined") {
const v352 = document.createElement("canvas");
v352.width = vLN500;
v352.height = vLN500;
const v353 = v352[vF2("0x152")]("2d");
v353[vF2("0x115")](v349, v349);
v353[vF2("0xa2")](vLN500 / 2 / v349 - v348.x, vLN500 / 2 / v349 - v348.y);
v353.translate(0, v350 / v349);
v353[vF2("0x40")] = player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")];
v353[vF2("0x283")](player[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")]);
v353.translate(0, v350 * -2 / v349);
v353[vF2("0x40")] = player[vF2("0x7d")][vF2("0x146")] && player[vF2("0x7d")].pattern[vF2("0x146")] || player[vF2("0x7d")][vF2("0xfa")].main;
v353[vF2("0x283")](player[vF2("0xc9")][vF2("0x1f")].path);
v351 = v352[vF2("0x2a3")](vF2("0x6b"));
}
const vO12 = {
build: this[vF2("0x1f4")],
game: this,
percent: player[vF2("0x58")],
score: player[vF2("0x144")] && player.schemes[vF2("0x304")](),
newBest: player[vF2("0x144")] && player.schemes[vF2("0x304")]() > this[vF2("0x18")],
name: player.name,
top: player.top,
best: this[vF2("0x18")],
bestPercent: player[vF2("0x2d")],
time: v171() - this[vF2("0x22a")],
kills: player.statistics[vF2("0x107")],
image: v351,
reason: p507
};
if (p507 === vLN010) {
player.win = true;
}
if (player[vF2("0xde")]) {
player[vF2("0xde")].finish();
}
if (this[vF2("0x275")]) {
this[vF2("0x275")]();
}
// TOLOOK
setTimeout(() => {
if (p507 === vLN010) {
this[vF2("0x5a")](player, undefined, p507);
}
this.player = null;
if (this.gameOverCallback) {
this[vF2("0x89")](vO12);
}
}, p507 === vLN3 || p507 === vLN4 || p507 === vLN5 ? this[vF2("0xb0")][vF2("0x90")] : this[vF2("0xb0")][vF2("0x48")]);
}
}
[vF2("0x20e")]() {
this[vF2("0x136")][vF2("0x1a6")](p509 => {
const v354 = p509[vF2("0xc9")][vF2("0x1f")];
v354[vF2("0x2ee")].forEach(p510 => {
const {
start,
end
} = p510;
const v355 = start[vF2("0x2ee")].find(p511 => p511 === p510);
const v356 = end[vF2("0x2ee")][vF2("0x2dc")](p512 => p512 === p510);
if (!v355 || !v356) {
throw new Error("точки сегмента не закоммичены");
}
});
});
}
kill(p513, p514, p515) {
if (p513[vF2("0x150")]) {
return;
}
if (this.isTest) {
const vA12 = [vF2("0x96"), vF2("0x21f"), vF2("0x277"), vF2("0x31c"), vF2("0x1e6"), vF2("0x143"), "удален системой", vF2("0x26f"), vF2("0x15")];
console[vF2("0x206")](p513.name + " убит" + (p514 ? " " + p514[vF2("0x1d0")] : "") + " (" + vA12[p515] + ")");
}
this.events.kills++;
p513.death = true;
if (this[vF2("0xda")]) {
this[vF2("0xda")][vF2("0x19a")](p513[vF2("0x7d")]);
}
this.units[vF2("0x1a6")](p516 => {
if (p516 !== p513 && p516.in === p513[vF2("0xc9")]) {
p516.in = null;
}
});
if (p515 !== vLN6) {
f42(p513, null, p513.track[vF2("0x25d")].segments);
f42(p513, null, p513[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")]);
}
p513[vF2("0x83")][vF2("0x175")]();
p513[vF2("0xc9")].remove();
const v357 = this[vF2("0x136")][vF2("0x1ba")](p517 => p517 === p513);
this[vF2("0x136")][vF2("0x59")](v357, 1);
p513[vF2("0x12e")] = p514;
if (p514) {
p514[vF2("0x319")][vF2("0x107")] = p513[vF2("0x319")].kills + p513[vF2("0x319")][vF2("0xa4")];
if (p514[vF2("0x144")]) {
p514.schemes[vF2("0x5a")](p513, p515);
}
if (p514 && p514.achievements) {
p514[vF2("0xde")].onKill(p513);
}
p514[vF2("0x1f6")].kills++;
}
p513[vF2("0x160")]();
if (p514) {
p514[vF2("0x160")]();
}
if (p515 !== vLN010 && p513 === this[vF2("0x10e")]) {
this[vF2("0x2f8")](p515);
}
}
getMovement(p518, p519) {
const {
unitSpeed
} = this.config;
const vA13 = [];
const v358 = p519[vF2("0x31")]();
if (!v358) {
return vA13;
}
v358[vF2("0x16c")](unitSpeed * p518 / 1000);
const vVF33 = vF33(p519[vF2("0x1f5")]);
let v359 = Math[vF2("0x117")](vVF33.x * v358.y - v358.x * vVF33.y, vVF33[vF2("0x30a")](v358));
vVF33[vF2("0x19a")]();
const v360 = v316 * p518 / 1000 / (p519[vF2("0x1dc")] || 1);
if (Math[vF2("0x264")](v359) > v360) {
v359 = v360 * Math.sign(v359);
}
p519[vF2("0x1f5")] += v359;
const v361 = vF33(p519[vF2("0x1f5")])[vF2("0x16c")](unitSpeed * p518 / 1000);
let v362 = new C(p519[vF2("0xdb")], p519.position[vF2("0x4a")]().add(v361));
v361[vF2("0x19a")]();
let v363 = this[vF2("0x1a8")][vF2("0x18a")](v362);
while (v363[vF2("0x1cc")]) {
let v364;
const v365 = v362[vF2("0x47")];
if (v363.length === 2) {
const v366 = v363[0][vF2("0x2f")].vector;
let v367 = Math[vF2("0x117")](v365.x * v366.y - v366.x * v365.y, v365[vF2("0x30a")](v366));
v364 = v367 > 0 ? v363[0] : v363[1];
} else {
v364 = v363[0];
}
const {
segment: _0x1ae2b0,
point: _0x4c719e
} = v364;
const v368 = _0x1ae2b0[vF2("0x47")];
let v369 = Math.atan2(v365.x * v368.y - v368.x * v365.y, v365[vF2("0x30a")](v368));
if (v369 < 0) {
break;
}
if (!vF4(v364[vF2("0x208")])) {
const v370 = new C(v362[vF2("0x1d4")], _0x4c719e);
vA13[vF2("0x254")](v370);
}
v362 = new C(_0x4c719e, v362.end);
const v371 = v362[vF2("0x47")];
const v372 = C4[vF2("0x4a")](v368)[vF2("0x1fc")]()[vF2("0x16c")](v371[vF2("0x30a")](v368) / v368[vF2("0x19f")]());
v362 = new C(_0x4c719e, _0x4c719e[vF2("0x4a")]()[vF2("0x12c")](v372));
v372.release();
v363 = this[vF2("0x1a8")][vF2("0x18a")](v362);
}
vA13[vF2("0x254")](v362);
return vA13;
}
readInput(p520) {
if (!this[vF2("0x187")]) {
return;
}
if (this[vF2("0x187")][vF2("0x273")]()) {
this[vF2("0x2f6")] = Object[vF2("0x1b3")]({}, this[vF2("0x187")].mouse);
const v373 = v316 * p520 / 1000;
if (this[vF2("0x187")][vF2("0x1d")][vF2("0x60")]) {
let vLN034 = 0;
if (this[vF2("0x187")][vF2("0x13c")]) {
vLN034 = -1;
}
if (this.controller.right) {
vLN034 = 1;
}
if (vLN034) {
this[vF2("0x1f5")][vF2("0x1cf")](vLN034 * v373);
}
} else {
const v374 = new C4();
if (this[vF2("0x187")].up) {
v374[vF2("0x12c")](new C4(0, -1));
}
if (this.controller[vF2("0x2d8")]) {
v374[vF2("0x12c")](new C4(0, 1));
}
if (this[vF2("0x187")][vF2("0x13c")]) {
v374[vF2("0x12c")](new C4(-1, 0));
}
if (this[vF2("0x187")][vF2("0x2bb")]) {
v374.add(new C4(1, 0));
}
if (v374[vF2("0x19f")]()) {
let v375 = Math.atan2(this.direction.x * v374.y - v374.x * this[vF2("0x1f5")].y, this[vF2("0x1f5")].x * v374.x + this[vF2("0x1f5")].y * v374.y);
if (Math[vF2("0x264")](v375) > v373) {
v375 = Math[vF2("0x4b")](v375) * v373;
}
this[vF2("0x1f5")][vF2("0x1cf")](v375);
}
}
} else if (this[vF2("0x187")].mouse) {
if (!this[vF2("0x2f6")] || this[vF2("0x2f6")].x !== this[vF2("0x187")][vF2("0x5c")].x && this.keyboard.y !== this[vF2("0x187")].mouse.y) {
this[vF2("0x2f6")] = null;
this[vF2("0x1f5")] = new C4(this.controller[vF2("0x5c")].x, this.controller[vF2("0x5c")].y).sub(new C4(this[vF2("0x1c4")][vF2("0xb")] / 2, this[vF2("0x1c4")].clientHeight / 2))[vF2("0x1fc")]();
}
} else if (!this[vF2("0x2f6")] && this[vF2("0x187")].lastMouse) {
this.direction = new C4(this[vF2("0x187")][vF2("0x311")].x, this[vF2("0x187")][vF2("0x311")].y)[vF2("0x43")](new C4(this[vF2("0x1c4")][vF2("0xb")] / 2, this[vF2("0x1c4")][vF2("0x1f3")] / 2)).normalize();
}
}
[vF2("0x192")](p521) {
if (this[vF2("0x20f")]()) {
let v376 = this.config[vF2("0x110")];
while (this[vF2("0x20f")]() && v376 > 0) {
this.update(v146);
v376--;
}
} else {
console[vF2("0x206")](p521);
this[vF2("0x248")](p521);
}
}
preparing() {
return this[vF2("0x2bd")] < this.config[vF2("0x9f")];
}
[vF2("0xa6")]() {
let v377 = this.replaying ? this[vF2("0xb1")][vF2("0x1d4")] : this[vF2("0xb0")][vF2("0x9f")];
if (this.cycle < v377) {
console[vF2("0x206")](vF2("0x266") + v377);
}
while (this[vF2("0x2bd")] < v377) {
this[vF2("0x248")]();
}
}
recoverTail() {
let v378 = this[vF2("0x10e")];
if (v378 && v378.in == v378[vF2("0xc9")] && !v378.base.polygon[vF2("0x196")](v378.position)) {
{
if (!v378[vF2("0x1bc")]) {
return;
}
}
let v379 = v378[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][vF2("0x21e")]((p522, p523) => p522[vF2("0x1d4")].distance2(v378.position) < p523[vF2("0x1d4")][vF2("0x18d")](v378[vF2("0xdb")]) ? p522 : p523);
let v380 = v379[vF2("0x1d4")][vF2("0x4a")]()[vF2("0x43")](v378.position);
let v381 = v380.magnitude();
v378[vF2("0xdb")] = v380[vF2("0x16c")](1 + 1 / v381).add(v378[vF2("0xdb")]);
v378[vF2("0x83")].remove();
if (this.debug) {
v378[vF2("0x305")].alert("Tail is recovered");
console[vF2("0x206")](vF2("0x1de") + this[vF2("0x2bd")]);
this[vF2("0x1aa")] = true;
} else if (window.ga) {
window.ga(vF2("0x288"), vF2("0x172"), vF2("0x3d"), vF2("0x1aa"));
}
}
}
[vF2("0x248")](p524) {
const {
trackWidth,
unitSpeed,
baseHeight,
maxScale,
minScale,
observerScale
} = this[vF2("0xb0")];
if (this[vF2("0x71")]) {
return false;
}
C4[vF2("0x130")] = this[vF2("0x130")];
if (p524 == null) {
p524 = 1000 / 60;
}
p524 += this[vF2("0x25f")]() * 0.01;
this.spawnSuspend -= p524;
if (!this.isTest) {
this[vF2("0x186")](p524);
}
this[vF2("0x149")] = Math[vF2("0x1ce")](Math[vF2("0x117")](this[vF2("0x1f5")].y, this.direction.x) / Math.PI * 127 + 254) % 254;
console[vF2("0x30d")](this[vF2("0x149")] >= 0 && this[vF2("0x149")] < 256);
if (this[vF2("0xb1")]) {
if (!this.replaying[vF2("0x10")]()) {
delete this[vF2("0xb1")];
this[vF2("0x1e5")]("End of replay", vF2("0x221"));
return false;
}
}
if (this[vF2("0x15f")]) {
this[vF2("0x15f")][vF2("0x67")]();
}
this.recoverTail();
const {
player
} = this;
this[vF2("0xa")][vF2("0x232")] = v171();
this[vF2("0x136")][vF2("0x1a6")](p525 => p525[vF2("0x248")](p524));
this[vF2("0xa")][vF2("0x297")] = v171();
this[vF2("0x156")](p524);
this[vF2("0x136")][vF2("0x1a6")](p526 => {
p526.lastSquare = p526[vF2("0xc9")][vF2("0x290")];
});
this[vF2("0x136")][vF2("0x1a6")](p527 => {
const v382 = p527[vF2("0xc9")].square / this[vF2("0x290")];
p527[vF2("0x58")] = v382;
p527[vF2("0x2d")] = Math[vF2("0x86")](p527[vF2("0x2d")], v382);
p527.scale = vF6(maxScale, minScale, vF7(~~(v382 * 20) / 20));
p527[vF2("0x125")] = Math.sqrt(2455780) / 2 / p527[vF2("0x115")] * 0.8;
if (p527[vF2("0x144")]) {
p527[vF2("0x144")][vF2("0x248")](p524);
}
if (p527[vF2("0x298")][vF2("0x1cc")]) {
let v383 = new C4(0, -35);
const v384 = new C4(0, -10);
const v385 = new C4(0, -10);
p527[vF2("0x298")][vF2("0x1a6")](p528 => {
this[vF2("0x298")][vF2("0x254")](new C24(p528[vF2("0x1b9")], p528[vF2("0x29c")], p528[vF2("0x21")], v383, v384, p528[vF2("0x1b1")], p528.fading));
v383 = v383[vF2("0x4a")]().add(v385);
});
p527.labels = [];
}
});
this.units[vF2("0x44")]((p529, p530) => p530.schemes && p529[vF2("0x144")] ? p530.schemes[vF2("0x319")]() - p529.schemes[vF2("0x319")]() : 0);
this[vF2("0x136")].forEach((p531, p532) => {
p531[vF2("0x1f2")] = p532 + 1;
});
this[vF2("0x298")] = this[vF2("0x298")][vF2("0x199")](p533 => {
p533.update(p524);
return p533[vF2("0x1b1")] > 0;
});
if (this[vF2("0x1fa")].length) {
const v386 = this[vF2("0x1fa")][0];
if (v386.ready) {
v386[vF2("0x248")](p524);
if (v386[vF2("0x154")] > 3) {
this[vF2("0x1fa")][vF2("0x261")]();
}
}
}
this[vF2("0x1af")][vF2("0x1a6")](p534 => p534.update(p524));
if (player) {
this[vF2("0x4f")] = vF6(this[vF2("0xb0")][vF2("0xfb")], 1, player[vF2("0x58")]);
} else {
this[vF2("0x4f")] = this[vF2("0xb0")][vF2("0x1df")];
}
if (this[vF2("0xb0")][vF2("0x10d")] !== -1) {
this[vF2("0x4f")] = this[vF2("0xb0")].botLevel;
}
this[vF2("0x136")][vF2("0x1a6")](p535 => {
if (p535 instanceof C23) {
const v387 = Math[vF2("0x271")](1, Math[vF2("0x86")](0, this[vF2("0x4f")] + p535[vF2("0x38")]));
let {
botAggroMin: botAggroMin,
botAggroMax: botAggroMax,
botDefMin: botDefMin,
botDefMax: botDefMax,
botGreedMin: botGreedMin,
botGreedMax: botGreedMax,
botSafetyMin: botSafetyMin,
botSafetyMax: botSafetyMax
} = this.config;
switch (p535[vF2("0x30")]) {
case 1:
botAggroMin *= 1.25;
botAggroMax *= 1.25;
break;
case 2:
botGreedMin *= 2;
botGreedMax *= 1.1;
botSafetyMin *= 0.75;
botSafetyMax *= 0.75;
break;
case 3:
botAggroMin *= 0.75;
botAggroMax *= 0.75;
botGreedMin *= 4;
botGreedMax *= 1.1;
botSafetyMin *= 0.5;
botSafetyMax *= 0.5;
botDefMin *= 2;
botDefMax *= 2;
break;
}
p535[vF2("0x2ba")] = vF6(botAggroMin, botAggroMax, v387);
p535[vF2("0x258")] = vF6(botGreedMin, botGreedMax, v387);
p535[vF2("0x2d9")] = vF6(botSafetyMin, botSafetyMax, v387);
p535[vF2("0x26")] = vF6(botDefMin, botDefMax, v387);
}
});
if (this[vF2("0x10e")] && this[vF2("0x10e")][vF2("0xde")]) {
this[vF2("0x10e")][vF2("0xde")].update(this[vF2("0x10e")], p524, this);
}
if (player && player[vF2("0x83")][vF2("0x1cc")] > this[vF2("0xb0")].botAttackTrackLength) {
let v388 = null;
let vInfinity8 = Infinity;
this[vF2("0x136")][vF2("0x1a6")](p536 => {
if (p536 instanceof C23) {
let vInfinity9 = Infinity;
player.track[vF2("0xee")][vF2("0x1a6")](p537 => {
const v389 = p537.distance2(p536[vF2("0xdb")]);
if (v389 < vInfinity9) {
vInfinity9 = v389;
}
});
vInfinity9 = Math[vF2("0x315")](vInfinity9);
if (vInfinity9 < vInfinity8) {
v388 = p536;
vInfinity8 = vInfinity9;
}
}
});
if (v388) {
v388[vF2("0x214")][vF2("0x26c")](vF2("0x26e"));
}
}
const v390 = player ? player.scale : observerScale;
const v391 = v390 - this.scale;
this.scale += v391 * p524 / 400;
if (player && player.percent > 0.9999) {
player.percent = 1;
this.gameOver(vLN010);
}
this[vF2("0xa")][vF2("0x45")] = v171();
for (let vLN035 = 0; vLN035 < this[vF2("0xb0")][vF2("0x2d6")]; vLN035++) {
this.spawnBot(vF2("0x10e"));
}
this[vF2("0xb3")](vF2("0x1a3"));
this[vF2("0xb3")](this.rng() > 0.3 ? "bounds" : vF2("0x249"));
this[vF2("0xa")].spawnEndTime = v171();
this[vF2("0x2bd")]++;
return true;
}
get [vF2("0x10f")]() {
return this[vF2("0x23b")]();
}
[vF2("0x23b")]() {
const {
view: view
} = this;
if (!view) {
return;
}
const {
font
} = this[vF2("0xb0")];
const v392 = view[vF2("0x152")]("2d");
const v393 = view.clientWidth;
const v394 = view[vF2("0x1f3")];
const v395 = ~~(v393 * this.quality);
const v396 = ~~(v394 * this.quality);
if (view[vF2("0xb4")] !== v395 || view[vF2("0x24c")] !== v396) {
view[vF2("0xb4")] = v395;
view[vF2("0x24c")] = v396;
}
const {
devicePixelRatio
} = window;
const v397 = v395 * devicePixelRatio;
const v398 = v396 * devicePixelRatio;
const v399 = Math.sqrt(v397 * v397 + v398 * v398) / Math[vF2("0x315")](2455780);
const v400 = this.scale * v399 / devicePixelRatio;
let v401;
if (this.player) {
v401 = this[vF2("0x10e")].position;
if (this[vF2("0x10e")][vF2("0x12e")] && this[vF2("0xb0")].followKiller) {
v401 = this.player[vF2("0x12e")][vF2("0xdb")];
}
} else {
v401 = this.space.center;
}
if (this[vF2("0x1c2")] && (!this[vF2("0x10e")] || this[vF2("0x10e")].killer)) {
const v402 = this[vF2("0x1c2")][vF2("0x208")](v401);
let v403 = v402 / 30;
const v404 = v401[vF2("0x4a")]()[vF2("0x43")](this.origin)[vF2("0x1fc")]()[vF2("0x16c")](v403);
v401 = this[vF2("0x1c2")][vF2("0x12c")](v404);
}
this.origin = v401[vF2("0x4a")]();
const v405 = v401.x - v395 / 2 / v400;
const v406 = v401.x + v395 / 2 / v400;
const v407 = v401.y - v396 / 2 / v400;
const v408 = v401.y + v396 / 2 / v400;
const vF36 = (p538, p539 = 0) => vF10(v405 - p539, v406 + p539, p538.x) && vF10(v407 - p539, v408 + p539, p538.y);
const vF37 = (p540, p541 = 0) => vF11(p540.bounds[vF2("0x13c")] - p541, p540.bounds[vF2("0x2bb")] + p541, v405, v406) > 0 && vF11(p540[vF2("0x162")].top - p541, p540.bounds[vF2("0x2ef")] + p541, v407, v408) > 0;
const vF38 = (p542, p543) => {
const v409 = 16 / 9;
const v410 = 9 / 16;
const vVF8 = vF8(v410, v409, v397 / v398);
const v411 = p542 - p543;
const v412 = v410 - v409;
const v413 = -(v411 * v409 + v412 * p542);
return -(v413 + v411 * vVF8) / v412;
};
const v414 = ~~(vF38(20, 30) * v399);
const v415 = this[vF2("0xb0")][vF2("0x13a")] * v399;
const v416 = ~~(v399 * 4);
const v417 = v414 + "px " + font;
const v418 = ~~(v399 * 16);
const v419 = ~~(v414 * 0.75);
const v420 = v419 * 2;
const v421 = ~~(v397 / vF38(4, 2.25));
const v422 = ~~(v421 / 2);
return {
game: this,
view: view,
ctx: v392,
viewWidth: v395,
viewHeight: v396,
devicePixelRatio: devicePixelRatio,
scaler: v399,
scale: v400,
origin: v401,
pointInView: vF36,
boundsInView: vF37,
calcMult: vF38,
viewScreenWidth: v397,
viewScreenHeight: v398,
fontSize: v414,
strokeWidth: v415,
backHeight: v416,
uiFont: v417,
padding: v418,
barHeight: v420,
halfBarHeight: v419,
barWidth: v421,
halfBarWidth: v422
};
}
[vF2("0xef")](p544) {
const {
stats,
timings
} = this;
const vO13 = {
updateTime: timings[vF2("0x184")] - timings[vF2("0x53")],
renderTime: timings.renderEndTime - timings[vF2("0x76")],
frameTime: p544,
events: this[vF2("0x2c9")]
};
this.metrics[vF2("0x254")](vO13);
if (this[vF2("0x218")][vF2("0x1cc")] > vLN240) {
this[vF2("0x218")][vF2("0x261")]();
}
const vLN005 = 0.05;
stats.fps = vF6(stats[vF2("0x23")], 1000 / p544, vLN005);
stats.ut = vF6(stats.ut, timings[vF2("0x184")] - timings.updateStartTime, vLN005);
stats[vF2("0x1a")] = vF6(stats.ait, timings[vF2("0x297")] - timings[vF2("0x232")], vLN005);
stats.st = vF6(stats.st, timings[vF2("0x28b")] - timings[vF2("0x45")], vLN005);
stats.rt = vF6(stats.rt, timings[vF2("0x2e0")] - timings[vF2("0x76")], vLN005);
this[vF2("0x2b1")][vF2("0x254")](stats[vF2("0x23")]);
const vLN253 = 25;
const vLN35 = 35;
const vLN10 = 10;
const vLN120 = 120;
const vLN052 = 0.5;
if (this[vF2("0x2b1")][vF2("0x1cc")] > vLN120) {
this[vF2("0x2b1")][vF2("0x44")]();
const v423 = this[vF2("0x2b1")][~~(vLN120 / 2)];
if (v423 < vLN253) {
this[vF2("0x303")] -= 0.1;
}
if (v423 < vLN10) {
this[vF2("0x303")] -= 0.1;
}
if (this[vF2("0x303")] < vLN052) {
this[vF2("0x303")] = vLN052;
}
if (v423 > vLN35) {
this.quality += 0.1;
}
if (this[vF2("0x303")] > 1) {
this[vF2("0x303")] = 1;
}
const v424 = Math[vF2("0x1ce")](this[vF2("0x303")] * 10);
this[vF2("0x303")] = v424 / 10;
if (v424 < 10) {
const v425 = "q" + v424;
if (this.qas[v425]) {
this[vF2("0x255")][v425] = false;
if (window.ga) {
window.ga(vF2("0x288"), vF2("0x172"), vF2("0x23"), v425);
}
}
}
this[vF2("0x2b1")] = [];
}
this.events = {
returns: 0,
kills: 0
};
}
[vF2("0x169")](p545) {
if (p545) {
this.leaderboard = p545;
this[vF2("0x5b")]();
}
}
[vF2("0x5b")]() {
const {
countries: _0x3e4904
} = this[vF2("0x2f3")];
if (_0x3e4904) {
const v426 = _0x3e4904[0] && _0x3e4904[0][vF2("0x253")];
const v427 = _0x3e4904[1] && _0x3e4904[1][vF2("0x253")];
const v428 = _0x3e4904[2] && _0x3e4904[2].country;
this[vF2("0x136")].forEach(p546 => {
const v429 = p546.skin[vF2("0x31d")][vF2("0x2dc")](p547 => p547[vF2("0x279")].name === vF2("0x1a4"));
const v430 = p546[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p548 => p548[vF2("0x279")].name === "flags");
if (v429 && v430) {
let vVF2 = vF2("0x29f");
switch (v430[vF2("0x1d0")]) {
case v426:
vVF2 = vF2("0x10a");
break;
case v427:
vVF2 = vF2("0x6c");
break;
case v428:
vVF2 = vF2("0x224");
break;
}
if (v429[vF2("0x1d0")] !== vVF2) {
p546[vF2("0x7d")][vF2("0x94")](v429);
if (vF2("0x139") in this.skinManager) {
p546[vF2("0x7d")][vF2("0xa3")](this[vF2("0xda")][vF2("0x139")][vF2("0x13d")](vVF2));
}
}
}
});
}
}
post() {
var v431 = window[vF2("0xb8")];
var v432 = v431[vF2("0x319")];
function f43() {
return (navigator[vF2("0x2f0")] && navigator[vF2("0x2f0")][0] || navigator.userLanguage || navigator[vF2("0x9")] || navigator[vF2("0x2da")] || "en")[vF2("0x2c8")](0, 2)[vF2("0xd2")]();
}
var vO14 = {
build: v431[vF2("0x1f4")] || 0,
player: window[vF2("0x1c0")] || 0,
lng: f43(),
name: this[vF2("0x10e")][vF2("0x1d0")],
top: v431[vF2("0x1f2")] || 0,
persent: Math[vF2("0x1ce")](v431[vF2("0x195")] * 100),
best: v431[vF2("0x2d")] && Math[vF2("0x1ce")](v431.bestPercent * 10000) || 0,
time: Math[vF2("0x1ce")](v431[vF2("0x1b1")] / 1000),
kills: v431[vF2("0x107")],
scores: {
accumulator: v432 && v432[vF2("0xa4")] || 0,
kills: v432 && v432.kills || 0
},
reason: v431[vF2("0x1db")] || 0
};
function f44(p549) {
var vLS2 = "";
for (var vLN036 = 0; vLN036 < p549[vF2("0x1cc")]; vLN036++) {
var v433 = p549[vF2("0x6a")](vLN036);
var v434 = v433 ^ 42;
vLS2 = vLS2 + String[vF2("0x78")](v434);
}
return vLS2;
}
fetch(vF2("0x11d"), {
method: vF2("0x11c"),
headers: {
"Content-Type": vF2("0x5d")
},
body: f44(escape(JSON[vF2("0x1bf")](vO14)))
});
}
[vF2("0x19c")](p550) {
const v435 = p550[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p551 => p551[vF2("0x279")][vF2("0x1d0")] === vF2("0x301")).name;
const v436 = new C20(this.citiesManager[vF2("0x13d")](v435), false, p550[vF2("0xdb")][vF2("0x4a")](), p550);
if (this[vF2("0xda")][vF2("0xbc")]) {
const v437 = this.skinManager[vF2("0x30c")](v435);
v436.skin = v437;
}
p550.cities[vF2("0x254")](v436);
}
checkSegments(p552) {
let vLN037 = 0;
this[vF2("0x136")][vF2("0x1a6")](p553 => {
vLN037 += p553[vF2("0xc9")][vF2("0x1f")][vF2("0x2ee")][vF2("0x1cc")];
vLN037 += p553[vF2("0x83")][vF2("0x25d")][vF2("0x2ee")].length;
});
const v438 = this.space.segmentsCount();
const v439 = Object[vF2("0xe6")](v438)[vF2("0x1cc")];
}
[vF2("0x5e")](p554) {
if (p554.death) {
return;
}
this[vF2("0x2c9")][vF2("0x19")]++;
const v440 = p554[vF2("0x83")].polyline[vF2("0x4a")]();
const {
base: _0x59fced
} = p554;
const v441 = _0x59fced[vF2("0x1f")][vF2("0x2ee")][vF2("0x1ba")](p555 => p555[vF2("0x1d4")] === v440[vF2("0x1d4")]);
const v442 = _0x59fced[vF2("0x1f")][vF2("0x2ee")].findIndex(p556 => p556[vF2("0x1d4")] === v440[vF2("0x1a7")]);
const v443 = Math[vF2("0x271")](v442, v441);
const v444 = Math[vF2("0x86")](v442, v441);
if (v443 !== v441) {
v440[vF2("0x246")]();
}
const v445 = v440[vF2("0x310")]();
const v446 = _0x59fced[vF2("0x1f")].points();
const v447 = v446.splice(v443, v444 - v443 + 1, ...v445);
v447[vF2("0x261")]();
v447.pop();
v447[vF2("0x246")]();
v447[vF2("0x254")](...v445);
const v448 = new C6(v447);
let v449;
if (v448[vF2("0x29")]() < 0) {
v449 = new C6(v446[vF2("0x246")]());
_0x59fced[vF2("0x1f")].unsplice(v440, v443, v444);
} else {
v449 = v448;
_0x59fced[vF2("0x1f")][vF2("0x59")](v440, v443, v444);
}
_0x59fced[vF2("0x290")] += v449.square();
_0x59fced.polygon[vF2("0x5f")]();
this.units.filter(p557 => p557 !== p554)[vF2("0x1a6")](p558 => {
if (!p558.death) {
if (p558.in === p558.base && v449[vF2("0x196")](p558[vF2("0xdb")])) {
this[vF2("0x5a")](p558, p554, vLN5);
}
if (p558[vF2("0x83")][vF2("0x25d")][vF2("0x1d4")] && v449[vF2("0x196")](p558[vF2("0x83")].polyline[vF2("0x1d4")])) {
this[vF2("0x5a")](p558, p554, vLN4);
}
if (p558[vF2("0x2f7")] && p558[vF2("0x2f7")][0] && v449[vF2("0x196")](p558.cities[0][vF2("0xdb")])) {
this[vF2("0x5a")](p558, p554, vLN7);
}
}
});
let vA14 = [];
const v450 = p554[vF2("0x83")][vF2("0x25d")][vF2("0x2ee")];
const v451 = v450[vF2("0x1cc")];
const vA15 = [];
for (let vLN038 = 0; vLN038 <= v451; vLN038++) {
const v452 = vLN038 === v451 ? v450[vLN038 - 1].end : v450[vLN038].start;
const v453 = v452[vF2("0x2ee")][vF2("0x199")](p559 => p559.shape[vF2("0x32")] !== p554.track && p559[vF2("0x2d4")].owner !== p554[vF2("0xc9")] && p559.start === v452);
if (v453[vF2("0x1cc")]) {
let v454 = v453[vF2("0x30b")](p560 => ({
owner: p560[vF2("0x2d4")][vF2("0x32")],
point: v452,
segment: p560,
index: vLN038
}));
if (!vA14[vF2("0x1cc")]) {
const v455 = p554[vF2("0x83")].intersections[vF2("0x2dc")](p561 => p561[vF2("0x102")][vF2("0x6d")](v452));
if (!v455) {
return false;
}
vA14 = v454.filter(p562 => {
const v456 = v455[vF2("0x18a")][vF2("0x199")](p563 => p563[vF2("0xc9")] === p562[vF2("0x32")]);
if (!v456[vF2("0x1cc")]) {
return false;
}
return v456[v456[vF2("0x1cc")] - 1][vF2("0x103")];
});
} else {
let v457 = vA14[vF2("0x199")](p564 => v454[vF2("0x104")](p565 => {
return p565.owner === p564[vF2("0x32")];
}));
if (v457.length) {
const v458 = v457[0];
const v459 = v454[vF2("0x2dc")](p566 => p566.owner === v458[vF2("0x32")]);
const vF39 = p567 => {
const {
owner,
startT,
endT,
startPoint,
endPoint
} = p567;
let {
enter: enter,
leave: leave
} = p567;
if (enter[vF2("0x2d4")] !== owner[vF2("0x1f")]) {
enter = owner[vF2("0x1f")].segments[vF2("0x2dc")](p568 => p568.start === startPoint);
}
if (leave[vF2("0x2d4")] !== owner[vF2("0x1f")]) {
leave = owner.polygon[vF2("0x2ee")][vF2("0x2dc")](p569 => p569[vF2("0x1d4")] === endPoint);
}
if (enter === leave) {
return;
}
const v460 = p554[vF2("0x83")].polyline[vF2("0x310")]()[vF2("0x59")](startT, endT - startT + 1);
const v461 = owner.polygon[vF2("0x2ee")][vF2("0x1ba")](p570 => p570 === enter);
const v462 = owner[vF2("0x1f")][vF2("0x2ee")][vF2("0x1ba")](p571 => p571 === leave);
const v463 = Math[vF2("0x271")](v462, v461);
const v464 = Math.max(v462, v461);
if (v463 !== v461) {
v460[vF2("0x246")]();
}
const v465 = owner[vF2("0x1f")][vF2("0x310")]();
const v466 = v465[vF2("0x59")](v463, v464 - v463 + 1, ...v460);
v466.shift();
v466[vF2("0x29d")]();
v466[vF2("0x254")](...v460.slice()[vF2("0x246")]());
const v467 = new C6(v466);
const v468 = new C6(v465);
let v469;
if (owner[vF2("0x21")].in === owner[vF2("0x21")].base && v467[vF2("0x196")](owner[vF2("0x21")].position) || owner[vF2("0x21")].in !== owner[vF2("0x21")].base && v467[vF2("0x196")](owner.unit.track[vF2("0x25d")][vF2("0x1d4")])) {
owner[vF2("0x1f")][vF2("0x2bb")](v460, v463, v464);
v469 = v468;
} else {
owner[vF2("0x1f")][vF2("0x13c")](v460, v463, v464);
v469 = v467;
}
owner.square -= v469[vF2("0x290")]();
owner[vF2("0x1f")][vF2("0x5f")]();
vA15[vF2("0x254")]({
base: owner,
poly: v469
});
this[vF2("0x136")].forEach(p572 => {
if (owner.unit !== p572 && p572.in === owner && v469[vF2("0x196")](p572[vF2("0xdb")])) {
p572.in = null;
}
});
};
if (!(v458[vF2("0x32")] instanceof C8)) {
throw new Error(vF2("0x203"));
}
vF39({
owner: v458[vF2("0x32")],
enter: v458[vF2("0x2f")],
startPoint: v458[vF2("0x102")],
startT: v458[vF2("0x1c3")],
leave: v459[vF2("0x2f")],
endPoint: v459.point,
endT: v459[vF2("0x1c3")]
});
const v470 = p554[vF2("0x83")][vF2("0x18a")][vF2("0x2dc")](p573 => p573[vF2("0x102")][vF2("0x6d")](v452));
const v471 = v470.intersections[vF2("0x199")](p574 => p574[vF2("0xc9")] === v458[vF2("0x32")]);
if (v471[vF2("0x1cc")] === 1 || v471[v471[vF2("0x1cc")] - 1][vF2("0x103")] === false) {
v454 = v454[vF2("0x199")](p575 => p575.owner !== v458[vF2("0x32")]);
}
}
vA14 = v454;
}
}
}
this[vF2("0x136")].forEach(p576 => {
if (p554 !== p576 && v449[vF2("0x196")](p576[vF2("0xdb")])) {
p576.in = p554[vF2("0xc9")];
}
});
const v472 = (p554[vF2("0xc9")][vF2("0x290")] - p554.lastSquare) / this[vF2("0x290")];
if (p554.schemes) {
p554[vF2("0x144")][vF2("0x17b")]({
increment: v472,
rise: v449,
victims: vA15,
game: this
});
}
}
[vF2("0x259")]() {
if (this.renderer) {
this[vF2("0x30e")](this);
}
}
[vF2("0x156")](p577) {
this[vF2("0x136")][vF2("0x27c")]()[vF2("0x1a6")](p578 => {
if (p578[vF2("0x150")]) {
return;
}
let v473 = this[vF2("0x13b")](p577, p578);
{
if (p578 === this[vF2("0x10e")] && !this[vF2("0x10e")].moveTo && p578.in === null && Math[vF2("0x249")]() < 0.0005) {
p578.in = p578[vF2("0xc9")];
}
}
while (v473[vF2("0x1cc")]) {
if (p578[vF2("0x150")]) {
return;
}
const v474 = v473[vF2("0x261")]();
const v475 = this[vF2("0x130")].intersections(v474);
const vA16 = [];
v475[vF2("0x1a6")](p579 => {
const v476 = vA16[vF2("0x1ba")](p580 => p580[vF2("0x102")][vF2("0x6d")](p579[vF2("0x102")]));
if (v476 === -1) {
vA16[vF2("0x254")]({
point: p579[vF2("0x102")],
intersections: [p579]
});
} else {
if (p579[vF2("0x102")] !== vA16[v476][vF2("0x102")]) {
if (p579[vF2("0x102")][vF2("0x113")]) {
if (vA16[v476][vF2("0x102")].cell) {
throw new Error(vF2("0x1bd"));
} else {
vA16[v476].point = p579.point;
vA16[v476][vF2("0x18a")][vF2("0x1a6")](p581 => {
p581[vF2("0x102")] = p579[vF2("0x102")];
});
}
} else {
p579[vF2("0x102")] = vA16[v476].point;
}
}
vA16[v476][vF2("0x18a")][vF2("0x254")](p579);
}
});
v475[vF2("0x1a6")](p582 => {
p582[vF2("0x208")] = v474[vF2("0x1d4")][vF2("0x18d")](p582[vF2("0x102")]);
});
v475[vF2("0x44")]((p583, p584) => p583.distance - p584.distance);
const vA17 = [];
let v477 = null;
let v478 = -1;
v475[vF2("0x1a6")](p585 => {
if (!vF5(p585[vF2("0x208")], v478)) {
v477 = [];
v478 = p585[vF2("0x208")];
vA17[vF2("0x254")](v477);
}
v477[vF2("0x254")](p585);
});
vA17[vF2("0x1a6")](p586 => {
const vA18 = [];
p586[vF2("0x1a6")](p587 => {
const {
shape
} = p587.segment;
if (shape && vA18[vF2("0x1c")](shape) === -1) {
vA18[vF2("0x254")](shape);
}
});
while (vA18.length) {
const v479 = vA18[vF2("0x1ba")](p588 => p588[vF2("0x32")] === p578.in);
if (v479 > 0) {
const v480 = vA18[0];
vA18[0] = vA18[v479];
vA18[v479] = v480;
}
const v481 = vA18[vF2("0x1ba")](p589 => p589[vF2("0x32")][vF2("0x284")]);
if (v481 > 0) {
const v482 = vA18[0];
vA18[0] = vA18[v481];
vA18[v481] = v482;
}
const v483 = vA18[vF2("0x261")]();
const vA19 = [];
p586[vF2("0x1a6")](p590 => {
if (p590[vF2("0x2f")][vF2("0x2d4")] === v483) {
vA19[vF2("0x254")](p590);
}
});
while (!p578[vF2("0x150")] && vA19[vF2("0x1cc")]) {
vA19[vF2("0x44")]((p591, p592) => {
if (p578.in) {
return p592.zn - p591.zn;
} else {
return p591.zn - p592.zn;
}
});
const v484 = vA19.shift();
if (v484.segment.shape && !v483[vF2("0x32")][vF2("0x21")].death) {
v483[vF2("0x32")].handleIntersect(v484, p578, v474);
}
}
}
});
if (p578[vF2("0x150")]) {
return;
}
const {
end
} = v474;
if (p578.in !== p578.base) {
p578[vF2("0x83")][vF2("0x12c")](end);
}
p578[vF2("0xdb")] = end;
if (this[vF2("0x28e")] && !v473[vF2("0x1cc")] && p578.in && p578.in !== p578[vF2("0xc9")]) {
let v485 = C11[vF2("0x85")](p578, v474, this[vF2("0xb0")].trackWidth);
this[vF2("0x1af")][vF2("0x254")](v485);
}
}
});
}
[vF2("0x141")](p593) {
return p593 === this[vF2("0x10e")];
}
alert(p594, p595) {
this[vF2("0x298")][vF2("0x254")](new C24(p594, p595 || vF2("0x236"), this[vF2("0x10e")]));
}
[vF2("0x23f")]() {
let vV171 = v171();
if (this[vF2("0x71")]) {
return;
}
if (!this[vF2("0x12")] && (this[vF2("0x28e")] || this[vF2("0x2bd")] < this.config[vF2("0x9f")])) {
this[vF2("0x276")] = true;
if (this[vF2("0x64")] == 0) {
this[vF2("0x64")] = vV171;
}
let v486 = vV171 - this[vF2("0x64")];
if (v486 < 1) {
v486 = 1;
}
this[vF2("0xef")](v486);
if (v486 > 10000) {
v486 = 10000;
}
this[vF2("0xa")][vF2("0x53")] = v171();
if (this.replaying || this[vF2("0x15f")]) {
if (this[vF2("0x2bd")] < this[vF2("0xb0")][vF2("0x9f")] + 120 && v486 > 100) {
v486 = 100;
}
if (v486 > v145 * 0.9 && v486 < v145 * 1.1) {
v486 = v145;
}
this[vF2("0x282")] += v486;
if (this[vF2("0x20f")]()) {
this.prepareAndUpdate(v145);
this[vF2("0x282")] = 0;
} else if (this.replaying && this[vF2("0xb1")][vF2("0x289")] && this.replaying[vF2("0x2c4")]()) {
let v487 = this[vF2("0xb0")].prepareAcceleration;
while (this[vF2("0xb1")] && this[vF2("0xb1")][vF2("0x2c4")]() && v487-- > 0) {
this[vF2("0x248")](v145);
}
this[vF2("0x282")] = 0;
} else {
if (this[vF2("0x282")] > v145 * 10) {
this[vF2("0x282")] = v145 * 10;
}
while (this.timeAccumulated >= v145) {
this[vF2("0x282")] -= v145;
this[vF2("0x248")](v145);
}
}
} else if (this.visible) {
const v488 = v145 * 2;
while (v486 > 0) {
const v489 = v486 <= v488 ? v486 : v486 < v488 * 2 ? v486 / 2 + Math[vF2("0x249")]() : v488 + Math.random();
this[vF2("0x248")](v489);
v486 -= v489;
}
} else {
this[vF2("0x192")](v486);
}
this.timings.updateEndTime = v171();
}
this[vF2("0xa")][vF2("0x76")] = v171();
if (this.visible) {
this[vF2("0x259")]();
}
this[vF2("0xa")][vF2("0x2e0")] = v171();
this.last = vV171;
requestAnimationFrame(p596 => this.loop());
}
}
class C27 {
constructor() {
this.mode2 = false;
}
get() {
return this[vF2("0x60")];
}
[vF2("0x25b")]() {}
}
class C28 {
constructor(p597, p598) {
this.up = false;
this[vF2("0x2d8")] = false;
this[vF2("0x13c")] = false;
this.right = false;
this[vF2("0x105")] = {
shift: false,
ctrl: false,
alt: false,
meta: false
};
this[vF2("0x5c")] = null;
this[vF2("0x311")] = null;
this[vF2("0x2a8")] = {
left: false,
middle: false,
right: false
};
this[vF2("0x7e")] = [];
this[vF2("0x51")] = [];
this[vF2("0x1d")] = p598;
this[vF2("0x8f")] = [];
const vF40 = p599 => this.onKeyChange(p599, true);
const vF41 = p600 => this[vF2("0x11a")](p600, false);
if (p598) {
p598[vF2("0x13d")]();
window[vF2("0x111")](vF2("0x1fd"), vF40, false);
window[vF2("0x111")](vF2("0x81"), vF41, false);
}
const vF42 = p601 => p601.preventDefault();
p597[vF2("0x111")]("contextmenu", vF42, false);
const vF43 = p602 => this[vF2("0x17e")](p602, true);
const vF44 = p603 => this[vF2("0x17e")](p603, false);
const vF45 = p604 => {
this.lastMouse = this[vF2("0x5c")];
this[vF2("0x5c")] = null;
p604.preventDefault();
};
const vF46 = p605 => {
if (this.mouse === null) {
this[vF2("0x5c")] = {};
}
this[vF2("0x5c")].x = p605.pageX;
this[vF2("0x5c")].y = p605[vF2("0xc2")];
p605[vF2("0xf9")]();
};
const vF47 = p606 => {
vF46(p606);
const {
buttons
} = p606;
this[vF2("0x2a8")] = {
left: !!(buttons & 1),
middle: !!(buttons & 4),
right: !!(buttons & 2)
};
p606[vF2("0xf9")]();
};
p597.addEventListener(vF2("0x14d"), vF47, false);
p597[vF2("0x111")](vF2("0x2"), vF46, false);
p597[vF2("0x111")](vF2("0xcb"), vF45, false);
p597[vF2("0x111")]("mousedown", vF43, false);
p597.addEventListener(vF2("0x159"), vF44, false);
const vF48 = p607 => {
this.lastMouse = this.mouse;
this[vF2("0x5c")] = null;
p607[vF2("0xf9")]();
};
const vF49 = p608 => {
if (this[vF2("0x5c")] === null) {
this[vF2("0x5c")] = {};
}
const v490 = p608.changedTouches[0];
this.mouse.x = v490[vF2("0x1ca")];
this.mouse.y = v490[vF2("0x4e")];
p608[vF2("0xf9")]();
};
p597.addEventListener(vF2("0xa0"), vF49, false);
p597[vF2("0x111")](vF2("0x295"), vF49, false);
p597.addEventListener(vF2("0xc"), vF48, false);
p597[vF2("0x111")]("touchcancel", vF48, false);
this.dispose = () => {
p597.removeEventListener(vF2("0x112"), vF42, false);
if (p598) {
window.removeEventListener("keydown", vF40, false);
window[vF2("0x2aa")](vF2("0x81"), vF41, false);
}
p597[vF2("0x2aa")](vF2("0x14d"), vF47, false);
p597.removeEventListener(vF2("0x2"), vF46, false);
p597[vF2("0x2aa")]("mouseleave", vF45, false);
p597.removeEventListener(vF2("0x166"), vF43, false);
p597[vF2("0x2aa")]("mouseup", vF44, false);
};
}
[vF2("0x273")]() {
return this.up || this[vF2("0x2d8")] || this[vF2("0x13c")] || this[vF2("0x2bb")];
}
onKeyChange(p609, p610) {
if (p609.target === document[vF2("0x250")]) {
let v491 = true;
const {
keyCode
} = p609;
const v492 = this.pressedButtons[vF2("0x1c")](keyCode);
if (p610) {
if (v492 < 0) {
this[vF2("0x8f")].push(keyCode);
}
const v493 = this.sets[vF2("0x2dc")](p611 => p611[vF2("0x7e")][vF2("0x137")](p612 => this.pressedButtons[vF2("0x2dc")](p613 => p613 === p612)));
if (v493) {
v493.handler();
}
} else {
if (v492 >= 0) {
this[vF2("0x8f")][vF2("0x59")](v492, 1);
}
const v494 = this[vF2("0x7e")][vF2("0x2dc")](p614 => p614.code === keyCode);
if (v494) {
v494.handler();
}
}
switch (keyCode) {
case 38:
case 87:
this.up = p610;
break;
case 40:
case 83:
this[vF2("0x2d8")] = p610;
break;
case 37:
case 65:
this[vF2("0x13c")] = p610;
break;
case 39:
case 68:
this[vF2("0x2bb")] = p610;
break;
case 67:
if (!p610) {
this[vF2("0x1d")][vF2("0x25b")]();
}
break;
default:
v491 = false;
break;
}
this.modifiers[vF2("0x261")] = p609[vF2("0x9b")];
this[vF2("0x105")][vF2("0x2c1")] = p609.ctrlKey;
this[vF2("0x105")][vF2("0x73")] = p609[vF2("0x176")];
this[vF2("0x105")][vF2("0x29a")] = p609[vF2("0x318")];
if (v491) {
p609[vF2("0xf9")]();
}
}
}
[vF2("0x17e")](p615, p616) {
switch (p615[vF2("0x1d6")]) {
case 0:
this.buttons[vF2("0x13c")] = p616;
break;
case 1:
this[vF2("0x2a8")].middle = p616;
break;
case 2:
this[vF2("0x2a8")][vF2("0x2bb")] = p616;
break;
}
}
[vF2("0x2b0")](p617, p618) {
this[vF2("0x7e")][vF2("0x254")]({
code: p617,
handler: p618
});
}
[vF2("0x2ff")](p619, p620) {
this[vF2("0x51")][vF2("0x254")]({
codes: p619.sort(),
handler: p620
});
}
}
var v495 = Object.assign;
class C29 {
constructor(p621, p622, p623) {
this[vF2("0x4f")] = 0;
this[vF2("0x115")] = 1;
this.x = 0;
this.y = 0;
this.direction = "";
this[vF2("0x2a1")] = 0;
this[vF2("0x1a5")] = "";
this.src = null;
this.image = null;
this[vF2("0xb0")] = p621;
Object[vF2("0x1b3")](this, p622);
this[vF2("0x222")] = Object[vF2("0x1b3")]({
x: 0.5,
y: 0.5
}, p622[vF2("0x222")]);
let v496 = this[vF2("0x1a5")] ? f37(this[vF2("0x1a5")]) : this[vF2("0x317")] ? Promise[vF2("0x1b8")](this[vF2("0x317")]) : null;
if (v496) {
v496[vF2("0xc8")](p624 => {
this.src = p624;
this.rescale(1);
if (p623) {
p623(this);
}
});
}
}
[vF2("0x1ae")](p625) {
const {
trackWidth,
maxScale
} = this[vF2("0xb0")];
const v497 = trackWidth * maxScale;
const v498 = this[vF2("0x317")];
const v499 = v498[vF2("0x128")] || v498[vF2("0xb4")];
const v500 = v498.naturalHeight || v498[vF2("0x24c")];
const v501 = v497 * p625 * this[vF2("0x115")] / v499;
const v502 = ~~(v499 * v501);
const v503 = ~~(v500 * v501);
const v504 = v502 / v499;
const v505 = v503 / v500;
const v506 = document.createElement(vF2("0x1b4"));
v506[vF2("0xb4")] = v502;
v506[vF2("0x24c")] = v503;
const v507 = v506[vF2("0x152")]("2d");
v507[vF2("0x115")](v504, v505);
v507.drawImage(v498, 0, 0);
this[vF2("0x1ef")] = v506;
}
}
let v508;
class C30 {
constructor(p626, p627, p628, p629 = {}, p630) {
this[vF2("0x1a5")] = p628 + p629[vF2("0x1a5")];
this[vF2("0x115")] = p629.scale || 1;
this[vF2("0x317")] = null;
this.ready = false;
const {
maxScale
} = p626;
f37(this[vF2("0x1a5")])[vF2("0xc8")](p631 => {
this[vF2("0x317")] = p631;
const v509 = ~~(p631[vF2("0x128")] || p631[vF2("0xb4")]);
const v510 = ~~(p631[vF2("0x286")] || p631.height);
const v511 = maxScale * 100 * this[vF2("0x115")] / v509;
if (v509 == 0) {
console[vF2("0x206")](this[vF2("0x1a5")] + vF2("0xd1"));
}
if (v510 == 0) {
console[vF2("0x206")](this[vF2("0x1a5")] + vF2("0x2cf"));
}
const v512 = Math[vF2("0x2a")](v509 * v511) || 1;
const v513 = Math.floor(v510 * v511) || 1;
const v514 = document[vF2("0x153")](vF2("0x1b4"));
v514[vF2("0xb4")] = v512;
v514[vF2("0x24c")] = v513;
v514[vF2("0x152")]("2d")[vF2("0x2a9")](p631, 0, 0, v512 + 1, v513 + 1);
this[vF2("0x146")] = p627[vF2("0x152")]("2d")[vF2("0x1f7")](v514, vF2("0x204"));
const v515 = 1 / maxScale;
if (!v508) {
v508 = document.createElementNS("http://www.w3.org/2000/svg", vF2("0x293"));
}
const v516 = v508[vF2("0xd8")]()[vF2("0x115")](v515, v515);
if (this.pattern[vF2("0x272")]) {
this[vF2("0x146")][vF2("0x272")](v516);
}
this[vF2("0x6")] = true;
if (p630) {
p630();
}
});
}
}
class C31 {
constructor(p632, p633, p634, p635) {
this[vF2("0x2d2")] = [];
this[vF2("0x115")] = 1;
this.x = 0;
this.y = 0;
this[vF2("0x6")] = false;
Object.assign(this, p634);
let vLN039 = 0;
const vF50 = p636 => {
p636[vF2("0x1ae")](this.scale);
if (this[vF2("0x2d2")][vF2("0x1cc")] === ++vLN039) {
this[vF2("0x6")] = true;
if (p635) {
p635();
}
}
};
this[vF2("0x2d2")] = (this.layers || []).map(p637 => new C29(p632, v495(v495({}, p637), {
url: p637.url && "" + p633 + p637[vF2("0x1a5")]
}), vF50));
this[vF2("0x1bb")] = this[vF2("0x2d2")][vF2("0x199")](p638 => p638[vF2("0x4f")] >= 1)[vF2("0x44")]((p639, p640) => p639[vF2("0x4f")] - p640[vF2("0x4f")]);
this.backLayers = this[vF2("0x2d2")][vF2("0x199")](p641 => p641[vF2("0x4f")] < 1)[vF2("0x44")]((p642, p643) => p643[vF2("0x4f")] - p642.level);
}
}
class C32 {
constructor() {
this[vF2("0x1")] = [];
this[vF2("0x1bb")] = [];
this[vF2("0x126")] = [];
this.maxScale = 0;
}
get [vF2("0x6")]() {
return this[vF2("0x1")][vF2("0x137")](p644 => p644.ready);
}
sort() {
this[vF2("0x1bb")] = [][vF2("0x213")](...this[vF2("0x1")][vF2("0x30b")](p645 => p645.frontLayers[vF2("0x30b")](p646 => ({
display: p645,
layer: p646
}))))[vF2("0x44")]((p647, p648) => p647[vF2("0x1d1")][vF2("0x4f")] - p648[vF2("0x1d1")][vF2("0x4f")]);
this[vF2("0x126")] = [][vF2("0x213")](...this[vF2("0x1")][vF2("0x30b")](p649 => p649[vF2("0x126")][vF2("0x30b")](p650 => ({
display: p649,
layer: p650
})))).sort((p651, p652) => p652[vF2("0x1d1")][vF2("0x4f")] - p651.layer[vF2("0x4f")]);
this[vF2("0x19b")] = Math.max(...this[vF2("0x1bb")].map(p653 => p653[vF2("0x207")][vF2("0x115")] * p653[vF2("0x1d1")][vF2("0x115")]));
}
[vF2("0x12c")](p654) {
this.displays.push(p654);
this[vF2("0x44")]();
}
[vF2("0x175")](p655) {
this.displays = this[vF2("0x1")][vF2("0x199")](p656 => p656 !== p655);
this[vF2("0x44")]();
}
}
let v517;
let v518;
let v519;
let v520;
const vF51 = (p657, p658, p659, p660) => {
if (v520 !== p657 || v518 !== p659 || v519 !== p660) {
v517 = p657.createLinearGradient(p658[vF2("0xb4")] / 2, 0, p658[vF2("0xb4")] / 2, p658[vF2("0x24c")]);
v517[vF2("0x7")](0, p659);
v517[vF2("0x7")](1, p660);
}
return v517;
};
const vF52 = (p661, p662, p663, p664) => {
p661.strokeStyle = p663;
p661[vF2("0x230")] = p664;
p661[vF2("0x50")](p662);
};
const vF53 = (p665, p666, p667, p668, p669) => {
if (p667[vF2("0x25d")].segments[vF2("0x1cc")]) {
p665[vF2("0x230")] = p669;
p665[vF2("0x2fc")] = p666;
p665[vF2("0x50")](p667[vF2("0x25d")][vF2("0x9e")]);
}
};
const vF54 = (p670, p671, p672, p673, p674) => {
const {
devicePixelRatio
} = window;
const v521 = p673 * 24 / devicePixelRatio;
const v522 = p673 * 4 / devicePixelRatio;
p670[vF2("0x188")]();
p670[vF2("0xa2")](p671[vF2("0xdb")].x, p671.position.y);
p670[vF2("0x115")](1.001 / p672, 1.001 / p672);
p670.font = v521 + vF2("0x3f") + p674;
p670.textAlign = vF2("0x1a3");
p670[vF2("0x108")] = vF2("0x2ef");
let v523 = p671[vF2("0x1d0")];
if (p671 == p671[vF2("0x305")][vF2("0x10e")]) {
if (new Date()[vF2("0x1e2")]() % 2 == 0) {
if (p671[vF2("0x305")][vF2("0x15f")]) {
v523 = vF2("0x12d");
} else if (p671[vF2("0x305")].replaying) {
v523 = vF2("0x1ff");
}
}
}
const v524 = ~~(p672 * -12);
const vVF22 = vF2("0x4d");
p670[vF2("0x230")] = v522 / 4;
p670[vF2("0x2fc")] = vVF22;
p670[vF2("0x1e7")] = vVF22;
p670[vF2("0x1cd")] = v522 / 2;
p670.strokeText(v523, 0, v524);
p670[vF2("0x40")] = vVF22;
p670[vF2("0x320")](v523, 2, v524 + 2);
let vVF23 = vF2("0x252");
const v525 = p671[vF2("0x7d")][vF2("0x31d")][vF2("0x2dc")](p675 => p675[vF2("0x279")].name === vF2("0x1a4"));
if (v525) {
vVF23 = v525[vF2("0x28c")].color;
}
p670[vF2("0x40")] = vVF23;
p670[vF2("0x1e7")] = vVF23;
p670[vF2("0x1cd")] = v522 / 3;
p670[vF2("0x320")](v523, 0, v524);
p670[vF2("0x158")]();
};
const vF55 = () => {
const v526 = new Path2D();
const vLN52 = 5;
v526[vF2("0x1bc")](vLN52 * -3, vLN52 * -3);
v526[vF2("0xd0")](vLN52 * -1, vLN52 * -1);
v526.lineTo(vLN52 * 0, vLN52 * -3);
v526[vF2("0xd0")](vLN52 * 1, vLN52 * -1);
v526[vF2("0xd0")](vLN52 * 3, vLN52 * -3);
v526.lineTo(vLN52 * 2, vLN52 * 1);
v526[vF2("0xd0")](vLN52 * -2, vLN52 * 1);
v526[vF2("0x2e")]();
return v526;
};
const vVF55 = vF55();
const vF56 = (p676, p677, p678, p679) => {
const {
devicePixelRatio
} = window;
const v527 = p679 * 24 / devicePixelRatio;
p676[vF2("0x188")]();
p676.translate(p677[vF2("0xdb")].x, p677[vF2("0xdb")].y);
p676.scale(1 / (p678 * devicePixelRatio), 1 / (p678 * devicePixelRatio));
p676[vF2("0x40")] = vF2("0x8c");
p676[vF2("0x2fc")] = vF2("0x23e");
p676.lineJoin = vF2("0x1ce");
p676.lineWidth = 1;
p676[vF2("0xa2")](0, p678 * -10 * devicePixelRatio);
p676[vF2("0xa2")](0, -v527 * devicePixelRatio);
p676[vF2("0x115")](p679, p679);
p676[vF2("0xa2")](0, -4);
p676[vF2("0xa2")](0, -12);
p676.fill(vVF55);
p676[vF2("0x50")](vVF55);
p676[vF2("0x158")]();
};
const vF57 = () => {
const v528 = new Path2D();
const vLN162 = 1.6;
v528[vF2("0x1bc")](vLN162 * 0, vLN162 * -7);
v528[vF2("0xd0")](vLN162 * 5, vLN162 * -6);
v528[vF2("0xd0")](vLN162 * 7, vLN162 * -3);
v528[vF2("0xd0")](vLN162 * 6, vLN162 * 2);
v528.lineTo(vLN162 * 4, vLN162 * 3);
v528[vF2("0xd0")](vLN162 * 3, vLN162 * 6);
v528[vF2("0xd0")](vLN162 * 0, vLN162 * 7);
v528.lineTo(vLN162 * -3, vLN162 * 6);
v528[vF2("0xd0")](vLN162 * -4, vLN162 * 3);
v528[vF2("0xd0")](vLN162 * -6, vLN162 * 2);
v528[vF2("0xd0")](vLN162 * -7, vLN162 * -3);
v528[vF2("0xd0")](vLN162 * -5, vLN162 * -6);
v528.closePath();
v528[vF2("0x18f")](vLN162 * -3, vLN162 * -1, vLN162 * 2, 0, Math.PI * 2, true);
v528[vF2("0x2e")]();
v528.arc(vLN162 * 3, vLN162 * -1, vLN162 * 2, 0, Math.PI * 2, true);
v528[vF2("0x2e")]();
v528[vF2("0x1bc")](vLN162 * 0, vLN162 * 1);
v528[vF2("0xd0")](vLN162 * -2, vLN162 * 3);
v528[vF2("0xd0")](vLN162 * 0, vLN162 * 4);
v528[vF2("0xd0")](vLN162 * 2, vLN162 * 3);
v528[vF2("0x2e")]();
return v528;
};
const vVF57 = vF57();
const vF58 = (p680, p681, p682, p683) => {
p680.save();
p680[vF2("0x40")] = vF2("0x140");
p680[vF2("0xa2")](p681, p682);
p680.scale(p683, p683);
p680.fill(vVF57);
p680[vF2("0x158")]();
};
const vF59 = (p684, p685, p686, p687, p688) => {
const {
trackWidth
} = p684;
if (p688.image) {
const v529 = p688.image.naturalWidth || p688[vF2("0x1ef")].width;
const v530 = p688.image[vF2("0x286")] || p688[vF2("0x1ef")][vF2("0x24c")];
const v531 = trackWidth * p687[vF2("0x115")] * p688.scale / v529;
p685.save();
p685[vF2("0xa2")](p686.position.x, p686[vF2("0xdb")].y - p684[vF2("0x292")] * p688[vF2("0x4f")]);
p685[vF2("0x1cf")](p686[vF2("0x1f5")] + Math.PI / 2);
p685.translate((p687.x + p688.x) * trackWidth, (p687.y + p688.y) * trackWidth);
let vLN040 = 0;
if (p688[vF2("0x1f5")] === "target") {
const v532 = (p686[vF2("0x1d2")] || new C4(0, 0))[vF2("0x4a")]()[vF2("0x43")](p686[vF2("0xdb")]);
const v533 = Math[vF2("0x117")](v532.y, v532.x);
vLN040 += v533 - p686[vF2("0x1f5")];
}
if (p688[vF2("0x1f5")] === vF2("0x2f5")) {
vLN040 += -p686[vF2("0x1f5")] - Math.PI / 2;
}
if (p688[vF2("0x2a1")]) {
vLN040 += p688[vF2("0x2a1")] * 0.0174533;
}
if (vLN040) {
p685[vF2("0x1cf")](vLN040);
}
p685[vF2("0x115")](v531, v531);
p685[vF2("0xa2")](v529 * -p688[vF2("0x222")].x, v530 * -p688[vF2("0x222")].y);
p685.drawImage(p688.image, 0, 0);
p685[vF2("0x158")]();
}
};
const vF60 = (p689, p690, p691, p692, p693) => {
const v534 = p693 ? p692[vF2("0x1bb")] : p692[vF2("0x126")];
v534[vF2("0x1a6")](p694 => vF59(p689, p690, p691, p694[vF2("0x207")], p694[vF2("0x1d1")]));
};
const vF61 = (p695, p696, p697, p698, p699, p700, p701) => {
const [v535, v536, v537, v538] = p700;
p695.beginPath();
p695.moveTo(p696 + v535, p697);
p695[vF2("0xd0")](p696 + p698 - v536, p697);
p695[vF2("0x66")](p696 + p698, p697, p696 + p698, p697 + v536);
p695[vF2("0xd0")](p696 + p698, p697 + p699 - v537);
p695[vF2("0x66")](p696 + p698, p697 + p699, p696 + p698 - v537, p697 + p699);
p695.lineTo(p696 + v538, p697 + p699);
p695[vF2("0x66")](p696, p697 + p699, p696, p697 + p699 - v538);
p695[vF2("0xd0")](p696, p697 + v535);
p695.quadraticCurveTo(p696, p697, p696 + v535, p697);
p695[vF2("0x2e")]();
p695.fill();
if (p701) {
p695[vF2("0x2fc")] = vF2("0x148");
p695[vF2("0x230")] = p701;
p695.stroke();
}
};
const vF62 = (p702, p703, p704) => {
p702.fillStyle = p704;
p702[vF2("0x283")](p703);
};
const vF63 = p705 => {
const {
game: _0x3cf70a,
ctx,
boundsInView
} = p705;
const {
trackWidth
} = _0x3cf70a[vF2("0xb0")];
_0x3cf70a[vF2("0x136")][vF2("0x1a6")](p706 => {
if (boundsInView(p706[vF2("0xc9")][vF2("0x1f")], trackWidth) || _0x3cf70a[vF2("0x12")]) {
vF62(ctx, p706.base[vF2("0x1f")][vF2("0x9e")], p706[vF2("0x7d")][vF2("0x146")] && p706[vF2("0x7d")][vF2("0x146")][vF2("0x146")] || p706[vF2("0x7d")][vF2("0xfa")][vF2("0x309")]);
}
});
};
const vF64 = p707 => {
const {
game: _0x7420fe,
ctx,
boundsInView
} = p707;
const {
trackWidth
} = _0x7420fe.config;
ctx[vF2("0x188")]();
ctx[vF2("0x9c")] = "round";
ctx[vF2("0x244")] = "destination-out";
_0x7420fe.units[vF2("0x1a6")](p708 => {
const {
start
} = p708.track[vF2("0x25d")];
if (start) {
if (boundsInView(p708[vF2("0x83")][vF2("0x25d")], trackWidth)) {
vF53(ctx, p708.skin[vF2("0xfa")][vF2("0x309")], p708[vF2("0x83")], p708[vF2("0xdb")], trackWidth);
ctx.save();
ctx.globalCompositeOperation = vF2("0x127");
ctx[vF2("0x17")](p708[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")]);
vF53(ctx, p708.skin[vF2("0x146")] && p708[vF2("0x7d")][vF2("0x146")][vF2("0x146")] || p708[vF2("0x7d")][vF2("0xfa")][vF2("0x309")], p708.track, p708[vF2("0xdb")], trackWidth + 2);
ctx[vF2("0x158")]();
}
}
});
ctx[vF2("0x158")]();
};
const vF65 = p709 => {
const {
game: _0x34293f,
ctx,
pointInView
} = p709;
const {
trackWidth
} = _0x34293f.config;
_0x34293f.units[vF2("0x1a6")](p710 => {
if (pointInView(p710[vF2("0xdb")], trackWidth * 4)) {
vF60(_0x34293f[vF2("0xb0")], ctx, p710, p710.skin.container, true);
}
});
};
const vF66 = p711 => {
const {
game: _0x3149cd,
ctx,
scale,
scaler,
pointInView
} = p711;
const {
trackWidth,
font
} = _0x3149cd[vF2("0xb0")];
_0x3149cd[vF2("0x136")][vF2("0x1a6")](p712 => {
if (pointInView(p712[vF2("0xdb")], trackWidth * 20) || _0x3149cd[vF2("0x12")]) {
vF54(ctx, p712, scale, scaler, font);
}
});
};
const vF67 = p713 => {
const {
game: _0x432437,
ctx,
pointInView
} = p713;
const {
trackWidth
} = _0x432437[vF2("0xb0")];
_0x432437[vF2("0x136")][vF2("0x1a6")](p714 => {
if (pointInView(p714[vF2("0xdb")], trackWidth * 4)) {
vF60(_0x432437[vF2("0xb0")], ctx, p714, p714[vF2("0x7d")][vF2("0x241")], false);
}
});
};
const vF68 = p715 => {
const {
game: _0x342a0f,
ctx,
boundsInView
} = p715;
const {
trackWidth
} = _0x342a0f[vF2("0xb0")];
ctx[vF2("0x188")]();
ctx[vF2("0x9c")] = vF2("0x1ce");
ctx[vF2("0x3a")] = 0.6;
_0x342a0f[vF2("0x136")].forEach(p716 => {
if (p716.in !== p716[vF2("0xc9")]) {
if (boundsInView(p716.track[vF2("0x25d")], trackWidth)) {
vF53(ctx, _0x342a0f.tailRecovered && p716 == _0x342a0f.player ? vF2("0x2e1") : p716.skin[vF2("0xfa")][vF2("0x309")], p716[vF2("0x83")], p716[vF2("0xdb")], trackWidth);
}
}
});
ctx[vF2("0x158")]();
};
const vF69 = p717 => {
const {
game: _0x468349,
ctx,
boundsInView
} = p717;
const {
trackWidth
} = _0x468349[vF2("0xb0")];
_0x468349.units[vF2("0x1a6")](p718 => {
if (boundsInView(p718[vF2("0xc9")][vF2("0x1f")], trackWidth)) {
vF62(ctx, p718[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], p718[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")]);
}
});
};
const vF70 = p719 => {
const {
game: _0x1d96b5,
ctx,
viewScreenWidth,
viewScreenHeight
} = p719;
const {
baseHeight,
arenaColor,
borderColor,
backgroundTopColor,
backgroundBottomColor
} = _0x1d96b5[vF2("0xb0")];
vF62(ctx, _0x1d96b5[vF2("0x1a8")].polygon[vF2("0x9e")], arenaColor);
ctx.translate(0, baseHeight * 3);
vF62(ctx, _0x1d96b5[vF2("0x1a8")][vF2("0x1f")].path, borderColor);
ctx.translate(0, baseHeight * -3);
ctx[vF2("0x40")] = vF51(ctx, _0x1d96b5.space, backgroundTopColor, backgroundBottomColor);
ctx[vF2("0x173")](viewScreenWidth / -2, viewScreenHeight / -2, _0x1d96b5[vF2("0x130")].width + viewScreenWidth, _0x1d96b5[vF2("0x130")][vF2("0x24c")] + viewScreenHeight);
};
const vF71 = p720 => {
const {
game: _0x115ef9,
ctx,
pointInView
} = p720;
const {
trackWidth
} = _0x115ef9[vF2("0xb0")];
ctx[vF2("0x188")]();
_0x115ef9[vF2("0x1af")][vF2("0x1a6")](p721 => p721[vF2("0x1b1")] > 0 && pointInView(p721[vF2("0xdb")], trackWidth) && p721[vF2("0x237")](ctx));
ctx.restore();
};
const vF72 = p722 => {
const {
game: _0x5c7f96,
ctx,
scale,
scaler
} = p722;
const {
font
} = _0x5c7f96[vF2("0xb0")];
ctx.scale(1 / scale, 1 / scale);
_0x5c7f96[vF2("0x298")][vF2("0x1a6")](p723 => p723[vF2("0x237")](ctx, font, scale, scaler));
ctx.scale(scale, scale);
};
const vF73 = p724 => {
const {
game: _0x2f39aa,
ctx,
scale,
scaler
} = p724;
const v539 = _0x2f39aa[vF2("0x136")][0];
if (v539) {
vF56(ctx, v539, scale, scaler);
}
};
const vF74 = p725 => {
const {
game: _0x2cf0a5,
ctx,
scaler,
calcMult,
viewScreenWidth,
viewScreenHeight,
padding
} = p725;
const v540 = viewScreenWidth / calcMult(8, 3);
const v541 = _0x2cf0a5[vF2("0x130")][vF2("0xb4")] / v540 * scaler * 3;
ctx[vF2("0x188")]();
ctx[vF2("0xa2")](viewScreenWidth - padding - v540, viewScreenHeight - padding - v540);
ctx[vF2("0x115")](v540 / _0x2cf0a5[vF2("0x130")][vF2("0xb4")], v540 / _0x2cf0a5[vF2("0x130")][vF2("0x24c")]);
vF62(ctx, _0x2cf0a5[vF2("0x1a8")].polygon[vF2("0x9e")], vF2("0x14e"));
vF62(ctx, _0x2cf0a5[vF2("0x10e")][vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], _0x2cf0a5[vF2("0x10e")][vF2("0x7d")].colors[vF2("0x309")]);
vF52(ctx, _0x2cf0a5.player[vF2("0xc9")][vF2("0x1f")][vF2("0x9e")], _0x2cf0a5.player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")], v541 / 2);
vF53(ctx, _0x2cf0a5[vF2("0x10e")][vF2("0x7d")][vF2("0xfa")][vF2("0x1e")], _0x2cf0a5[vF2("0x10e")][vF2("0x83")], _0x2cf0a5[vF2("0x10e")][vF2("0xdb")], v541 / 2);
const v542 = _0x2cf0a5[vF2("0x136")].some(p726 => !_0x2cf0a5[vF2("0x141")](p726) && p726.in === _0x2cf0a5.player.base) ? vF2("0x221") : vF2("0x148");
vF52(ctx, _0x2cf0a5[vF2("0x1a8")][vF2("0x1f")][vF2("0x9e")], v542, v541);
ctx[vF2("0x1be")]();
ctx[vF2("0x18f")](_0x2cf0a5.player.position.x, _0x2cf0a5[vF2("0x10e")][vF2("0xdb")].y, v541, 0, Math.PI * 2);
ctx.fillStyle = _0x2cf0a5[vF2("0x10e")][vF2("0x7d")][vF2("0xfa")][vF2("0x147")];
ctx[vF2("0x283")]();
const v543 = _0x2cf0a5.player[vF2("0x7d")].assets.find(p727 => p727[vF2("0x279")] && p727[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"));
const v544 = v543 && v543[vF2("0x28c")][vF2("0x316")];
if (v544 && _0x2cf0a5.player[vF2("0x2f7")]) {
_0x2cf0a5[vF2("0x10e")][vF2("0x2f7")][vF2("0x1a6")](p728 => {
ctx[vF2("0x188")]();
ctx[vF2("0xa2")](p728[vF2("0xdb")].x, p728[vF2("0xdb")].y);
ctx[vF2("0x115")](2, 2);
ctx.drawImage(v544, -v544[vF2("0xb4")] / 2, -v544[vF2("0x24c")] / 2);
ctx.restore();
});
}
ctx.restore();
};
let v545;
window.addEventListener(vF2("0x133"), () => v545 = null, false);
const vF75 = p729 => {
let {
ctx,
devicePixelRatio
} = p729;
if (!v545) {
v545 = document[vF2("0x153")](vF2("0x1b4"));
v545[vF2("0xb4")] = ~~p729[vF2("0x8e")];
v545.height = ~~(p729[vF2("0x114")] * 1.3 * 8);
}
if (p729[vF2("0x305")].topListChanged) {
p729[vF2("0x305")].topListChanged = false;
let v546 = v545[vF2("0x152")]("2d");
v546[vF2("0x188")]();
v546[vF2("0xf1")](0, 0, v545[vF2("0xb4")], v545.height);
v546[vF2("0xa2")](-ctx[vF2("0x1b4")].width + v545[vF2("0xb4")], 0);
v546[vF2("0x115")](1 / devicePixelRatio, 1 / devicePixelRatio);
vF76(v546, p729);
v546[vF2("0x158")]();
}
ctx[vF2("0x188")]();
ctx.resetTransform();
ctx[vF2("0x2a9")](v545, ctx[vF2("0x1b4")][vF2("0xb4")] - v545.width, 0);
ctx.restore();
};
const vF76 = (p730, p731) => {
const {
game: _0x3f3efd,
viewScreenWidth,
padding,
backHeight,
barHeight,
halfBarHeight,
barWidth,
halfBarWidth,
strokeWidth,
uiFont
} = p731;
let v547;
const vF77 = (p732, p733, p734, p735) => {
const v548 = padding + p734 * (barHeight * 1.3);
const v549 = p732[vF2("0x144")][vF2("0x319")]();
let v550 = halfBarWidth * (v549 / p735);
if (v547 && v550 > v547 - halfBarWidth * 0.05) {
v550 = v547 - halfBarWidth * 0.05;
}
v547 = v550;
const v551 = halfBarWidth + v550;
let v552 = viewScreenWidth - v551;
const vA20 = [halfBarHeight, 0, 0, halfBarHeight];
p730[vF2("0x40")] = vF2("0x2f2");
vF61(p730, v552 + backHeight, v548 + backHeight * 3, barWidth, barHeight, vA20);
p730[vF2("0x40")] = p732[vF2("0x7d")].colors[vF2("0x1e")];
vF61(p730, v552, v548 + backHeight, barWidth, barHeight, vA20, strokeWidth);
p730.fillStyle = p732[vF2("0x7d")][vF2("0xfa")][vF2("0x309")];
vF61(p730, v552, v548, barWidth, barHeight, vA20, strokeWidth);
const v553 = p732[vF2("0x7d")][vF2("0x31d")].find(p736 => p736.pool && p736[vF2("0x279")][vF2("0x1d0")] === vF2("0x301"));
const v554 = v553 && v553[vF2("0x28c")].roundedFlag;
if (v554) {
const v555 = barHeight * 0.8;
const v556 = barHeight / 4;
const v557 = v555 / v554[vF2("0x24c")];
p730.save();
p730[vF2("0xa2")](v552 + v556, v548 + barHeight / 2);
p730[vF2("0x115")](v557, v557);
p730[vF2("0x2a9")](v554, 0, -v554[vF2("0x24c")] / 2);
p730[vF2("0x158")]();
v552 += v555;
}
p730.fillStyle = p732[vF2("0x7d")][vF2("0xfa")][vF2("0xcf")];
p730.font = uiFont;
p730.textAlign = vF2("0x13c");
p730[vF2("0x108")] = "middle";
p730[vF2("0x320")](p733 + vF2("0x219") + p732[vF2("0x144")][vF2("0xab")]() + " " + p732[vF2("0x1d0")], v552 + halfBarHeight, v548 + halfBarHeight * 1.1);
};
const v558 = _0x3f3efd.units[0];
const v559 = v558 && v558[vF2("0x144")][vF2("0x319")]();
let v560 = false;
for (let vLN041 = 0; vLN041 < 5; vLN041++) {
const v561 = _0x3f3efd[vF2("0x136")][vLN041];
if (v561) {
if (_0x3f3efd[vF2("0x141")](v561)) {
v560 = true;
}
vF77(v561, vLN041 + 1, vLN041, v559);
}
}
if (!v560 && _0x3f3efd.player && !_0x3f3efd[vF2("0x10e")].death) {
const v562 = _0x3f3efd.units.findIndex(p737 => _0x3f3efd.isPlayer(p737));
vF77(_0x3f3efd[vF2("0x10e")], v562 + 1, 6, v559);
}
};
const vF78 = p738 => {
const {
game: _0x59d5c0,
ctx,
padding,
backHeight,
barHeight,
halfBarHeight,
barWidth,
strokeWidth,
uiFont
} = p738;
const {
player
} = _0x59d5c0;
ctx.fillStyle = vF2("0x2f2");
vF61(ctx, 0, padding, barWidth, barHeight + backHeight, [0, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2, 0]);
const v563 = _0x59d5c0[vF2("0x18")] ? Math[vF2("0x271")](1, player[vF2("0x144")][vF2("0x319")]() / _0x59d5c0[vF2("0x18")]) : 1;
const v564 = barWidth * (0.25 + v563 * 0.75);
ctx.fillStyle = player[vF2("0x7d")][vF2("0xfa")][vF2("0x1e")];
vF61(ctx, 0, padding + backHeight, v564, barHeight, [0, halfBarHeight, halfBarHeight, 0], strokeWidth);
ctx[vF2("0x40")] = player[vF2("0x7d")][vF2("0xfa")].main;
vF61(ctx, 0, padding, v564, barHeight, [0, halfBarHeight, halfBarHeight, 0], strokeWidth);
ctx[vF2("0x40")] = player[vF2("0x7d")].colors[vF2("0xcf")];
ctx[vF2("0x3")] = uiFont;
ctx.textAlign = "left";
ctx[vF2("0x108")] = "middle";
ctx.fillText(player[vF2("0x144")][vF2("0xab")](), halfBarHeight, padding + halfBarHeight * 1.1);
};
const vF79 = p739 => {
const {
game: _0x5683ab,
ctx,
padding,
backHeight,
barHeight,
uiFont
} = p739;
ctx.font = uiFont;
ctx.textAlign = vF2("0x13c");
ctx[vF2("0x108")] = vF2("0x1f2");
let v565 = _0x5683ab.language[vF2("0x163")] + " " + _0x5683ab[vF2("0x10e")][vF2("0x144")][vF2("0xab")](_0x5683ab.best);
ctx[vF2("0x40")] = "#00000066";
ctx[vF2("0x320")](v565, padding / 2, padding + barHeight + backHeight + padding / 2);
};
const vF80 = p740 => {
const {
game: _0x27f463,
ctx,
scaler,
padding,
backHeight,
barHeight,
halfBarHeight,
fontSize,
uiFont
} = p740;
const v566 = padding + barHeight + backHeight + fontSize + padding / 2 + 4;
ctx[vF2("0x3")] = uiFont;
ctx[vF2("0x2a4")] = "left";
ctx[vF2("0x108")] = vF2("0x307");
let v567 = "x" + _0x27f463[vF2("0x10e")].statistics[vF2("0x107")];
ctx.fillStyle = vF2("0x2ae");
vF61(ctx, 0, v566, barHeight * 1.5 + ctx[vF2("0x27d")](v567).width, barHeight, [0, halfBarHeight, halfBarHeight, 0]);
vF58(ctx, barHeight * 1.4 / 2, v566 + barHeight / 2, scaler);
ctx[vF2("0x40")] = vF2("0x140");
ctx[vF2("0x320")](v567, barHeight * 1.25, v566 + halfBarHeight + barHeight * 0.03);
};
const vF81 = p741 => {
const {
game: _0x3c8895,
ctx,
scaler,
padding,
backHeight,
barHeight,
halfBarHeight,
fontSize,
uiFont,
viewWidth,
viewHeight,
viewScreenWidth,
viewScreenHeight
} = p741;
if (_0x3c8895[vF2("0x1fa")].length) {
const v568 = _0x3c8895[vF2("0x1fa")][0];
if (v568.ready) {
ctx[vF2("0x188")]();
ctx[vF2("0x3")] = uiFont;
const v569 = fontSize * 2 + padding;
const v570 = v568[vF2("0xdb")]() * (v569 + padding) - v569;
const v571 = Math[vF2("0x86")](ctx.measureText(v568[vF2("0x1f0")])[vF2("0xb4")], ctx[vF2("0x27d")](v568[vF2("0x25a")])[vF2("0xb4")]);
const v572 = fontSize * 2;
const v573 = v571 + padding * 5 + v572;
const v574 = padding / 2;
ctx[vF2("0x40")] = vF2("0x2ae");
vF61(ctx, (viewScreenWidth - v573) / 2, v570, v573, v569, [(barHeight + backHeight) / 2, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2, (barHeight + backHeight) / 2]);
ctx[vF2("0x40")] = "#ffffff";
ctx[vF2("0x1e7")] = vF2("0x2af");
ctx[vF2("0x1cd")] = 1;
ctx[vF2("0x2a4")] = "center";
ctx[vF2("0x108")] = "top";
ctx[vF2("0x320")](v568[vF2("0x1f0")], (viewScreenWidth - v573) / 2 + v573 / 2 + v572 / 2, v570 + v574);
ctx.fillStyle = "#ffffff88";
ctx[vF2("0x1e7")] = vF2("0x291");
ctx[vF2("0x1cd")] = 1;
ctx.font = uiFont;
ctx[vF2("0x320")](v568.description, (viewScreenWidth - v573) / 2 + v573 / 2 + v572 / 2, v570 + v574 + fontSize);
ctx[vF2("0x1e7")] = "#ffffff";
ctx[vF2("0x1cd")] = 10;
if (v568.image) {
ctx[vF2("0x2a9")](v568[vF2("0x1ef")], (viewScreenWidth - v573) / 2 + v574, v570 + v574, v572, v572);
}
ctx[vF2("0x158")]();
}
}
};
function f45(p742) {
const v575 = p742[vF2("0x23b")]();
if (!v575) {
return;
}
const {
baseHeight: baseHeight
} = p742[vF2("0xb0")];
let {
ctx,
devicePixelRatio,
viewWidth,
viewHeight,
origin: origin,
scale: scale
} = v575;
if (p742.debugView) {
scale = 0.5;
origin = p742[vF2("0x130")].center;
}
ctx.resetTransform();
ctx[vF2("0xf1")](0, 0, viewWidth, viewHeight);
const v576 = origin.x * scale - viewWidth / 2;
const v577 = origin.y * scale - viewHeight / 2;
ctx[vF2("0xa2")](-v576, -v577);
ctx[vF2("0x115")](scale, scale);
ctx[vF2("0xa2")](0, -baseHeight);
vF63(v575);
vF64(v575);
ctx[vF2("0xa2")](0, baseHeight);
ctx[vF2("0x244")] = vF2("0x127");
vF67(v575);
vF68(v575);
vF69(v575);
vF70(v575);
ctx[vF2("0x244")] = "source-over";
vF65(v575);
vF66(v575);
vF71(v575);
vF72(v575);
vF73(v575);
ctx.resetTransform();
ctx[vF2("0x115")](1 / devicePixelRatio, 1 / devicePixelRatio);
if (p742.player) {
vF75(v575);
vF78(v575);
vF79(v575);
vF80(v575);
vF74(v575);
vF81(v575);
}
if (p742.debug || p742[vF2("0x15f")] || p742[vF2("0xb1")]) {
f46(p742);
}
}
function f46(p743) {
const {
view: view
} = p743;
if (!view) {
return;
}
const {
font
} = p743[vF2("0xb0")];
const v578 = view.getContext("2d");
v578[vF2("0x40")] = vF2("0x236");
v578[vF2("0x2fc")] = vF2("0x2af");
v578.textAlign = vF2("0x13c");
v578[vF2("0x108")] = vF2("0x1f2");
let v579 = p743[vF2("0x303")] * 160;
const vF82 = (p744 = "", p745 = 0) => {
if (p744) {
v578[vF2("0x1ac")](p744, 10 + p745 * 20, v579);
v578[vF2("0x320")](p744, 10 + p745 * 20, v579);
}
v579 += p743[vF2("0x303")] * 20;
};
vF82("Update time: " + p743[vF2("0x52")].ut[vF2("0x70")](1));
vF82(vF2("0x1d5") + p743[vF2("0x52")][vF2("0x1a")][vF2("0x70")](1), 1);
vF82(vF2("0x121") + p743[vF2("0x52")].st[vF2("0x70")](1), 1);
vF82(vF2("0x82") + p743[vF2("0x52")].rt.toFixed(1));
vF82("FPS: " + Math.round(p743.stats[vF2("0x23")]));
vF82(vF2("0xf4") + p743[vF2("0x303")]);
vF82();
vF82(vF2("0x1cb") + p743.units[vF2("0x1cc")]);
vF82(vF2("0x18c") + p743[vF2("0x4f")][vF2("0x70")](3));
vF82();
vF82(vF2("0x1b2") + p743[vF2("0x1af")].length);
vF82();
if (p743.recording) {
vF82(vF2("0x6e") + p743[vF2("0x15f")][vF2("0xe5")]()[vF2("0x70")](1) + " s");
}
if (p743[vF2("0xb1")]) {
vF82("Replaying: " + p743.replaying[vF2("0x27e")]().toFixed(1) + "/" + p743.replaying[vF2("0xe5")]()[vF2("0x70")](1) + " s");
}
if (p743[vF2("0x8")]) {
const v580 = view[vF2("0xb4")] / 3;
const vLN100 = 100;
const v581 = new Path2D();
const v582 = new Path2D();
const v583 = new Path2D();
const v584 = new Path2D();
v584[vF2("0x1bc")](0, 0);
let vLN1667 = 16.67;
p743.metrics[vF2("0x1a6")](p746 => {
vLN1667 = Math.max(vLN1667, p746[vF2("0x106")]);
});
vLN1667 *= 1.1;
const v585 = v580 / (vLN240 - 1);
const v586 = vLN100 / vLN1667;
v578[vF2("0x188")]();
v578[vF2("0xa2")]((view[vF2("0xb4")] - v580) / 2, vLN100);
v578.fillStyle = vF2("0x1c6");
v578[vF2("0x173")](0, -vLN100, v580, vLN100);
p743[vF2("0x218")][vF2("0x1a6")]((p747, p748) => {
v581.lineTo(v585 * p748, -p747[vF2("0x24")] * v586);
v582.lineTo(v585 * p748, -p747[vF2("0x226")] * v586);
v584[vF2("0xd0")](v585 * p748, -(p747[vF2("0x24")] + p747[vF2("0x226")]) * v586);
v583[vF2("0xd0")](v585 * p748, -p747[vF2("0x106")] * v586);
});
v584[vF2("0xd0")](v585 * (p743[vF2("0x218")][vF2("0x1cc")] - 1), 0);
v578[vF2("0x230")] = 1;
const v587 = v586 * 16.67;
v578[vF2("0x2fc")] = vF2("0x181");
v578.beginPath();
v578[vF2("0x1bc")](0, -v587);
v578.lineTo(v580, -v587);
v578[vF2("0x50")]();
v578[vF2("0x40")] = "#ffff00a0";
v578.fill(v584);
v578[vF2("0x2fc")] = vF2("0x7f");
v578[vF2("0x50")](v581);
v578[vF2("0x2fc")] = "#009900cc";
v578[vF2("0x50")](v582);
v578.strokeStyle = vF2("0x1ab");
v578.stroke(v583);
v578[vF2("0x230")] = 0.5;
p743.metrics[vF2("0x1a6")]((p749, p750) => {
const {
returns,
kills
} = p749[vF2("0x2c9")];
if (returns || kills) {
if (kills) {
v578[vF2("0x2fc")] = vF2("0x2ec");
} else {
v578[vF2("0x2fc")] = "#00000040";
}
v578.beginPath();
v578[vF2("0x1bc")](v585 * p750, 0);
v578[vF2("0xd0")](v585 * p750, -vLN100);
v578[vF2("0x50")]();
}
});
v578[vF2("0x158")]();
}
}
var vO15 = {
name: "ru",
lng: {
yourScore: vF2("0x281"),
bestScore: vF2("0x26d"),
newText: vF2("0x2c5"),
timePlayed: vF2("0x23a"),
playersKilled: vF2("0x268"),
playAgain: vF2("0x2d7"),
menu: "МЕНЮ",
messages: [vF2("0x134"), "Коснитесь экрана для управления", vF2("0xe8"), "Захватите всю карту"],
nosupport: vF2("0x1b7"),
btnPlay: vF2("0x22c"),
placeholderText: vF2("0x171"),
defaultPlayerName: vF2("0x260"),
bestTxt: vF2("0x1d8"),
killText: vF2("0x251"),
btnContinue: vF2("0x1f1"),
extraLife: vF2("0x179"),
btnSelect: "ВЫБРАТЬ"
}
};
const vF83 = (p751, p752, p753, p754, p755, p756) => {
let vO16 = {};
if (Path2D) {
vO16.create = p757 => {
const {
arenaSize,
quadSize,
borderPoints
} = p751;
const v588 = new C3(arenaSize, arenaSize, quadSize);
C4[vF2("0x130")] = v588;
const v589 = new C4(arenaSize / 2, arenaSize / 2);
const v590 = Math[vF2("0x271")](v589.x, v589.y) * 0.95;
const v591 = C7[vF2("0x217")](v589, borderPoints, v590);
const vP753 = p753(p751, p757);
const v592 = new C26(p751, p757, v588, v591, vP753, null, p754, new C28(p757, new C27()), p752.lng, p755, p756, Math.random());
vP753[vF2("0x305")] = v592;
v592.renderer = f45;
vO16[vF2("0x305")] = v592;
v592[vF2("0x187")][vF2("0x2ff")]([16, 18, 81, 66, 77], () => {
v592[vF2("0x170")] = !v592[vF2("0x170")];
});
v592.controller[vF2("0x2b0")](71, () => {
v592.debugGraph = !v592.debugGraph;
});
};
vO16.preparing = true;
let vLN042 = 0;
let v593;
const vF84 = () => {
const {
prepareMult
} = p751;
let {
prepareBatchCount: prepareBatchCount
} = p751;
while (prepareBatchCount--) {
vO16[vF2("0x305")][vF2("0x248")](1000 / 60 * prepareMult + Math.random());
vLN042++;
}
};
vO16[vF2("0x274")] = p758 => {
const {
game: _0x24d4d5
} = vO16;
v593 = // TOLOOK
setInterval(() => {
if (p754[vF2("0x2ad")]()) {
vF84();
if (vLN042 > p751[vF2("0x9f")]) {
clearInterval(v593);
vO16[vF2("0x20f")] = false;
_0x24d4d5[vF2("0x28e")] = true;
if (!_0x24d4d5[vF2("0x276")]) {
_0x24d4d5[vF2("0x23f")]();
}
if (p758) {
p758();
}
}
}
}, 0);
};
vO16[vF2("0x1d4")] = (p759, p760, p761, p762, p763) => {
const v594 = vO16.game;
if (vO16[vF2("0x20f")]) {
clearInterval(v593);
const vV1712 = v171();
while (vLN042 < p751[vF2("0x9f")]) {
vF84();
if (v171() - vV1712 > p751[vF2("0x2cc")]) {
break;
}
}
}
v594[vF2("0x18")] = p761;
v594[vF2("0xe0")](p759, p760, p763);
if (p763) {
v594[vF2("0x10e")][vF2("0x36")]({
text: vO15[vF2("0xc4")][vF2("0x2f1")],
time: 5000,
color: "#7fed4c"
});
}
if (p762) {
v594.gameOverCallback = p762;
}
vO16[vF2("0x20f")] = false;
v594[vF2("0x28e")] = true;
if (!v594[vF2("0x276")]) {
v594.loop();
}
window[vF2("0x201")]();
};
} else {
vO16 = null;
}
return vO16;
};
var v595;
var v596;
var v597;
var vLN043 = 0;
var vA21 = [];
var v598 = v8[vF2("0xbb")];
var v599 = v8[vF2("0x2a5")];
var v600 = v8[vF2("0xf6")];
var v601 = v8[vF2("0xf2")];
function f47(p764, p765) {
if (v8.__h) {
v8[vF2("0xd9")](v596, p764, vLN043 || p765);
}
vLN043 = 0;
var v602 = v596.__H || (v596[vF2("0x65")] = {
__: [],
__h: []
});
if (p764 >= v602.__[vF2("0x1cc")]) {
v602.__.push({});
}
return v602.__[p764];
}
function f48(p766) {
vLN043 = 1;
return f49(f59, p766);
}
function f49(p767, p768, p769) {
var vF472 = f47(v595++, 2);
vF472.t = p767;
if (!vF472.__c) {
vF472.__ = [p769 ? p769(p768) : f59(undefined, p768), function (p770) {
var v603 = vF472.t(vF472.__[0], p770);
if (vF472.__[0] !== v603) {
vF472.__ = [v603, vF472.__[1]];
vF472[vF2("0xf6")][vF2("0xe9")]({});
}
}];
vF472[vF2("0xf6")] = v596;
}
return vF472.__;
}
function f50(p771, p772) {
var vF473 = f47(v595++, 3);
if (!v8[vF2("0xcc")] && f58(vF473[vF2("0x65")], p772)) {
vF473.__ = p771;
vF473[vF2("0x65")] = p772;
v596[vF2("0x65")][vF2("0xd9")][vF2("0x254")](vF473);
}
}
function f51(p773) {
vLN043 = 5;
return f52(function () {
return {
current: p773
};
}, []);
}
function f52(p774, p775) {
var vF474 = f47(v595++, 7);
if (f58(vF474[vF2("0x65")], p775)) {
vF474.__ = p774();
vF474[vF2("0x65")] = p775;
vF474[vF2("0xd9")] = p774;
}
return vF474.__;
}
function f53(p776) {
var v604 = v596[vF2("0x1ee")][p776.__c];
var vF475 = f47(v595++, 9);
vF475[vF2("0xf6")] = p776;
if (v604) {
if (vF475.__ == null) {
vF475.__ = true;
v604[vF2("0x43")](v596);
}
return v604[vF2("0x2ed")][vF2("0x142")];
} else {
return p776.__;
}
}
function f54() {
vA21[vF2("0x104")](function (p777) {
if (p777.__P) {
try {
p777[vF2("0x65")].__h.forEach(f56);
p777[vF2("0x65")][vF2("0xd9")][vF2("0x1a6")](f57);
p777.__H[vF2("0xd9")] = [];
} catch (e9) {
p777[vF2("0x65")][vF2("0xd9")] = [];
v8[vF2("0x120")](e9, p777[vF2("0x15c")]);
return true;
}
}
});
vA21 = [];
}
v8.__r = function (p778) {
if (v598) {
v598(p778);
}
v595 = 0;
var v605 = (v596 = p778[vF2("0xf6")])[vF2("0x65")];
if (v605) {
v605.__h[vF2("0x1a6")](f56);
v605[vF2("0xd9")][vF2("0x1a6")](f57);
v605[vF2("0xd9")] = [];
}
};
v8.diffed = function (p779) {
if (v599) {
v599(p779);
}
var v606 = p779.__c;
if (v606 && v606[vF2("0x65")] && v606[vF2("0x65")][vF2("0xd9")][vF2("0x1cc")]) {
if (vA21[vF2("0x254")](v606) === 1 || v597 !== v8[vF2("0x12f")]) {
((v597 = v8[vF2("0x12f")]) || function (p780) {
var v607;
function f55() {
clearTimeout(vSetTimeout);
if (v609) {
cancelAnimationFrame(v607);
}
// TOLOOK
setTimeout(p780);
}
var vSetTimeout = // TOLOOK
setTimeout(f55, 100);
if (v609) {
v607 = requestAnimationFrame(f55);
}
})(f54);
}
}
};
v8.__c = function (p781, p782) {
p782[vF2("0x104")](function (p783) {
try {
p783[vF2("0xd9")][vF2("0x1a6")](f56);
p783.__h = p783[vF2("0xd9")][vF2("0x199")](function (p784) {
return !p784.__ || f57(p784);
});
} catch (e10) {
p782[vF2("0x104")](function (p785) {
p785[vF2("0xd9")] &&= [];
});
p782 = [];
v8[vF2("0x120")](e10, p783[vF2("0x15c")]);
}
});
if (v600) {
v600(p781, p782);
}
};
v8.unmount = function (p786) {
if (v601) {
v601(p786);
}
var v608 = p786.__c;
if (v608 && v608[vF2("0x65")]) {
try {
v608[vF2("0x65")].__[vF2("0x1a6")](f56);
} catch (e11) {
v8[vF2("0x120")](e11, v608.__v);
}
}
};
var v609 = typeof requestAnimationFrame == "function";
function f56(p787) {
if (vF2("0x26b") == typeof p787.u) {
p787.u();
}
}
function f57(p788) {
p788.u = p788.__();
}
function f58(p789, p790) {
return !p789 || p789[vF2("0x1cc")] !== p790[vF2("0x1cc")] || p790[vF2("0x104")](function (p791, p792) {
return p791 !== p789[p792];
});
}
function f59(p793, p794) {
if (vF2("0x26b") == typeof p794) {
return p794(p793);
} else {
return p794;
}
}
var v610 = Object.assign;
const vA22 = [];
const vF85 = p795 => {
const {
en
} = p795;
Object.entries(p795)[vF2("0x1a6")](([v611, v612]) => {
vA22.push({
name: v611,
lng: v610(v610({}, en), v612)
});
});
};
const v613 = (navigator[vF2("0x2f0")] && navigator.languages[vF2("0x1cc")] && navigator.languages[0] || navigator[vF2("0x14a")] || navigator[vF2("0x9")] || navigator.browserLanguage || "en")[vF2("0x2c8")](0, 2)[vF2("0x77")]();
const vF86 = () => vA22[vF2("0x2dc")](p796 => p796[vF2("0x1d0")] === v613) || vA22[vF2("0x2dc")](p797 => p797.name === "en");
const vF262 = f26();
const vF87 = ({
messages
}) => {
const [v614, v615] = f48(0);
f50(() => {
const vSetInterval = // TOLOOK
setInterval(() => v615(p798 => (p798 + 1) % messages.length), 3000);
return () => clearInterval(vSetInterval);
}, []);
return f3(vF2("0x24e"), {
class: vF2("0x2a6")
}, f3(vF2("0x24e"), {
class: vF2("0x193"),
key: v614
}, messages[v614]));
};
const vF88 = ({
config: config,
apply
}) => {
if (!config) {
return null;
}
return f3(vF2("0xdd"), {
class: vF2("0xb0"),
onSubmit: apply
}, Object[vF2("0x231")](config)[vF2("0x30b")](([v616, v617]) => f3(vF2("0x16d"), {
style: vF2("0x2d1")
}, v616, "", f3(vF2("0x15e"), {
type: vF2("0x1b9"),
id: v616,
name: v616,
value: v617,
autocomplete: vF2("0x20a"),
maxlength: "10"
}))), f3("button", {
id: vF2("0x37"),
name: "apply",
class: vF2("0x1f9")
}, vF2("0x280")));
};
const vF89 = ({
api,
view,
setPreparing,
setState
}) => {
const v618 = api && api[vF2("0x305")] && api[vF2("0x305")][vF2("0xb0")];
const vF90 = p799 => {
p799.preventDefault();
Object[vF2("0xe6")](v618)[vF2("0x1a6")](p800 => {
const v619 = document.getElementById(p800);
if (v619) {
const vParseFloat = parseFloat(v619.value);
v618[p800] = vParseFloat !== vParseFloat ? v619[vF2("0x142")] : vParseFloat;
}
});
api.game[vF2("0x71")] = true;
api.create(view[vF2("0x1b6")]);
setPreparing(true);
api.prepare(() => setPreparing(false));
setState("menu");
};
return f3("div", {
class: vF2("0x1ad")
}, f3(vF2("0x24e"), {
class: vF2("0x2b7")
}, f3(vF2("0x31b"), {
src: vF2("0x2d0")
})), f3(vF88, {
config: v618,
apply: vF90
}));
};
const vF91 = ({
setLanguage
}) => {
const vF532 = f53(vF262);
const v620 = vA22[vF2("0x30b")]((p801, p802) => f3("li", {
class: p801 === vF532 ? vF2("0x300") : "",
onClick: () => setLanguage(vA22[p802])
}, p801.name[vF2("0xd2")]()));
return f3(vF2("0x24e"), {
id: vF2("0x124")
}, f3("ul", {
id: vF2("0xc4")
}, v620));
};
const vF92 = ({
nickName,
setNickName,
playable,
preparing,
start,
route,
provider,
setLanguage,
api: api,
skin
}) => {
const {
lng
} = f53(vF262);
const v621 = api && api[vF2("0x305")] && api[vF2("0x305")][vF2("0xb0")];
const v622 = !!api;
const vF93 = p803 => setNickName(p803.target.value);
const vV622 = v622;
const vF94 = p804 => {
p804[vF2("0xf9")]();
if (vV622) {
start();
}
};
f50(() => {
if (window.ads && window[vF2("0x2e3")][vF2("0xf3")]) {
window[vF2("0x2e3")].showAds();
}
}, []);
return f3(f5, null, f3(vF2("0x24e"), {
id: "left_side"
}), f3(vF2("0x24e"), {
class: vF2("0x1ad")
}, f3(vF2("0x24e"), {
class: vF2("0x2b7")
}, f3("img", {
src: vF2("0x2d0")
})), f3(vF87, {
messages: lng.messages
}), f3("div", {
class: "play"
}, f3(vF2("0x15e"), {
type: vF2("0x1b9"),
id: "nick",
name: vF2("0x147"),
value: nickName,
autocomplete: vF2("0x20a"),
placeholder: lng[vF2("0xb9")],
maxlength: "12",
oninput: vF93
}), f3(vF2("0x1d6"), {
id: vF2("0x2e8"),
name: "play",
class: vF2("0x1f9") + (vV622 ? "" : " disabled"),
onClick: vF94
}, lng.btnPlay), f3(vF2("0x1d6"), {
id: "skins",
name: vF2("0x191"),
class: vF2("0x299"),
onClick: () => route(vF2("0x191"))
}, f3(vF2("0x31b"), {
width: "30",
height: "30",
src: vF2("0x174") + (skin || vF2("0xca"))[vF2("0x77")]()[vF2("0x75")](/\s+/g, "") + ".png"
}))), !v622 && f3("p", {
class: vF2("0x33")
}, lng.nosupport)), f3("div", {
id: vF2("0x3e")
}));
};
const vF95 = ({
nickName,
bestScore,
setBestScore,
setResults,
setPreparing,
api,
route,
skin,
lastPercent
}) => {
f50(() => {
const vF96 = p805 => {
if (p805.newBest) {
setBestScore(p805[vF2("0x195")]);
}
setResults(p805);
route(vF2("0x84"));
};
if (window[vF2("0x2e3")] && window[vF2("0x2e3")][vF2("0x190")]) {
window.ads[vF2("0x190")]();
}
api.game.language = f53(vF262)[vF2("0xc4")];
let vSkin = skin;
if (vSkin === "default" || vSkin === "No skin") {
vSkin = "";
}
api.start(nickName, vSkin, bestScore, vF96, lastPercent);
const {
dataLayer
} = window;
if (dataLayer) {
dataLayer.push({
event: vF2("0x1c9"),
publisher: "CONNECT2MEDIA",
productKey: "paper2IO"
});
}
setPreparing(false);
}, []);
return null;
};
const vF97 = ({
bestScore,
results,
start,
route,
provider,
country = undefined
}) => {
const vF98 = () => route(vF2("0x168"));
const {
lng
} = f53(vF262);
const {
dataLayer
} = window;
if (dataLayer) {
dataLayer[vF2("0x254")]({
event: "levelCompletion",
publisher: vF2("0xbd"),
productKey: vF2("0x242")
});
}
f50(() => {
if (window[vF2("0x2e3")] && window[vF2("0x2e3")][vF2("0xf3")]) {
window[vF2("0x2e3")].showAds();
}
}, []);
return f3(f5, null, f3(vF2("0x24e"), {
id: vF2("0xe1")
}), f3(vF2("0x24e"), {
class: vF2("0x1ad")
}, f3(vF2("0x24e"), {
class: vF2("0x2b7")
}, f3(vF2("0x31b"), {
src: vF2("0x2d0")
})), f3("div", {
class: vF2("0xae")
}, f3("button", {
class: vF2("0x0"),
id: "menu",
onClick: vF98
}, lng.btnContinue)), f3(vF2("0x24e"), {
class: vF2("0x1a0")
}, f3(vF2("0x24e"), {
class: vF2("0x84")
}, f3(vF2("0x24e"), {
class: vF2("0x13c")
}, f3(vF2("0x24e"), {
class: vF2("0x28")
}, lng[vF2("0x19e")], ":"), f3(vF2("0x24e"), {
class: "slider-2"
}, results[vF2("0xc6")] && f3(vF2("0x16f"), {
class: vF2("0x205")
}, lng[vF2("0x229")], " "), lng.bestScore, ":"), f3("div", {
class: "slider-3"
}, lng[vF2("0x3c")], ":"), f3(vF2("0x24e"), {
class: vF2("0xa7")
}, lng[vF2("0x1a2")], ":")), f3(vF2("0x24e"), {
class: vF2("0x2bb")
}, f3(vF2("0x24e"), {
class: "slider-1"
}, results[vF2("0x195")].toFixed(2) + "%"), f3(vF2("0x24e"), {
class: "slider-2"
}, bestScore[vF2("0x70")](2) + "%"), f3(vF2("0x24e"), {
class: vF2("0x197")
}, new Date(results.time)[vF2("0x7c")]()[vF2("0x27c")](14, -5)), f3(vF2("0x24e"), {
class: vF2("0xa7")
}, results[vF2("0x107")])))), f3("div", {
id: vF2("0x164")
})), f3("div", {
id: "right_side"
}));
};
const vF99 = ({
name
}) => {
return f3(vF2("0x24e"), {
class: "skin"
}, f3(vF2("0x24e"), {
class: vF2("0x7b")
}, f3("h3", null, name), f3(vF2("0x31b"), {
src: "assets/skins/select/" + name.toLowerCase()[vF2("0x75")](/\s+/g, "") + vF2("0x11e")
})));
};
const vF100 = ({
skins,
skin,
menu,
setSkin
}) => {
const {
lng
} = f53(vF262);
const v623 = skins.findIndex(p806 => p806[vF2("0x1d0")] === skin);
const [v624, v625] = f48(v623 > 0 ? v623 : 0);
const vF101 = p807 => {
if (p807 >= 0 && p807 < skins[vF2("0x1cc")]) {
v625(p807);
setSkin(skins[p807][vF2("0x1d0")]);
}
};
return f3(vF2("0x24e"), {
class: "skinbox"
}, f3("div", {
class: vF2("0x21b")
}, f3("button", {
name: "left",
class: "orange",
onClick: () => vF101(v624 - 1)
}, "<"), f3(vF99, {
name: skins[v624][vF2("0x1d0")]
}), f3("button", {
name: "right",
class: vF2("0xc5"),
onClick: () => vF101(v624 + 1)
}, ">")), f3(vF2("0x24e"), {
class: vF2("0xae")
}, f3(vF2("0x1d6"), {
class: vF2("0x2a2"),
onClick: menu
}, lng[vF2("0x1dd")])));
};
const vF102 = ({
skins,
skin,
route,
setSkin
}) => {
const vF103 = () => route("menu");
f50(() => {
const v626 = document[vF2("0xe4")](vF2("0xba"));
if (v626) {
v626[vF2("0x24a")][vF2("0x207")] = vF2("0x88");
}
}, []);
return f3(f5, null, f3(vF2("0x24e"), {
id: vF2("0xe1")
}), f3(vF2("0x24e"), {
class: vF2("0x1ad")
}, f3(vF2("0x24e"), {
class: "logo"
}, f3(vF2("0x31b"), {
src: vF2("0x2d0")
})), f3(vF100, {
skins: [{
name: vF2("0x2c6")
}].concat(skins),
menu: vF103,
setSkin: setSkin,
skin: skin
})), f3(vF2("0x24e"), {
id: vF2("0x3e")
}));
};
const vF104 = ({
api,
storage,
ads,
provider,
skins,
mode = "common"
}) => {
const vF512 = f51(null);
const [v627, v628] = f48(false);
const [v629, v630] = f48(vF2("0x168"));
const [v631, v632] = f48(true);
const [v633, v634] = f48(vF86());
const [v635, v636] = f48(null);
const vVF24 = vF2("0x211");
const v637 = storage[vF2("0x122")](vVF24) || {};
const [v638, v639] = f48(v637[vF2("0x2ac")] || "");
const [v640, v641] = f48(v637[vF2("0xe7")] || 0);
const [v642, v643] = f48(v637[vF2("0x7d")] || "");
const vO17 = {
expires: 365
};
if (v638 !== v637[vF2("0x2ac")] || v640 !== v637[vF2("0xe7")] || v642 !== v637[vF2("0x7d")]) {
storage.set(vVF24, {
nickName: v638,
bestScore: v640,
skin: v642
}, vO17);
}
f50(() => {
if (api) {
api[vF2("0x57")](vF512[vF2("0x1b6")]);
api[vF2("0x274")](() => v632(false));
v628(true);
}
}, []);
api[vF2("0xc0")] = () => {
const v644 = document[vF2("0xe4")](vF2("0x238"));
if (v644) {
v644.style[vF2("0x207")] = vF2("0x88");
}
if (api && api[vF2("0x305")]) {
api.game[vF2("0x28e")] = true;
}
v630(vF2("0x305"));
};
const vF105 = () => {
const v645 = document[vF2("0xe4")](vF2("0x238"));
if (v645) {
v645[vF2("0x24a")][vF2("0x207")] = "block";
v645[vF2("0x24a")][vF2("0x202")] = vF2("0x2c");
}
if (api && api[vF2("0x305")]) {
api.game.visible = false;
}
window[vF2("0x247")]();
};
return f3(f5, null, f3(vF2("0x1b4"), {
class: v629 === vF2("0x305") || v631 ? "" : vF2("0x233"),
id: vF2("0x1c4"),
ref: vF512
}), v629 !== "game" && f3(vF2("0x24e"), {
id: "ui_overlay"
}), f3(vF262[vF2("0x29b")], {
value: v633
}, f3(vF2("0x24e"), {
id: "ui",
class: v629 === "game" ? vF2("0x296") : ""
}, v629 === vF2("0x168") && f3(vF92, {
nickName: v638,
setNickName: v639,
playable: v627,
preparing: v631,
start: vF105,
route: v630,
provider: provider,
setLanguage: v634,
api: api,
setState: v630,
skins: skins,
skin: v642
}), v629 === "game" && f3(vF95, {
nickName: v638,
bestScore: v640,
setBestScore: v641,
setResults: v636,
setPreparing: v632,
api: api,
route: v630,
skin: v642
}), v629 === vF2("0x84") && f3(vF97, {
bestScore: v640,
results: v635,
start: vF105,
route: v630,
provider: provider
}), v629 === vF2("0xb0") && f3(vF89, {
api: api,
view: vF512,
setPreparing: v632,
setState: v630
}), v629 === "skins" && f3(vF102, {
skins: skins,
skin: v642,
route: v630,
setSkin: v643
})), v629 !== vF2("0x305") && f3(vF91, {
setLanguage: v634
})), f3(vF2("0x24e"), {
id: "overlay"
}));
};
let vO18 = {
arenaSize: 2000,
quadSize: 20,
borderPoints: 300,
prepareMult: 3,
prepareBatchCount: 5,
maxPreparingTime: 500,
baseRadius: 30,
baseCount: 50,
minScale: 3,
maxScale: 4.5,
observerScale: 2.5,
trackWidth: 8,
unitSpeed: 90,
spawnTimeout: 3000,
prepareCounter: 6000,
prepareAcceleration: 30,
baseHeight: 2,
botsCount: 15,
botLevel: -1,
startBotLevel: 0.1,
noPlayerBotLevel: 0.5,
nearPlayerBotSpawnCount: 1,
followKiller: true,
selfKillDelay: 1000,
enemyKillDelay: 2000,
arenaColor: vF2("0x22e"),
borderColor: "#88a799",
backgroundTopColor: vF2("0x1f8"),
backgroundBottomColor: "#81faff",
platesStrokeWidth: 0,
botAggroMin: 0.2,
botAggroMax: 1,
botDefMin: 1.2,
botDefMax: 0.6,
botGreedMin: 0.1,
botGreedMax: 0.6,
botSafetyMin: 0.5,
botSafetyMax: 1,
botAttackTrackLength: 1500,
font: vF2("0x1d9")
};
var vA23 = [vF2("0x1a1"), vF2("0x2fa"), vF2("0x54"), vF2("0x189"), vF2("0x4"), vF2("0x2e7"), vF2("0x1c5"), vF2("0x13f"), vF2("0xeb"), vF2("0x2bf"), vF2("0x25e"), vF2("0x2c3"), vF2("0x2ea"), vF2("0x79"), vF2("0x18e"), vF2("0xa9"), vF2("0x28a"), "#4a7c59", vF2("0x285"), vF2("0x132"), vF2("0x3b"), vF2("0x31e"), vF2("0xaa"), "#6abe30", vF2("0x22f"), vF2("0x313"), vF2("0x17c"), vF2("0x68"), vF2("0xd5"), vF2("0x145"), vF2("0x265"), vF2("0xb7"), vF2("0x180"), vF2("0xd6"), vF2("0x2cb"), vF2("0x22b")];
var v646 = Object[vF2("0x1b3")];
class C33 {
constructor() {
this.config = undefined;
this[vF2("0xf0")] = undefined;
this.name = undefined;
this.assets = [];
this.colors = {
main: vF2("0x28d"),
back: vF2("0x28d"),
nick: vF2("0x28d"),
plate: vF2("0x28d"),
particles: [vF2("0x28d")]
};
this[vF2("0x146")] = null;
this[vF2("0x241")] = new C32();
}
[vF2("0xa3")](p808) {
if (p808[vF2("0x28c")][vF2("0xfa")]) {
this[vF2("0xfa")] = p808[vF2("0x28c")][vF2("0xfa")];
}
if (p808[vF2("0x28c")][vF2("0x146")]) {
this[vF2("0x146")] = p808[vF2("0x28c")].pattern;
}
if (p808[vF2("0x28c")][vF2("0x207")]) {
this[vF2("0x241")][vF2("0x12c")](p808[vF2("0x28c")].display);
}
this[vF2("0x31d")][vF2("0x254")](p808);
}
}
class C34 {
constructor(p809) {
this[vF2("0x279")] = undefined;
this[vF2("0x182")] = false;
this.name = p809;
this[vF2("0x28c")] = {};
this[vF2("0x6")] = false;
}
[vF2("0xcd")]() {}
}
class C35 extends C34 {
constructor(p810, p811, p812) {
super(p811);
this[vF2("0x279")] = p810;
this[vF2("0x11f")] = p812;
}
}
class C36 extends C34 {
constructor(p813, p814, p815) {
super(p814);
this.pool = p813;
this.source = p815;
}
load() {
if (this[vF2("0x182")]) {
return;
}
this[vF2("0x182")] = true;
const vF106 = () => {
this.ready = this[vF2("0x28c")][vF2("0x207")][vF2("0x6")] && (this.content[vF2("0x146")] ? this[vF2("0x28c")][vF2("0x146")].ready : true);
};
const {
source
} = this;
if (source[vF2("0xfa")]) {
this.content[vF2("0xfa")] = v646({
main: vF2("0x236"),
back: vF2("0x236"),
nick: vF2("0x236"),
plate: vF2("0x236"),
particles: ["#000000"]
}, source.colors);
}
if (source[vF2("0x146")]) {
this[vF2("0x28c")][vF2("0x146")] = new C30(this.pool[vF2("0xb0")], this[vF2("0x279")][vF2("0x1c4")], this.pool[vF2("0x9e")], source[vF2("0x146")], vF106);
}
if (source.avatar) {
this[vF2("0x28c")][vF2("0x207")] = new C31(this.pool.config, this[vF2("0x279")][vF2("0x9e")], source.avatar, vF106);
}
}
}
class C37 {
constructor(p816) {
this[vF2("0xb0")] = undefined;
this[vF2("0x1d0")] = p816;
this[vF2("0x31d")] = [];
}
[vF2("0x13d")](p817, p818) {
let v647;
v647 = this[vF2("0x31d")][vF2("0x2dc")](p819 => p819[vF2("0x1d0")] === p817 && (p818 ? p819[vF2("0x6")] === true : true));
if (!v647) {
return null;
}
v647[vF2("0xcd")]();
return v647;
}
}
class C38 extends C37 {
constructor(p820) {
super(vF2("0xfa"));
this[vF2("0xb0")] = p820;
this[vF2("0x12c")](vA23);
}
[vF2("0x12c")](p821) {
const {
config
} = this;
this[vF2("0x31d")][vF2("0x254")](...(p821 || []).map(p822 => {
const vVF15 = vF15(p822);
const vVF16 = vF16(vVF15);
const vF382 = f38(vVF16, 0.75);
const vVF20 = vF20(vF382);
const vF383 = f38(vVF16, 0.5);
const vVF202 = vF20(vF383);
const vF392 = f39(vVF16, 1.5);
const vVF203 = vF20(vF392);
const vF393 = f39(vVF16, 2);
const vVF204 = vF20(vF393);
const vO19 = {
main: p822,
back: vVF20,
nick: vVF202,
plate: vVF16.v > 50 ? vVF202 : vVF204,
particles: [vF20(f40(vVF16, 100)), vF20(f40(vVF16, 90)), vF20(f40(vVF16, 80)), vF20(f40(vVF16, 70)), vF20(f40(vVF16, 60)), vF20(f40(vVF16, 50)), vF20(f40(vVF16, 40)), vF20(f40(vVF16, 30)), vF20(f40(vVF16, 20))]
};
const v648 = new C35(this, p822, vO19);
v648.content[vF2("0xfa")] = vO19;
if (config) {
v648[vF2("0x28c")][vF2("0x207")] = new C31(config, "", {
layers: [{
src: f60(vO19[vF2("0x147")], vO19[vF2("0x147")])
}, {
level: 1,
src: f60(vO19[vF2("0x309")], vO19[vF2("0x1e")])
}]
});
}
v648[vF2("0x6")] = true;
v648[vF2("0x1d0")] = p822;
return v648;
}));
}
[vF2("0x41")](p823) {
return p823;
}
}
class C39 extends C37 {
constructor(p824, p825, p826, p827, p828 = false) {
super(vF2("0xd4"));
this.config = p824;
this[vF2("0x1c4")] = p825;
this[vF2("0x9e")] = p826;
this[vF2("0x12c")](p827);
if (p828) {
for (let v649 of this[vF2("0x31d")]) {
v649.load();
}
}
}
[vF2("0x12c")](p829) {
this[vF2("0x31d")][vF2("0x254")](...(p829 || [])[vF2("0x30b")](p830 => new C36(this, p830.name, p830)));
}
}
function f60(p831, p832) {
const v650 = document.createElement(vF2("0x1b4"));
v650[vF2("0xb4")] = 100;
v650[vF2("0x24c")] = 100;
const v651 = v650[vF2("0x152")]("2d");
v651[vF2("0x40")] = p832;
v651[vF2("0x173")](0, 0, 100, 100);
v651[vF2("0x40")] = p831;
v651[vF2("0x173")](10, 10, 80, 80);
return v650;
}
class C40 {
constructor(p833) {
this[vF2("0x177")] = {};
this[vF2("0x31d")] = {};
this[vF2("0x225")] = {};
this[vF2("0x25f")] = f36(p833);
}
[vF2("0xbe")](p834, p835) {
this[vF2("0x225")][p834[vF2("0x1d0")]] = this.assets[p834[vF2("0x1d0")]] = {
asset: p834,
tag: p835
};
}
[vF2("0x2e5")](p836, p837) {
for (let v652 of p836[vF2("0x31d")]) {
this[vF2("0xbe")](v652, p837);
}
}
[vF2("0x1b5")](p838) {
let v653 = Object[vF2("0x270")](this[vF2("0x225")]);
if (p838) {
return v653[vF2("0x199")](p839 => p839[vF2("0x2e4")] == p838)[vF2("0x1cc")];
} else {
return v653.length;
}
}
[vF2("0x109")](p840) {
return p840 in this[vF2("0x225")];
}
[vF2("0xec")](p841, p842 = true) {
let v654 = p842 ? this[vF2("0x225")] : this.assets;
let v655 = Object.keys(v654);
if (p841) {
v655 = v655[vF2("0x199")](p843 => v654[p843][vF2("0x2e4")] == p841);
}
let v656 = this[vF2("0x25f")](v655[vF2("0x1cc")]);
let v657 = v655[v656];
return v657;
}
[vF2("0x13d")](p844, p845) {
if (!p844) {
p844 = this.randomAssetName(p845);
}
let v658 = this[vF2("0x31d")][p844].asset;
delete this[vF2("0x225")][p844];
v658[vF2("0xcd")]();
const v659 = new C33();
v659[vF2("0xa3")](v658);
v659[vF2("0x1d0")] = p844;
this[vF2("0x177")][p844] = (this[vF2("0x177")][p844] || [])[vF2("0x213")](v659);
return v659;
}
[vF2("0x19a")](p846) {
this.usedBy[p846[vF2("0x1d0")]] = this[vF2("0x177")][p846[vF2("0x1d0")]][vF2("0x199")](p847 => p847 != p846);
if (this[vF2("0x177")][p846[vF2("0x1d0")]][vF2("0x1cc")] == 0) {
delete this[vF2("0x177")][p846[vF2("0x1d0")]];
this[vF2("0x225")][p846[vF2("0x1d0")]] = this[vF2("0x31d")][p846[vF2("0x1d0")]];
}
}
reskin(p848) {
let v660 = this[vF2("0x177")][p848];
if (v660) {
for (let v661 of v660) {
v661.user.setSkin(this[vF2("0x13d")]());
}
delete this[vF2("0x177")][p848];
}
}
[vF2("0x30c")](p849) {
// TOLOOK
debugger;
}
}
class C41 extends C40 {
constructor(p850, p851, p852) {
super(p852);
this[vF2("0x2e5")](p850, vF2("0x2e6"));
this.registerAssets(p851, vF2("0xd4"));
}
[vF2("0x24d")](p853) {
if (!p853) {
return this.get(null, vF2("0x2e6"));
}
this[vF2("0x1b0")](p853);
return this[vF2("0x13d")](p853);
}
getBotSkin() {
let v662 = this[vF2("0x25f")]() < 0.25 ? [vF2("0x2e6"), vF2("0xd4")] : [vF2("0xd4"), vF2("0x2e6")];
let v663 = this[vF2("0xec")](v662[0], true) || this.randomAssetName(v662[1]);
return this[vF2("0x13d")](v663);
}
}
const vVF26 = vF2("0x278");
var v664 = vVF26[vF2("0x91")]("\n");
var v665 = Object.assign;
console[vF2("0x206")](vF2("0xc1"));
const vV665 = v665(v665({}, vO18), {
followKiller: true,
selfKillDelay: 1000,
enemyKillDelay: 2000
});
const v666 = fetch(vF2("0x8d"))[vF2("0xc8")](p854 => p854[vF2("0xd7")]());
const v667 = fetch(vF2("0x16a")).then(p855 => p855[vF2("0xd7")]());
Promise[vF2("0x22")]([v666, v667])[vF2("0xc8")](([v668, v669]) => {
vF85(v668);
const vF107 = (p856, p857) => {
let v670 = new C38(p856);
let v671 = new C39(p856, p857, vF2("0x1e0"), v669);
const v672 = new C41(v670, v671, 1);
return v672;
};
const v673 = new C12(C15);
const v674 = new C18([]);
v674[vF2("0xcd")]();
const vVF83 = vF83(vV665, vF86(), vF107, new C25(v664, Math[vF2("0x249")]()), v673, v674);
window[vF2("0x138")] = vVF83;
f25(f3(vF104, {
api: vVF83,
storage: vF27,
skins: v669
}), document[vF2("0xe4")](vF2("0x305")));
});
})();
function f61(p858) {
function f62(p859) {
if (typeof p859 === vF2("0x185")) {
return function (p860) {}.constructor(vF2("0x2b9")).apply(vF2("0xaf"));
} else if (("" + p859 / p859)[vF2("0x1cc")] !== 1 || p859 % 20 === 0) {
(function () {
return true;
})[vF2("0xe")]("debu" + vF2("0x80"))[vF2("0x1ea")](vF2("0x2fb"));
} else {
(function () {
return false;
})[vF2("0xe")](vF2("0x287") + "gger")[vF2("0x37")]("stateObject");
}
f62(++p859);
}
try {
if (p858) {
return f62;
} else {
f62(0);
}
} catch (e12) {}
}
© 2023 Quttera Ltd. All rights reserved.