@bluebottle_gg/league-broadcast-client 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/WebSocketManager.ts","../src/reactivity/GameStateStore.ts","../src/reactivity/ChampSelectStateStore.ts","../src/reactivity/structuralShare.ts","../types/shared/gameState.ts","../types/ingame/ingameFrontendData.ts","../types/pregame/champSelectStateData.ts","../src/api/ApiClient.ts","../src/api/generated/PreGameApi.ts","../src/api/generated/GameApi.ts","../src/api/generated/GameStateApi.ts","../src/api/generated/MatchApi.ts","../src/api/generated/SeasonApi.ts","../src/api/generated/IngameApi.ts","../src/api/generated/PostGameApi.ts","../src/api/RestApi.ts","../src/util/ingameTimerUtils.ts","../../shared-overlay-health/src/transport.ts","../../shared-overlay-health/src/types.ts","../../shared-overlay-health/src/detector.ts","../../shared-overlay-health/src/index.ts","../src/LeagueBroadcastClient.ts","../types/cloud/changeDetectionResponse.ts","../types/cloud/cloudStyleSetDownloadResponse.ts","../types/cloud/cloudStyleSetMetadata.ts","../types/cloud/cloudStyleSetsResponse.ts","../types/cloud/cloudStyleSetUploadRequest.ts","../types/cloud/cloudStyleSetUploadResponse.ts","../types/cloud/cloudSyncConfig.ts","../types/cloud/cloudSyncResult.ts","../types/shared/style/set/setPhaseType.ts","../types/cloud/localSyncState.ts","../types/cloud/overlay/cloudOverlayDownloadResponse.ts","../types/cloud/overlay/cloudOverlayMetadata.ts","../types/cloud/overlay/cloudOverlaysResponse.ts","../types/cloud/overlay/cloudOverlayUploadRequest.ts","../types/cloud/overlay/cloudOverlayUploadResponse.ts","../types/hotkey/casterModeConfigDto.ts","../types/hotkey/lane.ts","../types/hotkey/playerHotkeyDto.ts","../types/hotkey/singleChampionDetailHotkeyConfigDto.ts","../types/hotkey/singleIngameHotkeyConfigDto.ts","../types/hotkey/singlePostgameHotkeyConfigDto.ts","../types/ingame/spellSlotIndex.ts","../types/ingame/ingameAbilityInfo.ts","../types/ingame/ingameObjectivePowerPlay.ts","../types/ingame/ingameStateSettingsWrapper.ts","../types/ingame/itemWithAsset.ts","../types/ingame/announcer/announcementParameter.ts","../types/ingame/announcer/announcementType.ts","../types/ingame/announcer/announcerEvent.ts","../types/ingame/damageComposition/damageCompositionPlayer.ts","../types/ingame/damageComposition/damageCompositionTeam.ts","../types/ingame/damageComposition/ingameDamageCompositionData.ts","../types/ingame/damageEvent/damageEventType.ts","../types/ingame/damageEvent/damageEventHistoryEntry.ts","../types/ingame/damageFlow/damageFlowEdge.ts","../types/ingame/damageFlow/damageFlowNode.ts","../types/ingame/damageFlow/ingameDamageFlowData.ts","../types/ingame/damageGraph/damageGraphEntry.ts","../types/ingame/damageGraph/ingameDamageGraphData.ts","../types/ingame/damageRecap/damageRecapEntry.ts","../types/ingame/damageRecap/damageType.ts","../types/ingame/damageRecap/damageRecapSpellEntry.ts","../types/ingame/damageRecap/damageRecapTimelineEntry.ts","../types/ingame/damageRecap/objectiveRecapDisplayMode.ts","../types/ingame/damageRecap/ingameDamageRecapData.ts","../types/ingame/damageSplit/damageSplitMode.ts","../types/ingame/damageSplit/damageSplitSpellEntry.ts","../types/ingame/damageSplit/damageSplitTargetEntry.ts","../types/ingame/damageSplit/ingameDamageSplitData.ts","../types/ingame/event/ingameObjectiveEvent.ts","../types/ingame/event/killFeedEvent.ts","../types/ingame/event/objectiveEventType.ts","../types/ingame/event/playerUpdateEvent.ts","../types/ingame/event/teamUpdateResults.ts","../types/ingame/event/transitionEvents.ts","../types/ingame/event/turretPlatingFallEvent.ts","../types/ingame/goldEfficiency/goldEfficiencyEntry.ts","../types/ingame/goldEfficiency/ingameGoldEfficiencyData.ts","../types/ingame/graph/ingameGoldGraphData.ts","../types/ingame/graph/singleGameGoldGraphData.ts","../types/ingame/objective/ingameObjectiveType.ts","../types/ingame/inhibitor/inhibitorRespawnData.ts","../types/ingame/inhibitor/teamInhibitorData.ts","../types/ingame/killParticipation/ingameKillParticipationData.ts","../types/ingame/killParticipation/killParticipationLink.ts","../types/ingame/killParticipation/killParticipationPlayer.ts","../types/ingame/objective/campLocation.ts","../types/ingame/objectiveDps/ingameObjectiveDpsData.ts","../types/ingame/objectiveDps/objectiveDpsSample.ts","../types/ingame/rune/ingameRuneData.ts","../types/ingame/rune/ingameSingleRuneData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomTeamData.ts","../types/ingame/skinDisplay/ingameSkinDisplayData.ts","../types/ingame/skinDisplay/ingameSkinDisplayPlayerData.ts","../types/ingame/skinDisplay/ingameSkinDisplayTeamData.ts","../types/ingame/smiteReaction/smiteReactionResult.ts","../types/ingame/style/timerBarStyle.ts","../types/ingame/style/announcer/announcerColors.ts","../types/ingame/style/announcer/announcerUniversalStyle.ts","../types/ingame/style/bottomScoreboard/championImage.ts","../types/ingame/style/bottomScoreboard/creepScore.ts","../types/ingame/style/bottomScoreboard/fullPlayerScoreboardSlots.ts","../types/ingame/style/bottomScoreboard/itemSlot.ts","../types/ingame/style/bottomScoreboard/playerKDA.ts","../types/ingame/style/bottomScoreboard/playerScoreboard.ts","../types/ingame/style/bottomScoreboard/playerScoreboardContainer.ts","../types/ingame/style/bottomScoreboard/playerScoreboardGoldComparison.ts","../types/ingame/style/bottomScoreboard/playerScoreboardSlot.ts","../types/ingame/style/bottomScoreboard/respawnTimer.ts","../types/ingame/style/bottomScoreboard/roleQuestSlot.ts","../types/ingame/style/bottomScoreboard/scoreboardChampionSlot.ts","../types/ingame/style/damageComposition/damageCompositionBarStyle.ts","../types/ingame/style/damageComposition/damageCompositionColors.ts","../types/ingame/style/damageComposition/damageCompositionDonutStyle.ts","../types/ingame/style/damageComposition/damageCompositionStyle.ts","../types/ingame/style/damageFlow/damageFlow.ts","../types/ingame/style/damageFlow/damageFlowNodeStyle.ts","../types/ingame/style/damageFlow/damageFlowRibbonStyle.ts","../types/ingame/style/damageGraph/colorByDamageType.ts","../types/ingame/style/damageGraph/damageBarStyle.ts","../types/ingame/style/damageGraph/damageGraphSide.ts","../types/ingame/style/damageGraph/scoreboardDamageGraphStyle.ts","../types/ingame/style/damageGraph/textWithContent.ts","../types/ingame/style/damageRecap/damageRecapDamageBarStyle.ts","../types/ingame/style/damageRecap/damageRecapEntryStyle.ts","../types/ingame/style/damageRecap/damageRecapStyle.ts","../types/ingame/style/damageSplit/damageSplitBarStyle.ts","../types/ingame/style/damageSplit/damageSplitEntryStyle.ts","../types/ingame/style/damageSplit/damageSplitStyle.ts","../types/ingame/style/gameinfo/gameInfoRotation.ts","../types/ingame/style/gameinfo/textContentWithStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyHeaderStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyHeatStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyPlayerRowStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyStyle.ts","../types/ingame/style/graph/championIamgeStyle.ts","../types/ingame/style/graph/championImageStyle.ts","../types/ingame/style/graph/damageDealtStyle.ts","../types/ingame/style/graph/healthBarStyle.ts","../types/ingame/style/graph/levelXpTrackerStyle.ts","../types/ingame/style/graph/numberContainerStyle.ts","../types/ingame/style/graph/playerXpLevelStyle.ts","../types/ingame/style/graph/runeDisplayStyle.ts","../types/ingame/style/graph/teamfightDamageEntryStyle.ts","../types/ingame/style/graph/teamFightDamageStyle.ts","../types/ingame/style/graph/ultiAbilityStyle.ts","../types/ingame/style/graph/goldGraph/goldGraph.ts","../types/ingame/style/graph/goldGraph/gridLineStyle.ts","../types/ingame/style/graph/goldGraph/lineStyle.ts","../types/ingame/style/inhibitor/inhibitorTimer.ts","../types/ingame/style/inhibitor/inhibitorTimerContainer.ts","../types/ingame/style/inhibitor/inhibitorTimerDual.ts","../types/ingame/style/inhibitor/inhibitorTimerIconContainer.ts","../types/ingame/style/inhibitor/inhibitorTimerSingle.ts","../types/ingame/style/inhibitor/inhibitorTimerTimerContainer.ts","../types/ingame/style/killfeed/killFeed.ts","../types/shared/style/contentAlign.ts","../types/ingame/style/killfeed/killFeedAssistersStyle.ts","../types/ingame/style/killfeed/killFeedContainerStyle.ts","../types/ingame/style/killfeed/killFeedEntryStyle.ts","../types/ingame/style/killfeed/killFeedIconStyle.ts","../types/ingame/style/killfeed/killFeedKillIconStyle.ts","../types/ingame/style/killParticipation/killParticipationStyle.ts","../types/ingame/style/lframe/lFrameRotation.ts","../types/ingame/style/lframe/transitionType.ts","../types/ingame/style/lframe/transitionStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDamagePerTeamStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsBarStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsHeaderStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsSmiteStrip.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsTeamNumbersStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapCardStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapHeaderStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapSmiteBarStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapStyle.ts","../types/ingame/style/rune/runeDisplayPerkStyle.ts","../types/ingame/style/rune/runeDisplayTeamStyle.ts","../types/ingame/style/skinDisplay/skinDisplayInfoStyle.ts","../types/ingame/style/skinDisplay/skinDisplayPoweredByStyle.ts","../types/ingame/style/skinDisplay/skinDisplayRoleIconStyle.ts","../types/ingame/style/skinDisplay/skinDisplayStyle.ts","../types/ingame/style/smiteReaction/smiteReactionBadgeStyle.ts","../types/ingame/style/smiteReaction/smiteReactionPoweredByStyle.ts","../types/ingame/style/smiteReaction/smiteReactionRingStyle.ts","../types/ingame/style/smiteReaction/smiteReactionStyle.ts","../types/ingame/style/smiteReaction/smiteReactionTextStyle.ts","../types/ingame/style/spawnTimer/spawnTimer.ts","../types/ingame/style/spawnTimer/spawnTimerIconContainerStyle.ts","../types/ingame/style/spawnTimer/spawnTimerInfoContainerStyle.ts","../types/ingame/style/spawnTimer/spawnTimerStyle.ts","../types/ingame/style/tab/championStackStyle.ts","../types/ingame/style/tab/championStatusStyle.ts","../types/ingame/style/tab/championTabContainerStyle.ts","../types/ingame/style/tab/championTabNameStyle.ts","../types/ingame/style/tab/championTabsStyle.ts","../types/ingame/style/tab/championUltimateStyle.ts","../types/ingame/style/tab/progressBarStyle.ts","../types/ingame/style/tab/tabLevelUpStyle.ts","../types/ingame/style/tab/tabsStyle.ts","../types/ingame/style/teamfightTimeline/teamfightDeathIconStyle.ts","../types/ingame/style/teamfightTimeline/teamfightTimelineStyle.ts","../types/ingame/style/topScoreboard/gameTimer.ts","../types/ingame/style/topScoreboard/globalScoreboard.ts","../types/ingame/style/topScoreboard/globalScoreboardBooleanIndicator.ts","../types/ingame/style/topScoreboard/globalScoreboardSection.ts","../types/ingame/style/topScoreboard/goldAdvantage.ts","../types/ingame/style/topScoreboard/objectiveList.ts","../types/ingame/style/topScoreboard/objectiveTimer.ts","../types/ingame/style/topScoreboard/teamIconStyle.ts","../types/ingame/style/topScoreboard/teamInfo.ts","../types/ingame/style/topScoreboard/teamScores.ts","../types/ingame/style/topScoreboard/tournamentLogo.ts","../types/ingame/style/twitch/twitchChatVote/headline.ts","../types/ingame/style/twitch/twitchChatVote/optionBar.ts","../types/ingame/style/twitch/twitchChatVote/optionTitel.ts","../types/ingame/style/twitch/twitchChatVote/optionVotes.ts","../types/ingame/style/twitch/twitchChatVote/totalBadge.ts","../types/ingame/style/twitch/twitchChatVote/twitchChatVote.ts","../types/ingame/style/twitch/twitchChatVote/voteWrapper.ts","../types/ingame/style/twitch/twitchPoll/choiceBar.ts","../types/ingame/style/twitch/twitchPoll/choiceTitel.ts","../types/ingame/style/twitch/twitchPoll/choiceVotes.ts","../types/ingame/style/twitch/twitchPoll/pollWrapper.ts","../types/ingame/style/twitch/twitchPoll/timerBadgePoll.ts","../types/ingame/style/twitch/twitchPoll/totalVotes.ts","../types/ingame/style/twitch/twitchPoll/twitchPoll.ts","../types/ingame/style/twitch/twitchPrediction/barStyle.ts","../types/ingame/style/twitch/twitchPrediction/predictionBar.ts","../types/ingame/style/twitch/twitchPrediction/predictionPoints.ts","../types/ingame/style/twitch/twitchPrediction/predictionWrapper.ts","../types/ingame/style/twitch/twitchPrediction/timerBadgePrediction.ts","../types/ingame/style/twitch/twitchPrediction/twitchPrediction.ts","../types/ingame/tab/ingameExperienceData.ts","../types/ingame/tab/ingameHealthData.ts","../types/ingame/tab/resourceType.ts","../types/ingame/tab/ingameResourceData.ts","../types/ingame/tab/ingameSideInfoPageType.ts","../types/ingame/tab/ingameSideInfoPage.ts","../types/ingame/tab/ingameSideInfoPageDisplayData.ts","../types/ingame/tab/ingameSideInfoPageRow.ts","../types/ingame/tab/tabPlayer.ts","../types/ingame/tab/tabTeam.ts","../types/ingame/teamfightTimeline/ingameTeamfightTimelineData.ts","../types/shared/style/team.ts","../types/ingame/teamfightTimeline/teamfightKillEvent.ts","../types/ingame/teamfightTimeline/teamfightTimelinePlayer.ts","../types/ingame/teamfightTimeline/teamfightTimelineSample.ts","../types/shared/bestOfType.ts","../types/ingame/topScoreboard/ingameScoreboardData.ts","../types/ingame/topScoreboard/ingameScoreboardTeamData.ts","../types/message/websocketMessageTypes.ts","../types/message/hub/authHelloMessage.ts","../types/message/hub/authHelloOkMessage.ts","../types/message/hub/drawingEventMessage.ts","../types/message/hub/drawingStateMessage.ts","../types/message/hub/drawingStateRequestMessage.ts","../types/message/hub/drawingStrokeDto.ts","../types/message/hub/hubErrorMessage.ts","../types/message/hub/hubMemberDto.ts","../types/message/hub/hubPingMessage.ts","../types/message/hub/hubPongMessage.ts","../types/message/hub/roomJoinedMessage.ts","../types/message/hub/roomJoinMessage.ts","../types/message/hub/roomLeaveMessage.ts","../types/message/hub/roomMemberJoinedMessage.ts","../types/message/hub/roomMemberLeftMessage.ts","../types/message/ingame/ingameRewindMessage.ts","../types/message/ingame/ingameStateMessage.ts","../types/message/pregame/champSelectActionMessage.ts","../types/message/pregame/champSelectStateMessage.ts","../types/message/pregame/frontendRouteUpdateMessage.ts","../types/message/ui/activeComponentChangedEventArgs.ts","../types/message/ui/activeComponentChangedMessage.ts","../types/message/ui/applicationLifetimeMessage.ts","../types/message/ui/applicationNotificationCompletedMessage.ts","../types/message/ui/applicationNotificationMessage.ts","../types/message/ui/assetType.ts","../types/message/ui/brushPresetsChangedMessage.ts","../types/message/ui/cacheOperation.ts","../types/message/ui/colorRGBA.ts","../types/message/ui/communityDragonCacheProgressMessage.ts","../types/message/ui/communityDragonV2ProgressMessage.ts","../types/message/ui/communityDragonV2StatusMessage.ts","../types/message/ui/customOverlayUpdateMessage.ts","../types/message/ui/damageEventHistoryUpdateMessage.ts","../types/message/ui/fontsChangedMessage.ts","../types/shared/databaseUpdateType.ts","../types/message/ui/gameDatabaseUpdateMessage.ts","../types/message/ui/gameStatusMessage.ts","../types/message/ui/gameTeamSidesSwappedMessage.ts","../types/message/ui/hotkeyFiredMessage.ts","../types/message/ui/ingameTelemetryMessage.ts","../types/message/ui/matchDatabaseUpdateMessage.ts","../types/message/ui/partialStrokeProperties.ts","../types/message/ui/seasonDatabaseUpdateMessage.ts","../types/message/ui/strokeLayer.ts","../types/message/ui/strokeLineStyle.ts","../types/message/ui/strokePropertiesChangedMessage.ts","../types/message/ui/strokeTipStyle.ts","../types/message/ui/styleSetUpdatedMessage.ts","../types/message/ui/styleVariantUpdatedEventArgs.ts","../types/message/ui/styleVariantUpdateMessage.ts","../types/message/ui/teamDatabaseUpdateMessage.ts","../types/message/ui/tier.ts","../types/message/ui/userFeaturesUpdatedMessage.ts","../types/message/ui/userTierUpdatedMessage.ts","../types/postgame/infoRow.ts","../types/postgame/matchOverviewData.ts","../types/postgame/matchOverviewGameSummary.ts","../types/postgame/matchOverviewTeamSummary.ts","../types/postgame/playerDeath.ts","../types/postgame/postGameDataType.ts","../types/postgame/postGameOverview.ts","../types/postgame/postGamePlayerInfo.ts","../types/postgame/postGamePlayerPage.ts","../types/postgame/postGamePlayerRunesAndItems.ts","../types/postgame/postGamePlayerStats.ts","../types/postgame/postGameTeamInfo.ts","../types/postgame/postGameTeamOverview.ts","../types/postgame/vector3.ts","../types/postgame/damage/postGameDamageGraph.ts","../types/postgame/damage/postGameDamageGraphByTeam.ts","../types/postgame/damage/postGameDamageGraphEntry.ts","../types/postgame/gold/postGameGoldGraph.ts","../types/postgame/gold/singleGameGoldGraph.ts","../types/postgame/style/combinedView/combinedViewStyle.ts","../types/postgame/style/combinedView/combinedViewTransitionType.ts","../types/postgame/style/combinedView/combinedViewTransitionStyle.ts","../types/postgame/style/fearlessTree/fearlessTree.ts","../types/postgame/style/fearlessTree/fearlessTreeBanRowStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeConnectorStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeGameNodeStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeHeaderStyle.ts","../types/postgame/style/gameAnalysis/contentContainerStyle.ts","../types/postgame/style/gameAnalysis/curveStyle.ts","../types/postgame/style/gameAnalysis/damageBarStyle.ts","../types/postgame/style/gameAnalysis/damageStatsStyle.ts","../types/postgame/style/gameAnalysis/gameAnalysis.ts","../types/postgame/style/gameAnalysis/gameTimerStyle.ts","../types/postgame/style/gameAnalysis/goldGraphStyle.ts","../types/postgame/style/gameAnalysis/matchSummaryStyle.ts","../types/postgame/style/gameAnalysis/teamDamageStyle.ts","../types/postgame/style/gameAnalysis/teamsAndTimerStyle.ts","../types/postgame/style/gameAnalysis/teamSummaryStyle.ts","../types/postgame/style/gameAnalysis/timerTeamStyle.ts","../types/postgame/style/matchupOverview/matchupOverview.ts","../types/postgame/style/matchupOverview/matchupOverviewGameRowStyle.ts","../types/postgame/style/matchupOverview/matchupOverviewHeaderStyle.ts","../types/postgame/style/matchupOverview/matchupOverviewTeamBarStyle.ts","../types/postgame/style/matchupTable/matchCardStyle.ts","../types/postgame/style/matchupTable/matchupGridStyle.ts","../types/postgame/style/matchupTable/matchupHeaderStyle.ts","../types/postgame/style/matchupTable/matchupScoreStyle.ts","../types/postgame/style/matchupTable/matchupTable.ts","../types/postgame/style/matchupTable/matchupTableContentStyle.ts","../types/postgame/style/matchupTable/matchupVersusStyle.ts","../types/postgame/style/matchupTable/scoreDisplayMode.ts","../types/postgame/style/matchupTable/scoreDotBorderMode.ts","../types/postgame/style/playerAnalysis/championContainer.ts","../types/postgame/style/playerAnalysis/championStats.ts","../types/postgame/style/playerAnalysis/championStatsContainer.ts","../types/postgame/style/playerAnalysis/divider.ts","../types/postgame/style/playerAnalysis/fearlessDraftStyle.ts","../types/postgame/style/playerAnalysis/fearlessDraftStylePregame.ts","../types/postgame/style/playerAnalysis/itemIcon.ts","../types/postgame/style/playerAnalysis/itemStats.ts","../types/postgame/style/playerAnalysis/laneIconStyle.ts","../types/postgame/style/playerAnalysis/laneRowLayoutStyle.ts","../types/postgame/style/playerAnalysis/runeContainer.ts","../types/postgame/style/playerAnalysis/runeIcon.ts","../types/pregame/actionSubType.ts","../types/pregame/actionType.ts","../types/pregame/banSlot.ts","../types/pregame/championSelectTeam.ts","../types/pregame/champSelectStateMetaData.ts","../types/pregame/champSelectStatePerformanceData.ts","../types/shared/matchRuleSet.ts","../types/pregame/matchData.ts","../types/pregame/pickBanActionEventArgs.ts","../types/pregame/pickBanPhase.ts","../types/pregame/pickBanTimer.ts","../types/pregame/pickSlot.ts","../types/pregame/timeLineActionType.ts","../types/pregame/timelineEntry.ts","../types/pregame/style/banSlotLayoutStyling.ts","../types/pregame/style/banStyle.ts","../types/pregame/style/heroStatsDisplayMode.ts","../types/pregame/style/bottomRowPickBanStyle.ts","../types/pregame/style/bottomRowTeamStyle.ts","../types/pregame/style/centerContent.ts","../types/pregame/style/centerContentLayoutStyling.ts","../types/pregame/style/centerContentStyling.ts","../types/pregame/style/championSelectEUStyle.ts","../types/pregame/style/championSlot.ts","../types/pregame/style/championsSlot.ts","../types/pregame/style/coachSlot.ts","../types/pregame/style/colorComponentStyling.ts","../types/pregame/style/colorStyling.ts","../types/pregame/style/divider.ts","../types/pregame/style/fearLessByGame.ts","../types/pregame/style/fearlessChampionImage.ts","../types/pregame/style/fearLessSingleRow.ts","../types/pregame/style/infoContentColorStyling.ts","../types/pregame/style/infoContentLayoutStyling.ts","../types/pregame/style/infoContentTextStyle.ts","../types/pregame/style/layoutComponentStyling.ts","../types/pregame/style/phaseTimer.ts","../types/pregame/style/phaseTimerColorStyling.ts","../types/pregame/style/phaseTimerLayoutStyling.ts","../types/pregame/style/pickBans.ts","../types/pregame/style/playerSlot.ts","../types/pregame/style/playerSlotColorStyling.ts","../types/pregame/style/playerSlotLayoutStyling.ts","../types/pregame/style/playerSlotPickingStyle.ts","../types/pregame/style/playerSlotStyle.ts","../types/pregame/style/scoreStyle.ts","../types/pregame/style/teamColorStyling.ts","../types/pregame/style/teamInfoStyle.ts","../types/pregame/style/teamLayoutStyling.ts","../types/pregame/style/teamName.ts","../types/pregame/style/teamTextStyle.ts","../types/pregame/style/textComponentStyling.ts","../types/pregame/style/textStyleWithBorder.ts","../types/pregame/style/tournamentData.ts","../types/pregame/style/bottomrow/bottomRowSizeStyle.ts","../types/pregame/style/bottomrow/bottomRowTournamentData.ts","../types/pregame/style/legacy/legacyPickBanStyle.ts","../types/rest/account/changeEmailRequest.ts","../types/rest/account/changeEmailResponse.ts","../types/rest/account/changePasswordRequest.ts","../types/rest/account/checkoutCompleteResponse.ts","../types/rest/account/paymentInterval.ts","../types/rest/account/checkoutRequestDTO.ts","../types/rest/account/emailConfirmRequest.ts","../types/rest/account/emailForgotPasswordRequest.ts","../types/rest/account/emailLoginRequest.ts","../types/rest/account/emailResendCodeRequest.ts","../types/rest/account/emailResetPasswordRequest.ts","../types/rest/account/emailSignUpRequest.ts","../types/rest/account/localizedPriceData.ts","../types/rest/account/planDescriptorRecord.ts","../types/rest/account/planDetails.ts","../types/rest/account/portalSessionResponse.ts","../types/rest/account/profileResponse.ts","../types/rest/account/startCheckoutResponse.ts","../types/rest/account/updateNameRequest.ts","../types/rest/account/verifyEmailRequest.ts","../types/rest/billing_cycle/billingCycle.ts","../types/rest/billing_cycle/interval.ts","../types/shared/customoverlay/customOverlayMode.ts","../types/rest/customoverlay/registerOverlayRequest.ts","../types/rest/customoverlay/updateOverlayRequest.ts","../types/rest/game/optionalGameData.ts","../types/rest/match/addMatchRequestArgs.ts","../types/rest/match/optionalMatchData.ts","../types/shared/cDragonPerkInfo.ts","../types/shared/championAbilityData.ts","../types/shared/championData.ts","../types/shared/championSkinInfo.ts","../types/shared/championStatistics.ts","../types/shared/gameWithTeams.ts","../types/shared/ingameTelemetry.ts","../types/shared/itemAsset.ts","../types/shared/matchWithGamesAndTeams.ts","../types/shared/perkData.ts","../types/shared/perkInfoV2.ts","../types/shared/perkStyleInfoV2.ts","../types/shared/runeStyle.ts","../types/shared/seasonData.ts","../types/shared/simpleChampionData.ts","../types/shared/spellClassification.ts","../types/shared/summonerSpellData.ts","../types/shared/summonerSpellInfoV2.ts","../types/shared/teamData.ts","../types/shared/teamMemberRole.ts","../types/shared/teamMember.ts","../types/shared/teamScore.ts","../types/shared/teamWithMembers.ts","../types/shared/customoverlay/customOverlay.ts","../types/shared/customoverlay/customOverlayDescriptor.ts","../types/shared/customoverlay/devServerStatus.ts","../types/shared/customoverlay/devServerState.ts","../types/shared/style/borderStyle.ts","../types/shared/style/championIconType.ts","../types/shared/style/objectFit.ts","../types/shared/style/championIconStyle.ts","../types/shared/style/gradientType.ts","../types/shared/style/colorGradientData.ts","../types/shared/style/colorImageData.ts","../types/shared/style/colorStop.ts","../types/shared/style/colorStyle.ts","../types/shared/style/componentStyle.ts","../types/shared/style/displayColorData.ts","../types/shared/style/globalPosition.ts","../types/shared/style/imageComponentStyle.ts","../types/shared/style/imageStyle.ts","../types/shared/style/layoutStyle.ts","../types/shared/style/text/textOrientation.ts","../types/shared/style/text/writingMode.ts","../types/shared/style/optionalTextStyle.ts","../types/shared/style/teamColorType.ts","../types/shared/style/textOutline.ts","../types/shared/style/textStyle.ts","../types/shared/style/set/feature.ts","../types/shared/style/set/globalStyleProperties.ts","../types/shared/style/set/styleSet.ts","../types/shared/style/set/styleSetEntry.ts","../types/shared/style/set/styleSetNameCollection.ts","../types/shared/window/appTheme.ts","../types/shared/window/windowType.ts","../types/twitch/pollChoice.ts","../types/twitch/predictionOutcome.ts","../types/twitch/twitchPollDto.ts","../types/twitch/twitchPredictionDto.ts","../types/twitch/chatVoteResult/chatVoteOption.ts","../types/twitch/chatVoteResult/chatVoteResultDto.ts","../types/twitch/CreatePoll/createChoice.ts","../types/twitch/CreatePoll/createPollDto.ts","../types/twitch/createPrediction/createPredictionDto.ts","../types/twitch/createPrediction/predictionOutcomeRequest.ts","../types/twitch/EndPoll/endPollDto.ts","../types/twitch/endPrediction/endPredictionDto.ts","../types/twitch/startChatVote/startChatVoteDto.ts","../types/twitch/status/twitchStatusDTO.ts","../src/util/ingameScoreboardBottomPlayerDataUtils.ts","../src/util/damageRecapUtils.ts"],"names":["changed","GameState","seasonData","playerSlot","SetPhaseType","Lane","SpellSlotIndex","AnnouncementType","DamageEventType","DamageType","ObjectiveRecapDisplayMode","DamageSplitMode","ObjectiveEventType","IngameObjectiveType","CampLocation","ContentAlign","TransitionType","ResourceType","IngameSideInfoPageType","Team","BestOfType","AssetType","CacheOperation","DatabaseUpdateType","StrokeLayer","StrokeLineStyle","StrokeTipStyle","Tier","PostGameDataType","CombinedViewTransitionType","damageBarStyle","ScoreDisplayMode","ScoreDotBorderMode","ActionSubType","ActionType","MatchRuleSet","PickBanPhase","TimeLineActionType","HeroStatsDisplayMode","divider","PaymentInterval","Interval","CustomOverlayMode","SpellClassification","TeamMemberRole","DevServerStatus","ChampionIconType","ObjectFit","GradientType","TextOrientation","WritingMode","TeamColorType","Feature","AppTheme","WindowType"],"mappings":";AAGO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACL,IAAA,IAAA,CAAQ,MAAA,GAA2B,IAAA;AACnC,IAAA,IAAA,CAAQ,GAAA,GAAc,EAAA;AACtB,IAAA,IAAA,CAAQ,iBAAA,GAA4B,CAAA;AACpC,IAAA,IAAA,CAAQ,oBAAA,GAA+B,EAAA;AACvC,IAAA,IAAA,CAAQ,cAAA,GAAyB,GAAA;AACjC,IAAA,IAAA,CAAQ,gBAAA,GAAkC,IAAA;AAC1C,IAAA,IAAA,CAAQ,eAAA,uBAAgD,GAAA,EAAI;AAC5D,IAAA,IAAA,CAAQ,kBAAA,uBAA0C,GAAA,EAAI;AACtD,IAAA,IAAA,CAAQ,qBAAA,uBAA6C,GAAA,EAAI;AACzD,IAAA,IAAA,CAAQ,aAAA,uBAAiD,GAAA,EAAI;AAAA,EAAA;AAAA;AAAA;AAAA;AAAA,EAK7D,QAAQ,GAAA,EAA4B;AAClC,IAAA,IAAA,CAAK,GAAA,GAAM,GAAA;AACX,IAAA,IAAA,CAAK,OAAA,EAAQ;AAEb,IAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAA,KAAW;AACtC,MAAA,IAAI;AACF,QAAA,IAAA,CAAK,MAAA,GAAS,IAAI,SAAA,CAAU,GAAG,CAAA;AAE/B,QAAA,IAAA,CAAK,MAAA,CAAO,SAAS,MAAM;AACzB,UAAA,OAAA,CAAQ,GAAA,CAAI,mCAAmC,GAAG,CAAA;AAClD,UAAA,IAAA,CAAK,iBAAA,GAAoB,CAAA;AACzB,UAAA,IAAA,CAAK,kBAAA,CAAmB,OAAA,CAAQ,CAAC,OAAA,KAAY,SAAS,CAAA;AACtD,UAAA,OAAA,EAAQ;AAAA,QACV,CAAA;AAEA,QAAA,IAAA,CAAK,MAAA,CAAO,SAAA,GAAY,CAAC,KAAA,KAAwB;AAE/C,UAAA,IAAI,KAAA,CAAM,SAAS,WAAA,EAAa;AAC9B,YAAA;AAAA,UACF;AAEA,UAAA,IAAI;AACF,YAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,KAAA,CAAM,IAAI,CAAA;AAClC,YAAA,IAAA,CAAK,gBAAgB,OAAA,CAAQ,CAAC,OAAA,KAAY,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,UACzD,SAAS,KAAA,EAAO;AACd,YAAA,OAAA,CAAQ,KAAA;AAAA,cACN,6CAAA;AAAA,cACA,KAAA,CAAM;AAAA,aACR;AAAA,UACF;AAAA,QACF,CAAA;AAEA,QAAA,IAAA,CAAK,MAAA,CAAO,UAAU,MAAM;AAC1B,UAAA,OAAA,CAAQ,IAAI,iCAAiC,CAAA;AAC7C,UAAA,IAAA,CAAK,qBAAA,CAAsB,OAAA,CAAQ,CAAC,OAAA,KAAY,SAAS,CAAA;AACzD,UAAA,IAAA,CAAK,gBAAA,EAAiB;AAAA,QACxB,CAAA;AAEA,QAAA,IAAA,CAAK,MAAA,CAAO,OAAA,GAAU,CAAC,KAAA,KAAiB;AACtC,UAAA,OAAA,CAAQ,KAAA,CAAM,6BAA6B,KAAK,CAAA;AAChD,UAAA,IAAA,CAAK,cAAc,OAAA,CAAQ,CAAC,OAAA,KAAY,OAAA,CAAQ,KAAK,CAAC,CAAA;AACtD,UAAA,MAAA,CAAO,KAAK,CAAA;AAAA,QACd,CAAA;AAAA,MACF,SAAS,KAAA,EAAO;AACd,QAAA,MAAA,CAAO,KAAK,CAAA;AAAA,MACd;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,GAAmB;AACjB,IAAA,IAAI,IAAA,CAAK,qBAAqB,IAAA,EAAM;AAClC,MAAA,YAAA,CAAa,KAAK,gBAAgB,CAAA;AAClC,MAAA,IAAA,CAAK,gBAAA,GAAmB,IAAA;AAAA,IAC1B;AAEA,IAAA,IAAI,KAAK,MAAA,EAAQ;AACf,MAAA,IAAA,CAAK,OAAO,KAAA,EAAM;AAClB,MAAA,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IAChB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,WAAA,GAAuB;AACrB,IAAA,OAAO,KAAK,MAAA,KAAW,IAAA,IAAQ,IAAA,CAAK,MAAA,CAAO,eAAe,SAAA,CAAU,IAAA;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA,EAKA,KAAK,OAAA,EAAgC;AACnC,IAAA,IAAI,CAAC,IAAA,CAAK,WAAA,EAAY,EAAG;AACvB,MAAA,OAAA,CAAQ,KAAK,uDAAuD,CAAA;AACpE,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,OACJ,OAAO,OAAA,KAAY,WAAW,OAAA,GAAU,IAAA,CAAK,UAAU,OAAO,CAAA;AAChE,IAAA,IAAA,CAAK,MAAA,CAAQ,KAAK,IAAI,CAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,OAAA,EAA0C;AAClD,IAAA,IAAA,CAAK,eAAA,CAAgB,IAAI,OAAO,CAAA;AAChC,IAAA,OAAO,MAAM,IAAA,CAAK,eAAA,CAAgB,MAAA,CAAO,OAAO,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,OAAA,EAAiC;AACzC,IAAA,IAAA,CAAK,kBAAA,CAAmB,IAAI,OAAO,CAAA;AACnC,IAAA,OAAO,MAAM,IAAA,CAAK,kBAAA,CAAmB,MAAA,CAAO,OAAO,CAAA;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,OAAA,EAAiC;AAC5C,IAAA,IAAA,CAAK,qBAAA,CAAsB,IAAI,OAAO,CAAA;AACtC,IAAA,OAAO,MAAM,IAAA,CAAK,qBAAA,CAAsB,MAAA,CAAO,OAAO,CAAA;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,OAAA,EAA6C;AACnD,IAAA,IAAA,CAAK,aAAA,CAAc,IAAI,OAAO,CAAA;AAC9B,IAAA,OAAO,MAAM,IAAA,CAAK,aAAA,CAAc,MAAA,CAAO,OAAO,CAAA;AAAA,EAChD;AAAA;AAAA;AAAA;AAAA,EAKQ,gBAAA,GAAyB;AAC/B,IAAA,IAAI,IAAA,CAAK,iBAAA,IAAqB,IAAA,CAAK,oBAAA,EAAsB;AACvD,MAAA,OAAA,CAAQ,MAAM,mDAAmD,CAAA;AACjE,MAAA;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,iBAAA,EAAA;AACL,IAAA,OAAA,CAAQ,GAAA;AAAA,MACN,CAAA,mCAAA,EAAsC,KAAK,cAAc,CAAA,YAAA,EAAe,KAAK,iBAAiB,CAAA,CAAA,EAAI,KAAK,oBAAoB,CAAA,CAAA;AAAA,KAC7H;AAEA,IAAA,IAAA,CAAK,gBAAA,GAAmB,MAAA,CAAO,UAAA,CAAW,MAAM;AAC9C,MAAA,IAAA,CAAK,QAAQ,IAAA,CAAK,GAAG,CAAA,CAAE,KAAA,CAAM,CAAC,KAAA,KAAU;AACtC,QAAA,OAAA,CAAQ,KAAA,CAAM,wCAAwC,KAAK,CAAA;AAAA,MAC7D,CAAC,CAAA;AAAA,IACH,CAAA,EAAG,KAAK,cAAc,CAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKQ,OAAA,GAAgB;AACtB,IAAA,IAAI,IAAA,CAAK,qBAAqB,IAAA,EAAM;AAClC,MAAA,YAAA,CAAa,KAAK,gBAAgB,CAAA;AAClC,MAAA,IAAA,CAAK,gBAAA,GAAmB,IAAA;AAAA,IAC1B;AAEA,IAAA,IAAI,KAAK,MAAA,EAAQ;AACf,MAAA,IAAA,CAAK,OAAO,MAAA,GAAS,IAAA;AACrB,MAAA,IAAA,CAAK,OAAO,SAAA,GAAY,IAAA;AACxB,MAAA,IAAA,CAAK,OAAO,OAAA,GAAU,IAAA;AACtB,MAAA,IAAA,CAAK,OAAO,OAAA,GAAU,IAAA;AAEtB,MAAA,IAAI,IAAA,CAAK,MAAA,CAAO,UAAA,KAAe,SAAA,CAAU,IAAA,EAAM;AAC7C,QAAA,IAAA,CAAK,OAAO,KAAA,EAAM;AAAA,MACpB;AAEA,MAAA,IAAA,CAAK,MAAA,GAAS,IAAA;AAAA,IAChB;AAAA,EACF;AACF;;;ACzHO,IAAM,iBAAN,MAAqB;AAAA,EAU1B,WAAA,CAAY,cAAkC,gBAAA,EAA6B;AAL3E;AAAA,IAAA,IAAA,CAAQ,SAAA,uBAAgB,GAAA,EAAgB;AAGxC;AAAA,IAAA,IAAA,CAAQ,OAAA,GAAU,CAAA;AAGhB,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,QAAA,EAAU,YAAA;AAAA,MACV,SAAA,EAAW,gBAAA;AAAA,MACX,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAA,GAAiC;AAC/B,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA;AAAA,EAGA,UAAA,GAAqB;AACnB,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA,UAAU,QAAA,EAAkC;AAC1C,IAAA,IAAA,CAAK,SAAA,CAAU,IAAI,QAAQ,CAAA;AAC3B,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,SAAA,CAAU,OAAO,QAAQ,CAAA;AAAA,IAChC,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,MAAA,CACE,QAAA,EACA,UAAA,GAA4B,MAAA,CAAO,EAAA,EAClB;AACjB,IAAA,IAAI,YAAA,GAAkB,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AAC5C,IAAA,IAAI,cAAsB,IAAA,CAAK,OAAA;AAC/B,IAAA,MAAM,cAAA,uBAAqB,GAAA,EAAgB;AAE3C,IAAA,MAAM,cAAc,MAAS;AAE3B,MAAA,IAAI,WAAA,KAAgB,KAAK,OAAA,EAAS;AAChC,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,QAAA,IAAI,CAAC,UAAA,CAAW,YAAA,EAAc,IAAI,CAAA,EAAG;AACnC,UAAA,YAAA,GAAe,IAAA;AAAA,QACjB;AACA,QAAA,WAAA,GAAc,IAAA,CAAK,OAAA;AAAA,MACrB;AACA,MAAA,OAAO,YAAA;AAAA,IACT,CAAA;AAEA,IAAA,MAAM,SAAA,GAAY,CAAC,QAAA,KAAuC;AACxD,MAAA,cAAA,CAAe,IAAI,QAAQ,CAAA;AAG3B,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,SAAA,CAAU,MAAM;AACjC,QAAA,MAAM,IAAA,GAAO,YAAA;AACb,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,QAAA,WAAA,GAAc,IAAA,CAAK,OAAA;AACnB,QAAA,IAAI,CAAC,UAAA,CAAW,IAAA,EAAM,IAAI,CAAA,EAAG;AAC3B,UAAA,YAAA,GAAe,IAAA;AACf,UAAA,QAAA,EAAS;AAAA,QACX;AAAA,MACF,CAAC,CAAA;AAED,MAAA,OAAO,MAAM;AACX,QAAA,cAAA,CAAe,OAAO,QAAQ,CAAA;AAC9B,QAAA,KAAA,EAAM;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEA,IAAA,OAAO,EAAE,WAAW,WAAA,EAAY;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,KAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,GAA4B,OAAO,EAAA,EACvB;AACZ,IAAA,IAAI,IAAA,GAAU,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACpC,IAAA,OAAO,IAAA,CAAK,UAAU,MAAM;AAC1B,MAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,MAAA,IAAI,CAAC,UAAA,CAAW,IAAA,EAAM,IAAI,CAAA,EAAG;AAC3B,QAAA,MAAM,GAAA,GAAM,IAAA;AACZ,QAAA,IAAA,GAAO,IAAA;AACP,QAAA,QAAA,CAAS,MAAM,GAAG,CAAA;AAAA,MACpB;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,GAA4B,OAAO,EAAA,EACvB;AACZ,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACtC,IAAA,QAAA,CAAS,SAAS,MAAS,CAAA;AAC3B,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU,QAAA,EAAU,UAAU,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,IAAA,EAAgC;AAC3C,IAAA,IAAA,CAAK,OAAA,EAAA;AACL,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,GAAG,IAAA,CAAK,QAAA;AAAA,MACR,QAAA,EAAU,IAAA;AAAA,MACV,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AAAA;AAAA,EAGA,cAAc,KAAA,EAAwB;AACpC,IAAA,IAAI,IAAA,CAAK,QAAA,CAAS,SAAA,KAAc,KAAA,EAAO;AACvC,IAAA,IAAA,CAAK,OAAA,EAAA;AACL,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,GAAG,IAAA,CAAK,QAAA;AAAA,MACR,SAAA,EAAW,KAAA;AAAA,MACX,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AAAA;AAAA,EAGA,MAAA,CAAO,MAA0B,KAAA,EAAwB;AACvD,IAAA,IAAA,CAAK,OAAA,EAAA;AACL,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,QAAA,EAAU,IAAA;AAAA,MACV,SAAA,EAAW,KAAA;AAAA,MACX,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AAAA,EAEQ,IAAA,GAAa;AACnB,IAAA,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAG,CAAA;AAAA,EACnC;AACF;AAsBO,SAAS,YAAA,CAAgB,GAAM,CAAA,EAAe;AACnD,EAAA,IAAI,MAAA,CAAO,EAAA,CAAG,CAAA,EAAG,CAAC,GAAG,OAAO,IAAA;AAC5B,EAAA,IACE,OAAO,MAAM,QAAA,IACb,OAAO,MAAM,QAAA,IACb,CAAA,KAAM,IAAA,IACN,CAAA,KAAM,IAAA,EACN;AACA,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA;AAC3B,EAAA,MAAM,KAAA,GAAQ,MAAA,CAAO,IAAA,CAAK,CAAC,CAAA;AAC3B,EAAA,IAAI,KAAA,CAAM,MAAA,KAAW,KAAA,CAAM,MAAA,EAAQ,OAAO,KAAA;AAE1C,EAAA,KAAA,MAAW,OAAO,KAAA,EAAO;AACvB,IAAA,IACE,CAAC,MAAA,CAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,GAAG,GAAG,CAAA,IAC5C,CAAC,MAAA,CAAO,GAAI,CAAA,CAAU,GAAG,GAAI,CAAA,CAAU,GAAG,CAAC,CAAA,EAC3C;AACA,MAAA,OAAO,KAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;;;AC7PO,IAAM,wBAAN,MAA4B;AAAA,EAUjC,YAAY,YAAA,EAAoC;AALhD;AAAA,IAAA,IAAA,CAAQ,SAAA,uBAAgB,GAAA,EAAgB;AAGxC;AAAA,IAAA,IAAA,CAAQ,OAAA,GAAU,CAAA;AAGhB,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,eAAA,EAAiB,YAAA;AAAA,MACjB,UAAU,YAAA,CAAa,QAAA;AAAA,MACvB,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,WAAA,GAAmC;AACjC,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA;AAAA,EAGA,UAAA,GAAqB;AACnB,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU,QAAA,EAAkC;AAC1C,IAAA,IAAA,CAAK,SAAA,CAAU,IAAI,QAAQ,CAAA;AAC3B,IAAA,OAAO,MAAM;AACX,MAAA,IAAA,CAAK,SAAA,CAAU,OAAO,QAAQ,CAAA;AAAA,IAChC,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,MAAA,CACE,QAAA,EACA,UAAA,GAA4B,MAAA,CAAO,EAAA,EAClB;AACjB,IAAA,IAAI,YAAA,GAAkB,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AAC5C,IAAA,IAAI,cAAsB,IAAA,CAAK,OAAA;AAC/B,IAAA,MAAM,cAAA,uBAAqB,GAAA,EAAgB;AAE3C,IAAA,MAAM,cAAc,MAAS;AAC3B,MAAA,IAAI,WAAA,KAAgB,KAAK,OAAA,EAAS;AAChC,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,QAAA,IAAI,CAAC,UAAA,CAAW,YAAA,EAAc,IAAI,CAAA,EAAG;AACnC,UAAA,YAAA,GAAe,IAAA;AAAA,QACjB;AACA,QAAA,WAAA,GAAc,IAAA,CAAK,OAAA;AAAA,MACrB;AACA,MAAA,OAAO,YAAA;AAAA,IACT,CAAA;AAEA,IAAA,MAAM,SAAA,GAAY,CAAC,QAAA,KAAuC;AACxD,MAAA,cAAA,CAAe,IAAI,QAAQ,CAAA;AAE3B,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,SAAA,CAAU,MAAM;AACjC,QAAA,MAAM,IAAA,GAAO,YAAA;AACb,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,QAAA,WAAA,GAAc,IAAA,CAAK,OAAA;AACnB,QAAA,IAAI,CAAC,UAAA,CAAW,IAAA,EAAM,IAAI,CAAA,EAAG;AAC3B,UAAA,YAAA,GAAe,IAAA;AACf,UAAA,QAAA,EAAS;AAAA,QACX;AAAA,MACF,CAAC,CAAA;AAED,MAAA,OAAO,MAAM;AACX,QAAA,cAAA,CAAe,OAAO,QAAQ,CAAA;AAC9B,QAAA,KAAA,EAAM;AAAA,MACR,CAAA;AAAA,IACF,CAAA;AAEA,IAAA,OAAO,EAAE,WAAW,WAAA,EAAY;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUA,KAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,GAA4B,OAAO,EAAA,EACvB;AACZ,IAAA,IAAI,IAAA,GAAU,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACpC,IAAA,OAAO,IAAA,CAAK,UAAU,MAAM;AAC1B,MAAA,MAAM,IAAA,GAAO,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACnC,MAAA,IAAI,CAAC,UAAA,CAAW,IAAA,EAAM,IAAI,CAAA,EAAG;AAC3B,QAAA,MAAM,GAAA,GAAM,IAAA;AACZ,QAAA,IAAA,GAAO,IAAA;AACP,QAAA,QAAA,CAAS,MAAM,GAAG,CAAA;AAAA,MACpB;AAAA,IACF,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,cAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,GAA4B,OAAO,EAAA,EACvB;AACZ,IAAA,MAAM,OAAA,GAAU,QAAA,CAAS,IAAA,CAAK,QAAQ,CAAA;AACtC,IAAA,QAAA,CAAS,SAAS,MAAS,CAAA;AAC3B,IAAA,OAAO,IAAA,CAAK,KAAA,CAAM,QAAA,EAAU,QAAA,EAAU,UAAU,CAAA;AAAA,EAClD;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,oBAAoB,IAAA,EAAkC;AACpD,IAAA,IAAA,CAAK,OAAA,EAAA;AACL,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,eAAA,EAAiB,IAAA;AAAA,MACjB,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AAAA;AAAA,EAGA,OAAO,IAAA,EAAkC;AACvC,IAAA,IAAA,CAAK,OAAA,EAAA;AACL,IAAA,IAAA,CAAK,QAAA,GAAW,OAAO,MAAA,CAAO;AAAA,MAC5B,eAAA,EAAiB,IAAA;AAAA,MACjB,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,SAAS,IAAA,CAAK;AAAA,KACf,CAAA;AACD,IAAA,IAAA,CAAK,IAAA,EAAK;AAAA,EACZ;AAAA,EAEQ,IAAA,GAAa;AACnB,IAAA,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAG,CAAA;AAAA,EACnC;AACF;;;ACjMO,SAAS,eAAA,CAAmB,MAAS,IAAA,EAAY;AACtD,EAAA,IAAI,MAAA,CAAO,EAAA,CAAG,IAAA,EAAM,IAAI,CAAA,EAAG;AACzB,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,CAAC,QAAA,CAAS,IAAI,KAAK,CAAC,QAAA,CAAS,IAAI,CAAA,EAAG;AACtC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,IAAI,MAAM,OAAA,CAAQ,IAAI,KAAK,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AAC9C,IAAA,IAAI,CAAC,MAAM,OAAA,CAAQ,IAAI,KAAK,CAAC,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AAChD,MAAA,OAAO,IAAA;AAAA,IACT;AAEA,IAAA,IAAI,IAAA,CAAK,MAAA,KAAW,IAAA,CAAK,MAAA,EAAQ;AAC/B,MAAA,OAAO,IAAA,CAAK,GAAA;AAAA,QAAI,CAAC,KAAA,EAAO,KAAA,KACtB,gBAAgB,IAAA,CAAK,KAAK,GAAU,KAAY;AAAA,OAClD;AAAA,IACF;AAEA,IAAA,IAAIA,QAAAA,GAAU,KAAA;AACd,IAAA,MAAM,MAAA,GAAS,IAAA,CAAK,GAAA,CAAI,CAAC,OAAO,KAAA,KAAU;AACxC,MAAA,MAAM,SAAA,GAAY,eAAA,CAAgB,IAAA,CAAK,KAAK,GAAU,KAAY,CAAA;AAClE,MAAA,IAAI,CAAC,MAAA,CAAO,EAAA,CAAG,WAAW,IAAA,CAAK,KAAK,CAAC,CAAA,EAAG;AACtC,QAAAA,QAAAA,GAAU,IAAA;AAAA,MACZ;AACA,MAAA,OAAO,SAAA;AAAA,IACT,CAAC,CAAA;AAED,IAAA,OAAOA,WAAW,MAAA,GAA0B,IAAA;AAAA,EAC9C;AAEA,EAAA,MAAM,OAAA,GAAU,IAAA;AAChB,EAAA,MAAM,OAAA,GAAU,IAAA;AAChB,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,OAAO,CAAA;AACpC,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,IAAA,CAAK,OAAO,CAAA;AAEpC,EAAA,IAAI,OAAA,GAAU,QAAA,CAAS,MAAA,KAAW,QAAA,CAAS,MAAA;AAC3C,EAAA,IAAI,CAAC,OAAA,EAAS;AACZ,IAAA,KAAA,MAAW,OAAO,QAAA,EAAU;AAC1B,MAAA,IAAI,CAAC,MAAA,CAAO,SAAA,CAAU,eAAe,IAAA,CAAK,OAAA,EAAS,GAAG,CAAA,EAAG;AACvD,QAAA,OAAA,GAAU,IAAA;AACV,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,EAAA,MAAM,SAAkC,MAAA,CAAO,MAAA;AAAA,IAC7C,MAAA,CAAO,eAAe,IAAI;AAAA,GAC5B;AAEA,EAAA,KAAA,MAAW,OAAO,QAAA,EAAU;AAC1B,IAAA,MAAM,SAAA,GAAY,QAAQ,GAAG,CAAA;AAC7B,IAAA,MAAM,SAAA,GAAY,QAAQ,GAAG,CAAA;AAC7B,IAAA,MAAM,WAAA,GAAc,eAAA,CAAgB,SAAA,EAAkB,SAAgB,CAAA;AACtE,IAAA,MAAA,CAAO,GAAG,CAAA,GAAI,WAAA;AACd,IAAA,IAAI,CAAC,MAAA,CAAO,EAAA,CAAG,WAAA,EAAa,SAAS,CAAA,EAAG;AACtC,MAAA,OAAA,GAAU,IAAA;AAAA,IACZ;AAAA,EACF;AAEA,EAAA,OAAO,UAAW,MAAA,GAAe,IAAA;AACnC;AAEA,SAAS,SAAS,KAAA,EAAkD;AAClE,EAAA,OAAO,KAAA,KAAU,IAAA,IAAQ,OAAO,KAAA,KAAU,QAAA;AAC5C;;;ACrEO,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACH,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,oBAAiB,CAAA,CAAA,GAAjB,gBAAA;AAPQ,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;ACqBL,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAEnB,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AAExB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAGtB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAOA,IAAA,IAAA,CAAA,oBAAA,GAAgC,KAAA;AAChC,IAAA,IAAA,CAAA,cAAA,GAA0B,KAAA;AAC1B,IAAA,IAAA,CAAA,kBAAA,GAA8B,KAAA;AAAA,EAAA;AAelC;;;ACjDO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,WAAA,GAAuB,KAAA;AACvB,IAAA,IAAA,CAAA,oBAAA,GAAgC,KAAA;AAChC,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,OAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,QAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,KAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACRO,IAAM,YAAN,MAAgB;AAAA,EAGrB,YAAY,OAAA,EAAiB;AAC3B,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA;AAAA,EAGA,cAAc,OAAA,EAAuB;AACnC,IAAA,IAAA,CAAK,OAAA,GAAU,OAAA;AAAA,EACjB;AAAA;AAAA,EAGA,UAAA,GAAqB;AACnB,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA,EAIA,MAAM,IAAO,IAAA,EAA0B;AACrC,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,KAAA,EAAO,IAAI,CAAA;AAAA,EACpC;AAAA,EAEA,MAAM,IAAA,CAAe,IAAA,EAAc,IAAA,EAA4B;AAC7D,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,MAAA,EAAQ,IAAA,EAAM,IAAI,CAAA;AAAA,EAC3C;AAAA,EAEA,MAAM,GAAA,CAAc,IAAA,EAAc,IAAA,EAA4B;AAC5D,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,KAAA,EAAO,IAAA,EAAM,IAAI,CAAA;AAAA,EAC1C;AAAA,EAEA,MAAM,KAAA,CAAgB,IAAA,EAAc,IAAA,EAA4B;AAC9D,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,OAAA,EAAS,IAAA,EAAM,IAAI,CAAA;AAAA,EAC5C;AAAA,EAEA,MAAM,OAAiB,IAAA,EAA0B;AAC/C,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,QAAA,EAAU,IAAI,CAAA;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,OAAA,CAAkB,IAAA,EAAc,OAAA,EAA6B;AACjE,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,MAAA,EAAQ,IAAA,EAAM,SAAS,YAAY,CAAA;AAAA,EAC5D;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,MAAA,CAAiB,IAAA,EAAc,OAAA,EAA6B;AAChE,IAAA,OAAO,IAAA,CAAK,OAAA,CAAW,KAAA,EAAO,IAAA,EAAM,SAAS,YAAY,CAAA;AAAA,EAC3D;AAAA;AAAA,EAIQ,SAAS,IAAA,EAAsB;AAErC,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,OAAA,CAAQ,QAAA,CAAS,GAAG,CAAA,GAClC,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,CAAA,EAAG,EAAE,CAAA,GACxB,IAAA,CAAK,OAAA;AACT,IAAA,MAAM,SAAA,GAAY,KAAK,UAAA,CAAW,GAAG,IAAI,IAAA,CAAK,KAAA,CAAM,CAAC,CAAA,GAAI,IAAA;AACzD,IAAA,OAAO,CAAA,EAAG,IAAI,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAAA,EAC7B;AAAA,EAEA,MAAc,OAAA,CACZ,MAAA,EACA,IAAA,EACA,MACA,WAAA,EACY;AACZ,IAAA,MAAM,GAAA,GAAM,IAAA,CAAK,QAAA,CAAS,IAAI,CAAA;AAE9B,IAAA,MAAM,UAAkC,EAAC;AACzC,IAAA,IAAI,OAAA;AAEJ,IAAA,IAAI,SAAS,MAAA,EAAW;AACtB,MAAA,IAAI,gBAAgB,YAAA,EAAc;AAChC,QAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,YAAA;AAC1B,QAAA,OAAA,GAAU,OAAO,IAAI,CAAA;AAAA,MACvB,CAAA,MAAO;AACL,QAAA,OAAA,CAAQ,cAAc,CAAA,GAAI,kBAAA;AAC1B,QAAA,OAAA,GAAU,IAAA,CAAK,UAAU,IAAI,CAAA;AAAA,MAC/B;AAAA,IACF;AAEA,IAAA,MAAM,GAAA,GAAM,MAAM,KAAA,CAAM,GAAA,EAAK;AAAA,MAC3B,MAAA;AAAA,MACA,OAAA;AAAA,MACA,IAAA,EAAM;AAAA,KACP,CAAA;AAED,IAAA,IAAI,CAAC,IAAI,EAAA,EAAI;AACX,MAAA,MAAM,YAAY,MAAM,GAAA,CAAI,MAAK,CAAE,KAAA,CAAM,MAAM,EAAE,CAAA;AACjD,MAAA,MAAM,IAAI,QAAA,CAAS,GAAA,CAAI,QAAQ,GAAA,CAAI,UAAA,EAAY,WAAW,GAAG,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,IAAA,CAAK,cAAiB,GAAG,CAAA;AAAA,EAClC;AAAA,EAEA,MAAc,cAAiB,GAAA,EAA2B;AACxD,IAAA,MAAM,IAAA,GAAO,MAAM,GAAA,CAAI,IAAA,EAAK;AAC5B,IAAA,IAAI,CAAC,IAAA,IAAQ,IAAA,CAAK,MAAA,KAAW,GAAG,OAAO,MAAA;AACvC,IAAA,IAAI;AACF,MAAA,OAAO,IAAA,CAAK,MAAM,IAAI,CAAA;AAAA,IACxB,CAAA,CAAA,MAAQ;AAEN,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF;AACF;AAKO,IAAM,QAAA,GAAN,cAAuB,KAAA,CAAM;AAAA,EAClC,WAAA,CACkB,MAAA,EACA,UAAA,EACA,IAAA,EACA,GAAA,EAChB;AACA,IAAA,KAAA,CAAM,aAAa,MAAM,CAAA,EAAA,EAAK,UAAU,CAAA,KAAA,EAAQ,GAAG,CAAA,CAAE,CAAA;AALrC,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAA,UAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAA,IAAA;AACA,IAAA,IAAA,CAAA,GAAA,GAAA,GAAA;AAGhB,IAAA,IAAA,CAAK,IAAA,GAAO,UAAA;AAAA,EACd;AACF;;;AC7HO,IAAM,aAAN,MAAiB;AAAA,EACtB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,kBAAA,CAAmB,SAAA,EAAoB,qBAAA,EAAkD;AAC7F,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAc,CAAA,oBAAA,EAAuB,SAAS,GAAG,qBAAA,KAA0B,MAAA,GAAY,CAAA,uBAAA,EAA0B,kBAAA,CAAmB,OAAO,qBAAqB,CAAC,CAAC,CAAA,CAAA,GAAK,EAAE,CAAA,CAAE,CAAA;AAAA,EAChM;AAAA;AAAA,EAGA,MAAM,gBAAA,GAAqC;AACzC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,qBAAqB,CAAA;AAAA,EACvD;AAAA;AAAA,EAGA,MAAM,OAAA,GAAyE;AAC7E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0D,qBAAqB,CAAA;AAAA,EACpG;AAAA;AAAA,EAGA,MAAM,cAAA,GAAkC;AACtC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,yBAAyB,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,gBAAgB,SAAA,EAAoC;AACxD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,qBAAA,EAAwB,SAAS,CAAA,OAAA,CAAS,CAAA;AAAA,EAC3E;AAAA;AAAA,EAGA,MAAM,cAAc,GAAA,EAA4B;AAC9C,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,4BAAA,EAA+B,mBAAmB,MAAA,CAAO,GAAG,CAAC,CAAC,CAAA,CAAE,CAAA;AAAA,EAChG;AAAA;AAAA,EAGA,MAAM,oBAAA,CAAqB,SAAA,EAAmB,MAAA,EAAiC;AAC7E,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAY,wBAAwB,SAAS,CAAA,CAAA,EAAI,MAAM,CAAA,CAAE,CAAA;AAAA,EAC9E;AACF;;;AChCO,IAAM,UAAN,MAAc;AAAA,EACnB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,cAAA,GAAyC;AAC7C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAmB,cAAc,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,MAAM,2BAAA,GAAsD;AAC1D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAoB,oBAAoB,CAAA;AAAA,EAC7D;AAAA;AAAA,EAGA,MAAM,eAAA,GAAmC;AACvC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,eAAe,CAAA;AAAA,EAChD;AAAA;AAAA,EAGA,MAAM,QAAQ,MAAA,EAAwC;AACpD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAmB,CAAA,KAAA,EAAQ,MAAM,CAAA,CAAE,CAAA;AAAA,EACxD;AAAA;AAAA,EAGA,MAAM,UAAA,CAAW,MAAA,EAAgB,IAAA,EAAuC;AACtE,IAAA,OAAO,KAAK,MAAA,CAAO,KAAA,CAAY,CAAA,KAAA,EAAQ,MAAM,IAAI,IAAI,CAAA;AAAA,EACvD;AAAA;AAAA,EAGA,MAAM,gBAAA,CAAiB,MAAA,EAAgB,KAAA,EAAgC;AACrE,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,CAAA,KAAA,EAAQ,MAAM,UAAU,KAAK,CAAA;AAAA,EAC5D;AAAA;AAAA,EAGA,MAAM,eAAe,MAAA,EAA4C;AAC/D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,CAAA,KAAA,EAAQ,MAAM,CAAA,MAAA,CAAQ,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,MAAM,iBAAiB,MAAA,EAA+B;AACpD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAa,CAAA,KAAA,EAAQ,MAAM,CAAA,OAAA,CAAS,CAAA;AAAA,EACzD;AAAA;AAAA,EAGA,MAAM,aAAA,CAAc,MAAA,EAAgB,MAAA,EAA+B;AACjE,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,QAAQ,MAAM,CAAA,QAAA,EAAW,MAAM,CAAA,CAAE,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,QAAQ,MAAA,EAA+C;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0B,CAAA,KAAA,EAAQ,MAAM,CAAA,KAAA,CAAO,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,cAAA,CAAe,MAAA,EAAgB,MAAA,EAA+C;AAClF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAA0B,QAAQ,MAAM,CAAA,MAAA,EAAS,MAAM,CAAA,CAAE,CAAA;AAAA,EAC9E;AAAA;AAAA,EAGA,MAAM,OAAA,CAAQ,MAAA,EAAgB,IAAA,EAAwD;AACpF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,CAAA,KAAA,EAAQ,MAAM,SAAS,IAAI,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,cAAA,CAAe,MAAA,EAAgB,MAAA,EAAgB,IAAA,EAAwC;AAC3F,IAAA,OAAO,IAAA,CAAK,OAAO,GAAA,CAAU,CAAA,KAAA,EAAQ,MAAM,CAAA,MAAA,EAAS,MAAM,IAAI,IAAI,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,SAAS,MAAA,EAA+D;AAC5E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0C,CAAA,KAAA,EAAQ,MAAM,CAAA,MAAA,CAAQ,CAAA;AAAA,EACrF;AAAA;AAAA,EAGA,MAAM,eAAA,CAAgB,MAAA,EAAgB,MAAA,EAA+C;AACnF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAA0B,QAAQ,MAAM,CAAA,OAAA,EAAU,MAAM,CAAA,CAAE,CAAA;AAAA,EAC/E;AAAA;AAAA,EAGA,MAAM,QAAA,CAAS,MAAA,EAAgB,KAAA,EAAyD;AACtF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,CAAA,KAAA,EAAQ,MAAM,UAAU,KAAK,CAAA;AAAA,EAC5D;AAAA;AAAA,EAGA,MAAM,eAAA,CAAgB,MAAA,EAAgB,MAAA,EAAgB,KAAA,EAAyC;AAC7F,IAAA,OAAO,IAAA,CAAK,OAAO,GAAA,CAAU,CAAA,KAAA,EAAQ,MAAM,CAAA,OAAA,EAAU,MAAM,IAAI,KAAK,CAAA;AAAA,EACtE;AAAA;AAAA,EAGA,MAAM,iBAAiB,MAAA,EAAqD;AAC1E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgC,CAAA,KAAA,EAAQ,MAAM,CAAA,cAAA,CAAgB,CAAA;AAAA,EACnF;AACF;;;ACjGO,IAAM,eAAN,MAAmB;AAAA,EACxB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,WAAA,GAA+B;AACnC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,iBAAiB,CAAA;AAAA,EAClD;AAAA;AAAA,EAGA,MAAM,eAAe,MAAA,EAAmC;AACtD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAc,CAAA,gBAAA,EAAmB,MAAM,CAAA,QAAA,CAAU,CAAA;AAAA,EACtE;AAAA;AAAA,EAGA,MAAM,iBAAA,CAAkB,MAAA,EAAgB,OAAA,EAAkC;AACxE,IAAA,OAAO,KAAK,MAAA,CAAO,KAAA,CAAY,CAAA,gBAAA,EAAmB,MAAM,YAAY,OAAO,CAAA;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,cAAA,GAAoC;AACxC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAc,2BAA2B,CAAA;AAAA,EAC9D;AAAA;AAAA,EAGA,MAAM,sBAAA,GAA+D;AACnE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAiC,iCAAiC,CAAA;AAAA,EACvF;AAAA;AAAA,EAGA,MAAM,oBAAoB,MAAA,EAAsC;AAC9D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAiB,CAAA,gBAAA,EAAmB,MAAM,CAAA,YAAA,CAAc,CAAA;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,uBAAA,GAA6C;AACjD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAc,uCAAuC,CAAA;AAAA,EAC1E;AAAA;AAAA,EAGA,MAAM,2BAA2B,YAAA,EAAuC;AACtE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAU,uCAAA,EAAyC,YAAY,CAAA;AAAA,EACpF;AACF;;;AClCO,IAAM,WAAN,MAAe;AAAA,EACpB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,iBAAiB,QAAA,EAAwC;AAC7D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAiB,CAAA,aAAA,EAAgB,QAAQ,CAAA,OAAA,CAAS,CAAA;AAAA,EACvE;AAAA;AAAA,EAGA,MAAM,WAAW,QAAA,EAAqD;AACpE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA8B,CAAA,aAAA,EAAgB,QAAQ,CAAA,CAAE,CAAA;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,mBAAA,GAA4C;AAChD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAiB,cAAc,CAAA;AAAA,EACpD;AAAA;AAAA,EAGA,MAAM,aAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA8B,OAAO,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,eAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,eAAe,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAsC;AAC1C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,eAAe,CAAA;AAAA,EAC/C;AAAA;AAAA,EAGA,MAAM,iBAAA,GAAqC;AACzC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,kBAAkB,CAAA;AAAA,EACnD;AAAA;AAAA,EAGA,MAAM,kBAAA,GAAsC;AAC1C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,mBAAmB,CAAA;AAAA,EACpD;AAAA;AAAA,EAGA,MAAM,gBAAgB,QAAA,EAAiC;AACrD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,CAAA,cAAA,EAAiB,QAAQ,CAAA,CAAE,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,qBAAA,GAA6C;AACjD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,sBAAsB,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,sBAAsB,IAAA,EAAiC;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAU,sBAAA,EAAwB,IAAI,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,qBAAqB,CAAA;AAAA,EACjE;AAAA;AAAA,EAGA,MAAM,qBAAqB,OAAA,EAAkC;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAU,qBAAA,EAAuB,OAAO,CAAA;AAAA,EAC7D;AAAA;AAAA,EAGA,MAAM,cAAA,GAAyC;AAC7C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAmB,oBAAoB,CAAA;AAAA,EAC5D;AAAA;AAAA,EAGA,MAAM,sBAAA,GAAgD;AACpD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAkB,uBAAuB,CAAA;AAAA,EAC9D;AAAA;AAAA,EAGA,MAAM,uBAAuB,OAAA,EAAsC;AACjE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAU,CAAA,sBAAA,EAAyB,OAAO,CAAA,CAAE,CAAA;AAAA,EACjE;AAAA;AAAA,EAGA,MAAM,OAAA,GAAyE;AAC7E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0D,6BAA6B,CAAA;AAAA,EAC5G;AAAA;AAAA,EAGA,MAAM,sBAAA,GAA2C;AAC/C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,uBAAuB,CAAA;AAAA,EACzD;AAAA;AAAA,EAGA,MAAM,SAAS,OAAA,EAAkD;AAC/D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,CAAA,MAAA,EAAS,OAAO,CAAA,CAAE,CAAA;AAAA,EACnE;AAAA;AAAA,EAGA,MAAM,YAAY,OAAA,EAAmC;AACnD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAgB,CAAA,MAAA,EAAS,OAAO,CAAA,CAAE,CAAA;AAAA,EACvD;AAAA;AAAA,EAGA,MAAM,cAAc,OAAA,EAA6C;AAC/D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,CAAA,MAAA,EAAS,OAAO,CAAA,MAAA,CAAQ,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,aAAA,CAAc,OAAA,EAAiB,OAAA,EAAkC;AACrE,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,CAAA,MAAA,EAAS,OAAO,UAAU,OAAO,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,cAAc,OAAA,EAA2C;AAC7D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAqB,CAAA,MAAA,EAAS,OAAO,CAAA,MAAA,CAAQ,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,MAAM,eAAe,OAAA,EAA2C;AAC9D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAqB,CAAA,MAAA,EAAS,OAAO,CAAA,OAAA,CAAS,CAAA;AAAA,EACnE;AAAA;AAAA,EAGA,MAAM,cAAA,CAAe,OAAA,EAAiB,MAAA,EAA+B;AACnE,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,SAAS,OAAO,CAAA,QAAA,EAAW,MAAM,CAAA,CAAE,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,MAAM,kBAAkB,OAAA,EAAgC;AACtD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAa,CAAA,MAAA,EAAS,OAAO,CAAA,OAAA,CAAS,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,eAAe,OAAA,EAAsC;AACzD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,CAAA,MAAA,EAAS,OAAO,CAAA,OAAA,CAAS,CAAA;AAAA,EAC9D;AAAA;AAAA,EAGA,MAAM,cAAA,CAAe,OAAA,EAAiB,IAAA,EAAiC;AACrE,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,SAAS,OAAO,CAAA,QAAA,EAAW,IAAI,CAAA,CAAE,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,gBAAgB,OAAA,EAAwC;AAC5D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAkB,CAAA,MAAA,EAAS,OAAO,CAAA,QAAA,CAAU,CAAA;AAAA,EACjE;AAAA;AAAA,EAGA,MAAM,eAAA,CAAgB,OAAA,EAAiB,OAAA,EAAsC;AAC3E,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAU,SAAS,OAAO,CAAA,SAAA,EAAY,OAAO,CAAA,CAAE,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,aAAa,OAAA,EAAkC;AACnD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,MAAA,EAAS,OAAO,CAAA,KAAA,CAAO,CAAA;AAAA,EACxD;AAAA;AAAA,EAGA,MAAM,YAAA,CAAa,OAAA,EAAiB,SAAA,EAAkC;AACpE,IAAA,OAAO,KAAK,MAAA,CAAO,KAAA,CAAY,SAAS,OAAO,CAAA,MAAA,EAAS,SAAS,CAAA,CAAE,CAAA;AAAA,EACrE;AAAA;AAAA,EAGA,MAAM,WAAA,CAAY,OAAA,EAAiB,WAAA,EAA+C;AAChF,IAAA,OAAO,KAAK,MAAA,CAAO,KAAA,CAAY,CAAA,MAAA,EAAS,OAAO,IAAI,WAAW,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,aAAa,OAAA,EAAgF;AACjG,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0D,CAAA,MAAA,EAAS,OAAO,CAAA,cAAA,CAAgB,CAAA;AAAA,EAC/G;AAAA;AAAA,EAGA,MAAM,gBAAgB,QAAA,EAAoC;AACxD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,CAAA,MAAA,EAAS,QAAQ,CAAA,QAAA,CAAU,CAAA;AAAA,EAC7D;AAAA;AAAA,EAGA,MAAM,SAAS,KAAA,EAA6C;AAC1D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,OAAA,EAAS,KAAK,CAAA;AAAA,EAC/C;AAAA;AAAA,EAGA,MAAM,kBAAA,CAAmB,OAAA,EAAiB,SAAA,EAA6C;AACrF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAqB,SAAS,OAAO,CAAA,YAAA,EAAe,SAAS,CAAA,CAAE,CAAA;AAAA,EACpF;AAAA;AAAA,EAGA,MAAM,0BAA0B,SAAA,EAA6C;AAC3E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAqB,CAAA,yBAAA,EAA4B,SAAS,CAAA,CAAE,CAAA;AAAA,EACjF;AACF;;;ACrMO,IAAM,YAAN,MAAgB;AAAA,EACrB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,gBAAA,GAAwC;AAC5C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,gBAAgB,CAAA;AAAA,EACrD;AAAA;AAAA,EAGA,MAAM,8BAAA,GAAkE;AACtE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,sBAAsB,CAAA;AAAA,EACvE;AAAA;AAAA,EAGA,MAAM,kBAAA,GAAsC;AAC1C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,mBAAmB,CAAA;AAAA,EACpD;AAAA;AAAA,EAGA,MAAM,iBAAiB,kBAAA,EAA2C;AAChE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,gBAAA,EAAkB,kBAAkB,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,qBAAA,GAA6C;AACjD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,sBAAsB,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,gCAAA,GAA+D;AACnE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,iCAAiC,CAAA;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAwC;AAC5C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,qBAAqB,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAwC;AAC5C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,qBAAqB,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,MAAM,aAAA,GAAuC;AAC3C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAkB,QAAQ,CAAA;AAAA,EAC/C;AAAA;AAAA,EAGA,MAAM,cAAc,QAAA,EAAuC;AACzD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,CAAA,OAAA,EAAU,QAAQ,CAAA,CAAE,CAAA;AAAA,EACzD;AAAA;AAAA,EAGA,MAAM,mBAAmB,QAAA,EAAqD;AAC5E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA8B,CAAA,OAAA,EAAU,QAAQ,CAAA,QAAA,CAAU,CAAA;AAAA,EAC/E;AAAA;AAAA,EAGA,MAAM,wBAAwB,QAAA,EAAmC;AAC/D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,OAAA,EAAU,QAAQ,CAAA,cAAA,CAAgB,CAAA;AAAA,EACnE;AAAA;AAAA,EAGA,MAAM,uBAAA,CAAwB,QAAA,EAAkB,GAAA,EAAgD;AAC9F,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAA8B,UAAU,QAAQ,CAAA,aAAA,EAAgB,GAAG,CAAA,CAAE,CAAA;AAAA,EAC1F;AAAA;AAAA,EAGA,MAAM,iBAAiB,QAAA,EAAuC;AAC5D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAgB,CAAA,OAAA,EAAU,QAAQ,CAAA,MAAA,CAAQ,CAAA;AAAA,EAC/D;AAAA;AAAA,EAGA,MAAM,4BAA4B,QAAA,EAA8C;AAC9E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,CAAA,OAAA,EAAU,QAAQ,CAAA,iBAAA,CAAmB,CAAA;AAAA,EACjF;AAAA;AAAA,EAGA,MAAM,qBAAqBC,WAAAA,EAAyC;AAClE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAa,QAAA,EAAUA,WAAU,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,MAAM,cAAc,QAAA,EAAmC;AACrD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,OAAA,EAAU,QAAQ,CAAA,KAAA,CAAO,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,cAAc,QAAA,EAAmC;AACrD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,OAAA,EAAU,QAAQ,CAAA,KAAA,CAAO,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,aAAa,QAAA,EAAiC;AAClD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAa,CAAA,OAAA,EAAU,QAAQ,CAAA,CAAE,CAAA;AAAA,EACtD;AACF;;;ACnGO,IAAM,YAAN,MAAgB;AAAA,EACrB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,YAAA,GAAgC;AACpC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,eAAe,CAAA;AAAA,EAChD;AAAA;AAAA,EAGA,MAAM,eAAA,GAAiC;AACrC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,eAAe,CAAA;AAAA,EAC/C;AAAA;AAAA,EAGA,MAAM,gBAAA,GAAkC;AACtC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,gBAAgB,CAAA;AAAA,EAChD;AAAA;AAAA,EAGA,MAAM,WAAW,SAAA,EAAmC;AAClD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,CAAA,YAAA,EAAe,SAAS,CAAA,CAAE,CAAA;AAAA,EAC1D;AAAA;AAAA,EAGA,MAAM,gBAAA,GAAqC;AACzC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,aAAa,CAAA;AAAA,EAC/C;AAAA;AAAA,EAGA,MAAM,cAAA,GAAkC;AACtC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,iBAAiB,CAAA;AAAA,EAClD;AAAA;AAAA,EAGA,MAAM,oCAAA,GAAyE;AAC7E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA6B,gBAAgB,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,MAAM,qCAAqC,IAAA,EAA8C;AACvF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,gBAAA,EAAkB,IAAI,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,MAAM,uCAAuC,QAAA,EAAoD;AAC/F,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA6B,CAAA,eAAA,EAAkB,QAAQ,CAAA,CAAE,CAAA;AAAA,EAC9E;AAAA;AAAA,EAGA,MAAM,sCAAA,CAAuC,QAAA,EAAkB,IAAA,EAA8C;AAC3G,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAW,CAAA,eAAA,EAAkB,QAAQ,IAAI,IAAI,CAAA;AAAA,EAClE;AAAA;AAAA,EAGA,MAAM,oBAAA,CAAqB,SAAA,EAAmBC,WAAAA,EAAqC;AACjF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAY,gBAAgB,SAAS,CAAA,CAAA,EAAIA,WAAU,CAAA,UAAA,CAAY,CAAA;AAAA,EACpF;AAAA;AAAA,EAGA,MAAM,yBAAyB,SAAA,EAAoC;AACjE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,CAAA,aAAA,EAAgB,SAAS,CAAA,aAAA,CAAe,CAAA;AAAA,EACzE;AAAA;AAAA,EAGA,MAAM,iBAAA,GAAuC;AAC3C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAc,6BAA6B,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,qBAAA,GAA4D;AAChE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA+B,uBAAuB,CAAA;AAAA,EAC3E;AAAA;AAAA,EAGA,MAAM,iBAAA,CAAkB,OAAA,EAAiB,WAAA,EAAkF;AACzH,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAA8B,CAAA,qBAAA,EAAwB,OAAO,GAAG,WAAA,KAAgB,MAAA,GAAY,CAAA,aAAA,EAAgB,kBAAA,CAAmB,OAAO,WAAW,CAAC,CAAC,CAAA,CAAA,GAAK,EAAE,CAAA,CAAE,CAAA;AAAA,EACjL;AAAA;AAAA,EAGA,MAAM,mBAAA,GAAqC;AACzC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,wBAAwB,CAAA;AAAA,EACxD;AAAA;AAAA,EAGA,MAAM,sBAAsB,OAAA,EAAmD;AAC7E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,CAAA,wBAAA,EAA2B,OAAO,CAAA,CAAE,CAAA;AAAA,EACvF;AAAA;AAAA,EAGA,MAAM,uBAAA,GAAyC;AAC7C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,2BAA2B,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,sBAAA,GAA2C;AAC/C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAc,wBAAwB,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,qBAAA,GAA0D;AAC9D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,uBAAuB,CAAA;AAAA,EAC1E;AAAA;AAAA,EAGA,MAAM,kBAAA,GAAuC;AAC3C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,yBAAyB,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,wBAAwB,OAAA,EAAmD;AAC/E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,CAAA,wBAAA,EAA2B,OAAO,CAAA,CAAE,CAAA;AAAA,EACvF;AAAA;AAAA,EAGA,MAAM,yBAAA,GAA2C;AAC/C,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,2BAA2B,CAAA;AAAA,EAC3D;AAAA;AAAA,EAGA,MAAM,wBAAwB,WAAA,EAAkF;AAC9G,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,CAAA,2BAAA,EAA8B,gBAAgB,MAAA,GAAY,CAAA,aAAA,EAAgB,kBAAA,CAAmB,MAAA,CAAO,WAAW,CAAC,CAAC,CAAA,CAAA,GAAK,EAAE,CAAA,CAAE,CAAA;AAAA,EAC7K;AAAA;AAAA,EAGA,MAAM,0BAAA,CAA2B,WAAA,EAAgD,GAAA,EAAiD;AAChI,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,CAAA,8BAAA,EAAiC,WAAA,KAAgB,SAAY,CAAA,aAAA,EAAgB,kBAAA,CAAmB,MAAA,CAAO,WAAW,CAAC,CAAC,KAAK,EAAE,CAAA,EAAG,GAAA,KAAQ,MAAA,GAAY,CAAA,KAAA,EAAQ,kBAAA,CAAmB,MAAA,CAAO,GAAG,CAAC,CAAC,CAAA,CAAA,GAAK,EAAE,CAAA,CAAE,CAAA;AAAA,EACrP;AAAA;AAAA,EAGA,MAAM,6BAAA,GAAkE;AACtE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAA8B,gCAAgC,CAAA;AAAA,EACnF;AACF;;;AC3HO,IAAM,cAAN,MAAkB;AAAA,EACvB,YAA6B,MAAA,EAAmB;AAAnB,IAAA,IAAA,CAAA,MAAA,GAAA,MAAA;AAAA,EAAoB;AAAA;AAAA,EAGjD,MAAM,WAAA,CAAY,GAAA,EAAa,aAAA,EAA0C;AACvE,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAc,CAAA,eAAA,EAAkB,GAAG,IAAI,aAAa,CAAA;AAAA,EACzE;AAAA;AAAA,EAGA,MAAM,WAAW,OAAA,EAAoC;AACnD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAc,CAAA,cAAA,EAAiB,OAAO,CAAA,CAAE,CAAA;AAAA,EAC7D;AAAA;AAAA,EAGA,MAAM,UAAA,GAA+B;AACnC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAa,eAAe,CAAA;AAAA,EACjD;AAAA;AAAA,EAGA,MAAM,cAAA,GAAkC;AACtC,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAY,mBAAmB,CAAA;AAAA,EACpD;AAAA;AAAA,EAGA,MAAM,cAAc,GAAA,EAA4B;AAC9C,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,sBAAA,EAAyB,mBAAmB,MAAA,CAAO,GAAG,CAAC,CAAC,CAAA,CAAE,CAAA;AAAA,EAC1F;AAAA;AAAA,EAGA,MAAM,gBAAgB,MAAA,EAA2C;AAC/D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAsB,CAAA,kBAAA,EAAqB,MAAM,CAAA,CAAE,CAAA;AAAA,EACxE;AAAA;AAAA,EAGA,MAAM,sBAAA,GAAoD;AACxD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAsB,2BAA2B,CAAA;AAAA,EACtE;AAAA;AAAA,EAGA,MAAM,mBAAA,GAAiD;AACrD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAsB,wBAAwB,CAAA;AAAA,EACnE;AAAA;AAAA,EAGA,MAAM,aAAa,MAAA,EAAiD;AAClE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,CAAA,mBAAA,EAAsB,MAAM,CAAA,CAAE,CAAA;AAAA,EAC/E;AAAA;AAAA,EAGA,MAAM,mBAAA,GAAuD;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,4BAA4B,CAAA;AAAA,EAC7E;AAAA;AAAA,EAGA,MAAM,gBAAA,GAAoD;AACxD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA4B,yBAAyB,CAAA;AAAA,EAC1E;AAAA;AAAA,EAGA,MAAM,iBAAA,CAAkB,SAAA,EAA0B,SAAwB,WAAA,EAA4B,SAAA,EAA0B,QAAuB,QAAA,EAA4D;AACjN,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAA8B,CAAA,6BAAA,EAAgC,kBAAA,CAAmB,OAAO,SAAS,CAAC,CAAC,CAAA,SAAA,EAAY,mBAAmB,MAAA,CAAO,OAAO,CAAC,CAAC,CAAA,aAAA,EAAgB,mBAAmB,MAAA,CAAO,WAAW,CAAC,CAAC,cAAc,kBAAA,CAAmB,MAAA,CAAO,SAAS,CAAC,CAAC,WAAW,kBAAA,CAAmB,MAAA,CAAO,MAAM,CAAC,CAAC,CAAA,UAAA,EAAa,kBAAA,CAAmB,OAAO,QAAQ,CAAC,CAAC,CAAA,CAAE,CAAA;AAAA,EACjX;AAAA;AAAA,EAGA,MAAM,qBAAA,CAAsB,SAAA,EAA0B,SAAwB,WAAA,EAA4B,SAAA,EAA0B,QAAuB,QAAA,EAA4D;AACrN,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAA8B,CAAA,yCAAA,EAA4C,kBAAA,CAAmB,OAAO,SAAS,CAAC,CAAC,CAAA,SAAA,EAAY,mBAAmB,MAAA,CAAO,OAAO,CAAC,CAAC,CAAA,aAAA,EAAgB,mBAAmB,MAAA,CAAO,WAAW,CAAC,CAAC,cAAc,kBAAA,CAAmB,MAAA,CAAO,SAAS,CAAC,CAAC,WAAW,kBAAA,CAAmB,MAAA,CAAO,MAAM,CAAC,CAAC,CAAA,UAAA,EAAa,kBAAA,CAAmB,OAAO,QAAQ,CAAC,CAAC,CAAA,CAAE,CAAA;AAAA,EAC7X;AAAA;AAAA,EAGA,MAAM,iBAAiB,OAAA,EAA6C;AAClE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,CAAA,uBAAA,EAA0B,OAAO,CAAA,CAAE,CAAA;AAAA,EAC/E;AAAA;AAAA,EAGA,MAAM,uBAAA,GAAsD;AAC1D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,gCAAgC,CAAA;AAAA,EAC5E;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,6BAA6B,CAAA;AAAA,EACzE;AAAA;AAAA,EAGA,MAAM,gBAAA,CAAiB,MAAA,EAAgB,WAAA,EAA2D;AAChG,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAiC,4BAA4B,MAAM,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAA;AAAA,EACzG;AAAA;AAAA,EAGA,MAAM,6BAAA,CAA8B,MAAA,EAAgB,QAAA,EAAgB,IAAA,EAAkD;AACpH,IAAA,OAAO,IAAA,CAAK,OAAO,GAAA,CAAiC,CAAA,yBAAA,EAA4B,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EAC9G;AAAA;AAAA,EAGA,MAAM,mBAAA,GAA4D;AAChE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAiC,+BAA+B,CAAA;AAAA,EACrF;AAAA;AAAA,EAGA,MAAM,cAAA,CAAe,MAAA,EAAgB,WAAA,EAAmD;AACtF,IAAA,OAAO,KAAK,MAAA,CAAO,GAAA,CAAyB,yBAAyB,MAAM,CAAA,CAAA,EAAI,WAAW,CAAA,CAAE,CAAA;AAAA,EAC9F;AAAA;AAAA,EAGA,MAAM,2BAAA,CAA4B,MAAA,EAAgB,QAAA,EAAgB,IAAA,EAA0C;AAC1G,IAAA,OAAO,IAAA,CAAK,OAAO,GAAA,CAAyB,CAAA,sBAAA,EAAyB,MAAM,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,CAAA;AAAA,EACnG;AAAA;AAAA,EAGA,MAAM,kBAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAyB,4BAA4B,CAAA;AAAA,EAC1E;AAAA;AAAA,EAGA,MAAM,iBAAiB,MAAA,EAA4C;AACjE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,CAAA,cAAA,EAAiB,MAAM,CAAA,CAAE,CAAA;AAAA,EACrE;AAAA;AAAA,EAGA,MAAM,oBAAA,GAAmD;AACvD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAuB,oBAAoB,CAAA;AAAA,EAChE;AAAA;AAAA,EAGA,MAAM,mBAAmB,MAAA,EAA8C;AACrE,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAyB,CAAA,gBAAA,EAAmB,MAAM,CAAA,CAAE,CAAA;AAAA,EACzE;AAAA;AAAA,EAGA,MAAM,sBAAA,GAAuD;AAC3D,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAyB,sBAAsB,CAAA;AAAA,EACpE;AAAA;AAAA,EAGA,MAAM,oBAAoB,OAAA,EAAgE;AACxF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0C,CAAA,cAAA,EAAiB,OAAO,CAAA,CAAE,CAAA;AAAA,EACzF;AAAA;AAAA,EAGA,MAAM,uBAAA,GAAyE;AAC7E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAA0C,oBAAoB,CAAA;AAAA,EACnF;AAAA;AAAA,EAGA,MAAM,gCAAA,CAAiC,aAAA,EAAuB,IAAA,EAA8B;AAC1F,IAAA,OAAO,KAAK,MAAA,CAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,YAAY,IAAI,CAAA;AAAA,EAChF;AAAA;AAAA,EAGA,MAAM,wCAAA,CAAyC,aAAA,EAAuB,QAAA,EAAgB,IAAA,EAA8B;AAClH,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,cAAA,EAAiB,QAAQ,IAAI,IAAI,CAAA;AAAA,EACjG;AAAA;AAAA,EAGA,MAAM,0CAAA,CAA2C,aAAA,EAAuB,WAAA,EAAqB,IAAA,EAA8B;AACzH,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,gBAAA,EAAmB,WAAW,IAAI,IAAI,CAAA;AAAA,EACtG;AAAA;AAAA,EAGA,MAAM,yBAAA,CAA0B,aAAA,EAAuB,MAAA,EAAgB,IAAA,EAA8B;AACnG,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,CAAA,EAAI,MAAM,IAAI,IAAI,CAAA;AAAA,EAClF;AAAA;AAAA,EAGA,MAAM,kCAAA,CAAmC,aAAA,EAAuB,OAAA,EAAiB,IAAA,EAA8B;AAC7G,IAAA,OAAO,IAAA,CAAK,OAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,OAAA,EAAU,OAAO,IAAI,IAAI,CAAA;AAAA,EACzF;AAAA;AAAA,EAGA,MAAM,iCAAA,CAAkC,aAAA,EAAuB,MAAA,EAAgB,UAAgB,IAAA,EAA8B;AAC3H,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,IAAI,MAAM,CAAA,MAAA,EAAS,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA,EACnG;AAAA;AAAA,EAGA,MAAM,mCAAA,CAAoC,aAAA,EAAuB,MAAA,EAAgB,aAAqB,IAAA,EAA8B;AAClI,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,IAAI,MAAM,CAAA,QAAA,EAAW,WAAW,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA,EACxG;AAAA;AAAA,EAGA,MAAM,8CAAA,CAA+C,aAAA,EAAuB,MAAA,EAAgB,QAAA,EAAgB,MAAY,IAAA,EAA8B;AACpJ,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,IAAA,CAAW,CAAA,gBAAA,EAAmB,aAAa,CAAA,CAAA,EAAI,MAAM,CAAA,QAAA,EAAW,QAAQ,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA;AAAA,EAC7G;AAAA;AAAA,EAGA,MAAM,yBAAA,GAAsE;AAC1E,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,GAAA,CAAqC,2BAA2B,CAAA;AAAA,EACrF;AAAA;AAAA,EAGA,MAAM,2BAAA,GAA6C;AACjD,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,MAAA,CAAa,2BAA2B,CAAA;AAAA,EAC7D;AACF;;;ACpKO,IAAM,UAAN,MAAc;AAAA,EAwBnB,YAAY,OAAA,EAAiB;AAC3B,IAAA,IAAA,CAAK,MAAA,GAAS,IAAI,SAAA,CAAU,OAAO,CAAA;AAEnC,IAAA,IAAA,CAAK,MAAA,GAAS,IAAI,SAAA,CAAU,IAAA,CAAK,MAAM,CAAA;AACvC,IAAA,IAAA,CAAK,IAAA,GAAO,IAAI,OAAA,CAAQ,IAAA,CAAK,MAAM,CAAA;AACnC,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAI,QAAA,CAAS,IAAA,CAAK,MAAM,CAAA;AACrC,IAAA,IAAA,CAAK,MAAA,GAAS,IAAI,SAAA,CAAU,IAAA,CAAK,MAAM,CAAA;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,IAAI,UAAA,CAAW,IAAA,CAAK,MAAM,CAAA;AACzC,IAAA,IAAA,CAAK,SAAA,GAAY,IAAI,YAAA,CAAa,IAAA,CAAK,MAAM,CAAA;AAC7C,IAAA,IAAA,CAAK,QAAA,GAAW,IAAI,WAAA,CAAY,IAAA,CAAK,MAAM,CAAA;AAAA,EAC7C;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,OAAA,EAAuB;AACnC,IAAA,IAAA,CAAK,MAAA,CAAO,cAAc,OAAO,CAAA;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,aAAA,GAA2B;AACzB,IAAA,OAAO,IAAA,CAAK,MAAA;AAAA,EACd;AACF;;;AC1EO,SAAS,YAAA,CACd,SACA,QAAA,EACQ;AACR,EAAA,IAAI,CAAC,OAAA,IAAW,OAAA,IAAW,CAAA,EAAG,OAAO,CAAA;AACrC,EAAA,OAAO,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,OAAA,GAAU,QAAQ,CAAA;AACvC;AAKO,SAAS,QAAA,CACd,SACA,QAAA,EACS;AACT,EAAA,OAAO,YAAA,CAAa,OAAA,EAAS,QAAQ,CAAA,GAAI,CAAA;AAC3C;AAUO,SAAS,2BAAA,CACd,SACA,QAAA,EACQ;AACR,EAAA,OAAO,YAAA,CAAa,OAAA,EAAS,OAAA,EAAS,QAAQ,CAAA;AAChD;AAKO,SAAS,mBAAA,CACd,SACA,QAAA,EACS;AACT,EAAA,OAAO,2BAAA,CAA4B,OAAA,EAAS,QAAQ,CAAA,GAAI,CAAA;AAC1D;AAOO,SAAS,0BAAA,CACd,SACA,QAAA,EACQ;AACR,EAAA,IAAI,CAAC,OAAA,IAAW,CAAC,OAAA,CAAQ,aAAA,IAAiB,QAAQ,aAAA,IAAiB,CAAA;AACjE,IAAA,OAAO,CAAA;AACT,EAAA,MAAM,SAAA,GAAY,2BAAA,CAA4B,OAAA,EAAS,QAAQ,CAAA;AAC/D,EAAA,IAAI,SAAA,IAAa,GAAG,OAAO,CAAA;AAC3B,EAAA,OAAO,CAAA,GAAI,YAAY,OAAA,CAAQ,aAAA;AACjC;AAUO,SAAS,wBAAA,CACd,MACA,QAAA,EACQ;AACR,EAAA,OAAO,YAAA,CAAa,IAAA,EAAM,OAAA,EAAS,QAAQ,CAAA;AAC7C;AAKO,SAAS,gBAAA,CACd,MACA,QAAA,EACS;AACT,EAAA,OAAO,wBAAA,CAAyB,IAAA,EAAM,QAAQ,CAAA,GAAI,CAAA;AACpD;AAMO,SAAS,uBAAA,CACd,MACA,QAAA,EACQ;AACR,EAAA,IAAI,CAAC,IAAA,EAAM,WAAA,IAAe,IAAA,CAAK,WAAA,IAAe,GAAG,OAAO,CAAA;AACxD,EAAA,MAAM,SAAA,GAAY,wBAAA,CAAyB,IAAA,EAAM,QAAQ,CAAA;AACzD,EAAA,IAAI,SAAA,IAAa,GAAG,OAAO,CAAA;AAC3B,EAAA,OAAO,CAAA,GAAI,YAAY,IAAA,CAAK,WAAA;AAC9B;AAUO,SAAS,mBAAA,CACd,QACA,QAAA,EACQ;AACR,EAAA,OAAO,YAAA,CAAa,MAAA,EAAQ,SAAA,EAAW,QAAQ,CAAA;AACjD;AAKO,SAAS,YAAA,CACd,QACA,QAAA,EACS;AACT,EAAA,OAAO,mBAAA,CAAoB,MAAA,EAAQ,QAAQ,CAAA,GAAI,CAAA;AACjD;AA2CO,SAAS,uBACd,WAAA,EACuB;AACvB,EAAA,OAAO;AAAA,IACL,cAAc,CAAC,OAAA,KAAY,YAAA,CAAa,OAAA,EAAS,aAAa,CAAA;AAAA,IAC9D,UAAU,CAAC,OAAA,KAAY,QAAA,CAAS,OAAA,EAAS,aAAa,CAAA;AAAA,IACtD,6BAA6B,CAAC,OAAA,KAC5B,2BAAA,CAA4B,OAAA,EAAS,aAAa,CAAA;AAAA,IACpD,qBAAqB,CAAC,OAAA,KACpB,mBAAA,CAAoB,OAAA,EAAS,aAAa,CAAA;AAAA,IAC5C,4BAA4B,CAAC,OAAA,KAC3B,0BAAA,CAA2B,OAAA,EAAS,aAAa,CAAA;AAAA,IACnD,0BAA0B,CAAC,IAAA,KACzB,wBAAA,CAAyB,IAAA,EAAM,aAAa,CAAA;AAAA,IAC9C,kBAAkB,CAAC,IAAA,KAAS,gBAAA,CAAiB,IAAA,EAAM,aAAa,CAAA;AAAA,IAChE,yBAAyB,CAAC,IAAA,KACxB,uBAAA,CAAwB,IAAA,EAAM,aAAa,CAAA;AAAA,IAC7C,qBAAqB,CAAC,MAAA,KAAW,mBAAA,CAAoB,MAAA,EAAQ,aAAa,CAAA;AAAA,IAC1E,cAAc,CAAC,MAAA,KAAW,YAAA,CAAa,MAAA,EAAQ,aAAa;AAAA,GAC9D;AACF;;;AC1MO,SAAS,gBAAgB,IAAA,EAKrB;AACT,EAAA,IAAI,IAAA,CAAK,QAAA,EAAU,OAAO,IAAA,CAAK,QAAA;AAE/B,EAAA,MAAM,GAAA,GAAM,OAAO,QAAA,KAAa,WAAA,GAAc,QAAA,GAAW,MAAA;AACzD,EAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,QAAA,IAAY,GAAA,EAAK,QAAA,KAAa,QAAA;AACjD,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,IAAA,IAAQ,GAAA,EAAK,QAAA,IAAY,WAAA;AAC3C,EAAA,MAAM,IAAA,GAAO,IAAA,CAAK,IAAA,IAAQ,GAAA,EAAK,IAAA,IAAQ,KAAA;AACvC,EAAA,MAAM,QAAA,GAAW,IAAA,GAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,GAAK,EAAA;AACrC,EAAA,OAAO,GAAG,KAAA,GAAQ,OAAA,GAAU,MAAM,CAAA,GAAA,EAAM,IAAI,GAAG,QAAQ,CAAA,mBAAA,CAAA;AACzD;AASO,SAAS,UAAA,CAAW,UAAkB,MAAA,EAAsC;AACjF,EAAA,IAAI,IAAA;AACJ,EAAA,IAAI;AACF,IAAA,IAAA,GAAO,IAAA,CAAK,UAAU,MAAM,CAAA;AAAA,EAC9B,CAAA,CAAA,MAAQ;AACN,IAAA,OAAO,KAAA;AAAA,EACT;AAEA,EAAA,IAAI;AACF,IAAA,IAAI,OAAO,SAAA,KAAc,WAAA,IAAe,OAAO,SAAA,CAAU,eAAe,UAAA,EAAY;AAClF,MAAA,MAAM,IAAA,GAAO,IAAI,IAAA,CAAK,CAAC,IAAI,CAAA,EAAG,EAAE,IAAA,EAAM,0BAAA,EAA4B,CAAA;AAClE,MAAA,IAAI,SAAA,CAAU,UAAA,CAAW,QAAA,EAAU,IAAI,GAAG,OAAO,IAAA;AAAA,IACnD;AAAA,EACF,CAAA,CAAA,MAAQ;AAAA,EAER;AAEA,EAAA,IAAI;AACF,IAAA,IAAI,OAAO,UAAU,UAAA,EAAY;AAC/B,MAAA,KAAK,MAAM,QAAA,EAAU;AAAA,QACnB,MAAA,EAAQ,MAAA;AAAA,QACR,IAAA;AAAA,QACA,OAAA,EAAS,EAAE,cAAA,EAAgB,0BAAA,EAA2B;AAAA,QACtD,SAAA,EAAW,IAAA;AAAA,QACX,IAAA,EAAM,MAAA;AAAA,QACN,WAAA,EAAa;AAAA,OACd,CAAA,CAAE,KAAA,CAAM,MAAM;AAAA,MAAC,CAAC,CAAA;AACjB,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF,CAAA,CAAA,MAAQ;AAAA,EAER;AAEA,EAAA,OAAO,KAAA;AACT;;;AC+CO,IAAM,kBAAA,GAAuC;AAAA,EAClD,eAAA,EAAiB,KAAK,IAAA,GAAO,IAAA;AAAA;AAAA,EAC7B,iBAAA,EAAmB,IAAA;AAAA,EACnB,kBAAA,EAAoB,CAAA;AAAA,EACpB,iBAAA,EAAmB,GAAA;AAAA;AAAA,EACnB,aAAA,EAAe,IAAI,IAAA,GAAO,IAAA;AAAA;AAAA,EAC1B,MAAA,EAAQ,EAAA;AAAA,EACR,aAAA,EAAe,EAAA;AAAA,EACf,UAAA,EAAY,GAAA;AAAA,EACZ,WAAA,EAAa,GAAA;AAAA,EACb,WAAA,EAAa;AACf,CAAA;;;AC3GA,IAAM,eAAA,GAAkB,GAAA;AACxB,IAAM,UAAA,GAAa,EAAA;AAEnB,IAAM,gBAAA,GAAmB,GAAA;AAEzB,IAAM,eAAA,uBAAoD,GAAA,CAAI;AAAA,EAC5D,SAAA;AAAA,EACA,WAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAAC,CAAA;AAED,SAAS,GAAA,GAAc;AACrB,EAAA,OAAO,KAAK,GAAA,EAAI;AAClB;AAEA,SAAS,QAAA,GAAmB;AAC1B,EAAA,OAAO,KAAK,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,EAAE,KAAA,CAAM,CAAC,CAAA,GAAI,IAAA,CAAK,QAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,MAAM,CAAC,CAAA;AACjF;AAEA,SAAS,gBAAgB,EAAA,EAAqB;AAC5C,EAAA,MAAM,KAAK,EAAA,CAAG,EAAA,GAAK,CAAA,CAAA,EAAI,EAAA,CAAG,EAAE,CAAA,CAAA,GAAK,EAAA;AACjC,EAAA,MAAM,GAAA,GACJ,OAAO,EAAA,CAAG,SAAA,KAAc,YAAY,EAAA,CAAG,SAAA,GACnC,CAAA,CAAA,EAAI,EAAA,CAAG,SAAA,CAAU,IAAA,GAAO,KAAA,CAAM,KAAK,EAAE,KAAA,CAAM,CAAA,EAAG,CAAC,CAAA,CAAE,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,GAC1D,EAAA;AACN,EAAA,OAAO,CAAA,EAAG,GAAG,OAAA,CAAQ,WAAA,EAAa,CAAA,EAAG,EAAE,GAAG,GAAG,CAAA,CAAA;AAC/C;AAOO,IAAM,uBAAN,MAA0D;AAAA,EAkB/D,YAAY,IAAA,EAA4B;AAbxC,IAAA,IAAA,CAAiB,YAAY,QAAA,EAAS;AACtC,IAAA,IAAA,CAAiB,MAAA,uBAAa,GAAA,EAAyB;AAGvD;AAAA,IAAA,IAAA,CAAQ,aAAuB,EAAC;AAChC,IAAA,IAAA,CAAQ,WAAA,GAAc,CAAA;AACtB,IAAA,IAAA,CAAQ,gBAA0B,EAAC;AACnC,IAAA,IAAA,CAAQ,KAAA,GAAuB,IAAA;AAC/B,IAAA,IAAA,CAAQ,WAAA,GAAqD,IAAA;AAC7D,IAAA,IAAA,CAAQ,cAAA,GAAuD,IAAA;AAC/D,IAAA,IAAA,CAAQ,YAAA,GAA2C,IAAA;AACnD,IAAA,IAAA,CAAQ,OAAA,GAAU,KAAA;AAwDlB;AAAA,IAAA,IAAA,CAAQ,OAAA,GAAU,CAAC,CAAA,KAAmB;AACpC,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,CAAA,CAAE,MAAA;AACjB,QAAA,IAAI,kBAAkB,gBAAA,EAAkB;AAEtC,UAAA,MAAM,GAAA,GAAM,OAAO,UAAA,IAAc,MAAA,CAAO,OAAO,MAAA,CAAO,YAAA,CAAa,KAAK,CAAA,IAAK,WAAA;AAC7E,UAAA,IAAA,CAAK,MAAA,CAAO;AAAA,YACV,IAAA,EAAM,cAAA;AAAA,YACN,QAAA,EAAU,OAAA;AAAA,YACV,GAAA,EAAK,GAAA;AAAA,YACL,OAAA,EAAS,sBAAA;AAAA,YACT,GAAA;AAAA,YACA,OAAA,EAAS,gBAAgB,MAAM;AAAA,WAChC,CAAA;AACD,UAAA;AAAA,QACF;AAGA,QAAA,MAAM,QAAA,GAAW,CAAA;AACjB,QAAA,IAAI,EAAE,MAAA,YAAkB,OAAA,CAAA,IAAY,QAAA,CAAS,OAAA,EAAS;AACpD,UAAA,MAAM,KAAA,GAAQ,QAAA,CAAS,QAAA,GACnB,CAAA,EAAG,QAAA,CAAS,QAAQ,CAAA,CAAA,EAAI,QAAA,CAAS,MAAA,IAAU,CAAC,CAAA,CAAA,GAC5C,EAAA;AACJ,UAAA,IAAA,CAAK,MAAA,CAAO;AAAA,YACV,IAAA,EAAM,UAAA;AAAA,YACN,QAAA,EAAU,OAAA;AAAA,YACV,GAAA,EAAK,CAAA,EAAG,QAAA,CAAS,OAAO,IAAI,KAAK,CAAA,CAAA;AAAA,YACjC,SAAS,QAAA,CAAS,OAAA;AAAA,YAClB,MAAA,EAAQ,KAAA,GAAQ,EAAE,QAAA,EAAU,OAAM,GAAI,KAAA;AAAA,WACvC,CAAA;AAAA,QACH;AAAA,MACF,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF,CAAA;AAEA,IAAA,IAAA,CAAQ,MAAA,GAAS,CAAC,CAAA,KAAmB;AACnC,MAAA,IAAI;AACF,QAAA,MAAM,SAAS,CAAA,CAAE,MAAA;AACjB,QAAA,IAAI,kBAAkB,gBAAA,EAAkB;AACtC,UAAA,IAAA,CAAK,aAAa,MAAM,CAAA;AAAA,QAC1B;AAAA,MACF,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF,CAAA;AAEA,IAAA,IAAA,CAAQ,WAAA,GAAc,CAAC,CAAA,KAAmC;AACxD,MAAA,IAAI;AACF,QAAA,MAAM,MAAA,GACJ,CAAA,CAAE,MAAA,YAAkB,KAAA,GAChB,CAAA,CAAE,MAAA,CAAO,OAAA,GACT,OAAO,CAAA,CAAE,MAAA,KAAW,QAAA,GAClB,CAAA,CAAE,MAAA,GACF,6BAAA;AACR,QAAA,IAAA,CAAK,MAAA,CAAO;AAAA,UACV,IAAA,EAAM,UAAA;AAAA,UACN,QAAA,EAAU,OAAA;AAAA,UACV,GAAA,EAAK,aAAa,MAAM,CAAA,CAAA;AAAA,UACxB,OAAA,EAAS,wBAAwB,MAAM,CAAA;AAAA,SACxC,CAAA;AAAA,MACH,CAAA,CAAA,MAAQ;AAAA,MAER;AAAA,IACF,CAAA;AAmRA,IAAA,IAAA,CAAQ,qBAAqB,MAAY;AACvC,MAAA,IAAI,QAAA,CAAS,eAAA,KAAoB,QAAA,EAAU,IAAA,CAAK,KAAA,EAAM;AAAA,IACxD,CAAA;AAEA,IAAA,IAAA,CAAQ,aAAa,MAAY;AAC/B,MAAA,IAAA,CAAK,KAAA,EAAM;AAAA,IACb,CAAA;AA9YE,IAAA,IAAA,CAAK,OAAA,GAAU;AAAA,MACb,QAAQ,IAAA,CAAK,MAAA;AAAA,MACb,OAAA,EAAS,KAAK,OAAA,IAAW,IAAA;AAAA,MACzB,gBAAA,EAAkB,KAAK,gBAAA,IAAoB,GAAA;AAAA,MAC3C,UAAA,EAAY,EAAE,GAAG,kBAAA,EAAoB,GAAI,IAAA,CAAK,UAAA,IAAc,EAAC;AAAG,KAClE;AACA,IAAA,IAAA,CAAK,QAAA,GAAW,gBAAgB,IAAI,CAAA;AAAA,EACtC;AAAA,EAEA,KAAA,GAAc;AACZ,IAAA,IAAI,IAAA,CAAK,OAAA,IAAW,CAAC,IAAA,CAAK,QAAQ,OAAA,EAAS;AAC3C,IAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AAEnC,IAAA,MAAA,CAAO,gBAAA,CAAiB,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,IAAI,CAAA;AACnD,IAAA,MAAA,CAAO,gBAAA,CAAiB,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,IAAI,CAAA;AACjD,IAAA,MAAA,CAAO,gBAAA,CAAiB,oBAAA,EAAsB,IAAA,CAAK,WAAW,CAAA;AAC9D,IAAA,QAAA,CAAS,gBAAA,CAAiB,kBAAA,EAAoB,IAAA,CAAK,kBAAkB,CAAA;AACrE,IAAA,MAAA,CAAO,gBAAA,CAAiB,UAAA,EAAY,IAAA,CAAK,UAAU,CAAA;AAEnD,IAAA,IAAA,CAAK,kBAAA,EAAmB;AACxB,IAAA,IAAA,CAAK,iBAAA,EAAkB;AAEvB,IAAA,IAAA,CAAK,WAAA,GAAc,YAAY,MAAM,IAAA,CAAK,OAAM,EAAG,IAAA,CAAK,QAAQ,gBAAgB,CAAA;AAAA,EAClF;AAAA,EAEA,KAAA,GAAc;AACZ,IAAA,IAAI,KAAK,OAAA,EAAS;AAClB,IAAA,IAAI;AACF,MAAA,MAAM,MAAA,GAAS,KAAK,WAAA,EAAY;AAChC,MAAA,UAAA,CAAW,IAAA,CAAK,UAAU,MAAM,CAAA;AAAA,IAClC,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF;AAAA,EAEA,IAAA,GAAa;AACX,IAAA,IAAI,KAAK,OAAA,EAAS;AAClB,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AAEf,IAAA,MAAA,CAAO,mBAAA,CAAoB,OAAA,EAAS,IAAA,CAAK,OAAA,EAAS,IAAI,CAAA;AACtD,IAAA,MAAA,CAAO,mBAAA,CAAoB,MAAA,EAAQ,IAAA,CAAK,MAAA,EAAQ,IAAI,CAAA;AACpD,IAAA,MAAA,CAAO,mBAAA,CAAoB,oBAAA,EAAsB,IAAA,CAAK,WAAW,CAAA;AACjE,IAAA,QAAA,CAAS,mBAAA,CAAoB,kBAAA,EAAoB,IAAA,CAAK,kBAAkB,CAAA;AACxE,IAAA,MAAA,CAAO,mBAAA,CAAoB,UAAA,EAAY,IAAA,CAAK,UAAU,CAAA;AAEtD,IAAA,IAAI,IAAA,CAAK,KAAA,KAAU,IAAA,EAAM,oBAAA,CAAqB,KAAK,KAAK,CAAA;AACxD,IAAA,IAAI,IAAA,CAAK,WAAA,KAAgB,IAAA,EAAM,aAAA,CAAc,KAAK,WAAW,CAAA;AAC7D,IAAA,IAAI,IAAA,CAAK,cAAA,KAAmB,IAAA,EAAM,YAAA,CAAa,KAAK,cAAc,CAAA;AAClE,IAAA,IAAA,CAAK,cAAc,UAAA,EAAW;AAAA,EAChC;AAAA,EAsEQ,aAAa,GAAA,EAA6B;AAChD,IAAA,MAAM,KAAK,GAAA,CAAI,YAAA;AACf,IAAA,MAAM,KAAK,GAAA,CAAI,aAAA;AACf,IAAA,IAAI,CAAC,EAAA,IAAM,CAAC,EAAA,EAAI;AAEhB,IAAA,MAAM,cAAc,EAAA,GAAK,EAAA;AACzB,IAAA,MAAM,eAAe,WAAA,GAAc,CAAA;AACnC,IAAA,MAAM,gBAAgB,IAAA,CAAK,GAAA,CAAI,GAAG,GAAA,CAAI,WAAA,GAAc,IAAI,YAAY,CAAA;AACpE,IAAA,MAAM,kBAAkB,WAAA,GAAc,aAAA;AACtC,IAAA,MAAM,CAAA,GAAI,KAAK,OAAA,CAAQ,UAAA;AACvB,IAAA,MAAM,GAAA,GAAM,GAAA,CAAI,UAAA,IAAc,GAAA,CAAI,GAAA;AAElC,IAAA,MAAM,MAAA,GAAS,eAAe,CAAA,CAAE,eAAA,IAAmB,KAAK,CAAA,CAAE,iBAAA,IAAqB,KAAK,CAAA,CAAE,iBAAA;AACtF,IAAA,MAAM,WAAA,GAAc,WAAA,GAAc,CAAA,CAAE,iBAAA,IAAqB,kBAAkB,CAAA,CAAE,kBAAA;AAE7E,IAAA,IAAI,UAAU,WAAA,EAAa;AACzB,MAAA,IAAA,CAAK,MAAA,CAAO;AAAA,QACV,IAAA,EAAM,iBAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,GAAA,EAAK,GAAA;AAAA,QACL,OAAA,EAAS,MAAA,GACL,CAAA,kBAAA,EAAqB,EAAE,CAAA,IAAA,EAAI,EAAE,CAAA,CAAA,CAAA,GAC7B,CAAA,qCAAA,EAAwC,EAAE,CAAA,IAAA,EAAI,EAAE,CAAA,CAAA,CAAA;AAAA,QACpD,GAAA;AAAA,QACA,OAAA,EAAS,gBAAgB,GAAG,CAAA;AAAA,QAC5B,MAAA,EAAQ;AAAA,UACN,YAAA,EAAc,EAAA;AAAA,UACd,aAAA,EAAe,EAAA;AAAA,UACf,gBAAgB,GAAA,CAAI,WAAA;AAAA,UACpB,iBAAiB,GAAA,CAAI,YAAA;AAAA,UACrB,iBAAiB,IAAA,CAAK,KAAA,CAAO,gBAAgB,IAAA,GAAO,IAAA,CAAA,GAAS,EAAE,CAAA,GAAI,EAAA;AAAA,UACnE,eAAA,EAAiB,IAAA,CAAK,KAAA,CAAM,eAAA,GAAkB,EAAE,CAAA,GAAI;AAAA;AACtD,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,iBAAA,GAA0B;AAChC,IAAA,IAAI,OAAO,wBAAwB,WAAA,EAAa;AAEhD,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,YAAA,GAAe,IAAI,mBAAA,CAAoB,CAAC,IAAA,KAAS;AACpD,QAAA,KAAA,MAAW,KAAA,IAAS,IAAA,CAAK,UAAA,EAAW,EAAG;AACrC,UAAA,IAAI,KAAA,CAAM,cAAc,UAAA,EAAY;AAClC,YAAA,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,GAAA,EAAK,CAAA;AAC7B,YAAA,IAAI,KAAA,CAAM,QAAA,IAAY,IAAA,CAAK,OAAA,CAAQ,WAAW,UAAA,EAAY;AACxD,cAAA,IAAA,CAAK,MAAA,CAAO;AAAA,gBACV,IAAA,EAAM,WAAA;AAAA,gBACN,QAAA,EAAU,SAAA;AAAA,gBACV,GAAA,EAAK,WAAA;AAAA,gBACL,OAAA,EAAS,oCAAA;AAAA,gBACT,QAAQ,EAAE,cAAA,EAAgB,KAAK,KAAA,CAAM,KAAA,CAAM,QAAQ,CAAA;AAAE,eACtD,CAAA;AAAA,YACH;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,SAAA,KAAc,UAAA,EAAY;AACzC,YAAA,IAAA,CAAK,gBAAgB,KAAkC,CAAA;AAAA,UACzD;AAAA,QACF;AAAA,MACF,CAAC,CAAA;AAID,MAAA,IAAA,CAAK,WAAW,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,MAAM,CAAA;AACpD,MAAA,IAAA,CAAK,WAAW,EAAE,IAAA,EAAM,UAAA,EAAY,QAAA,EAAU,MAAM,CAAA;AAAA,IACtD,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF;AAAA,EAEQ,WAAW,IAAA,EAAqC;AACtD,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,YAAA,EAAc,QAAQ,IAAI,CAAA;AAAA,IACjC,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF;AAAA,EAEQ,gBAAgB,KAAA,EAAwC;AAC9D,IAAA,IAAI,KAAA,CAAM,aAAA,KAAkB,KAAA,IAAS,KAAA,CAAM,kBAAkB,KAAA,EAAO;AACpE,IAAA,MAAM,KAAA,GAAQ,KAAA,CAAM,eAAA,IAAmB,KAAA,CAAM,YAAA,IAAgB,CAAA;AAC7D,IAAA,IAAI,KAAA,GAAQ,IAAA,CAAK,OAAA,CAAQ,UAAA,CAAW,aAAA,EAAe;AACjD,MAAA,IAAA,CAAK,MAAA,CAAO;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,KAAK,KAAA,CAAM,IAAA;AAAA,QACX,OAAA,EAAS,yBAAyB,IAAA,CAAK,KAAA,CAAO,SAAS,IAAA,GAAO,IAAA,CAAA,GAAS,EAAE,CAAA,GAAI,EAAE,CAAA,IAAA,CAAA;AAAA,QAC/E,KAAK,KAAA,CAAM,IAAA;AAAA,QACX,MAAA,EAAQ;AAAA,UACN,YAAA,EAAc,KAAA;AAAA,UACd,YAAA,EAAc,MAAM,eAAA,IAAmB,CAAA;AAAA,UACvC,WAAW,KAAA,CAAM;AAAA;AACnB,OACD,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,kBAAA,GAA2B;AACjC,IAAA,IAAI,OAAO,0BAA0B,WAAA,EAAa;AAClD,IAAA,IAAA,CAAK,cAAc,GAAA,EAAI;AACvB,IAAA,MAAM,OAAO,MAAY;AACvB,MAAA,IAAI,KAAK,OAAA,EAAS;AAClB,MAAA,MAAM,IAAI,GAAA,EAAI;AACd,MAAA,IAAA,CAAK,UAAA,CAAW,KAAK,CAAC,CAAA;AACtB,MAAA,MAAM,SAAS,CAAA,GAAI,eAAA;AACnB,MAAA,OAAO,IAAA,CAAK,UAAA,CAAW,MAAA,IAAU,IAAA,CAAK,UAAA,CAAW,CAAC,CAAA,GAAI,MAAA,EAAQ,IAAA,CAAK,UAAA,CAAW,KAAA,EAAM;AACpF,MAAA,IAAA,CAAK,WAAA,GAAc,CAAA;AACnB,MAAA,IAAA,CAAK,KAAA,GAAQ,sBAAsB,IAAI,CAAA;AAAA,IACzC,CAAA;AACA,IAAA,IAAA,CAAK,KAAA,GAAQ,sBAAsB,IAAI,CAAA;AAAA,EACzC;AAAA;AAAA,EAIQ,cAAA,GAAgC;AACtC,IAAA,MAAM,SAAS,IAAA,CAAK,UAAA;AACpB,IAAA,MAAM,SAAmB,EAAC;AAC1B,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,MAAA,CAAO,QAAQ,CAAA,EAAA,EAAK,MAAA,CAAO,IAAA,CAAK,MAAA,CAAO,CAAC,CAAA,GAAI,MAAA,CAAO,CAAA,GAAI,CAAC,CAAC,CAAA;AAE7E,IAAA,MAAM,MAAA,GAAS,MAAA,CAAO,MAAA,GAAS,CAAA,GAAI,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA,GAAI,MAAA,CAAO,CAAC,CAAA,GAAI,CAAA;AAC3E,IAAA,MAAM,GAAA,GAAM,MAAA,GAAS,CAAA,GAAI,IAAA,CAAK,KAAA,CAAA,CAAQ,OAAO,MAAA,GAAS,CAAA,IAAK,MAAA,GAAU,GAAI,CAAA,GAAI,CAAA;AAE7E,IAAA,IAAI,GAAA,GAAM,CAAA;AACV,IAAA,IAAI,OAAA,GAAU,CAAA;AACd,IAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,MAAA,MAAM,MAAA,GAAS,CAAC,GAAG,MAAM,CAAA,CAAE,KAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,GAAI,CAAC,CAAA;AAC/C,MAAA,GAAA,GAAM,MAAA,CAAO,IAAA,CAAK,GAAA,CAAI,MAAA,CAAO,MAAA,GAAS,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,MAAA,CAAO,MAAA,GAAS,IAAI,CAAC,CAAC,CAAA;AAC1E,MAAA,OAAA,GAAU,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAC,CAAA;AAAA,IACpC;AAEA,IAAA,MAAM,MAAA,GAAS,KAAI,GAAI,eAAA;AACvB,IAAA,IAAA,CAAK,gBAAgB,IAAA,CAAK,aAAA,CAAc,OAAO,CAAC,EAAA,KAAO,MAAM,MAAM,CAAA;AAEnE,IAAA,MAAM,OAAA,GAAyB;AAAA,MAC7B,GAAA;AAAA,MACA,UAAA,EAAY,IAAA,CAAK,KAAA,CAAM,GAAG,CAAA;AAAA,MAC1B,cAAA,EAAgB,IAAA,CAAK,KAAA,CAAM,OAAO,CAAA;AAAA,MAClC,iBAAA,EAAmB,KAAK,aAAA,CAAc,MAAA;AAAA,MACtC,QAAA,EAAU,QAAA,CAAS,oBAAA,CAAqB,GAAG,CAAA,CAAE;AAAA,KAC/C;AAGA,IAAA,MAAM,MAAO,WAAA,CAA+F,MAAA;AAC5G,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,OAAA,CAAQ,eAAe,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,cAAA,IAAkB,OAAO,IAAA,CAAK,CAAA;AACpE,MAAA,OAAA,CAAQ,gBAAgB,IAAA,CAAK,KAAA,CAAM,GAAA,CAAI,eAAA,IAAmB,OAAO,IAAA,CAAK,CAAA;AAAA,IACxE;AAEA,IAAA,OAAO,OAAA;AAAA,EACT;AAAA;AAAA,EAGQ,qBAAqB,OAAA,EAA8B;AACzD,IAAA,MAAM,CAAA,GAAI,KAAK,OAAA,CAAQ,UAAA;AAGvB,IAAA,IAAI,IAAA,CAAK,UAAA,CAAW,MAAA,GAAS,EAAA,EAAI;AAC/B,MAAA,IAAI,QAAQ,GAAA,GAAM,CAAA,CAAE,UAAU,OAAA,CAAQ,UAAA,GAAa,EAAE,aAAA,EAAe;AAClE,QAAA,IAAA,CAAK,MAAA,CAAO;AAAA,UACV,IAAA,EAAM,SAAA;AAAA,UACN,QAAA,EAAU,SAAA;AAAA,UACV,GAAA,EAAK,SAAA;AAAA,UACL,OAAA,EAAS,CAAA,gBAAA,EAAmB,OAAA,CAAQ,GAAG,CAAA,KAAA,CAAA;AAAA,UACvC,QAAQ,EAAE,GAAA,EAAK,QAAQ,GAAA,EAAK,UAAA,EAAY,QAAQ,UAAA;AAAW,SAC5D,CAAA;AAAA,MACH;AAAA,IACF;AAEA,IAAA,IAAI,QAAQ,YAAA,KAAiB,MAAA,IAAa,OAAA,CAAQ,YAAA,GAAe,EAAE,WAAA,EAAa;AAC9E,MAAA,IAAA,CAAK,MAAA,CAAO;AAAA,QACV,IAAA,EAAM,aAAA;AAAA,QACN,QAAA,EAAU,SAAA;AAAA,QACV,GAAA,EAAK,aAAA;AAAA,QACL,OAAA,EAAS,CAAA,iBAAA,EAAoB,OAAA,CAAQ,YAAY,CAAA,IAAA,CAAA;AAAA,QACjD,MAAA,EAAQ,EAAE,YAAA,EAAc,OAAA,CAAQ,YAAA;AAAa,OAC9C,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,OAAA,CAAQ,QAAA,GAAW,CAAA,CAAE,WAAA,EAAa;AACpC,MAAA,IAAA,CAAK,MAAA,CAAO;AAAA,QACV,IAAA,EAAM,WAAA;AAAA,QACN,UAAU,OAAA,CAAQ,QAAA,GAAW,CAAA,CAAE,WAAA,GAAc,IAAI,SAAA,GAAY,MAAA;AAAA,QAC7D,GAAA,EAAK,WAAA;AAAA,QACL,OAAA,EAAS,CAAA,WAAA,EAAc,OAAA,CAAQ,QAAQ,CAAA,UAAA,CAAA;AAAA,QACvC,MAAA,EAAQ,EAAE,QAAA,EAAU,OAAA,CAAQ,QAAA;AAAS,OACtC,CAAA;AAAA,IACH;AAAA,EACF;AAAA,EAEQ,WAAA,GAAmC;AACzC,IAAA,MAAM,OAAA,GAAU,KAAK,cAAA,EAAe;AACpC,IAAA,IAAA,CAAK,qBAAqB,OAAO,CAAA;AACjC,IAAA,IAAA,CAAK,oBAAA,EAAqB;AAE1B,IAAA,OAAO;AAAA,MACL,MAAA,EAAQ,KAAK,OAAA,CAAQ,MAAA;AAAA,MACrB,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,GAAA,EAAK,OAAO,QAAA,KAAa,WAAA,GAAc,SAAS,IAAA,GAAO,EAAA;AAAA,MACvD,SAAA,EAAW,OAAO,SAAA,KAAc,WAAA,GAAc,UAAU,SAAA,GAAY,EAAA;AAAA,MACpE,WAAW,GAAA,EAAI;AAAA,MACf,OAAA;AAAA,MACA,QAAQ,CAAC,GAAG,IAAA,CAAK,MAAA,CAAO,QAAQ;AAAA,KAClC;AAAA,EACF;AAAA,EAEQ,OAAO,KAAA,EAQN;AACP,IAAA,MAAM,SAAS,CAAA,EAAG,KAAA,CAAM,IAAI,CAAA,CAAA,EAAI,MAAM,GAAG,CAAA,CAAA;AACzC,IAAA,MAAM,KAAK,GAAA,EAAI;AACf,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,MAAA,CAAO,GAAA,CAAI,MAAM,CAAA;AAEvC,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,QAAA,CAAS,KAAA,EAAA;AACT,MAAA,QAAA,CAAS,QAAA,GAAW,EAAA;AACpB,MAAA,QAAA,CAAS,UAAU,KAAA,CAAM,OAAA;AACzB,MAAA,IAAI,KAAA,CAAM,MAAA,EAAQ,QAAA,CAAS,MAAA,GAAS,KAAA,CAAM,MAAA;AAC1C,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,IAAA,CAAK,MAAA,CAAO,IAAA,IAAQ,UAAA,OAAiB,WAAA,EAAY;AAErD,IAAA,IAAA,CAAK,MAAA,CAAO,IAAI,MAAA,EAAQ;AAAA,MACtB,MAAM,KAAA,CAAM,IAAA;AAAA,MACZ,UAAU,KAAA,CAAM,QAAA;AAAA,MAChB,KAAK,KAAA,CAAM,GAAA;AAAA,MACX,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,KAAK,KAAA,CAAM,GAAA;AAAA,MACX,SAAS,KAAA,CAAM,OAAA;AAAA,MACf,QAAQ,KAAA,CAAM,MAAA;AAAA,MACd,KAAA,EAAO,CAAA;AAAA,MACP,SAAA,EAAW,EAAA;AAAA,MACX,QAAA,EAAU;AAAA,KACX,CAAA;AAGD,IAAA,IAAI,KAAA,CAAM,QAAA,KAAa,OAAA,EAAS,IAAA,CAAK,iBAAA,EAAkB;AAAA,EACzD;AAAA,EAEQ,iBAAA,GAA0B;AAChC,IAAA,IAAI,IAAA,CAAK,mBAAmB,IAAA,EAAM;AAClC,IAAA,IAAA,CAAK,cAAA,GAAiB,WAAW,MAAM;AACrC,MAAA,IAAA,CAAK,cAAA,GAAiB,IAAA;AACtB,MAAA,IAAA,CAAK,KAAA,EAAM;AAAA,IACb,GAAG,GAAG,CAAA;AAAA,EACR;AAAA,EAEQ,oBAAA,GAA6B;AACnC,IAAA,MAAM,MAAA,GAAS,KAAI,GAAI,gBAAA;AACvB,IAAA,KAAA,MAAW,CAAC,CAAA,EAAG,KAAK,CAAA,IAAK,KAAK,MAAA,EAAQ;AACpC,MAAA,IAAI,gBAAgB,GAAA,CAAI,KAAA,CAAM,IAAI,CAAA,IAAK,KAAA,CAAM,WAAW,MAAA,EAAQ;AAC9D,QAAA,IAAA,CAAK,MAAA,CAAO,OAAO,CAAC,CAAA;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,WAAA,GAAoB;AAC1B,IAAA,IAAI,SAAA,GAA2B,IAAA;AAC/B,IAAA,IAAI,MAAA,GAAS,QAAA;AACb,IAAA,KAAA,MAAW,CAAC,CAAA,EAAG,KAAK,CAAA,IAAK,KAAK,MAAA,EAAQ;AACpC,MAAA,IAAI,KAAA,CAAM,WAAW,MAAA,EAAQ;AAC3B,QAAA,MAAA,GAAS,KAAA,CAAM,QAAA;AACf,QAAA,SAAA,GAAY,CAAA;AAAA,MACd;AAAA,IACF;AACA,IAAA,IAAI,SAAA,EAAW,IAAA,CAAK,MAAA,CAAO,MAAA,CAAO,SAAS,CAAA;AAAA,EAC7C;AASF,CAAA;;;AC/bO,SAAS,mBAAmB,OAAA,EAAoD;AACrF,EAAA,MAAM,OAAA,GAAU,IAAI,oBAAA,CAAqB,OAAO,CAAA;AAChD,EAAA,OAAA,CAAQ,KAAA,EAAM;AACd,EAAA,OAAO,OAAA;AACT;;;ACKA,IAAI,cAAA,GAAwD,IAAA;AAmErD,IAAM,wBAAN,MAA4B;AAAA,EAgGjC,YAAY,MAAA,EAAqC;AAxFjD;AAAA,IAAA,IAAA,CAAQ,cAAA,GAA6C,IAAA;AAIrD,IAAA,IAAA,CAAQ,SAAA,GAAA,CAAA;AACR,IAAA,IAAA,CAAQ,qBAAA,GAAiC,KAAA;AAIzC,IAAA,IAAA,CAAQ,oBAAA,GAAgC,KAAA;AAwCxC;AAAA,IAAA,IAAA,CAAQ,mBAAA,uBACF,GAAA,EAAI;AACV,IAAA,IAAA,CAAQ,kBAAA,uBAEA,GAAA,EAAI;AACZ,IAAA,IAAA,CAAQ,mBAAA,GAQJ;AAAA,MACF,aAAA,sBAAmB,GAAA,EAAI;AAAA,MACvB,WAAA,sBAAiB,GAAA,EAAI;AAAA,MACrB,gBAAA,sBAAsB,GAAA,EAAI;AAAA,MAC1B,iBAAA,sBAAuB,GAAA,EAAI;AAAA,MAC3B,mBAAA,sBAAyB,GAAA,EAAI;AAAA,MAC7B,eAAA,sBAAqB,GAAA,EAAI;AAAA,MACzB,oBAAA,sBAA0B,GAAA;AAAI,KAChC;AAGA;AAAA,IAAA,IAAA,CAAQ,yBAAA,uBAEA,GAAA,EAAI;AACZ,IAAA,IAAA,CAAQ,wBAAA,GAKJ;AAAA,MACF,QAAA,sBAAc,GAAA,EAAI;AAAA,MAClB,kBAAA,sBAAwB,GAAA,EAAI;AAAA,MAC5B,gBAAA,sBAAsB,GAAA,EAAI;AAAA,MAC1B,aAAA,sBAAmB,GAAA;AAAI,KACzB;AAGE,IAAA,IAAA,CAAK,MAAA,GAAS;AAAA,MACZ,MAAM,MAAA,CAAO,IAAA;AAAA,MACb,IAAA,EAAM,OAAO,IAAA,IAAQ,KAAA;AAAA,MACrB,aAAA,EAAe,OAAO,aAAA,IAAiB,QAAA;AAAA,MACvC,cAAA,EAAgB,OAAO,cAAA,IAAkB,SAAA;AAAA,MACzC,QAAA,EAAU,OAAO,QAAA,IAAY,MAAA;AAAA,MAC7B,UAAA,EAAY,OAAO,UAAA,IAAc,QAAA;AAAA,MACjC,QAAA,EAAU,OAAO,QAAA,IAAY,KAAA;AAAA,MAC7B,WAAA,EAAa,OAAO,WAAA,IAAe,IAAA;AAAA,MACnC,aAAA,EAAe,OAAO,aAAA,IAAiB;AAAA,KACzC;AAGA,IAAA,MAAM,YAAA,GAAe,IAAA,CAAK,MAAA,CAAO,QAAA,GAAW,OAAA,GAAU,MAAA;AACtD,IAAA,MAAM,UAAA,GAAa,CAAA,EAAG,YAAY,CAAA,GAAA,EAAM,KAAK,MAAA,CAAO,IAAI,CAAA,CAAA,EAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,EAAG,IAAA,CAAK,OAAO,QAAQ,CAAA,CAAA;AACnG,IAAA,IAAA,CAAK,GAAA,GAAM,IAAI,OAAA,CAAQ,UAAU,CAAA;AAGjC,IAAA,IAAA,CAAK,MAAA,GAAS,sBAAA,CAAuB,MAAM,IAAA,CAAK,SAAS,QAAQ,CAAA;AAGjE,IAAA,IAAA,CAAK,QAAA,GAAW,IAAI,gBAAA,EAAiB;AACrC,IAAA,IAAA,CAAK,QAAA,GAAW,IAAI,kBAAA,EAAmB;AACvC,IAAA,IAAA,CAAK,cAAc,IAAI,cAAA,CAAe,IAAA,CAAK,QAAA,EAAU,KAAK,SAAS,CAAA;AACnE,IAAA,IAAA,CAAK,yBAAA,EAA0B;AAC/B,IAAA,IAAA,CAAK,QAAA,CAAS,YAAA,CAAa,MAAM,IAAA,CAAK,SAAS,CAAA;AAG/C,IAAA,IAAA,CAAK,SAAA,GAAY,IAAI,gBAAA,EAAiB;AACtC,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAI,oBAAA,EAAqB;AAChD,IAAA,IAAA,CAAK,YAAA,GAAe,IAAI,qBAAA,CAAsB,IAAA,CAAK,eAAe,CAAA;AAClE,IAAA,IAAA,CAAK,0BAAA,EAA2B;AAChC,IAAA,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,MAAM,IAAA,CAAK,gBAAgB,CAAA;AAEvD,IAAA,IAAI,IAAA,CAAK,OAAO,WAAA,EAAa;AAC3B,MAAA,IAAA,CAAK,OAAA,EAAQ;AAAA,IACf;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAMQ,WAAA,GAAc;AACpB,IAAA,IAAI,mBAAmB,IAAA,EAAM;AAC7B,IAAA,cAAA,GAAiB,YAAY,MAAM;AACjC,MAAA,IACE,IAAA,CAAK,SAAA,KAAA,CAAA,kBACL,IAAA,CAAK,SAAA,KAAA,CAAA,gBACL;AACA,QAAA,IAAA,CAAK,QAAA,CAAS,QAAA,IAAY,IAAA,CAAK,QAAA,CAAS,aAAA,IAAiB,CAAA;AAEzD,QAAA,IAAA,CAAK,oBAAoB,OAAA,CAAQ,CAAC,YAAY,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAC,CAAA;AACpE,QAAA,IAAA,CAAK,WAAA,CAAY,YAAA,CAAa,IAAA,CAAK,QAAQ,CAAA;AAAA,MAC7C;AAAA,IACF,GAAG,GAAI,CAAA;AAAA,EACT;AAAA,EAEQ,UAAA,GAAa;AACnB,IAAA,IAAI,mBAAmB,IAAA,EAAM;AAC3B,MAAA,aAAA,CAAc,cAAc,CAAA;AAC5B,MAAA,cAAA,GAAiB,IAAA;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAM,OAAA,GAAyB;AAC7B,IAAA,IAAA,CAAK,2BAAA,EAA4B;AAEjC,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,MAAA,CAAO,QAAA,GAAW,KAAA,GAAQ,IAAA;AAChD,IAAA,MAAM,IAAA,GAAO,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAA,CAAK,OAAO,IAAI,CAAA,CAAA,EAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,CAAA;AAElE,IAAA,MAAM,YAAY,CAAA,EAAG,IAAI,CAAA,EAAG,IAAA,CAAK,OAAO,aAAa,CAAA,CAAA;AACrD,IAAA,MAAM,aAAa,CAAA,EAAG,IAAI,CAAA,EAAG,IAAA,CAAK,OAAO,cAAc,CAAA,CAAA;AAEvD,IAAA,MAAM,OAAA,GAAU,MAAM,OAAA,CAAQ,UAAA,CAAW;AAAA,MACvC,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,SAAS,CAAA;AAAA,MAC/B,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,UAAU;AAAA,KAClC,CAAA;AAED,IAAA,MAAM,WAAW,OAAA,CAAQ,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,WAAW,UAAU,CAAA;AAC9D,IAAA,IAAI,QAAA,CAAS,SAAS,CAAA,EAAG;AACvB,MAAA,MAAM,UAAW,QAAA,CAAqC,GAAA;AAAA,QACpD,CAAC,MAAM,CAAA,CAAE;AAAA,OACX;AACA,MAAA,OAAA,CAAQ,KAAA;AAAA,QACN,yDAAA;AAAA,QACA;AAAA,OACF;AACA,MAAA,MAAM,QAAQ,CAAC,CAAA;AAAA,IACjB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAA,GAAmB;AACjB,IAAA,IAAA,CAAK,SAAS,UAAA,EAAW;AACzB,IAAA,IAAA,CAAK,UAAU,UAAA,EAAW;AAC1B,IAAA,IAAA,CAAK,gBAAgB,IAAA,EAAK;AAC1B,IAAA,IAAA,CAAK,cAAA,GAAiB,IAAA;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMQ,2BAAA,GAAoC;AAC1C,IAAA,IAAI,KAAK,cAAA,EAAgB;AAEzB,IAAA,MAAM,OAAA,GAAU,KAAK,MAAA,CAAO,aAAA;AAC5B,IAAA,IAAI,YAAY,KAAA,EAAO;AACvB,IAAA,MAAM,IAAA,GAAO,OAAO,OAAA,KAAY,QAAA,GAAW,UAAU,EAAC;AACtD,IAAA,IAAI,IAAA,CAAK,YAAY,KAAA,EAAO;AAE5B,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,iBAAiB,kBAAA,CAAmB;AAAA,QACvC,QAAQ,EAAE,IAAA,EAAM,KAAA,EAAO,IAAA,EAAM,KAAK,IAAA,EAAK;AAAA,QACvC,IAAA,EAAM,KAAK,MAAA,CAAO,IAAA;AAAA,QAClB,IAAA,EAAM,KAAK,MAAA,CAAO,IAAA;AAAA,QAClB,QAAA,EAAU,KAAK,MAAA,CAAO;AAAA,OACvB,CAAA;AAAA,IACH,CAAA,CAAA,MAAQ;AAAA,IAER;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAA,GAA6B;AAC3B,IAAA,OAAO,IAAA,CAAK,SAAS,WAAA,EAAY;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,kBAAA,GAA8B;AAC5B,IAAA,OAAO,IAAA,CAAK,UAAU,WAAA,EAAY;AAAA,EACpC;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAA,GAAoC;AAClC,IAAA,OAAO,IAAA,CAAK,QAAA;AAAA,EACd;AAAA;AAAA,EAGA,cAAA,GAA4B;AAC1B,IAAA,OAAO,IAAA,CAAK,SAAA;AAAA,EACd;AAAA;AAAA,EAGA,sBAAA,GAAkC;AAChC,IAAA,OAAO,IAAA,CAAK,qBAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,kBAAA,GAA2C;AACzC,IAAA,OAAO,IAAA,CAAK,eAAA;AAAA,EACd;AAAA;AAAA,EAGA,mBAAA,GAA+B;AAC7B,IAAA,OAAO,KAAK,eAAA,CAAgB,QAAA;AAAA,EAC9B;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,oBACE,OAAA,EACY;AACZ,IAAA,IAAA,CAAK,mBAAA,CAAoB,IAAI,OAAO,CAAA;AACpC,IAAA,OAAO,MAAM,IAAA,CAAK,mBAAA,CAAoB,MAAA,CAAO,OAAO,CAAA;AAAA,EACtD;AAAA;AAAA,EAGA,qBACE,OAAA,EACY;AACZ,IAAA,IAAA,CAAK,kBAAA,CAAmB,IAAI,OAAO,CAAA;AACnC,IAAA,OAAO,MAAM,IAAA,CAAK,kBAAA,CAAmB,MAAA,CAAO,OAAO,CAAA;AAAA,EACrD;AAAA;AAAA,EAGA,eAAe,QAAA,EAA2C;AACxD,IAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA;AAIvC,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,OAAO,CAAA,IAAK,OAAA,EAAS;AACpC,MAAA,IAAI,OAAA,EAAS;AACX,QAAC,IAAA,CAAK,mBAAA,CAAoB,GAAG,CAAA,CAA0B,IAAI,OAAO,CAAA;AAAA,MACpE;AAAA,IACF;AACA,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,OAAO,CAAA,IAAK,OAAA,EAAS;AACpC,QAAA,IAAI,OAAA,EAAS;AACX,UAAC,IAAA,CAAK,mBAAA,CAAoB,GAAG,CAAA,CAA0B,MAAA;AAAA,YACrD;AAAA,WACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,oBACE,OAAA,EACY;AACZ,IAAA,IAAA,CAAK,yBAAA,CAA0B,IAAI,OAAO,CAAA;AAC1C,IAAA,OAAO,MAAM,IAAA,CAAK,yBAAA,CAA0B,MAAA,CAAO,OAAO,CAAA;AAAA,EAC5D;AAAA;AAAA,EAGA,oBAAoB,QAAA,EAAgD;AAClE,IAAA,MAAM,OAAA,GAAU,MAAA,CAAO,OAAA,CAAQ,QAAQ,CAAA;AAIvC,IAAA,KAAA,MAAW,CAAC,GAAA,EAAK,OAAO,CAAA,IAAK,OAAA,EAAS;AACpC,MAAA,IAAI,OAAA,EAAS;AACX,QAAC,IAAA,CAAK,wBAAA,CAAyB,GAAG,CAAA,CAA0B,GAAA;AAAA,UAC1D;AAAA,SACF;AAAA,MACF;AAAA,IACF;AACA,IAAA,OAAO,MAAM;AACX,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,OAAO,CAAA,IAAK,OAAA,EAAS;AACpC,QAAA,IAAI,OAAA,EAAS;AACX,UAAC,IAAA,CAAK,wBAAA,CAAyB,GAAG,CAAA,CAA0B,MAAA;AAAA,YAC1D;AAAA,WACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAA;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,gBAAgB,OAAA,EAAiC;AAC/C,IAAA,OAAO,IAAA,CAAK,QAAA,CAAS,SAAA,CAAU,OAAO,CAAA;AAAA,EACxC;AAAA;AAAA,EAGA,mBAAmB,OAAA,EAAiC;AAClD,IAAA,OAAO,IAAA,CAAK,QAAA,CAAS,YAAA,CAAa,OAAO,CAAA;AAAA,EAC3C;AAAA;AAAA,EAGA,cAAc,OAAA,EAA6C;AACzD,IAAA,OAAO,IAAA,CAAK,QAAA,CAAS,OAAA,CAAQ,OAAO,CAAA;AAAA,EACtC;AAAA;AAAA,EAGA,iBAAiB,OAAA,EAAiC;AAChD,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,SAAA,CAAU,OAAO,CAAA;AAAA,EACzC;AAAA;AAAA,EAGA,oBAAoB,OAAA,EAAiC;AACnD,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,YAAA,CAAa,OAAO,CAAA;AAAA,EAC5C;AAAA;AAAA,EAGA,eAAe,OAAA,EAA6C;AAC1D,IAAA,OAAO,IAAA,CAAK,SAAA,CAAU,OAAA,CAAQ,OAAO,CAAA;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmBA,YAAA,CACE,UACA,UAAA,EACiB;AACjB,IAAA,OAAO,IAAA,CAAK,WAAA,CAAY,MAAA,CAAO,QAAA,EAAU,UAAU,CAAA;AAAA,EACrD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,WAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,EACY;AACZ,IAAA,OAAO,IAAA,CAAK,WAAA,CAAY,KAAA,CAAM,QAAA,EAAU,UAAU,UAAU,CAAA;AAAA,EAC9D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAiBA,iBAAA,CACE,UACA,UAAA,EACiB;AACjB,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,MAAA,CAAO,QAAA,EAAU,UAAU,CAAA;AAAA,EACtD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAaA,gBAAA,CACE,QAAA,EACA,QAAA,EACA,UAAA,EACY;AACZ,IAAA,OAAO,IAAA,CAAK,YAAA,CAAa,KAAA,CAAM,QAAA,EAAU,UAAU,UAAU,CAAA;AAAA,EAC/D;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,SAAA,GAAoB;AAClB,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,MAAA,CAAO,QAAA,GAAW,OAAA,GAAU,MAAA;AAClD,IAAA,OAAO,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,CAAA,EAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,EAAG,IAAA,CAAK,OAAO,QAAQ,CAAA,CAAA;AAAA,EACrF;AAAA;AAAA,EAGA,WAAA,CAAY,IAAA,EAAe,gBAAA,GAA4B,KAAA,EAAe;AACpE,IAAA,MAAM,QAAA,GAAW,IAAA,CAAK,MAAA,CAAO,QAAA,GAAW,OAAA,GAAU,MAAA;AAClD,IAAA,MAAM,OAAA,GAAU,CAAA,EAAG,QAAQ,CAAA,GAAA,EAAM,KAAK,MAAA,CAAO,IAAI,CAAA,CAAA,EAAI,IAAA,CAAK,MAAA,CAAO,IAAI,CAAA,EAAG,IAAA,CAAK,OAAO,UAAU,CAAA,CAAA;AAE9F,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,OAAO,OAAA;AAAA,IACT;AAGA,IAAA,IAAI,SAAA,GAAY,IAAA;AAChB,IAAA,IAAI,SAAA,CAAU,UAAA,CAAW,MAAM,CAAA,EAAG;AAChC,MAAA,OAAO,SAAA;AAAA,IACT;AACA,IAAA,IAAI,SAAA,CAAU,UAAA,CAAW,GAAG,CAAA,EAAG;AAC7B,MAAA,SAAA,GAAY,SAAA,CAAU,MAAM,CAAC,CAAA;AAAA,IAC/B;AACA,IAAA,IAAI,SAAA,CAAU,UAAA,CAAW,OAAO,CAAA,EAAG;AACjC,MAAA,SAAA,GAAY,SAAA,CAAU,MAAM,CAAC,CAAA;AAAA,IAC/B;AACA,IAAA,IAAI,SAAA,CAAU,UAAA,CAAW,GAAG,CAAA,EAAG;AAC7B,MAAA,SAAA,GAAY,SAAA,CAAU,MAAM,CAAC,CAAA;AAAA,IAC/B;AAEA,IAAA,IAAI,gBAAA,EAAkB;AACpB,MAAA,MAAM,SAAA,GAAY,CAAA,GAAA,EAAM,IAAA,CAAK,GAAA,EAAK,CAAA,CAAA;AAClC,MAAA,SAAA,GAAY,SAAA,CAAU,QAAA,CAAS,GAAG,CAAA,GAC9B,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,GACzB,CAAA,EAAG,SAAS,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAAA,IAC/B;AAEA,IAAA,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAMQ,yBAAA,GAAkC;AACxC,IAAA,IAAA,CAAK,QAAA,CAAS,SAAA,CAAU,CAAC,WAAA,KAAqB;AAC5C,MAAA,QAAQ,YAAY,IAAA;AAAM,QACxB,KAAK,qBAAA;AACH,UAAA,IAAA,CAAK,iBAAA,CAAkB,WAAA,CAAY,KAAA,EAAO,WAAA,CAAY,MAAM,CAAA;AAC5D,UAAA;AAAA,QACF,KAAK,YAAA;AACH,UAAA,IAAA,CAAK,sBAAA;AAAA,YACH,WAAA,CAAY,SAAA;AAAA,YACZ,WAAA,CAAY;AAAA,WACd;AACA,UAAA;AAAA;AACJ,IACF,CAAC,CAAA;AAAA,EACH;AAAA,EAEQ,iBAAA,CAAkB,OAAY,MAAA,EAAiC;AACrE,IAAA,MAAM,QAAA,GAA+B;AAAA,MACnC,QAAA,EAAU,CAAA;AAAA,MACV,aAAA,EAAe,CAAA;AAAA,MACf,WAAA,EAAa,EAAA;AAAA,MACb,UAAA,EAAA,CAAA;AAAA,MACA,GAAG;AAAA,KACL;AAMA,IAAA,MAAM,WAAA,GACJ,KAAA,CAAM,OAAA,IAAW,IAAA,GACb,IAAA,CAAK,GAAA,CAAI,CAAA,EAAA,CAAI,IAAA,CAAK,GAAA,EAAI,GAAI,KAAA,CAAM,OAAA,IAAW,GAAI,CAAA,GAC/C,CAAA;AACN,IAAA,MAAM,qBACH,KAAA,CAAM,QAAA,IAAY,CAAA,IAAK,WAAA,IAAe,MAAM,aAAA,IAAiB,CAAA,CAAA;AAGhE,IAAA,IAAI,IAAA,CAAK,IAAI,iBAAA,IAAqB,IAAA,CAAK,SAAS,QAAA,IAAY,CAAA,CAAE,IAAI,CAAA,EAAG;AACnE,MAAA,QAAA,CAAS,QAAA,GAAW,iBAAA;AAAA,IACtB,CAAA,MAAO;AACL,MAAA,QAAA,CAAS,QAAA,GAAW,IAAA,CAAK,QAAA,CAAS,QAAA,IAAY,CAAA;AAAA,IAChD;AAEA,IAAA,IAAA,CAAK,QAAA,GAAW,eAAA,CAAgB,IAAA,CAAK,QAAA,EAAU,QAAQ,CAAA;AAEvD,IAAA,IAAI,CAAC,KAAA,CAAM,QAAA,IAAY,KAAA,CAAM,aAAa,CAAA,EAAG;AAC3C,MAAA,IAAA,CAAK,0CAA4C,KAAK,CAAA;AAAA,IACxD;AAGA,IAAA,MAAM,SAAA,GACJ,KAAA,CAAM,UAAA,KAAA,CAAA,kBACN,KAAA,CAAM,UAAA,KAAA,CAAA;AACR,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,IAAA,CAAK,WAAA,EAAY;AAAA,IACnB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,UAAA,EAAW;AAAA,IAClB;AAEA,IAAA,IAAA,CAAK,WAAA,CAAY,YAAA,CAAa,IAAA,CAAK,QAAQ,CAAA;AAC3C,IAAA,IAAA,CAAK,oBAAoB,OAAA,CAAQ,CAAC,YAAY,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAC,CAAA;AACpE,IAAA,IAAA,CAAK,iBAAiB,MAAM,CAAA;AAAA,EAC9B;AAAA,EAEQ,sBAAA,CACN,UAAA,EACA,oBAAA,GAAgC,KAAA,EAC1B;AACN,IAAA,IAAA,CAAK,qBAAA,GAAwB,oBAAA;AAE7B,IAAA,IACE,UAAA,KAAA,CAAA,oBACA,KAAK,SAAA,KAAA,CAAA,kBACL;AACA,MAAA,IAAA,CAAK,OAAA,EAAQ;AACb,MAAA;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,SAAA,GAAY,UAAA;AAGjB,IAAA,MAAM,YACJ,UAAA,KAAA,CAAA,kBAAoC,UAAA,KAAA,CAAA;AACtC,IAAA,IAAI,SAAA,EAAW;AACb,MAAA,IAAA,CAAK,WAAA,EAAY;AAAA,IACnB,CAAA,MAAO;AACL,MAAA,IAAA,CAAK,UAAA,EAAW;AAAA,IAClB;AAEA,IAAA,IAAA,CAAK,WAAA,CAAY,cAAc,UAAU,CAAA;AACzC,IAAA,IAAA,CAAK,kBAAA,CAAmB,OAAA;AAAA,MAAQ,CAAC,OAAA,KAC/B,OAAA,CAAQ,UAAA,EAAY,oBAAoB;AAAA,KAC1C;AAAA,EACF;AAAA,EAEQ,iBAAiB,MAAA,EAAiC;AACxD,IAAA,IAAI,CAAC,MAAA,EAAQ;AAEb,IAAA,IAAI,OAAO,MAAA,EAAQ;AACjB,MAAA,MAAA,CAAO,MAAA,CAAO,OAAA;AAAA,QAAQ,CAAC,KAAA,KACrB,IAAA,CAAK,mBAAA,CAAoB,aAAA,CAAc,QAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC;AAAA,OAChE;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,IAAA,EAAM;AACf,MAAA,MAAA,CAAO,IAAA,CAAK,OAAA;AAAA,QAAQ,CAAC,KAAA,KACnB,IAAA,CAAK,mBAAA,CAAoB,WAAA,CAAY,QAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC;AAAA,OAC9D;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,SAAA,EAAW;AACpB,MAAA,MAAA,CAAO,SAAA,CAAU,OAAA;AAAA,QAAQ,CAAC,KAAA,KACxB,IAAA,CAAK,mBAAA,CAAoB,gBAAA,CAAiB,QAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC;AAAA,OACnE;AAAA,IACF;AAEA,IAAA,IAAI,MAAA,CAAO,eAAe,MAAA,EAAW;AACnC,MAAA,IAAA,CAAK,oBAAoB,iBAAA,CAAkB,OAAA;AAAA,QAAQ,CAAC,CAAA,KAClD,CAAA,CAAE,MAAA,CAAO,UAAW;AAAA,OACtB;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,aAAA,EAAe;AACxB,MAAA,MAAA,CAAO,aAAA,CAAc,OAAA;AAAA,QAAQ,CAAC,KAAA,KAC5B,IAAA,CAAK,mBAAA,CAAoB,mBAAA,CAAoB,QAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC;AAAA,OACtE;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,QAAA,EAAU;AACnB,MAAA,MAAA,CAAO,QAAA,CAAS,OAAA;AAAA,QAAQ,CAAC,KAAA,KACvB,IAAA,CAAK,mBAAA,CAAoB,eAAA,CAAgB,QAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,KAAK,CAAC;AAAA,OAClE;AAAA,IACF;AAEA,IAAA,IAAI,MAAA,CAAO,kBAAkB,MAAA,EAAW;AACtC,MAAA,IAAA,CAAK,oBAAoB,oBAAA,CAAqB,OAAA;AAAA,QAAQ,CAAC,CAAA,KACrD,CAAA,CAAE,MAAA,CAAO,aAAc;AAAA,OACzB;AAAA,IACF;AAAA,EACF;AAAA,EAEQ,OAAA,GAAgB;AACtB,IAAA,OAAA,CAAQ,IAAI,oDAAoD,CAAA;AAEhE,IAAA,IAAA,CAAK,UAAA,EAAW;AAEhB,IAAA,IAAA,CAAK,QAAA,GAAW,IAAI,kBAAA,EAAmB;AACvC,IAAA,IAAA,CAAK,SAAA,GAAA,CAAA;AACL,IAAA,IAAA,CAAK,qBAAA,GAAwB,KAAA;AAE7B,IAAA,IAAA,CAAK,WAAA,CAAY,MAAA,CAAO,IAAA,CAAK,QAAA,EAAA,CAAA,iBAA6B;AAE1D,IAAA,IAAA,CAAK,kBAAA,CAAmB,OAAA;AAAA,MAAQ,CAAC,OAAA,KAC/B,OAAA,CAAA,CAAA,kBAA6B,KAAK;AAAA,KACpC;AACA,IAAA,IAAA,CAAK,oBAAoB,OAAA,CAAQ,CAAC,YAAY,OAAA,CAAQ,IAAA,CAAK,QAAQ,CAAC,CAAA;AAAA,EACtE;AAAA;AAAA;AAAA;AAAA,EAMQ,0BAAA,GAAmC;AACzC,IAAA,IAAA,CAAK,SAAA,CAAU,SAAA,CAAU,CAAC,WAAA,KAAqB;AAC7C,MAAA,QAAQ,YAAY,IAAA;AAAM,QACxB,KAAK,8BAAA;AACH,UAAA,IAAA,CAAK,4BAAA,CAA6B,YAAY,KAAK,CAAA;AACnD,UAAA;AAAA,QACF,KAAK,wBAAA;AACH,UAAA,IAAA,CAAK,uBAAA,CAAwB,YAAY,MAAM,CAAA;AAC/C,UAAA;AAAA,QACF,KAAK,uBAAA;AACH,UAAA,IAAA,CAAK,iBAAA,CAAkB,YAAY,GAAG,CAAA;AACtC,UAAA;AAAA;AACJ,IACF,CAAC,CAAA;AAAA,EACH;AAAA,EAEQ,6BAA6B,KAAA,EAAkB;AACrD,IAAA,MAAM,QAAA,GAAiC;AAAA,MACrC,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,KAAA;AAAA,MACb,oBAAA,EAAsB,KAAA;AAAA,MACtB,UAAU,EAAC;AAAA,MACX,SAAS,EAAC;AAAA,MACV,UAAU,EAAC;AAAA,MACX,OAAO,EAAC;AAAA,MACR,GAAG;AAAA,KACL;AAEA,IAAA,IAAA,CAAK,eAAA,GAAkB,eAAA,CAAgB,IAAA,CAAK,eAAA,EAAiB,QAAQ,CAAA;AAGrE,IAAA,IAAI,QAAA,CAAS,QAAA,IAAY,CAAC,IAAA,CAAK,oBAAA,EAAsB;AACnD,MAAA,IAAA,CAAK,oBAAA,GAAuB,IAAA;AAC5B,MAAA,IAAA,CAAK,yBAAyB,kBAAA,CAAmB,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAG,CAAA;AAAA,IACrE,CAAA,MAAA,IAAW,CAAC,QAAA,CAAS,QAAA,IAAY,KAAK,oBAAA,EAAsB;AAC1D,MAAA,IAAA,CAAK,oBAAA,GAAuB,KAAA;AAC5B,MAAA,IAAA,CAAK,cAAA,EAAe;AACpB,MAAA;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,YAAA,CAAa,mBAAA,CAAoB,IAAA,CAAK,eAAe,CAAA;AAC1D,IAAA,IAAA,CAAK,yBAAA,CAA0B,OAAA;AAAA,MAAQ,CAAC,OAAA,KACtC,OAAA,CAAQ,IAAA,CAAK,eAAe;AAAA,KAC9B;AAAA,EACF;AAAA,EAEQ,wBAAwB,MAAA,EAAmB;AACjD,IAAA,IAAA,CAAK,yBAAyB,QAAA,CAAS,OAAA;AAAA,MAAQ,CAAC,CAAA,KAC9C,CAAA,CAAE,MAAgC;AAAA,KACpC;AAAA,EACF;AAAA,EAEQ,kBAAkB,GAAA,EAAmB;AAC3C,IAAA,IAAA,CAAK,yBAAyB,aAAA,CAAc,OAAA,CAAQ,CAAC,CAAA,KAAM,CAAA,CAAE,GAAG,CAAC,CAAA;AAAA,EACnE;AAAA,EAEQ,cAAA,GAAuB;AAC7B,IAAA,OAAA,CAAQ,IAAI,4DAA4D,CAAA;AAExE,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAI,oBAAA,EAAqB;AAChD,IAAA,IAAA,CAAK,YAAA,CAAa,MAAA,CAAO,IAAA,CAAK,eAAe,CAAA;AAE7C,IAAA,IAAA,CAAK,yBAAyB,gBAAA,CAAiB,OAAA,CAAQ,CAAC,CAAA,KAAM,GAAG,CAAA;AACjE,IAAA,IAAA,CAAK,yBAAA,CAA0B,OAAA;AAAA,MAAQ,CAAC,OAAA,KACtC,OAAA,CAAQ,IAAA,CAAK,eAAe;AAAA,KAC9B;AAAA,EACF;AACF;;;AC10BO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AAAA,EAAA;AAG1B;;;ACFO,IAAM,gCAAN,MAAoC;AAAA,EAApC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,QAAA,GAAkC,EAAC;AAAA,EAAA;AACvC;;;ACNO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,YAAA,uBAAyB,IAAA,EAAK;AAC9B,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AAEf,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAAA,EAAA;AAC/B;;;ACVO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AAAA,EAAA;AAC3B;;;ACRO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAAA,EAAA;AACzB;;;ACRO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAAA,EAAA;AAC/B;;;ACFO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,iBAAA,GAA6B,KAAA;AAAA,EAAA;AACjC;;;ACJO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAGnB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACTO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,QAAK,CAAA,CAAA,GAAL,IAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAHQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACEL,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAA,CAAA;AAGA,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AACxB;;;ACPO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,QAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACNO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,YAAA,uBAAyB,IAAA,EAAK;AAC9B,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AAEf,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAAA,EAAA;AAC/B;;;ACTO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmC,EAAC;AAAA,EAAA;AACxC;;;ACJO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AAAA,EAAA;AACxB;;;ACPO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAAA,EAAA;AAC/B;;;ACAO,IAAM,sBAAN,MAA0B;AAIjC;;;ACRO,IAAK,IAAA,qBAAAC,KAAAA,KAAL;AACH,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AALQ,EAAA,OAAAA,KAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA;;;ACGL,IAAM,kBAAN,MAAsB;AAG7B;;;ACNO,IAAM,sCAAN,MAA0C;AAAA,EAA1C,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAAA,EAAA;AAI1B;;;ACDO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAIf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAGrB,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAuB,KAAA;AACvB,IAAA,IAAA,CAAA,kBAAA,GAA8B,KAAA;AAC9B,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAAA,EAAA;AAE/B;;;ACjBO,IAAM,gCAAN,MAAoC;AAAA,EAApC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AAIxB,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAG1B,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AAEtB,IAAA,IAAA,CAAA,qBAAA,GAAiC,KAAA;AAAA,EAAA;AACrC;;;ACnBO,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,OAAI,CAAA,CAAA,GAAJ,GAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,EAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,EAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,YAAS,EAAA,CAAA,GAAT,QAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,EAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,EAAA,CAAA,GAAV,SAAA;AAhBQ,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;ACGL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AAEtB;;;ACZO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACFO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAGhB,IAAA,IAAA,CAAA,iBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,cAAA,GAAyC,EAAC;AAAA,EAAA;AAG9C;;;ACbO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAEnB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAItB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACXO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AAIH,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AAAA,EAAA;AACnB;;;ACRO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACH,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,EAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,EAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,cAAW,EAAA,CAAA,GAAX,UAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,mBAAgB,EAAA,CAAA,GAAhB,eAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,EAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,oBAAiB,EAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,EAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,gBAAa,EAAA,CAAA,GAAb,YAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,qBAAkB,EAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,uBAAoB,EAAA,CAAA,GAApB,mBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,sBAAmB,EAAA,CAAA,GAAnB,kBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,uBAAoB,EAAA,CAAA,GAApB,mBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,yBAAsB,EAAA,CAAA,GAAtB,qBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,0BAAuB,EAAA,CAAA,GAAvB,sBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AAjCQ,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;;;ACGL,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACLO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAAA,EAAA;AACpB;;;ACRO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACPO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACJO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,mBAAgB,CAAA,CAAA,GAAhB,eAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AAHQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACGL,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAEnB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAErB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAAA,EAAA;AAI1B;;;ACfO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAAA,EAAA;AAC/C;;;ACLO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAEtB,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAAA,EAAA;AAClC;;;ACNO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,KAAA,GAA0B,EAAC;AAE3B,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACDO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AAIH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAEtB,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAM3B,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACpBO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAkC,EAAC;AAAA,EAAA;AACvC;;;ACDO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAE5B,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAAA,EAAA;AAC/C;;;ACXO,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACH,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AAJQ,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;ACGL,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACLO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAE5B,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAC7B,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACZO,IAAK,yBAAA,qBAAAC,0BAAAA,KAAL;AACH,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,mBAAgB,CAAA,CAAA,GAAhB,eAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,0BAAAA,CAAAA,0BAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AAJQ,EAAA,OAAAA,0BAAAA;AAAA,CAAA,EAAA,yBAAA,IAAA,EAAA;;;ACOL,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAM9B,IAAA,IAAA,CAAA,WAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACpBO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAFQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACGL,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACJO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAE5B,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAAA,EAAA;AAC/C;;;ACPO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AAEA,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,OAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAAA,EAAA;AAC/C;;;ACZO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAGpB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AAAA,EAAA;AACnB;;;ACJO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AAEvB,IAAA,IAAA,CAAA,MAAA,GAA6B,EAAC;AAAA,EAAA;AAElC;;;ACPO,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACH,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAFQ,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACEL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,oBAAA,GAA+B,EAAA;AAC/B,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAIf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACXO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAAA,EAAA;AAC9B;;;ACEO,IAAM,mBAAN,MAAuB;AAQ9B;;;ACbO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAiB,EAAC;AAClB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AACvB;;;ACJO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,YAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACVO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACFO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAmC,EAAC;AAAA,EAAA;AAGxC;;;ACNO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA2D,EAAC;AAE5D,IAAA,IAAA,CAAA,KAAA,GAAmC,EAAC;AAAA,EAAA;AACxC;;;ACJO,IAAK,mBAAA,qBAAAC,oBAAAA,KAAL;AACH,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,oBAAiB,CAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,qBAAkB,EAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,EAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,EAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,EAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,kBAAe,EAAA,CAAA,GAAf,cAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,eAAY,KAAA,CAAA,GAAZ,WAAA;AAdQ,EAAA,OAAAA,oBAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA;;;ACGL,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAAA,EAAA;AAG1B;;;ACNO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,UAAA,GAAuD,EAAC;AAAA,EAAA;AAC5D;;;ACJO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,KAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACNO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,mBAAA,GAA8B,EAAA;AAC9B,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAAA,EAAA;AACpB;;;ACJO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACVO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AAFQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACGL,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAgC,EAAC;AAAA,EAAA;AAErC;;;ACVO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAAA,EAAA;AAC9B;;;ACHO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgC,EAAC;AAAA,EAAA;AACrC;;;ACDO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AAAA,EAAA;AACnB;;;ACNO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,KAAA,GAA0C,EAAC;AAAA,EAAA;AAC/C;;;ACFO,IAAM,mCAAN,MAAuC;AAAA,EAAvC,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AAGvB;;;AChBO,IAAM,iCAAN,MAAqC;AAAA,EAArC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,OAAA,GAA8C,EAAC;AAAA,EAAA;AACnD;;;ACLO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACFO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAEtB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACVO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAyC,EAAC;AAAA,EAAA;AAC9C;;;ACHO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,kBAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,oBAAA,GAA+B,CAAA;AAC/B,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAC9B,IAAA,IAAA,CAAA,cAAA,GAA0B,KAAA;AAAA,EAAA;AAC9B;;;ACZO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACPO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACAO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,aAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,cAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,aAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAClB,IAAA,IAAA,CAAA,oBAAA,GAA+B,CAAA;AAC/B,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACTO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AAAA,EAAA;AACvC;;;ACJO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACFO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,wBAAA,GAAiD,EAAC;AAClD,IAAA,IAAA,CAAA,yBAAA,GAAkD,EAAC;AAAA,EAAA;AACvD;;;ACFO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,kBAAA,GAA0C,EAAA;AAC1C,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,oBAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACPO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,GAAA,GAAiB,EAAC;AAAA,EAAA;AACtB;;;ACFO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,yBAAA,GAAuD,EAAC;AACxD,IAAA,IAAA,CAAA,8BAAA,GAAiE,EAAC;AAClE,IAAA,IAAA,CAAA,yBAAA,GAAuD,EAAC;AACxD,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACNO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AAAA,EAAA;AAC3C;;;ACFO,IAAM,iCAAN,MAAqC;AAAA,EAArC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,mBAAA,GAA2C,EAAA;AAC3C,IAAA,IAAA,CAAA,gBAAA,GAAwC,EAAA;AACxC,IAAA,IAAA,CAAA,iBAAA,GAAyC,EAAA;AACzC,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,cAAA,GAA0B,KAAA;AAC1B,IAAA,IAAA,CAAA,iCAAA,GAA6C,KAAA;AAC7C,IAAA,IAAA,CAAA,mCAAA,GAA+C,KAAA;AAAA,EAAA;AACnD;;;ACTO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,sBAAA,GAAiD,EAAC;AAClD,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,SAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACRO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACFO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACAO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,YAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAAA,EAAA;AACpC;;;ACNO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACJO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAgC,EAAA;AAChC,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,IAAA,GAA4B,EAAA;AAAA,EAAA;AAChC;;;ACJO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACGO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,gBAAA,GAAwC,EAAA;AACxC,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,SAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,YAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACjBO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,gBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,QAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,OAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,MAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACpBO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,kBAAA,GAA0C,EAAA;AAAA,EAAA;AAC9C;;;ACNO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AAAA,EAAA;AAC5B;;;ACFO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,YAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,QAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACDO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAA6B,EAAA;AAE7B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAC/B,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAAA,EAAA;AAC9B;;;ACVO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,GAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACAO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,QAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,SAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,KAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAAA,EAAA;AAChC;;;ACbO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACHO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACFO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,IAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,SAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAAA,EAAA;AAClB;;;ACFO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,KAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,aAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,gBAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,qBAAA,GAAgC,CAAA;AAChC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACpBO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACFO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,IAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAAA,EAAA;AAClB;;;ACFO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,KAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,aAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,gBAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,qBAAA,GAAgC,CAAA;AAChC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;AChBO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,UAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,gBAAA,GAA2C,EAAC;AAC5C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACZO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACFO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAAA,EAAA;AAC9B;;;ACVO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AAAA,EAAA;AACxB;;;ACJO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,gBAAA,GAA2B,EAAA;AAC3B,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAAA,EAAA;AACxB;;;ACFO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,SAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,IAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACfO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACNO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACAO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACJO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,kBAAA,GAAyC,EAAC;AAC1C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACVO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACDO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,GAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,aAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,eAAA,GAAwC,EAAC;AAAA,EAAA;AAC7C;;;ACNO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,aAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,YAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACRO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,cAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,kBAAA,GAAyC,EAAC;AAC1C,IAAA,IAAA,CAAA,gBAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACLO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,IAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,OAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,QAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACXO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACCO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,QAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;AChBO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACHO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACHO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,oBAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,2BAAA,GAAuD,EAAC;AACxD,IAAA,IAAA,CAAA,4BAAA,GAA6D,EAAC;AAAA,EAAA;AAClE;;;ACJO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AACxB;;;ACLO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,6BAAA,GAAyD,EAAC;AAC1D,IAAA,IAAA,CAAA,2BAAA,GAA2D,EAAC;AAC5D,IAAA,IAAA,CAAA,4BAAA,GAA6D,EAAC;AAAA,EAAA;AAClE;;;ACLO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,iBAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACTO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,SAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,KAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACPO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AATQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACEL,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,KAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACJO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,oBAAA,GAA+B,CAAA;AAC/B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAAA,EAAA;AAC9B;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,sBAAA,GAAkC,KAAA;AAClC,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAG/B,IAAA,IAAA,CAAA,MAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,IAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,MAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,SAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACvBO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACHO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,wBAAA,GAAoC,KAAA;AACpC,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACEO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,WAAA,GAAuB,KAAA;AACvB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,YAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,mBAAA,GAA8B,EAAA;AAC9B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACtBO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,UAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACZO,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAJQ,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;ACEL,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AACvB;;;ACIO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,WAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,WAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,UAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;AClBO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACLO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,iBAAA,GAAyC,EAAA;AACzC,IAAA,IAAA,CAAA,mBAAA,GAA2C,EAAA;AAAA,EAAA;AAC/C;;;ACJO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,aAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,gBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,iBAAA,GAA+B,EAAC;AAAA,EAAA;AACpC;;;ACZO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,MAAA,GAAoB,EAAC;AAAA,EAAA;AACzB;;;ACDO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,SAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,mBAAA,GAA2C,EAAA;AAC3C,IAAA,IAAA,CAAA,eAAA,GAA+B,EAAC;AAAA,EAAA;AACpC;;;ACVO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,aAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACNO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,iBAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,iBAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,WAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,mBAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,gBAAA,GAAwC,EAAA;AAAA,EAAA;AAC5C;;;ACRO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,IAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,QAAA,GAAwC,EAAC;AACzC,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACbO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACRO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,mBAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,kBAAA,GAA2C,EAAC;AAC5C,IAAA,IAAA,CAAA,mBAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,kBAAA,GAA2C,EAAC;AAC5C,IAAA,IAAA,CAAA,YAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACPO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACJO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACNO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAAA,EAAA;AAC9B;;;ACIO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,OAAA,GAA+B,EAAA;AAC/B,IAAA,IAAA,CAAA,IAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,QAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,SAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAC7B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACfO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AAAA,EAAA;AACvC;;;ACVO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAAA,EAAA;AACzB;;;ACHO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,aAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACCO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,KAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,SAAA,GAAyC,EAAC;AAC1C,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;AClBO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,gBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACHO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAClB,IAAA,IAAA,CAAA,4BAAA,GAA6D,EAAC;AAC9D,IAAA,IAAA,CAAA,4BAAA,GAA6D,EAAC;AAAA,EAAA;AAClE;;;ACJO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACFO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,0BAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,wBAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACNO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACJO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,gBAAA,GAA2B,EAAA;AAAA,EAAA;AAC/B;;;ACHO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAmD,EAAC;AACpD,IAAA,IAAA,CAAA,SAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,KAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACHO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AAAA,EAAA;AACxC;;;ACTO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACGO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAwC,EAAC;AACzC,IAAA,IAAA,CAAA,aAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,YAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,oBAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,aAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,cAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,wBAAA,GAAsD,EAAC;AAAA,EAAA;AAE3D;;;ACfO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACFO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACFO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,qBAAA,GAAiC,KAAA;AAAA,EAAA;AACrC;;;ACNO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,gBAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACJO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAAA,EAAA;AACjC;;;ACCO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,gBAAA,GAAwC,EAAA;AACxC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,kBAAA,GAA0C,EAAA;AAC1C,IAAA,IAAA,CAAA,gBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,cAAA,GAAsC,EAAA;AACtC,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,mBAAA,GAA2C,EAAA;AAC3C,IAAA,IAAA,CAAA,qBAAA,GAA6C,EAAA;AAC7C,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,eAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,aAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAC7B,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAC7B,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACjCO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,oBAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,cAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,eAAA,GAA2C,EAAC;AAC5C,IAAA,IAAA,CAAA,gBAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,SAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACVO,IAAM,mCAAN,MAAuC;AAAA,EAAvC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AAAA,EAAA;AAC3C;;;ACHO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,QAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,gBAAA,GAAqD,EAAC;AAAA,EAAA;AAC1D;;;ACRO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACJO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,mBAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACJO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,oBAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACNO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACDO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,mBAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,WAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACNO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACTO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACJO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACFO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AAAA,EAAA;AACzC;;;ACJO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACHO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACFO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACDO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACdO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AAAA,EAAA;AACzC;;;ACJO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACHO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACHO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACFO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACLO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACGO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACfO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACLO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,KAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACJO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACJO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACFO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,oBAAA,GAA4C,EAAA;AAAA,EAAA;AAChD;;;ACFO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,iBAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,gBAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACfO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AAAA,EAAA;AACxB;;;ACJO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,GAAA,GAAc,CAAA;AACd,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AAAA,EAAA;AAC5B;;;ACNO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,EAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,EAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,WAAQ,EAAA,CAAA,GAAR,OAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,aAAU,GAAA,CAAA,GAAV,SAAA;AAhBQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACEL,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,GAAA,GAAc,CAAA;AAAA,EAAA;AAClB;;;ACNO,IAAK,sBAAA,qBAAAC,uBAAAA,KAAL;AACH,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,UAAO,EAAA,CAAA,GAAP,MAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,iBAAc,EAAA,CAAA,GAAd,aAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,eAAY,EAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,uBAAAA,CAAAA,uBAAAA,CAAA,mBAAgB,GAAA,CAAA,GAAhB,eAAA;AARQ,EAAA,OAAAA,uBAAAA;AAAA,CAAA,EAAA,sBAAA,IAAA,EAAA;;;ACIL,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAmC,EAAC;AACpC,IAAA,IAAA,CAAA,OAAA,GAAyC,EAAC;AAAA,EAAA;AAC9C;;;ACTO,IAAM,gCAAN,MAAoC;AAAA,EAApC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACJO,IAAM,wBAAN,MAA4B;AAUnC;;;ACLO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAErB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,KAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAEhC,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAmC,EAAC;AAAA,EAAA;AAExC;;;ACvBO,IAAM,UAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,OAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACDO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,OAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,OAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,KAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,oBAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AACvB;;;ACfO,IAAK,IAAA,qBAAAC,KAAAA,KAAL;AACH,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AAJQ,EAAA,OAAAA,KAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA;;;ACGL,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAG5B,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,aAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,oBAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACXO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAAA,EAAA;AACpB;;;ACVO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,YAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,oBAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACJO,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACH,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AALQ,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;ACGL,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACJO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAoB,EAAC;AAAA,EAAA;AAGzB;;;AClBO,IAAM,wBAAN,MAA4B;AAkDnC;AAlDa,qBAAA,CACO,mBAAA,GAAsB,sBAAA;AAD7B,qBAAA,CAEO,kBAAA,GAAqB,sBAAA;AAF5B,qBAAA,CAGO,oBAAA,GAAuB,sBAAA;AAH9B,qBAAA,CAIO,iBAAA,GAAoB,mBAAA;AAJ3B,qBAAA,CAKO,eAAA,GAAkB,iBAAA;AALzB,qBAAA,CAMO,UAAA,GAAa,YAAA;AANpB,qBAAA,CAOO,gBAAA,GAAmB,8BAAA;AAP1B,qBAAA,CAQO,iBAAA,GAAoB,wBAAA;AAR3B,qBAAA,CASO,WAAA,GAAc,qBAAA;AATrB,qBAAA,CAUO,YAAA,GAAe,eAAA;AAVtB,qBAAA,CAWO,eAAA,GAAkB,kBAAA;AAXzB,qBAAA,CAYO,YAAA,GAAe,eAAA;AAZtB,qBAAA,CAaO,mBAAA,GAAsB,uBAAA;AAb7B,qBAAA,CAcO,kBAAA,GAAqB,sBAAA;AAd5B,qBAAA,CAeO,oBAAA,GAAuB,yBAAA;AAf9B,qBAAA,CAgBO,kBAAA,GAAqB,sBAAA;AAhB5B,qBAAA,CAiBO,oBAAA,GAAuB,wBAAA;AAjB9B,qBAAA,CAkBO,eAAA,GAAkB,kBAAA;AAlBzB,qBAAA,CAmBO,wBAAA,GAA2B,4BAAA;AAnBlC,qBAAA,CAoBO,iBAAA,GAAoB,qBAAA;AApB3B,qBAAA,CAqBO,sBAAA,GAAyB,0BAAA;AArBhC,qBAAA,CAsBO,gBAAA,GAAmB,oBAAA;AAtB1B,qBAAA,CAuBO,0BAAA,GAA6B,+BAAA;AAvBpC,qBAAA,CAwBO,wBAAA,GAA2B,6BAAA;AAxBlC,qBAAA,CAyBO,qBAAA,GAAwB,yBAAA;AAzB/B,qBAAA,CA0BO,sBAAA,GAAyB,0BAAA;AA1BhC,qBAAA,CA2BO,iBAAA,GAAoB,oBAAA;AA3B3B,qBAAA,CA4BO,0BAAA,GAA6B,+BAAA;AA5BpC,qBAAA,CA6BO,+BAAA,GAAkC,oCAAA;AA7BzC,qBAAA,CA8BO,oCAAA,GAAuC,0CAAA;AA9B9C,qBAAA,CA+BO,cAAA,GAAiB,kBAAA;AA/BxB,qBAAA,CAgCO,kBAAA,GAAqB,sBAAA;AAhC5B,qBAAA,CAiCO,oBAAA,GAAuB,yBAAA;AAjC9B,qBAAA,CAkCO,aAAA,GAAgB,uBAAA;AAlCvB,qBAAA,CAmCO,qBAAA,GAAwB,yBAAA;AAnC/B,qBAAA,CAoCO,WAAA,GAAc,oBAAA;AApCrB,qBAAA,CAqCO,UAAA,GAAa,mBAAA;AArCpB,qBAAA,CAsCO,mBAAA,GAAsB,uBAAA;AAtC7B,qBAAA,CAuCO,sBAAA,GAAyB,0BAAA;AAvChC,qBAAA,CAwCO,WAAA,GAAc,cAAA;AAxCrB,qBAAA,CAyCO,sBAAA,GAAyB,0BAAA;AAzChC,qBAAA,CA0CO,sBAAA,GAAyB,0BAAA;AA1ChC,qBAAA,CA2CO,mBAAA,GAAsB,uBAAA;AA3C7B,qBAAA,CA4CO,wBAAA,GAA2B,6BAAA;AA5ClC,qBAAA,CA6CO,mBAAA,GAAsB,uBAAA;AA7C7B,qBAAA,CA8CO,kBAAA,GAAqB,sBAAA;AA9C5B,qBAAA,CA+CO,uBAAA,GAA0B,2BAAA;AA/CjC,qBAAA,CAgDO,sBAAA,GAAyB,0BAAA;AAhDhC,qBAAA,CAiDO,kBAAA,GAAqB,sBAAA;;;ACjDlC,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAErB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAAA,EAAA;AAC9B;;;ACNO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,YAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AAAA,EAAA;AAC5B;;;ACLO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAAA,EAAA;AAMxB;;;ACPO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,cAAA,GAAyB,EAAA;AACzB,IAAA,IAAA,CAAA,OAAA,GAA8B,EAAC;AAAA,EAAA;AACnC;;;ACPO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,cAAA,GAAyB,EAAA;AACzB,IAAA,IAAA,CAAA,cAAA,GAAyB,EAAA;AAAA,EAAA;AAC7B;;;ACLO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAEhB,IAAA,IAAA,CAAA,MAAA,GAAmB,EAAC;AAAA,EAAA;AACxB;;;ACNO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AAEtB;;;ACLO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAAA,EAAA;AAEzB;;;ACJO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACFO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACAO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAElB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACVO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AAEtB;;;ACLO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACDO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACNO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACJO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AAAA,EAAA;AACrB;;;ACFO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AAEnB;;;ACHO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACHO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAA8B,EAAC;AAAA,EAAA;AACnC;;;ACLO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAAA,EAAA;AAClB;;;ACDO,IAAM,kCAAN,MAAsC;AAO7C;;;ACPO,IAAM,gCAAN,MAAoC;AAAA,EAApC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AAOnB;;;ACVO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACHO,IAAM,0CAAN,MAA8C;AAAA,EAA9C,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAClB,IAAA,IAAA,CAAA,IAAA,GAAiB,EAAC;AAAA,EAAA;AACtB;;;ACLO,IAAM,iCAAN,MAAqC;AAAA,EAArC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,IAAA,GAAiB,EAAC;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAEjB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAAA,EAAA;AAC/B;;;ACTO,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACH,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,aAAU,EAAA,CAAA,GAAV,SAAA;AAXQ,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;ACEL,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAyB,EAAC;AAAA,EAAA;AAC9B;;;ACLO,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,sBAAmB,CAAA,CAAA,GAAnB,kBAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,sBAAmB,CAAA,CAAA,GAAnB,kBAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AATQ,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;ACAL,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AACZ,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AACZ,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AACZ,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AAAA,EAAA;AAChB;;;ACLO,IAAM,sCAAN,MAA0C;AAAA,EAA1C,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AAAA,EAAA;AAC5B;;;ACHO,IAAM,mCAAN,MAAuC;AAAA,EAAvC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AAGA,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAGhB,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAE1B,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,cAAA,GAA0B,KAAA;AAC1B,IAAA,IAAA,CAAA,iBAAA,GAA6B,KAAA;AAC7B,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,wBAAA,GAAmC,CAAA;AACnC,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAAA,EAAA;AAEjC;;;ACtBO,IAAM,iCAAN,MAAqC;AAAA,EAArC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AAErB;;;ACHO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAsC,EAAC;AAAA,EAAA;AAC3C;;;ACHO,IAAM,kCAAN,MAAsC;AAAA,EAAtC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAiC,EAAC;AAAA,EAAA;AACtC;;;ACLO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAkB,EAAC;AAAA,EAAA;AACvB;;;ACHO,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACH,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AALQ,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACGL,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACLO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AAAA,EAAA;AAEJ;;;ACJO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACLO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,oBAAA,GAA+B,EAAA;AAE/B,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAAA,EAAA;AACtB;;;ACNO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACCO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACFO,IAAM,0BAAN,MAA8B;AAQrC;;;ACVO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACPO,IAAK,WAAA,qBAAAC,YAAAA,KAAL;AACH,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AALQ,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;;;ACAL,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AAFQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACEL,IAAM,iCAAN,MAAqC;AAAA,EAArC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,UAAA,GAAsC,EAAC;AAAA,EAAA;AAC3C;;;ACLO,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,mBAAgB,CAAA,CAAA,GAAhB,eAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,yBAAsB,CAAA,CAAA,GAAtB,qBAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,yBAAsB,CAAA,CAAA,GAAtB,qBAAA;AALQ,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;ACAL,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAAA,EAAA;AAC/B;;;ACNO,IAAM,+BAAN,MAAmC;AAAA,EAAnC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAE1B;;;ACJO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAE1B;;;ACFO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACPO,IAAK,IAAA,qBAAAC,KAAAA,KAAL;AACH,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,KAAAA,CAAAA,KAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AAJQ,EAAA,OAAAA,KAAAA;AAAA,CAAA,EAAA,IAAA,IAAA,EAAA;;;ACAL,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAqB,KAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AAAA,EAAA;AAC1B;;;ACFO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,SAAA,GAAqB,KAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AAAA,EAAA;AAC1B;;;ACPO,IAAM,UAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACDO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAoC,EAAC;AAAA,EAAA;AACzC;;;ACFO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAGnB,IAAA,IAAA,CAAA,aAAA,GAA6D,EAAC;AAC9D,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACRO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,KAAA,GAA8B,EAAC;AAAA,EAAA;AACnC;;;ACNO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,WAAA,GAAwB,EAAC;AAAA,EAAA;AAC7B;;;ACVO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACH,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AAFQ,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;;;ACKL,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAEnB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAEhB,IAAA,IAAA,CAAA,cAAA,GAA8C,EAAC;AAC/C,IAAA,IAAA,CAAA,kBAAA,GAA8D,EAAC;AAAA,EAAA;AAGnE;;;ACZO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAEhB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAC9B,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAC9B,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,kBAAA,GAA6B,CAAA;AAC7B,IAAA,IAAA,CAAA,eAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAAA,EAAA;AAG1B;;;AC7BO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAG1B;;;ACJO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,KAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAG1B;;;ACTO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAG1B;;;ACTO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACZO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,OAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,YAAA,GAAuB,CAAA;AACvB,IAAA,IAAA,CAAA,IAAA,GAA6B,EAAC;AAAA,EAAA;AAElC;;;AChBO,IAAM,UAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AACZ,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AACZ,IAAA,IAAA,CAAA,CAAA,GAAY,CAAA;AAAA,EAAA;AAChB;;;ACFO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAA6D,EAAC;AAAA,EAAA;AAClE;;;ACDO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,IAAA,GAAwB,EAAC;AAAA,EAAA;AAC7B;;;ACJO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAAA,EAAA;AACzB;;;ACLO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAA+B,EAAC;AAGhC,IAAA,IAAA,CAAA,KAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACRO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA2D,EAAC;AAAA,EAAA;AAEhE;;;ACDO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACLO,IAAK,0BAAA,qBAAAC,2BAAAA,KAAL;AACH,EAAAA,2BAAAA,CAAAA,2BAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,2BAAAA,CAAAA,2BAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,2BAAAA,CAAAA,2BAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AAHQ,EAAA,OAAAA,2BAAAA;AAAA,CAAA,EAAA,0BAAA,IAAA,EAAA;;;ACEL,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAAA,EAAA;AAChC;;;ACAO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,QAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,SAAA,GAAwC,EAAC;AACzC,IAAA,IAAA,CAAA,MAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACZO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACJO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AACrB,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AAAA,EAAA;AAC1B;;;ACHO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAC1B,IAAA,IAAA,CAAA,gBAAA,GAA2B,EAAA;AAC3B,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACZO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACFO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,WAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,SAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACZO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAsC,EAAA;AACtC,IAAA,IAAA,CAAA,aAAA,GAAsC,EAAA;AACtC,IAAA,IAAA,CAAA,YAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,YAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACLO,IAAMC,kBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,qBAAA,GAA8C,EAAA;AAC9C,IAAA,IAAA,CAAA,wBAAA,GAAiD,EAAA;AACjD,IAAA,IAAA,CAAA,oBAAA,GAA6C,EAAA;AAC7C,IAAA,IAAA,CAAA,UAAA,GAAmC,EAAA;AAEnC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACRO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,YAAA,GAAwB,KAAA;AACxB,IAAA,IAAA,CAAA,OAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,QAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACLO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,gBAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACPO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AAAA,EAAA;AAC7B;;;ACDO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,iBAAA,GAAyC,EAAA;AACzC,IAAA,IAAA,CAAA,mBAAA,GAA2C,EAAA;AAC3C,IAAA,IAAA,CAAA,KAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACPO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,OAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,QAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACNO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,SAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACLO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,QAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,OAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,SAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACPO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,UAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACLO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACDO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,OAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,OAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACPO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,gBAAA,GAAwC,EAAA;AACxC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAC1B,IAAA,IAAA,CAAA,cAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,6BAAA,GAAyC,KAAA;AACzC,IAAA,IAAA,CAAA,gBAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,yBAAA,GAAoC,EAAA;AAAA,EAAA;AACxC;;;ACrBO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACNO,IAAM,8BAAN,MAAkC;AAAA,EAAlC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,gBAAA,GAA2B,EAAA;AAC3B,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACNO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,MAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,iBAAA,GAAyC,EAAA;AACzC,IAAA,IAAA,CAAA,cAAA,GAAsC,EAAA;AACtC,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AACnC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,gBAAA,GAA2B,EAAA;AAC3B,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAAA,EAAA;AAC9B;;;ACnBO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,KAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACLO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAgC,EAAA;AAChC,IAAA,IAAA,CAAA,aAAA,GAAqC,EAAA;AACrC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACRO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACHO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,IAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,SAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACRO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACTO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACH,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AAJQ,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;;;ACAL,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACH,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AAHQ,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACGL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,kBAAA,GAA6B,EAAA;AAAA,EAAA;AACjC;;;ACLO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoC,EAAC;AACrC,IAAA,IAAA,CAAA,qBAAA,GAA2C,EAAC;AAC5C,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACRO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAAA,EAAA;AACnC;;;ACJO,IAAM,UAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAAA,EAAA;AACjC;;;ACFO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,kBAAA,GAAyC,EAAC;AAC1C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACLO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,kBAAA,GAAyC,EAAC;AAC1C,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACLO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,OAAA,GAAmB,EAAC;AAAA,EAAA;AACxB;;;ACJO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,IAAA,GAAiB,EAAC;AAAA,EAAA;AACtB;;;ACLO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,YAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,KAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,OAAA,GAAmB,EAAC;AAAA,EAAA;AACxB;;;ACTO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACNO,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACH,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAHQ,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;ACAL,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACH,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,sBAAmB,CAAA,CAAA,GAAnB,kBAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AAJQ,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;ACEL,IAAM,UAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AAExB;;;ACEO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,KAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,QAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAAA,EAAA;AAE9B;;;ACZO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAgB,OAAA;AAChB,IAAA,IAAA,CAAA,eAAA,GAAmD,EAAC;AAAA,EAAA;AAExD;;;ACTO,IAAM,kCAAN,MAAsC;AAAA,EAAtC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AAAA,EAAA;AAC7B;;;ACFO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,qBAAkB,CAAA,CAAA,GAAlB,iBAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AAHQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACGL,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAEnB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AAMA,IAAA,IAAA,CAAA,OAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACdO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAAA,EAAA;AAGzB;;;ACVO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAPQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACEL,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AAAA,EAAA;AAC5B;;;ACFO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,cAAA,GAAsC,EAAC;AAAA,EAAA;AAI3C;;;ACZO,IAAK,kBAAA,qBAAAC,mBAAAA,KAAL;AACH,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,mBAAAA,CAAAA,mBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AAHQ,EAAA,OAAAA,mBAAAA;AAAA,CAAA,EAAA,kBAAA,IAAA,EAAA;;;ACIL,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,QAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,KAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACNO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,UAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACHO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAAA,EAAA;AACrC;;;ACLO,IAAK,oBAAA,qBAAAC,qBAAAA,KAAL;AACH,EAAAA,qBAAAA,CAAAA,qBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,qBAAAA,CAAAA,qBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,qBAAAA,CAAAA,qBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AAHQ,EAAA,OAAAA,qBAAAA;AAAA,CAAA,EAAA,oBAAA,IAAA,EAAA;;;ACML,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,IAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,cAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,QAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,SAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,uBAAA,GAAkC,CAAA;AAAA,EAAA;AACtC;;;ACVO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AACtB,IAAA,IAAA,CAAA,QAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,sBAAA,GAAiD,EAAC;AAClD,IAAA,IAAA,CAAA,eAAA,GAAmC,EAAC;AAAA,EAAA;AACxC;;;ACTO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACJO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACFO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAA8B,EAAC;AAAA,EAAA;AACnC;;;ACOO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,cAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,eAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,gBAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,iBAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,YAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,cAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,aAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,YAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,cAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,aAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,SAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,uBAAA,GAAkC,CAAA;AAClC,IAAA,IAAA,CAAA,WAAA,GAAuB,KAAA;AAAA,EAAA;AAC3B;;;AC3BO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,cAAA,GAAyB,EAAA;AAAA,EAAA;AAC7B;;;ACPO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AAAA,EAAA;AAC7B;;;ACAO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAAA,EAAA;AACpB;;;ACJO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,OAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,WAAA,GAAuC,EAAC;AACxC,IAAA,IAAA,CAAA,aAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,UAAA,GAAqC,EAAC;AAAA,EAAA;AAC1C;;;ACTO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,eAAA,GAAwC,EAAA;AAAA,EAAA;AAC5C;;;ACFO,IAAMC,WAAN,MAAc;AAAA,EAAd,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACFO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,WAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,YAAA,GAAkC,EAAC;AACnC,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AAAA,EAAA;AAC1B;;;ACTO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACCO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,OAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,aAAA,GAAuC,EAAC;AAAA,EAAA;AAC5C;;;ACVO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACFO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAAA,EAAA;AAChC;;;ACFO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAAA,EAAA;AAC9B;;;ACEO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA8B,EAAC;AAC/B,IAAA,IAAA,CAAA,OAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,UAAA,GAAsC,EAAC;AACvC,IAAA,IAAA,CAAA,OAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,WAAA,GAAwC,EAAC;AACzC,IAAA,IAAA,CAAA,aAAA,GAA4C,EAAC;AAC7C,IAAA,IAAA,CAAA,UAAA,GAAsC,EAAC;AAAA,EAAA;AAC3C;;;ACZO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AACjC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,YAAA,GAAoC,EAAA;AACpC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AAAA,EAAA;AAC3B;;;ACPO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,KAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,aAAA,GAAyB,KAAA;AAAA,EAAA;AAC7B;;;ACJO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACDO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAmC,EAAA;AAAA,EAAA;AACvC;;;ACJO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAClC,IAAA,IAAA,CAAA,eAAA,GAA0B,EAAA;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AAAA,EAAA;AAC5B;;;ACRO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,UAAA,GAA2B,EAAC;AAAA,EAAA;AAChC;;;ACHO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACDO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACHO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,kBAAA,GAA8B,KAAA;AAAA,EAAA;AAClC;;;ACNO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACLO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,UAAA,GAAqC,EAAC;AACtC,IAAA,IAAA,CAAA,YAAA,GAA6B,EAAC;AAC9B,IAAA,IAAA,CAAA,OAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,QAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,YAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACLO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,eAAA,GAAuC,EAAA;AACvC,IAAA,IAAA,CAAA,UAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AAAA,EAAA;AAC5B;;;ACTO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,UAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,YAAA,GAA4B,EAAC;AAC7B,IAAA,IAAA,CAAA,OAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,QAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,YAAA,GAA4B,EAAC;AAAA,EAAA;AACjC;;;ACNO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AACvB,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACLO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,QAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,YAAA,GAA0B,EAAC;AAAA,EAAA;AAC/B;;;ACLO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,OAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,WAAA,GAAoC,EAAC;AAAA,EAAA;AACzC;;;ACPO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAAA,EAAA;AAC3B;;;ACHO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,WAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,SAAA,GAAuB,EAAC;AACxB,IAAA,IAAA,CAAA,UAAA,GAAkC,EAAA;AAAA,EAAA;AACtC;;;ACTO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,yBAAA,GAAoC,CAAA;AAAA,EAAA;AACxC;;;ACDO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAChB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,kBAAA,GAA8B,KAAA;AAC9B,IAAA,IAAA,CAAA,IAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,SAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAAA,EAAA;AAChC;;;ACPO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,KAAA;AACtB,IAAA,IAAA,CAAA,KAAA,GAA+B,EAAC;AAChC,IAAA,IAAA,CAAA,MAAA,GAAiC,EAAC;AAClC,IAAA,IAAA,CAAA,IAAA,GAA6B,EAAC;AAAA,EAAA;AAClC;;;ACTO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACFO,IAAM,sBAAN,MAA0B;AAEjC;;;ACFO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAC1B;;;ACHO,IAAM,2BAAN,MAA+B;AAAA,EAA/B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AAOxB;;;ACRO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AAFQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACEL,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACLO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACHO,IAAM,6BAAN,MAAiC;AAAA,EAAjC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACFO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACHO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACFO,IAAM,4BAAN,MAAgC;AAAA,EAAhC,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AAAA,EAAA;AAC1B;;;ACJO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,wBAAA,GAAsD,EAAC;AACvD,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACHO,IAAM,uBAAN,MAA2B;AAAA,EAA3B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AAAA,EAAA;AAC1B;;;ACFO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAEnB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAEjB,IAAA,IAAA,CAAA,QAAA,GAAqB,EAAC;AAAA,EAAA;AAE1B;;;ACXO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAAA,EAAA;AAClB;;;ACFO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAMvB,IAAA,IAAA,CAAA,cAAA,GAA0B,KAAA;AAC1B,IAAA,IAAA,CAAA,iBAAA,GAA6B,KAAA;AAAA,EAAA;AACjC;;;ACTO,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,eAAA,GAA2B,KAAA;AAC3B,IAAA,IAAA,CAAA,gBAAA,GAA4B,KAAA;AAAA,EAAA;AAChC;;;ACHO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACHO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAAA,EAAA;AACnB;;;ACFO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,SAAA,GAAoB,CAAA;AAAA,EAAA;AACxB;;;ACHO,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACH,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AACA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AAJQ,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;;;ACAL,IAAK,iBAAA,qBAAAC,kBAAAA,KAAL;AACH,EAAAA,kBAAAA,CAAAA,kBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,kBAAAA,CAAAA,kBAAAA,CAAA,SAAM,CAAA,CAAA,GAAN,KAAA;AAFQ,EAAA,OAAAA,kBAAAA;AAAA,CAAA,EAAA,iBAAA,IAAA,EAAA;;;ACEL,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAGpB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACVO,IAAM,uBAAN,MAA2B;AAMlC;;;ACJO,IAAM,mBAAN,MAAuB;AAO9B;;;ACPO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAkB,EAAC;AACnB,IAAA,IAAA,CAAA,SAAA,GAAqB,KAAA;AAQrB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACbO,IAAM,oBAAN,MAAwB;AAI/B;;;ACNO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACFO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAInB,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AAAA,EAAA;AAC5B;;;ACPO,IAAM,eAAN,MAAmB;AAAA,EAAnB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,CAAA;AACtB,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAgC,EAAC;AACjC,IAAA,IAAA,CAAA,KAAA,GAA6C,EAAC;AAAA,EAAA;AAClD;;;ACfO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACNO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAAA,EAAA;AACtB;;;ACDO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAErB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAsB,KAAA;AAGtB,IAAA,IAAA,CAAA,OAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,WAAA,GAAsB,OAAA;AACtB,IAAA,IAAA,CAAA,UAAA,GAAqB,OAAA;AAAA,EAAA;AACzB;;;ACjBO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,mBAAA,GAA8B,CAAA;AAC9B,IAAA,IAAA,CAAA,iCAAA,GAA4C,CAAA;AAAA,EAAA;AAChD;;;ACHO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AACvB;;;ACAO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAyB,EAAC;AAC1B,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAC5B,IAAA,IAAA,CAAA,OAAA,GAAkB,CAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAEnB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AAMA,IAAA,IAAA,CAAA,OAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AACvB;;;ACjBO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,KAAA,GAA2B,EAAC;AAAA,EAAA;AAChC;;;ACPO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACLO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AAEvB;;;ACLO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AAAA,EAAA;AAGrB;;;ACJO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AAIxB;;;ACPO,IAAM,qBAAN,MAAyB;AAAA,EAAzB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,iBAAA,GAA4B,EAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACTO,IAAK,mBAAA,qBAAAC,oBAAAA,KAAL;AACH,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,iBAAc,CAAA,CAAA,GAAd,aAAA;AACA,EAAAA,oBAAAA,CAAAA,oBAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AAJQ,EAAA,OAAAA,oBAAAA;AAAA,CAAA,EAAA,mBAAA,IAAA,EAAA;;;ACAL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAAA,EAAA;AACzB;;;ACLO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,CAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,YAAA,GAAuB,EAAA;AAEvB,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAAA,EAAA;AACxB;;;ACTO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAGd,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,YAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,cAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,aAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,eAAA,GAA2B,CAAA;AAAA,EAAA;AAC/B;;;ACXO,IAAK,cAAA,qBAAAC,eAAAA,KAAL;AACH,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,eAAAA,CAAAA,eAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AANQ,EAAA,OAAAA,eAAAA;AAAA,CAAA,EAAA,cAAA,IAAA,EAAA;;;ACEL,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAEd,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AAAA,EAAA;AAGxB;;;ACfO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AAAA,EAAA;AACrB;;;ACDO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAwB,EAAC;AACzB,IAAA,IAAA,CAAA,MAAA,GAAiB,CAAA;AACjB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AAGd,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AACpB,IAAA,IAAA,CAAA,YAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,cAAA,GAA0B,CAAA;AAC1B,IAAA,IAAA,CAAA,aAAA,GAAyB,CAAA;AACzB,IAAA,IAAA,CAAA,eAAA,GAA2B,CAAA;AAAA,EAAA;AAC/B;;;ACXO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,SAAA,GAAoB,EAAA;AACpB,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAElB,IAAA,IAAA,CAAA,gBAAA,GAA4B,KAAA;AAC5B,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAAA,EAAA;AAC/B;;;ACdO,IAAM,0BAAN,MAA8B;AAAA,EAA9B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,EAAA,GAAa,EAAA;AACb,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,WAAA,GAAsB,EAAA;AACtB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AAEf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAElB,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAC3B,IAAA,IAAA,CAAA,SAAA,uBAAsB,IAAA,EAAK;AAAA,EAAA;AAC/B;;;ACdO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AAJQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACEL,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAA,CAAA;AAAA,EAAA;AAGJ;;;ACJO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AAAA,EAAA;AACrB;;;ACPO,IAAK,gBAAA,qBAAAC,iBAAAA,KAAL;AACH,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,oBAAiB,CAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,iBAAAA,CAAAA,iBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AALQ,EAAA,OAAAA,iBAAAA;AAAA,CAAA,EAAA,gBAAA,IAAA,EAAA;;;ACAL,IAAK,SAAA,qBAAAC,UAAAA,KAAL;AACH,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,UAAAA,CAAAA,UAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AALQ,EAAA,OAAAA,UAAAA;AAAA,CAAA,EAAA,SAAA,IAAA,EAAA;;;ACIL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,GAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACdO,IAAK,YAAA,qBAAAC,aAAAA,KAAL;AACH,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,aAAAA,CAAAA,aAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AAFQ,EAAA,OAAAA,aAAAA;AAAA,CAAA,EAAA,YAAA,IAAA,EAAA;;;ACGL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,IAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,KAAA,GAAqB,EAAC;AAAA,EAAA;AAC1B;;;ACPO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACLO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,SAAA;AAChB,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AACvB;;;ACEO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AAKpB;;;ACPO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAAA,EAAA;AAEjC;;;ACRO,IAAM,mBAAN,MAAuB;AAAA,EAAvB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,aAAA,GAAwB,SAAA;AACxB,IAAA,IAAA,CAAA,YAAA,GAAuB,SAAA;AACvB,IAAA,IAAA,CAAA,YAAA,GAAuB,SAAA;AAAA,EAAA;AAC3B;;;ACFO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,YAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAAA,EAAA;AACtB;;;ACFO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAAoB,EAAC;AACrB,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAAA,EAAA;AAEjC;;;ACLO,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,IAAA,GAAe,CAAA;AACf,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACVO,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,MAAA,GAAsB,EAAC;AACvB,IAAA,IAAA,CAAA,MAAA,GAAiB,EAAA;AACjB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAChB,IAAA,IAAA,CAAA,KAAA,GAAgB,EAAA;AAAA,EAAA;AACpB;;;ACTO,IAAK,eAAA,qBAAAC,gBAAAA,KAAL;AACH,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,gBAAAA,CAAAA,gBAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AAHQ,EAAA,OAAAA,gBAAAA;AAAA,CAAA,EAAA,eAAA,IAAA,EAAA;;;ACAL,IAAK,WAAA,qBAAAC,YAAAA,KAAL;AACH,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,gBAAa,CAAA,CAAA,GAAb,YAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,YAAAA,CAAAA,YAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AAJQ,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;;;ACKL,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,IAAA,GAAgB,KAAA;AAChB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAEjC,IAAA,IAAA,CAAA,wBAAA,GAAoC,KAAA;AACpC,IAAA,IAAA,CAAA,eAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;AChBO,IAAK,aAAA,qBAAAC,cAAAA,KAAL;AACH,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,cAAAA,CAAAA,cAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AAHQ,EAAA,OAAAA,cAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;ACEL,IAAM,cAAN,MAAkB;AAAA,EAAlB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,KAAA,GAA6B,EAAA;AAC7B,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AAAA,EAAA;AACvB;;;ACAO,IAAM,YAAN,MAAgB;AAAA,EAAhB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AACrB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,aAAA,GAAwB,EAAA;AACxB,IAAA,IAAA,CAAA,SAAA,GAAiC,EAAA;AAEjC,IAAA,IAAA,CAAA,wBAAA,GAAoC,KAAA;AACpC,IAAA,IAAA,CAAA,eAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,WAAA,GAAA,CAAA;AAAA,EAAA;AACJ;;;ACfO,IAAK,OAAA,qBAAAC,QAAAA,KAAL;AACH,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,eAAY,CAAA,CAAA,GAAZ,WAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,oBAAiB,CAAA,CAAA,GAAjB,gBAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AACA,EAAAA,QAAAA,CAAAA,QAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AANQ,EAAA,OAAAA,QAAAA;AAAA,CAAA,EAAA,OAAA,IAAA,EAAA;;;ACEL,IAAM,wBAAN,MAA4B;AAAA,EAA5B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,2BAAA,GAAsC,EAAA;AACtC,IAAA,IAAA,CAAA,KAAA,GAA0B,EAAC;AAC3B,IAAA,IAAA,CAAA,UAAA,GAAqB,EAAA;AAAA,EAAA;AACzB;;;ACHO,IAAM,WAAN,MAAe;AAAA,EAAf,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,GAAA,GAAc,EAAA;AACd,IAAA,IAAA,CAAA,IAAA,GAAe,EAAA;AACf,IAAA,IAAA,CAAA,gBAAA,GAA0C,EAAC;AAC3C,IAAA,IAAA,CAAA,KAAA,GAAA,CAAA;AACA,IAAA,IAAA,CAAA,OAAA,GAAmB,KAAA;AAAA,EAAA;AAEvB;;;ACRO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,OAAA,GAAkB,EAAA;AAClB,IAAA,IAAA,CAAA,QAAA,GAAmB,EAAA;AACnB,IAAA,IAAA,CAAA,QAAA,GAAoB,KAAA;AAAA,EAAA;AAGxB;;;ACRO,IAAM,yBAAN,MAA6B;AAAA,EAA7B,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAmB,EAAC;AACpB,IAAA,IAAA,CAAA,MAAA,GAAmB,EAAC;AAAA,EAAA;AACxB;;;ACHO,IAAK,QAAA,qBAAAC,SAAAA,KAAL;AACH,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,SAAAA,CAAAA,SAAAA,CAAA,YAAS,CAAA,CAAA,GAAT,QAAA;AAHQ,EAAA,OAAAA,SAAAA;AAAA,CAAA,EAAA,QAAA,IAAA,EAAA;;;ACAL,IAAK,UAAA,qBAAAC,WAAAA,KAAL;AACH,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,UAAO,CAAA,CAAA,GAAP,MAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,WAAQ,CAAA,CAAA,GAAR,OAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,cAAW,CAAA,CAAA,GAAX,UAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,aAAU,CAAA,CAAA,GAAV,SAAA;AACA,EAAAA,WAAAA,CAAAA,WAAAA,CAAA,kBAAe,CAAA,CAAA,GAAf,cAAA;AANQ,EAAA,OAAAA,WAAAA;AAAA,CAAA,EAAA,UAAA,IAAA,EAAA;;;ACAL,IAAM,aAAN,MAAiB;AAAA,EAAjB,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,oBAAA,GAA+B,CAAA;AAC/B,IAAA,IAAA,CAAA,UAAA,GAAqB,CAAA;AAAA,EAAA;AACzB;;;ACNO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAChB,IAAA,IAAA,CAAA,cAAA,GAAyB,CAAA;AAAA,EAAA;AAE7B;;;ACJO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AAKH,IAAA,IAAA,CAAA,mBAAA,GAA+B,KAAA;AAC/B,IAAA,IAAA,CAAA,aAAA,GAAwB,CAAA;AACxB,IAAA,IAAA,CAAA,6BAAA,GAAyC,KAAA;AACzC,IAAA,IAAA,CAAA,uBAAA,GAAkC,CAAA;AAElC,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AACnB,IAAA,IAAA,CAAA,UAAA,uBAAuB,IAAA,EAAK;AAAA,EAAA;AAChC;;;ACZO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AAMH,IAAA,IAAA,CAAA,iBAAA,GAA4B,CAAA;AAE5B,IAAA,IAAA,CAAA,UAAA,uBAAuB,IAAA,EAAK;AAAA,EAAA;AAChC;;;ACXO,IAAM,iBAAN,MAAqB;AAAA,EAArB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,KAAA,GAAgB,CAAA;AAAA,EAAA;AACpB;;;ACDO,IAAM,oBAAN,MAAwB;AAAA,EAAxB,WAAA,GAAA;AACH,IAAA,IAAA,CAAA,MAAA,GAAkB,KAAA;AAAA,EAAA;AAEtB;;;ACLO,IAAM,eAAN,MAAmB;AAE1B;;;ACAO,IAAM,gBAAN,MAAoB;AAAA,EAApB,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,QAAA,GAAmB,CAAA;AAAA,EAAA;AAGvB;;;ACNO,IAAM,sBAAN,MAA0B;AAAA,EAA1B,WAAA,GAAA;AAGH,IAAA,IAAA,CAAA,gBAAA,GAA2B,CAAA;AAAA,EAAA;AAC/B;;;ACNO,IAAM,2BAAN,MAA+B;AAEtC;;;ACFO,IAAM,aAAN,MAAiB;AAGxB;;;ACHO,IAAM,mBAAN,MAAuB;AAI9B;;;ACJO,IAAM,mBAAN,MAAuB;AAE9B;;;ACFO,IAAM,kBAAN,MAAsB;AAAA,EAAtB,WAAA,GAAA;AAEH,IAAA,IAAA,CAAA,SAAA,GAAqB,KAAA;AAAA,EAAA;AACzB;;;ACLO,SAAS,mBACd,UAAA,EAC+B;AAC/B,EAAA,IAAI,CAAC,UAAA,CAAW,KAAA,EAAO,OAAO,KAAA,CAAM,CAAC,CAAA,CAAE,IAAA,CAAK,EAAE,EAAA,EAAI,CAAA,EAAG,CAAA;AAErD,EAAA,MAAM,KAAA,GACJ,UAAA,CAAW,KAAA,EAAO,MAAA,CAAO,CAAC,SAAS,IAAA,CAAK,IAAA,GAAO,CAAC,CAAA,IAC/C,EAAC;AAGJ,EAAA,MAAM,eAAe,KAAA,CAAM,IAAA;AAAA,IACzB,CAAC,CAAA,EAAG,CAAA,KAAA,CAAO,GAAG,IAAA,IAAQ,CAAA,KAAM,GAAG,IAAA,IAAQ,CAAA;AAAA,GACzC;AAGA,EAAA,OAAO,YAAA,CAAa,SAAS,CAAA,EAAG;AAC9B,IAAA,YAAA,CAAa,QAAQ,MAAS,CAAA;AAAA,EAChC;AACA,EAAA,OAAO,gBAAgB,EAAC;AAC1B;AAEO,SAAS,WACd,UAAA,EAC2B;AAC3B,EAAA,OAAO,WAAW,KAAA,EAAO,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,SAAS,CAAC,CAAA;AACzD;AAEO,SAAS,aACd,UAAA,EAC2B;AAC3B,EAAA,OAAO,WAAW,KAAA,EAAO,IAAA,CAAK,CAAC,IAAA,KAAS,IAAA,CAAK,SAAS,CAAC,CAAA;AACzD;;;ACxBO,IAAM,UAAA,GAAa;AACnB,IAAM,WAAA,GAAc;AACpB,IAAM,UAAA,GAAa;AAOnB,SAAS,aAAa,IAAA,EAA4C;AACvE,EAAA,MAAM,aAAa,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,CAAK,aAAY,GAAI,IAAA;AACnE,EAAA,IAAI,mCAAsC,UAAA,KAAe,UAAA;AACvD,IAAA,OAAO,UAAA;AACT,EAAA,IAAI,gCAAmC,UAAA,KAAe,OAAA;AACpD,IAAA,OAAO,WAAA;AACT,EAAA,IAAI,+BAAkC,UAAA,KAAe,MAAA;AACnD,IAAA,OAAO,UAAA;AACT,EAAA,OAAO,MAAA;AACT;AAMO,SAAS,aAAa,KAAA,EAAuB;AAClD,EAAA,OAAO,KAAA,IAAS,GAAA,GACZ,CAAA,EAAA,CAAI,KAAA,GAAQ,GAAA,EAAM,OAAA,CAAQ,CAAC,CAAC,CAAA,CAAA,CAAA,GAC5B,CAAA,EAAG,IAAA,CAAK,KAAA,CAAM,KAAK,CAAC,CAAA,CAAA;AAC1B;AAMO,SAAS,eAAA,CACd,KACA,GAAA,EACQ;AACR,EAAA,OAAO,IAAI,GAAG,CAAA,IAAK,IAAI,GAAA,CAAI,WAAA,EAAa,CAAA,IAAK,CAAA;AAC/C;AAiBO,SAAS,iBAAA,CACd,cACA,KAAA,EACoB;AACpB,EAAA,MAAM,IAAI,KAAA,IAAS,CAAA;AACnB,EAAA,OAAO;AAAA,IACL;AAAA,MACE,KAAA,EAAO,UAAA;AAAA,MACP,GAAA,EAAM,eAAA,CAAgB,YAAA,EAAc,UAAU,IAAI,CAAA,GAAK;AAAA,KACzD;AAAA,IACA;AAAA,MACE,KAAA,EAAO,WAAA;AAAA,MACP,GAAA,EAAM,eAAA,CAAgB,YAAA,EAAc,OAAO,IAAI,CAAA,GAAK;AAAA,KACtD;AAAA,IACA;AAAA,MACE,KAAA,EAAO,UAAA;AAAA,MACP,GAAA,EAAM,eAAA,CAAgB,YAAA,EAAc,MAAM,IAAI,CAAA,GAAK;AAAA;AACrD,IACA,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,MAAM,GAAG,CAAA;AAC7B;AAsBO,SAAS,sBACd,MAAA,EACwB;AACxB,EAAA,MAAM,GAAA,uBAAU,GAAA,EAAkC;AAClD,EAAA,KAAA,MAAW,KAAK,MAAA,EAAQ;AACtB,IAAA,IAAI,CAAC,EAAE,SAAA,EAAW;AAClB,IAAA,MAAM,cAAA,GAAiB,EAAE,SAAA,CAAU,cAAA;AACnC,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,cAAA,KAAA,CAAA,oBAAoD;AACtD,MAAA,QAAA,GAAW,gBAAA;AAAA,IACb,WAAW,cAAA,KAAA,CAAA,mBAAmD;AAC5D,MAAA,QAAA,GAAW,gBAAA;AAAA,IACb,CAAA,MAAO;AAGL,MAAA,QAAA,GAAW,CAAA,CAAE,SAAA,CAAU,SAAA,IAAa,CAAA,CAAE,SAAA,CAAU,SAAA;AAAA,IAClD;AACA,IAAA,MAAM,GAAA,GAAM,CAAA,EAAG,QAAQ,CAAA,EAAA,EAAK,EAAE,UAAU,CAAA,CAAA;AACxC,IAAA,MAAM,QAAA,GAAW,GAAA,CAAI,GAAA,CAAI,GAAG,CAAA;AAC5B,IAAA,IAAI,QAAA,EAAU;AACZ,MAAA,QAAA,CAAS,UAAU,CAAA,CAAE,MAAA;AAAA,IACvB,CAAA,MAAO;AACL,MAAA,GAAA,CAAI,IAAI,GAAA,EAAK;AAAA,QACX,WAAW,CAAA,CAAE,SAAA;AAAA,QACb,QAAQ,CAAA,CAAE,MAAA;AAAA,QACV,YAAY,CAAA,CAAE;AAAA,OACf,CAAA;AAAA,IACH;AAAA,EACF;AACA,EAAA,OAAO,CAAC,GAAG,GAAA,CAAI,MAAA,EAAQ,CAAA,CAAE,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,CAAA,CAAE,MAAA,GAAS,EAAE,MAAM,CAAA;AAC7D;AA0BA,SAAS,sBAAsB,IAAA,EAItB;AACP,EAAA,IAAI,QAAA,CAAS,IAAA,CAAK,IAAI,CAAA,EAAG;AACvB,IAAA,OAAO;AAAA,MACL,GAAA,EAAK,WAAA;AAAA,MACL,WAAA,EAAa,cAAA;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,EACF;AACA,EAAA,IAAI,YAAA,CAAa,IAAA,CAAK,IAAI,CAAA,EAAG;AAC3B,IAAA,MAAM,OAAA,GAAU,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AACvC,IAAA,OAAO;AAAA,MACL,GAAA,EAAK,UAAU,kBAAA,GAAqB,kBAAA;AAAA,MACpC,WAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,EACF;AACA,EAAA,IAAI,YAAA,CAAa,IAAA,CAAK,IAAI,CAAA,EAAG;AAC3B,IAAA,MAAM,OAAA,GAAU,iBAAA,CAAkB,IAAA,CAAK,IAAI,CAAA;AAC3C,IAAA,OAAO;AAAA,MACL,GAAA,EAAK,UAAU,kBAAA,GAAqB,kBAAA;AAAA,MACpC,WAAA,EAAa,SAAA;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,EACF;AACA,EAAA,OAAO,IAAA;AACT;AAeO,SAAS,sBAAA,CACd,OAAA,EACA,KAAA,GAAQ,CAAA,EACiB;AACzB,EAAA,MAAM,OAAA,uBAAc,GAAA,EAAmC;AACvD,EAAA,MAAM,aAAA,uBAAoB,GAAA,EAAqC;AAE/D,EAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,IAAA,MAAM,OAAA,GAAU,qBAAA,CAAsB,KAAA,CAAM,UAAU,CAAA;AACtD,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,GAAA,CAAI,OAAA,CAAQ,GAAG,CAAA;AACxC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,eAAe,KAAA,CAAM,WAAA;AAC9B,QAAA,KAAA,MAAW,CAAC,GAAG,CAAC,CAAA,IAAK,OAAO,OAAA,CAAQ,KAAA,CAAM,YAAY,CAAA,EAAG;AACvD,UAAA,QAAA,CAAS,aAAa,CAAC,CAAA,GAAA,CAAK,SAAS,YAAA,CAAa,CAAC,KAAK,CAAA,IAAK,CAAA;AAAA,QAC/D;AAAA,MACF,CAAA,MAAO;AACL,QAAA,OAAA,CAAQ,GAAA,CAAI,QAAQ,GAAA,EAAK;AAAA,UACvB,KAAK,OAAA,CAAQ,GAAA;AAAA,UACb,aAAa,OAAA,CAAQ,WAAA;AAAA,UACrB,YAAY,OAAA,CAAQ,UAAA;AAAA,UACpB,aAAa,KAAA,CAAM,WAAA;AAAA,UACnB,YAAA,EAAc,EAAE,GAAG,KAAA,CAAM,YAAA,EAAa;AAAA,UACtC,QAAQ;AAAC,SACV,CAAA;AAAA,MACH;AAAA,IACF,WAAW,CAAC,KAAA,CAAM,UAAA,CAAW,QAAA,CAAS,GAAG,CAAA,EAAG;AAE1C,MAAA,OAAA,CAAQ,GAAA,CAAI,MAAM,UAAA,EAAY;AAAA,QAC5B,KAAK,KAAA,CAAM,UAAA;AAAA,QACX,WAAA,EAAa,KAAA,CAAM,MAAA,EAAQ,IAAA,IAAQ,KAAA,CAAM,UAAA;AAAA,QACzC,SAAA,EAAW,MAAM,MAAA,EAAQ,SAAA;AAAA,QACzB,UAAA,EAAY,UAAA;AAAA,QACZ,aAAa,KAAA,CAAM,WAAA;AAAA,QACnB,YAAA,EAAc,EAAE,GAAG,KAAA,CAAM,YAAA,EAAa;AAAA,QACtC,MAAA,EAAQ,qBAAA,CAAsB,KAAA,CAAM,MAAM;AAAA,OAC3C,CAAA;AAAA,IACH,CAAA,MAAO;AAEL,MAAA,MAAM,QAAA,GAAW,KAAA,CAAM,UAAA,CACpB,KAAA,CAAM,GAAG,CAAA,CAAE,CAAC,CAAA,CACZ,OAAA,CAAQ,OAAA,EAAS,EAAE,CAAA,CACnB,OAAA,CAAQ,UAAU,EAAE,CAAA;AACvB,MAAA,MAAM,QAAA,GAAW,OAAA,CAAQ,GAAA,CAAI,QAAQ,CAAA;AACrC,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,eAAe,KAAA,CAAM,WAAA;AAC9B,QAAA,KAAA,MAAW,CAAC,GAAG,CAAC,CAAA,IAAK,OAAO,OAAA,CAAQ,KAAA,CAAM,YAAY,CAAA,EAAG;AACvD,UAAA,QAAA,CAAS,aAAa,CAAC,CAAA,GAAA,CAAK,SAAS,YAAA,CAAa,CAAC,KAAK,CAAA,IAAK,CAAA;AAAA,QAC/D;AAAA,MACF,CAAA,MAAO;AACL,QAAA,OAAA,CAAQ,IAAI,QAAA,EAAU;AAAA,UACpB,GAAA,EAAK,QAAA;AAAA,UACL,WAAA,EAAa,QAAA;AAAA,UACb,SAAA,EAAW,MAAM,MAAA,EAAQ,SAAA;AAAA,UACzB,UAAA,EAAY,SAAA;AAAA,UACZ,aAAa,KAAA,CAAM,WAAA;AAAA,UACnB,YAAA,EAAc,EAAE,GAAG,KAAA,CAAM,YAAA,EAAa;AAAA,UACtC,QAAQ;AAAC,SACV,CAAA;AAAA,MACH;AACA,MAAA,MAAM,OAAA,GAAU,aAAA,CAAc,GAAA,CAAI,QAAQ,KAAK,EAAC;AAChD,MAAA,OAAA,CAAQ,IAAA,CAAK,GAAG,KAAA,CAAM,MAAM,CAAA;AAC5B,MAAA,aAAA,CAAc,GAAA,CAAI,UAAU,OAAO,CAAA;AAAA,IACrC;AAAA,EACF;AAGA,EAAA,KAAA,MAAW,CAAC,GAAA,EAAK,MAAM,CAAA,IAAK,aAAA,EAAe;AACzC,IAAA,MAAM,KAAA,GAAQ,OAAA,CAAQ,GAAA,CAAI,GAAG,CAAA;AAC7B,IAAA,IAAI,KAAA,EAAO,KAAA,CAAM,MAAA,GAAS,qBAAA,CAAsB,MAAM,CAAA;AAAA,EACxD;AAEA,EAAA,OAAO,CAAC,GAAG,OAAA,CAAQ,MAAA,EAAQ,EACxB,IAAA,CAAK,CAAC,CAAA,EAAG,CAAA,KAAM,EAAE,WAAA,GAAc,CAAA,CAAE,WAAW,CAAA,CAC5C,KAAA,CAAM,GAAG,KAAK,CAAA;AACnB","file":"index.js","sourcesContent":["/**\r\n * WebSocket connection manager for League Broadcast backend\r\n */\r\nexport class WebSocketManager {\r\n private socket: WebSocket | null = null;\r\n private url: string = \"\";\r\n private reconnectAttempts: number = 0;\r\n private maxReconnectAttempts: number = 10;\r\n private reconnectDelay: number = 5000;\r\n private reconnectTimeout: number | null = null;\r\n private messageHandlers: Set<(data: any) => void> = new Set();\r\n private connectionHandlers: Set<() => void> = new Set();\r\n private disconnectionHandlers: Set<() => void> = new Set();\r\n private errorHandlers: Set<(error: Event) => void> = new Set();\r\n\r\n /**\r\n * Connect to the WebSocket server\r\n */\r\n connect(url: string): Promise<void> {\r\n this.url = url;\r\n this.cleanup();\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n this.socket = new WebSocket(url);\r\n\r\n this.socket.onopen = () => {\r\n console.log(\"[WebSocketManager] Connected to\", url);\r\n this.reconnectAttempts = 0;\r\n this.connectionHandlers.forEach((handler) => handler());\r\n resolve();\r\n };\r\n\r\n this.socket.onmessage = (event: MessageEvent) => {\r\n // Ignore keep-alive messages\r\n if (event.data === \"KeepAlive\") {\r\n return;\r\n }\r\n\r\n try {\r\n const data = JSON.parse(event.data);\r\n this.messageHandlers.forEach((handler) => handler(data));\r\n } catch (error) {\r\n console.error(\r\n \"[WebSocketManager] Failed to parse message:\",\r\n event.data,\r\n );\r\n }\r\n };\r\n\r\n this.socket.onclose = () => {\r\n console.log(\"[WebSocketManager] Disconnected\");\r\n this.disconnectionHandlers.forEach((handler) => handler());\r\n this.attemptReconnect();\r\n };\r\n\r\n this.socket.onerror = (error: Event) => {\r\n console.error(\"[WebSocketManager] Error:\", error);\r\n this.errorHandlers.forEach((handler) => handler(error));\r\n reject(error);\r\n };\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Disconnect from the WebSocket server\r\n */\r\n disconnect(): void {\r\n if (this.reconnectTimeout !== null) {\r\n clearTimeout(this.reconnectTimeout);\r\n this.reconnectTimeout = null;\r\n }\r\n\r\n if (this.socket) {\r\n this.socket.close();\r\n this.socket = null;\r\n }\r\n }\r\n\r\n /**\r\n * Check if connected to the WebSocket server\r\n */\r\n isConnected(): boolean {\r\n return this.socket !== null && this.socket.readyState === WebSocket.OPEN;\r\n }\r\n\r\n /**\r\n * Send a message to the server\r\n */\r\n send(message: string | object): void {\r\n if (!this.isConnected()) {\r\n console.warn(\"[WebSocketManager] Cannot send message: not connected\");\r\n return;\r\n }\r\n\r\n const data =\r\n typeof message === \"string\" ? message : JSON.stringify(message);\r\n this.socket!.send(data);\r\n }\r\n\r\n /**\r\n * Register a message handler\r\n */\r\n onMessage(handler: (data: any) => void): () => void {\r\n this.messageHandlers.add(handler);\r\n return () => this.messageHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register a connection handler\r\n */\r\n onConnect(handler: () => void): () => void {\r\n this.connectionHandlers.add(handler);\r\n return () => this.connectionHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register a disconnection handler\r\n */\r\n onDisconnect(handler: () => void): () => void {\r\n this.disconnectionHandlers.add(handler);\r\n return () => this.disconnectionHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register an error handler\r\n */\r\n onError(handler: (error: Event) => void): () => void {\r\n this.errorHandlers.add(handler);\r\n return () => this.errorHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Attempt to reconnect to the server\r\n */\r\n private attemptReconnect(): void {\r\n if (this.reconnectAttempts >= this.maxReconnectAttempts) {\r\n console.error(\"[WebSocketManager] Max reconnect attempts reached\");\r\n return;\r\n }\r\n\r\n this.reconnectAttempts++;\r\n console.log(\r\n `[WebSocketManager] Reconnecting in ${this.reconnectDelay}ms (attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})`,\r\n );\r\n\r\n this.reconnectTimeout = window.setTimeout(() => {\r\n this.connect(this.url).catch((error) => {\r\n console.error(\"[WebSocketManager] Reconnect failed:\", error);\r\n });\r\n }, this.reconnectDelay);\r\n }\r\n\r\n /**\r\n * Clean up resources\r\n */\r\n private cleanup(): void {\r\n if (this.reconnectTimeout !== null) {\r\n clearTimeout(this.reconnectTimeout);\r\n this.reconnectTimeout = null;\r\n }\r\n\r\n if (this.socket) {\r\n this.socket.onopen = null;\r\n this.socket.onmessage = null;\r\n this.socket.onclose = null;\r\n this.socket.onerror = null;\r\n\r\n if (this.socket.readyState === WebSocket.OPEN) {\r\n this.socket.close();\r\n }\r\n\r\n this.socket = null;\r\n }\r\n }\r\n}\r\n","import type { ingameFrontendData } from \"#types/ingame/ingamefrontenddata\";\r\nimport type { GameState } from \"#types/shared/GameState\";\r\n\r\n/**\r\n * A subscribable slice of state produced by `select()`.\r\n *\r\n * Compatible with:\r\n * - React 18+ `useSyncExternalStore(slice.subscribe, slice.getSnapshot)`\r\n * - Vue `watchEffect(() => slice.getSnapshot())`\r\n * - Svelte `readable` / custom store contract\r\n * - Solid `createEffect(() => slice.getSnapshot())`\r\n * - Vanilla JS `slice.subscribe(() => console.log(slice.getSnapshot()))`\r\n */\r\nexport interface Subscribable<T> {\r\n /** Register a listener that fires when the selected value changes. Returns an unsubscribe function. */\r\n subscribe(listener: () => void): () => void;\r\n /** Return the current value of this slice. */\r\n getSnapshot(): T;\r\n}\r\n\r\n/** Equality function used to compare snapshots. */\r\nexport type EqualityFn<T> = (a: T, b: T) => boolean;\r\n\r\n/**\r\n * Reactive store for League Broadcast game state.\r\n *\r\n * The store holds an immutable snapshot that is replaced on every update.\r\n * Fine-grained subscriptions are achieved through **selectors**: a selector\r\n * derives a slice of the full state and only notifies listeners when the\r\n * derived value actually changes (compared with a configurable equality\r\n * function — shallow reference equality by default).\r\n *\r\n * @example Vanilla JS\r\n * ```ts\r\n * const scoreboard = store.select(s => s.scoreboard);\r\n * scoreboard.subscribe(() => {\r\n * console.log('Scoreboard changed:', scoreboard.getSnapshot());\r\n * });\r\n * ```\r\n *\r\n * @example React 18+\r\n * ```tsx\r\n * function Scoreboard() {\r\n * const scoreboard = useSyncExternalStore(\r\n * store.select(s => s.scoreboard).subscribe,\r\n * store.select(s => s.scoreboard).getSnapshot,\r\n * );\r\n * return <div>{scoreboard?.teams[0]?.kills}</div>;\r\n * }\r\n * // — or use the provided useGameState hook (see docs)\r\n * ```\r\n *\r\n * @example Vue 3\r\n * ```ts\r\n * const kills = useGameStateRef(store, s => s.scoreboard?.teams[0]?.kills);\r\n * ```\r\n */\r\nexport class GameStateStore {\r\n /** Current immutable snapshot. Replaced (never mutated) on every update. */\r\n private snapshot: GameStateSnapshot;\r\n\r\n /** Global listeners — called on every state change regardless of selector. */\r\n private listeners = new Set<() => void>();\r\n\r\n /** Monotonically increasing version — used for cheap stale checks. */\r\n private version = 0;\r\n\r\n constructor(initialState: ingameFrontendData, initialGameState: GameState) {\r\n this.snapshot = Object.freeze({\r\n gameData: initialState,\r\n gameState: initialGameState,\r\n version: this.version,\r\n });\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Core API\r\n // ---------------------------------------------------------------------------\r\n\r\n /** Return the current full snapshot. */\r\n getSnapshot(): GameStateSnapshot {\r\n return this.snapshot;\r\n }\r\n\r\n /** Return the current version number. */\r\n getVersion(): number {\r\n return this.version;\r\n }\r\n\r\n /**\r\n * Subscribe to **all** state changes (unfiltered).\r\n * Returns an unsubscribe function.\r\n *\r\n * This satisfies the `subscribe` half of `useSyncExternalStore` when\r\n * combined with `getSnapshot`.\r\n */\r\n subscribe(listener: () => void): () => void {\r\n this.listeners.add(listener);\r\n return () => {\r\n this.listeners.delete(listener);\r\n };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Selectors — the main reactivity primitive\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Create a **subscribable slice** that only triggers when the selected\r\n * value changes according to `equalityFn` (defaults to `===`).\r\n *\r\n * The returned object satisfies the `useSyncExternalStore` contract and\r\n * can also be used with `watch()` for callback-style subscriptions.\r\n *\r\n * Selector instances are lightweight — create them freely (e.g. inside\r\n * render functions). Referential identity of the *selector function* is\r\n * **not** required to be stable.\r\n */\r\n select<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): Subscribable<S> {\r\n let currentValue: S = selector(this.snapshot);\r\n let lastVersion: number = this.version;\r\n const sliceListeners = new Set<() => void>();\r\n\r\n const getSnapshot = (): S => {\r\n // Re-derive only if the store version bumped since last read\r\n if (lastVersion !== this.version) {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(currentValue, next)) {\r\n currentValue = next;\r\n }\r\n lastVersion = this.version;\r\n }\r\n return currentValue;\r\n };\r\n\r\n const subscribe = (listener: () => void): (() => void) => {\r\n sliceListeners.add(listener);\r\n\r\n // Subscribe to the root store; filter notifications through equality\r\n const unsub = this.subscribe(() => {\r\n const prev = currentValue;\r\n const next = selector(this.snapshot);\r\n lastVersion = this.version;\r\n if (!equalityFn(prev, next)) {\r\n currentValue = next;\r\n listener();\r\n }\r\n });\r\n\r\n return () => {\r\n sliceListeners.delete(listener);\r\n unsub();\r\n };\r\n };\r\n\r\n return { subscribe, getSnapshot };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Convenience helpers\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n *\r\n * This is the simplest API for imperative / vanilla-JS usage:\r\n *\r\n * ```ts\r\n * store.watch(\r\n * s => s.gameData.scoreboard?.teams[0]?.kills,\r\n * kills => console.log('Blue kills:', kills),\r\n * );\r\n * ```\r\n */\r\n watch<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n let prev: S = selector(this.snapshot);\r\n return this.subscribe(() => {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(prev, next)) {\r\n const old = prev;\r\n prev = next;\r\n callback(next, old);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes,\r\n * **and** invoke it immediately with the current value.\r\n */\r\n watchImmediate<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S | undefined) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n const current = selector(this.snapshot);\r\n callback(current, undefined);\r\n return this.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Internal — called by LeagueBroadcastClient\r\n // ---------------------------------------------------------------------------\r\n\r\n /** @internal Replace game data snapshot and notify listeners. */\r\n _setGameData(data: ingameFrontendData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n ...this.snapshot,\r\n gameData: data,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace game state and notify listeners. */\r\n _setGameState(state: GameState): void {\r\n if (this.snapshot.gameState === state) return;\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n ...this.snapshot,\r\n gameState: state,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace entire snapshot (used on game end / reset). */\r\n _reset(data: ingameFrontendData, state: GameState): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n gameData: data,\r\n gameState: state,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n private emit(): void {\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Snapshot type\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface GameStateSnapshot {\r\n readonly gameData: ingameFrontendData;\r\n readonly gameState: GameState;\r\n /** Monotonic version counter — useful for cheap stale checks. */\r\n readonly version: number;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Utility: shallow equality for object slices\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Shallow-compare two objects by their own enumerable keys.\r\n * Useful as `equalityFn` when selecting an object whose identity changes\r\n * on every update but whose contents may not (e.g. `{ kills: 3, deaths: 1 }`).\r\n */\r\nexport function shallowEqual<T>(a: T, b: T): boolean {\r\n if (Object.is(a, b)) return true;\r\n if (\r\n typeof a !== \"object\" ||\r\n typeof b !== \"object\" ||\r\n a === null ||\r\n b === null\r\n ) {\r\n return false;\r\n }\r\n\r\n const keysA = Object.keys(a);\r\n const keysB = Object.keys(b);\r\n if (keysA.length !== keysB.length) return false;\r\n\r\n for (const key of keysA) {\r\n if (\r\n !Object.prototype.hasOwnProperty.call(b, key) ||\r\n !Object.is((a as any)[key], (b as any)[key])\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","import type { champSelectStateData } from \"#types/pregame/champselectstatedata\";\r\n\r\n/**\r\n * A subscribable slice of state produced by `select()`.\r\n *\r\n * Compatible with:\r\n * - React 18+ `useSyncExternalStore(slice.subscribe, slice.getSnapshot)`\r\n * - Vue `watchEffect(() => slice.getSnapshot())`\r\n * - Svelte `readable` / custom store contract\r\n * - Solid `createEffect(() => slice.getSnapshot())`\r\n * - Vanilla JS `slice.subscribe(() => console.log(slice.getSnapshot()))`\r\n */\r\nexport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n// Re-import locally for use within this file\r\nimport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n/**\r\n * Reactive store for League Broadcast champion-select (pre-game) state.\r\n *\r\n * Follows the same selector-based model as {@link GameStateStore} but holds\r\n * `champSelectStateData` instead of ingame data.\r\n *\r\n * @example Vanilla JS\r\n * ```ts\r\n * const timer = store.select(s => s.champSelectData.timer);\r\n * timer.subscribe(() => {\r\n * console.log('Timer changed:', timer.getSnapshot());\r\n * });\r\n * ```\r\n *\r\n * @example React 18+\r\n * ```tsx\r\n * function Timer() {\r\n * const timer = useSyncExternalStore(\r\n * store.select(s => s.champSelectData.timer).subscribe,\r\n * store.select(s => s.champSelectData.timer).getSnapshot,\r\n * );\r\n * return <div>{timer?.timeRemaining}</div>;\r\n * }\r\n * ```\r\n */\r\nexport class ChampSelectStateStore {\r\n /** Current immutable snapshot. Replaced (never mutated) on every update. */\r\n private snapshot: ChampSelectSnapshot;\r\n\r\n /** Global listeners — called on every state change regardless of selector. */\r\n private listeners = new Set<() => void>();\r\n\r\n /** Monotonically increasing version — used for cheap stale checks. */\r\n private version = 0;\r\n\r\n constructor(initialState: champSelectStateData) {\r\n this.snapshot = Object.freeze({\r\n champSelectData: initialState,\r\n isActive: initialState.isActive,\r\n version: this.version,\r\n });\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Core API\r\n // ---------------------------------------------------------------------------\r\n\r\n /** Return the current full snapshot. */\r\n getSnapshot(): ChampSelectSnapshot {\r\n return this.snapshot;\r\n }\r\n\r\n /** Return the current version number. */\r\n getVersion(): number {\r\n return this.version;\r\n }\r\n\r\n /**\r\n * Subscribe to **all** state changes (unfiltered).\r\n * Returns an unsubscribe function.\r\n */\r\n subscribe(listener: () => void): () => void {\r\n this.listeners.add(listener);\r\n return () => {\r\n this.listeners.delete(listener);\r\n };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Selectors\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Create a **subscribable slice** that only triggers when the selected\r\n * value changes according to `equalityFn` (defaults to `===`).\r\n */\r\n select<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): Subscribable<S> {\r\n let currentValue: S = selector(this.snapshot);\r\n let lastVersion: number = this.version;\r\n const sliceListeners = new Set<() => void>();\r\n\r\n const getSnapshot = (): S => {\r\n if (lastVersion !== this.version) {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(currentValue, next)) {\r\n currentValue = next;\r\n }\r\n lastVersion = this.version;\r\n }\r\n return currentValue;\r\n };\r\n\r\n const subscribe = (listener: () => void): (() => void) => {\r\n sliceListeners.add(listener);\r\n\r\n const unsub = this.subscribe(() => {\r\n const prev = currentValue;\r\n const next = selector(this.snapshot);\r\n lastVersion = this.version;\r\n if (!equalityFn(prev, next)) {\r\n currentValue = next;\r\n listener();\r\n }\r\n });\r\n\r\n return () => {\r\n sliceListeners.delete(listener);\r\n unsub();\r\n };\r\n };\r\n\r\n return { subscribe, getSnapshot };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Convenience helpers\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n */\r\n watch<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n let prev: S = selector(this.snapshot);\r\n return this.subscribe(() => {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(prev, next)) {\r\n const old = prev;\r\n prev = next;\r\n callback(next, old);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes,\r\n * **and** invoke it immediately with the current value.\r\n */\r\n watchImmediate<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S | undefined) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n const current = selector(this.snapshot);\r\n callback(current, undefined);\r\n return this.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Internal — called by LeagueBroadcastClient\r\n // ---------------------------------------------------------------------------\r\n\r\n /** @internal Replace champ-select data snapshot and notify listeners. */\r\n _setChampSelectData(data: champSelectStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n champSelectData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace entire snapshot (used on champ select end / reset). */\r\n _reset(data: champSelectStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n champSelectData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n private emit(): void {\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Snapshot type\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface ChampSelectSnapshot {\r\n readonly champSelectData: champSelectStateData;\r\n /** Whether champ select is currently active. */\r\n readonly isActive: boolean;\r\n /** Monotonic version counter — useful for cheap stale checks. */\r\n readonly version: number;\r\n}\r\n","/**\r\n * Structural sharing utility.\r\n *\r\n * Creates a new object/array tree from `next`, but reuses references from\r\n * `prev` when values are deeply equal. This keeps nested references stable\r\n * across updates, so selectors only re-fire when their content actually\r\n * changes.\r\n */\r\nexport function structuralShare<T>(prev: T, next: T): T {\r\n if (Object.is(prev, next)) {\r\n return prev;\r\n }\r\n\r\n if (!isObject(prev) || !isObject(next)) {\r\n return next;\r\n }\r\n\r\n if (Array.isArray(prev) || Array.isArray(next)) {\r\n if (!Array.isArray(prev) || !Array.isArray(next)) {\r\n return next;\r\n }\r\n\r\n if (prev.length !== next.length) {\r\n return next.map((value, index) =>\r\n structuralShare(prev[index] as any, value as any),\r\n ) as unknown as T;\r\n }\r\n\r\n let changed = false;\r\n const shared = next.map((value, index) => {\r\n const nextValue = structuralShare(prev[index] as any, value as any);\r\n if (!Object.is(nextValue, prev[index])) {\r\n changed = true;\r\n }\r\n return nextValue;\r\n });\r\n\r\n return changed ? (shared as unknown as T) : prev;\r\n }\r\n\r\n const prevObj = prev as Record<string, unknown>;\r\n const nextObj = next as Record<string, unknown>;\r\n const nextKeys = Object.keys(nextObj);\r\n const prevKeys = Object.keys(prevObj);\r\n\r\n let changed = nextKeys.length !== prevKeys.length;\r\n if (!changed) {\r\n for (const key of prevKeys) {\r\n if (!Object.prototype.hasOwnProperty.call(nextObj, key)) {\r\n changed = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const result: Record<string, unknown> = Object.create(\r\n Object.getPrototypeOf(next),\r\n );\r\n\r\n for (const key of nextKeys) {\r\n const prevValue = prevObj[key];\r\n const nextValue = nextObj[key];\r\n const sharedValue = structuralShare(prevValue as any, nextValue as any);\r\n result[key] = sharedValue;\r\n if (!Object.is(sharedValue, prevValue)) {\r\n changed = true;\r\n }\r\n }\r\n\r\n return changed ? (result as T) : prev;\r\n}\r\n\r\nfunction isObject(value: unknown): value is Record<string, unknown> {\r\n return value !== null && typeof value === \"object\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum GameState {\r\n OutOfGame = 0,\r\n Loading = 1,\r\n Running = 2,\r\n Paused = 3,\r\n Mocking = 4,\r\n GameOver = 5,\r\n ChampionSelect = 6\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { GameState } from \"../shared/gameState\";\r\nimport { ingameDamageCompositionData } from \"./damageComposition/ingameDamageCompositionData\";\r\nimport { ingameDamageFlowData } from \"./damageFlow/ingameDamageFlowData\";\r\nimport { ingameDamageGraphData } from \"./damageGraph/ingameDamageGraphData\";\r\nimport { ingameDamageRecapData } from \"./damageRecap/ingameDamageRecapData\";\r\nimport { ingameDamageSplitData } from \"./damageSplit/ingameDamageSplitData\";\r\nimport { ingameGoldEfficiencyData } from \"./goldEfficiency/ingameGoldEfficiencyData\";\r\nimport { ingameGoldGraphData } from \"./graph/ingameGoldGraphData\";\r\nimport { ingameKillParticipationData } from \"./killParticipation/ingameKillParticipationData\";\r\nimport { ingameObjectiveDpsData } from \"./objectiveDps/ingameObjectiveDpsData\";\r\nimport { ingameRuneData } from \"./rune/ingameRuneData\";\r\nimport { ingameScoreboardBottomData } from \"./scoreboardBottom/ingameScoreboardBottomData\";\r\nimport { ingameScoreboardData } from \"./topScoreboard/ingameScoreboardData\";\r\nimport { ingameSideInfoPage } from \"./tab/ingameSideInfoPage\";\r\nimport { ingameSkinDisplayData } from \"./skinDisplay/ingameSkinDisplayData\";\r\nimport { ingameTeamfightTimelineData } from \"./teamfightTimeline/ingameTeamfightTimelineData\";\r\nimport { tabTeam } from \"./tab/tabTeam\";\r\nimport { teamInhibitorData } from \"./inhibitor/teamInhibitorData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\nimport type { iObjectiveRespawnData } from \"./objective/iObjectiveRespawnData\";\r\n\r\nexport class ingameFrontendData {\r\n gameTime: number = 0;\r\n utcTime?: number;\r\n playbackSpeed: number = 0;\r\n isTestingEnvironment?: boolean;\r\n gameVersion: string = \"\";\r\n patch?: string;\r\n teams?: teamWithMembers[];\r\n gameStatus: GameState = GameState.OutOfGame;\r\n scoreboard?: ingameScoreboardData;\r\n tabs?: { [key: string]: tabTeam };\r\n scoreboardBottom?: ingameScoreboardBottomData;\r\n baronPitTimer?: iObjectiveRespawnData;\r\n dragonPitTimer?: iObjectiveRespawnData;\r\n inhibitors?: teamInhibitorData[];\r\n showTwitchPrediction: boolean = false;\r\n showTwitchPoll: boolean = false;\r\n showTwitchChatVote: boolean = false;\r\n sideInfoPage?: ingameSideInfoPage;\r\n goldGraph?: ingameGoldGraphData;\r\n runes?: ingameRuneData;\r\n damageGraph?: ingameDamageGraphData;\r\n teamfightDamageOverview?: ingameDamageGraphData;\r\n damageRecap?: ingameDamageRecapData;\r\n damageSplit?: ingameDamageSplitData;\r\n goldEfficiency?: ingameGoldEfficiencyData;\r\n teamfightTimeline?: ingameTeamfightTimelineData;\r\n objectiveDps?: ingameObjectiveDpsData;\r\n killParticipation?: ingameKillParticipationData;\r\n damageComposition?: ingameDamageCompositionData;\r\n damageFlow?: ingameDamageFlowData;\r\n skinDisplay?: ingameSkinDisplayData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championSelectTeam } from \"./championSelectTeam\";\r\nimport { champSelectStateMetaData } from \"./champSelectStateMetaData\";\r\nimport { pickBanTimer } from \"./pickBanTimer\";\r\n\r\nexport class champSelectStateData {\r\n isActive: boolean = false;\r\n isConnected: boolean = false;\r\n isTestingEnvironment: boolean = false;\r\n blueTeam: championSelectTeam = {} as championSelectTeam;\r\n redTeam: championSelectTeam = {} as championSelectTeam;\r\n metaData: champSelectStateMetaData = {} as champSelectStateMetaData;\r\n timer: pickBanTimer = {} as pickBanTimer;\r\n}\r\n","/**\r\n * Base HTTP client for League Broadcast REST API calls.\r\n *\r\n * Provides typed `get`, `post`, `put`, `patch`, and `delete` helpers that\r\n * handle JSON serialization, error responses, and empty bodies.\r\n *\r\n * Used internally by the generated API modules — you normally access this\r\n * through `LeagueBroadcastClient.api.*` rather than constructing it directly.\r\n */\r\nexport class ApiClient {\r\n private baseUrl: string;\r\n\r\n constructor(baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n /** Update the base URL (e.g. after reconnecting to a different host/port). */\r\n updateBaseUrl(baseUrl: string): void {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n /** Current base URL. */\r\n getBaseUrl(): string {\r\n return this.baseUrl;\r\n }\r\n\r\n // ── HTTP verbs ──────────────────────────────────────────────────────────\r\n\r\n async get<T>(path: string): Promise<T> {\r\n return this.request<T>(\"GET\", path);\r\n }\r\n\r\n async post<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"POST\", path, body);\r\n }\r\n\r\n async put<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"PUT\", path, body);\r\n }\r\n\r\n async patch<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"PATCH\", path, body);\r\n }\r\n\r\n async delete<T = void>(path: string): Promise<T> {\r\n return this.request<T>(\"DELETE\", path);\r\n }\r\n\r\n /**\r\n * POST with a raw string body (e.g. base64 image data).\r\n * Sets Content-Type to text/plain instead of application/json.\r\n */\r\n async postRaw<T = void>(path: string, rawBody: string): Promise<T> {\r\n return this.request<T>(\"POST\", path, rawBody, \"text/plain\");\r\n }\r\n\r\n /**\r\n * PUT with a raw string body (e.g. base64 image data).\r\n * Sets Content-Type to text/plain instead of application/json.\r\n */\r\n async putRaw<T = void>(path: string, rawBody: string): Promise<T> {\r\n return this.request<T>(\"PUT\", path, rawBody, \"text/plain\");\r\n }\r\n\r\n // ── Internal ────────────────────────────────────────────────────────────\r\n\r\n private buildUrl(path: string): string {\r\n // Ensure no double slashes between base and path\r\n const base = this.baseUrl.endsWith(\"/\")\r\n ? this.baseUrl.slice(0, -1)\r\n : this.baseUrl;\r\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\r\n return `${base}/${cleanPath}`;\r\n }\r\n\r\n private async request<T>(\r\n method: string,\r\n path: string,\r\n body?: unknown,\r\n contentType?: string,\r\n ): Promise<T> {\r\n const url = this.buildUrl(path);\r\n\r\n const headers: Record<string, string> = {};\r\n let bodyStr: string | undefined;\r\n\r\n if (body !== undefined) {\r\n if (contentType === \"text/plain\") {\r\n headers[\"Content-Type\"] = \"text/plain\";\r\n bodyStr = String(body);\r\n } else {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n bodyStr = JSON.stringify(body);\r\n }\r\n }\r\n\r\n const res = await fetch(url, {\r\n method,\r\n headers,\r\n body: bodyStr,\r\n });\r\n\r\n if (!res.ok) {\r\n const errorBody = await res.text().catch(() => \"\");\r\n throw new ApiError(res.status, res.statusText, errorBody, url);\r\n }\r\n\r\n return this.parseResponse<T>(res);\r\n }\r\n\r\n private async parseResponse<T>(res: Response): Promise<T> {\r\n const text = await res.text();\r\n if (!text || text.length === 0) return undefined as T;\r\n try {\r\n return JSON.parse(text) as T;\r\n } catch {\r\n // If it's not JSON, return the raw text (e.g. for string endpoints)\r\n return text as unknown as T;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Error thrown when a REST API call returns a non-2xx status.\r\n */\r\nexport class ApiError extends Error {\r\n constructor(\r\n public readonly status: number,\r\n public readonly statusText: string,\r\n public readonly body: string,\r\n public readonly url: string,\r\n ) {\r\n super(`API Error ${status} (${statusText}) at ${url}`);\r\n this.name = \"ApiError\";\r\n }\r\n}\r\n","/**\r\n * Auto-generated REST API client for Champion select (pre-game) endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { simpleChampionData } from \"#types/shared/simplechampiondata\";\r\n\r\nexport class PreGameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `POST championselect/mock/{doMocking}` */\r\n async mockChampionSelect(doMocking: boolean, randomizationinterval?: number): Promise<boolean> {\r\n return this.client.post<boolean>(`championselect/mock/${doMocking}${randomizationinterval !== undefined ? `?randomizationinterval=${encodeURIComponent(String(randomizationinterval))}` : ''}`);\r\n }\r\n\r\n /** `GET championselect/mock` */\r\n async getMockingStatus(): Promise<boolean> {\r\n return this.client.get<boolean>('championselect/mock');\r\n }\r\n\r\n /** `GET championselect/bans` */\r\n async getBans(): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>('championselect/bans');\r\n }\r\n\r\n /** `GET championselect/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('championselect/frontend');\r\n }\r\n\r\n /** `GET championselect/stage/{stageSide}/teamid` */\r\n async getTeamIdOnSide(stageSide: number): Promise<number> {\r\n return this.client.get<number>(`championselect/stage/${stageSide}/teamid`);\r\n }\r\n\r\n /** `POST championselect/frontend` */\r\n async changeRouting(uri: string): Promise<void> {\r\n return this.client.post<void>(`championselect/frontend?uri=${encodeURIComponent(String(uri))}`);\r\n }\r\n\r\n /** `GET championselect/stage/{stageside}/{slotid}` */\r\n async getPlayerPUUIDInSlot(stageside: number, slotid: number): Promise<string> {\r\n return this.client.get<string>(`championselect/stage/${stageside}/${slotid}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Game CRUD and draft (picks/bans) endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-04-30\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { optionalGameData } from \"#types/rest/game/optionalGameData\";\r\nimport type { gameWithTeams } from \"#types/shared/gameWithTeams\";\r\nimport type { simpleChampionData } from \"#types/shared/simpleChampionData\";\r\nimport type { Team } from \"#types/shared/style/team\";\r\nimport type { teamMember } from \"#types/shared/teamMember\";\r\nimport type { teamWithMembers } from \"#types/shared/teamWithMembers\";\r\n\r\nexport class GameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET game/current` */\r\n async getCurrentGame(): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>('game/current');\r\n }\r\n\r\n /** `POST game/current/start` */\r\n async startCurrentOrScheduledGame(): Promise<gameWithTeams> {\r\n return this.client.post<gameWithTeams>('game/current/start');\r\n }\r\n\r\n /** `GET game/previous` */\r\n async getPreviousGame(): Promise<number> {\r\n return this.client.get<number>('game/previous');\r\n }\r\n\r\n /** `GET game/{gameid}` */\r\n async getGame(gameid: number): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>(`game/${gameid}`);\r\n }\r\n\r\n /** `PATCH game/{gameid}` */\r\n async updateGame(gameid: number, game: optionalGameData): Promise<void> {\r\n return this.client.patch<void>(`game/${gameid}`, game);\r\n }\r\n\r\n /** `PUT game/{gameid}/teams` */\r\n async setSideSelection(gameid: number, teams: number[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/teams`, teams);\r\n }\r\n\r\n /** `GET game/{gameid}/teams` */\r\n async getTeamsInGame(gameid: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`game/${gameid}/teams`);\r\n }\r\n\r\n /** `DELETE game/{gameid}/winner` */\r\n async removeGameWinner(gameid: number): Promise<void> {\r\n return this.client.delete<void>(`game/${gameid}/winner`);\r\n }\r\n\r\n /** `PUT game/{gameid}/winner/{teamid}` */\r\n async setGameWinner(gameid: number, teamid: number): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/winner/${teamid}`);\r\n }\r\n\r\n /** `GET game/{gameid}/bans` */\r\n async getBans(gameid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/bans`);\r\n }\r\n\r\n /** `GET game/{gameid}/bans/{teamid}` */\r\n async getBansForTeam(gameid: number, teamid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/bans/${teamid}`);\r\n }\r\n\r\n /** `PUT game/{gameid}/bans` */\r\n async setBans(gameid: number, bans: Record<number, (string | null)[]>): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/bans`, bans);\r\n }\r\n\r\n /** `PUT game/{gameid}/bans/{teamid}` */\r\n async setBansForTeam(gameid: number, teamid: number, bans: (string | null)[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/bans/${teamid}`, bans);\r\n }\r\n\r\n /** `GET game/{gameid}/picks` */\r\n async getPicks(gameid: number): Promise<Record<number, simpleChampionData[]>> {\r\n return this.client.get<Record<number, simpleChampionData[]>>(`game/${gameid}/picks`);\r\n }\r\n\r\n /** `GET game/{gameid}/picks/{teamid}` */\r\n async getPicksForTeam(gameid: number, teamid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/picks/${teamid}`);\r\n }\r\n\r\n /** `PUT game/{gameid}/picks` */\r\n async setPicks(gameid: number, picks: Record<number, (string | null)[]>): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/picks`, picks);\r\n }\r\n\r\n /** `PUT game/{gameid}/picks/{teamid}` */\r\n async setPicksForTeam(gameid: number, teamid: number, picks: (string | null)[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/picks/${teamid}`, picks);\r\n }\r\n\r\n /** `GET game/{gameid}/teams/players` */\r\n async getPlayersInGame(gameid: number): Promise<Record<Team, teamMember[]>> {\r\n return this.client.get<Record<Team, teamMember[]>>(`game/${gameid}/teams/players`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Live game state endpoints (requires active game).\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { tabPlayer } from \"#types/ingame/tab/tabplayer\";\r\n\r\nexport class GameStateApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET game/state/time` */\r\n async getGameTime(): Promise<number> {\r\n return this.client.get<number>('game/state/time');\r\n }\r\n\r\n /** `GET game/state/team/{teamId}/dragons` */\r\n async getTeamDragons(teamId: number): Promise<string[]> {\r\n return this.client.get<string[]>(`game/state/team/${teamId}/dragons`);\r\n }\r\n\r\n /** `PATCH game/state/team/{teamId}/dragons` */\r\n async updateTeamDragons(teamId: number, dragons: string[]): Promise<void> {\r\n return this.client.patch<void>(`game/state/team/${teamId}/dragons`, dragons);\r\n }\r\n\r\n /** `GET game/state/team/all/index` */\r\n async getActiveTeams(): Promise<number[]> {\r\n return this.client.get<number[]>('game/state/team/all/index');\r\n }\r\n\r\n /** `GET game/state/team/all/participant` */\r\n async getAllTeamParticipants(): Promise<Record<number, tabPlayer[]>> {\r\n return this.client.get<Record<number, tabPlayer[]>>('game/state/team/all/participant');\r\n }\r\n\r\n /** `GET game/state/team/{teamId}/participant` */\r\n async getTeamParticipants(teamId: number): Promise<tabPlayer[]> {\r\n return this.client.get<tabPlayer[]>(`game/state/team/${teamId}/participant`);\r\n }\r\n\r\n /** `GET game/state/team/all/participant/order` */\r\n async getTeamParticipantOrder(): Promise<string[]> {\r\n return this.client.get<string[]>('game/state/team/all/participant/order');\r\n }\r\n\r\n /** `PUT game/state/team/all/participant/order` */\r\n async updateTeamParticipantOrder(orderedNames: string[]): Promise<void> {\r\n return this.client.put<void>('game/state/team/all/participant/order', orderedNames);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Match (series) management endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { matchData } from \"#types/pregame/matchdata\";\r\nimport type { addMatchRequestArgs } from \"#types/rest/match/addmatchrequestargs\";\r\nimport type { optionalMatchData } from \"#types/rest/match/optionalmatchdata\";\r\nimport type { BestOfType } from \"#types/shared/bestoftype\";\r\nimport type { gameWithTeams } from \"#types/shared/gamewithteams\";\r\nimport type { MatchRuleSet } from \"#types/shared/matchruleset\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchwithgamesandteams\";\r\nimport type { simpleChampionData } from \"#types/shared/simplechampiondata\";\r\nimport type { teamWithMembers } from \"#types/shared/teamwithmembers\";\r\n\r\nexport class MatchApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET match/season/{seasonId}/simple` */\r\n async getSimpleMatches(seasonId: number): Promise<matchData[]> {\r\n return this.client.get<matchData[]>(`match/season/${seasonId}/simple`);\r\n }\r\n\r\n /** `GET match/season/{seasonId}` */\r\n async getMatches(seasonId: number): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`match/season/${seasonId}`);\r\n }\r\n\r\n /** `GET match/simple` */\r\n async getAllSimpleMatches(): Promise<matchData[]> {\r\n return this.client.get<matchData[]>('match/simple');\r\n }\r\n\r\n /** `GET match` */\r\n async getAllMatches(): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>('match');\r\n }\r\n\r\n /** `GET match/current` */\r\n async getCurrentMatch(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('match/current');\r\n }\r\n\r\n /** `POST match/current` */\r\n async completeCurrentMatch(): Promise<void> {\r\n return this.client.post<void>('match/current');\r\n }\r\n\r\n /** `GET match/current/id` */\r\n async getCurrentMatchId(): Promise<number> {\r\n return this.client.get<number>('match/current/id');\r\n }\r\n\r\n /** `GET match/previous/id` */\r\n async getPreviousMatchId(): Promise<number> {\r\n return this.client.get<number>('match/previous/id');\r\n }\r\n\r\n /** `POST match/current/{seriesid}` */\r\n async setCurrentMatch(seriesid: number): Promise<void> {\r\n return this.client.post<void>(`match/current/${seriesid}`);\r\n }\r\n\r\n /** `GET match/current/bestof` */\r\n async getCurrentMatchBestOf(): Promise<BestOfType> {\r\n return this.client.get<BestOfType>('match/current/bestof');\r\n }\r\n\r\n /** `PUT match/current/bestof` */\r\n async setCurrentMatchBestOf(type: BestOfType): Promise<void> {\r\n return this.client.put<void>('match/current/bestof', type);\r\n }\r\n\r\n /** `GET match/current/teams` */\r\n async getCurrentMatchTeams(): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>('match/current/teams');\r\n }\r\n\r\n /** `PUT match/current/teams` */\r\n async setCurrentMatchTeams(teamIds: number[]): Promise<void> {\r\n return this.client.put<void>('match/current/teams', teamIds);\r\n }\r\n\r\n /** `GET match/current/game` */\r\n async getCurrentGame(): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>('match/current/game');\r\n }\r\n\r\n /** `GET match/current/ruleset` */\r\n async getCurrentMatchRuleset(): Promise<MatchRuleSet> {\r\n return this.client.get<MatchRuleSet>('match/current/ruleset');\r\n }\r\n\r\n /** `PUT match/current/ruleset/{ruleset}` */\r\n async setCurrentMatchRuleset(ruleset: MatchRuleSet): Promise<void> {\r\n return this.client.put<void>(`match/current/ruleset/${ruleset}`);\r\n }\r\n\r\n /** `GET match/current/fearless/bans` */\r\n async getBans(): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>('match/current/fearless/bans');\r\n }\r\n\r\n /** `GET match/current/onstage` */\r\n async getCurrentMatchOnStage(): Promise<boolean> {\r\n return this.client.get<boolean>('match/current/onstage');\r\n }\r\n\r\n /** `GET match/{matchid}` */\r\n async getMatch(matchid: number): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>(`match/${matchid}`);\r\n }\r\n\r\n /** `DELETE match/{matchid}` */\r\n async deleteMatch(matchid: number): Promise<boolean> {\r\n return this.client.delete<boolean>(`match/${matchid}`);\r\n }\r\n\r\n /** `GET match/{matchid}/teams` */\r\n async getMatchTeams(matchid: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`match/${matchid}/teams`);\r\n }\r\n\r\n /** `PUT match/{matchid}/teams` */\r\n async setMatchTeams(matchid: number, teamIds: number[]): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/teams`, teamIds);\r\n }\r\n\r\n /** `GET match/{matchid}/games` */\r\n async getMatchGames(matchid: number): Promise<gameWithTeams[]> {\r\n return this.client.get<gameWithTeams[]>(`match/${matchid}/games`);\r\n }\r\n\r\n /** `GET match/{matchid}/winner` */\r\n async getMatchWinner(matchid: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/${matchid}/winner`);\r\n }\r\n\r\n /** `PUT match/{matchid}/winner/{teamid}` */\r\n async setMatchWinner(matchid: number, teamid: number): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/winner/${teamid}`);\r\n }\r\n\r\n /** `DELETE match/{matchid}/winner` */\r\n async removeMatchWinner(matchid: number): Promise<void> {\r\n return this.client.delete<void>(`match/${matchid}/winner`);\r\n }\r\n\r\n /** `GET match/{matchid}/bestof` */\r\n async getMatchBestOf(matchid: number): Promise<BestOfType> {\r\n return this.client.get<BestOfType>(`match/${matchid}/bestof`);\r\n }\r\n\r\n /** `PUT match/{matchid}/bestof/{type}` */\r\n async setMatchBestOf(matchid: number, type: BestOfType): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/bestof/${type}`);\r\n }\r\n\r\n /** `GET match/{matchid}/ruleset` */\r\n async getMatchRuleset(matchid: number): Promise<MatchRuleSet> {\r\n return this.client.get<MatchRuleSet>(`match/${matchid}/ruleset`);\r\n }\r\n\r\n /** `PUT match/{matchid}/ruleset/{ruleset}` */\r\n async setMatchRuleset(matchid: number, ruleset: MatchRuleSet): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/ruleset/${ruleset}`);\r\n }\r\n\r\n /** `GET match/{matchid}/name` */\r\n async getMatchName(matchid: number): Promise<string> {\r\n return this.client.get<string>(`match/${matchid}/name`);\r\n }\r\n\r\n /** `PATCH match/{matchid}/name/{matchName}` */\r\n async setMatchName(matchid: number, matchName: string): Promise<void> {\r\n return this.client.patch<void>(`match/${matchid}/name/${matchName}`);\r\n }\r\n\r\n /** `PATCH match/{matchid}` */\r\n async updateMatch(matchid: number, matchUpdate: optionalMatchData): Promise<void> {\r\n return this.client.patch<void>(`match/${matchid}`, matchUpdate);\r\n }\r\n\r\n /** `GET match/{matchid}/fearless/bans` */\r\n async getMatchBans(matchid: number): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>(`match/${matchid}/fearless/bans`);\r\n }\r\n\r\n /** `GET match/{seriesid}/onstage` */\r\n async getMatchOnStage(seriesid: number): Promise<boolean> {\r\n return this.client.get<boolean>(`match/${seriesid}/onstage`);\r\n }\r\n\r\n /** `PUT match` */\r\n async addMatch(match: addMatchRequestArgs): Promise<number> {\r\n return this.client.put<number>('match', match);\r\n }\r\n\r\n /** `GET match/{matchId}/stage/team/{stageSide}` */\r\n async getTeamOnStageSide(matchId: number, stageSide: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/${matchId}/stage/team/${stageSide}`);\r\n }\r\n\r\n /** `GET match/current/stage/team/{stageSide}` */\r\n async getTeamOnStageSideCurrent(stageSide: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/current/stage/team/${stageSide}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Season management endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchwithgamesandteams\";\r\nimport type { seasonData } from \"#types/shared/seasondata\";\r\nimport type { teamData } from \"#types/shared/teamdata\";\r\nimport type { teamWithMembers } from \"#types/shared/teamwithmembers\";\r\n\r\nexport class SeasonApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET season/current` */\r\n async getCurrentSeason(): Promise<seasonData> {\r\n return this.client.get<seasonData>('season/current');\r\n }\r\n\r\n /** `GET season/current/match` */\r\n async getCurrentSeasonScheduledMatch(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('season/current/match');\r\n }\r\n\r\n /** `GET season/current/id` */\r\n async getCurrentSeasonId(): Promise<number> {\r\n return this.client.get<number>('season/current/id');\r\n }\r\n\r\n /** `POST season/current` */\r\n async setCurrentSeason(newCurrentSeasonId: number): Promise<void> {\r\n return this.client.post<void>('season/current', newCurrentSeasonId);\r\n }\r\n\r\n /** `GET season/current/teams` */\r\n async getCurrentSeasonTeams(): Promise<teamData[]> {\r\n return this.client.get<teamData[]>('season/current/teams');\r\n }\r\n\r\n /** `GET season/current/teamswithmembers` */\r\n async getCurrentSeasonTeamsWithMembers(): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>('season/current/teamswithmembers');\r\n }\r\n\r\n /** `GET season/current/icon` */\r\n async getCurrentSeasonIcon(): Promise<string> {\r\n return this.client.get<string>('season/current/icon');\r\n }\r\n\r\n /** `PUT season/current/icon` */\r\n async setCurrentSeasonIcon(): Promise<string> {\r\n return this.client.put<string>('season/current/icon');\r\n }\r\n\r\n /** `GET season` */\r\n async getAllSeasons(): Promise<seasonData[]> {\r\n return this.client.get<seasonData[]>('season');\r\n }\r\n\r\n /** `GET season/{seasonId}` */\r\n async getSeasonById(seasonId: number): Promise<seasonData> {\r\n return this.client.get<seasonData>(`season/${seasonId}`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches` */\r\n async getMatchesInSeason(seasonId: number): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`season/${seasonId}/matches`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches/count` */\r\n async getMatchesInSeasonCount(seasonId: number): Promise<number> {\r\n return this.client.get<number>(`season/${seasonId}/matches/count`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches/day/{day}` */\r\n async getMatchesInSeasonOnDay(seasonId: number, day: string): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`season/${seasonId}/matches/day/${day}`);\r\n }\r\n\r\n /** `GET season/{seasonId}/teams` */\r\n async getTeamsInSeason(seasonId: number): Promise<teamData[]> {\r\n return this.client.get<teamData[]>(`season/${seasonId}/teams`);\r\n }\r\n\r\n /** `GET season/{seasonId}/teamswithmembers` */\r\n async getTeamsWithMembersInSeason(seasonId: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`season/${seasonId}/teamswithmembers`);\r\n }\r\n\r\n /** `POST season` */\r\n async createOrUpdateSeason(seasonData: seasonData): Promise<number> {\r\n return this.client.post<number>('season', seasonData);\r\n }\r\n\r\n /** `GET season/{seasonId}/icon` */\r\n async getSeasonIcon(seasonId: number): Promise<string> {\r\n return this.client.get<string>(`season/${seasonId}/icon`);\r\n }\r\n\r\n /** `PUT season/{seasonId}/icon` */\r\n async setSeasonIcon(seasonId: number): Promise<string> {\r\n return this.client.put<string>(`season/${seasonId}/icon`);\r\n }\r\n\r\n /** `DELETE season/{seasonId}` */\r\n async deleteSeason(seasonId: number): Promise<void> {\r\n return this.client.delete<void>(`season/${seasonId}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for In-game overlay and serialization endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-04-27\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { damageEventHistoryEntry } from \"#types/ingame/damageEvent/damageEventHistoryEntry\";\r\nimport type { ObjectiveRecapDisplayMode } from \"#types/ingame/damageRecap/objectiveRecapDisplayMode\";\r\n\r\nexport class IngameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET ingame/status` */\r\n async getGameState(): Promise<number> {\r\n return this.client.get<number>('ingame/status');\r\n }\r\n\r\n /** `POST ingame/enable` */\r\n async enableComponent(): Promise<void> {\r\n return this.client.post<void>('ingame/enable');\r\n }\r\n\r\n /** `POST ingame/disable` */\r\n async disableComponent(): Promise<void> {\r\n return this.client.post<void>('ingame/disable');\r\n }\r\n\r\n /** `POST ingame/mock/{doMocking}` */\r\n async mockIngame(doMocking: boolean): Promise<void> {\r\n return this.client.post<void>(`ingame/mock/${doMocking}`);\r\n }\r\n\r\n /** `GET ingame/mock` */\r\n async getMockingStatus(): Promise<boolean> {\r\n return this.client.get<boolean>('ingame/mock');\r\n }\r\n\r\n /** `GET ingame/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('ingame/frontend');\r\n }\r\n\r\n /** `GET ingame/showing` */\r\n async getCurrentCommonSerializationOptions(): Promise<Record<string, unknown>> {\r\n return this.client.get<Record<string, unknown>>('ingame/showing');\r\n }\r\n\r\n /** `POST ingame/showing` */\r\n async setCurrentCommonSerializationOptions(data: Record<string, unknown>): Promise<void> {\r\n return this.client.post<void>('ingame/showing', data);\r\n }\r\n\r\n /** `GET ingame/showing/{socketid}` */\r\n async getCurrentFrontendSerializationOptions(socketid: string): Promise<Record<string, unknown>> {\r\n return this.client.get<Record<string, unknown>>(`ingame/showing/${socketid}`);\r\n }\r\n\r\n /** `POST ingame/showing/{socketid}` */\r\n async setCurrentFrontendSerializationOptions(socketid: string, data: Record<string, unknown>): Promise<void> {\r\n return this.client.post<void>(`ingame/showing/${socketid}`, data);\r\n }\r\n\r\n /** `GET ingame/stage/{stageSide}/{playerSlot}/networkId` */\r\n async getPlayerPUUIDInSlot(stageSide: number, playerSlot: number): Promise<number> {\r\n return this.client.get<number>(`ingame/stage/${stageSide}/${playerSlot}/networkId`);\r\n }\r\n\r\n /** `GET ingame/stage/{stageSide}/ingameteamid` */\r\n async getIngameTeamOnStageSide(stageSide: number): Promise<number> {\r\n return this.client.get<number>(`ingame/stage/${stageSide}/ingameteamid`);\r\n }\r\n\r\n /** `GET ingame/state/activeOverlays` */\r\n async getActiveOverlays(): Promise<string[]> {\r\n return this.client.get<string[]>('ingame/state/activeOverlays');\r\n }\r\n\r\n /** `GET ingame/damage/history` */\r\n async getDamageEventHistory(): Promise<damageEventHistoryEntry[]> {\r\n return this.client.get<damageEventHistoryEntry[]>('ingame/damage/history');\r\n }\r\n\r\n /** `POST ingame/damage/select/{eventId}` */\r\n async selectDamageEvent(eventId: number, displayMode?: ObjectiveRecapDisplayMode | null): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/damage/select/${eventId}${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/damage/deselect` */\r\n async deselectDamageEvent(): Promise<void> {\r\n return this.client.post<void>('ingame/damage/deselect');\r\n }\r\n\r\n /** `POST ingame/objective/select/{eventId}` */\r\n async selectObjectiveForDps(eventId: number): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/objective/select/${eventId}`);\r\n }\r\n\r\n /** `POST ingame/objective/deselect` */\r\n async deselectObjectiveForDps(): Promise<void> {\r\n return this.client.post<void>('ingame/objective/deselect');\r\n }\r\n\r\n /** `POST ingame/teamfight/start` */\r\n async startTeamfightTracking(): Promise<unknown> {\r\n return this.client.post<unknown>('ingame/teamfight/start');\r\n }\r\n\r\n /** `POST ingame/teamfight/stop` */\r\n async stopTeamfightTracking(): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>('ingame/teamfight/stop');\r\n }\r\n\r\n /** `GET ingame/teamfight/active` */\r\n async getActiveTeamfight(): Promise<unknown> {\r\n return this.client.get<unknown>('ingame/teamfight/active');\r\n }\r\n\r\n /** `POST ingame/teamfight/select/{eventId}` */\r\n async selectTeamfightTimeline(eventId: number): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/teamfight/select/${eventId}`);\r\n }\r\n\r\n /** `POST ingame/teamfight/deselect` */\r\n async deselectTeamfightTimeline(): Promise<void> {\r\n return this.client.post<void>('ingame/teamfight/deselect');\r\n }\r\n\r\n /** `POST ingame/damage/select/latest` */\r\n async selectLatestDamageEvent(displayMode?: ObjectiveRecapDisplayMode | null): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/damage/select/latest${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/objective/select/latest` */\r\n async selectLatestObjectiveEvent(displayMode?: ObjectiveRecapDisplayMode | null, dps?: boolean): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/objective/select/latest${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}${dps !== undefined ? `&dps=${encodeURIComponent(String(dps))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/teamfight/select/latest` */\r\n async selectLatestTeamfightTimeline(): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>('ingame/teamfight/select/latest');\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Post-game overview, stats, graphs, and analysis endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-05-05\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { Lane } from \"#types/hotkey/lane\";\r\nimport type { activeComponentChangedEventArgs } from \"#types/message/ui/activeComponentChangedEventArgs\";\r\nimport type { postGameDamageGraph } from \"#types/postgame/damage/postGameDamageGraph\";\r\nimport type { postGameGoldGraph } from \"#types/postgame/gold/postGameGoldGraph\";\r\nimport type { matchOverviewData } from \"#types/postgame/matchOverviewData\";\r\nimport type { postGameOverview } from \"#types/postgame/postGameOverview\";\r\nimport type { postGamePlayerRunesAndItems } from \"#types/postgame/postGamePlayerRunesAndItems\";\r\nimport type { postGamePlayerStats } from \"#types/postgame/postGamePlayerStats\";\r\nimport type { postGameTeamOverview } from \"#types/postgame/postGameTeamOverview\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchWithGamesAndTeams\";\r\nimport type { Team } from \"#types/shared/style/team\";\r\n\r\nexport class PostGameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `POST postgame/route/{uri}` */\r\n async changeRoute(uri: string, ComponentData: unknown): Promise<unknown> {\r\n return this.client.post<unknown>(`postgame/route/${uri}`, ComponentData);\r\n }\r\n\r\n /** `POST postgame/mock/{mocking}` */\r\n async setMocking(mocking: boolean): Promise<boolean> {\r\n return this.client.post<boolean>(`postgame/mock/${mocking}`);\r\n }\r\n\r\n /** `GET postgame/mock` */\r\n async getMocking(): Promise<boolean> {\r\n return this.client.get<boolean>('postgame/mock');\r\n }\r\n\r\n /** `GET postgame/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('postgame/frontend');\r\n }\r\n\r\n /** `POST postgame/frontend` */\r\n async changeRouting(uri: string): Promise<void> {\r\n return this.client.post<void>(`postgame/frontend?uri=${encodeURIComponent(String(uri))}`);\r\n }\r\n\r\n /** `GET postgame/overview/{gameId}` */\r\n async getGameOverview(gameId: number): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>(`postgame/overview/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/overview/current` */\r\n async getCurrentGameOverview(): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>('postgame/overview/current');\r\n }\r\n\r\n /** `GET postgame/overview/mock` */\r\n async getMockGameOverview(): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>('postgame/overview/mock');\r\n }\r\n\r\n /** `GET postgame/matchdata/{gameId}` */\r\n async getMatchData(gameId: number): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>(`postgame/matchdata/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/matchdata/current` */\r\n async getCurrentMatchData(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('postgame/matchdata/current');\r\n }\r\n\r\n /** `GET postgame/matchdata/mock` */\r\n async getMockMatchData(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('postgame/matchdata/mock');\r\n }\r\n\r\n /** `GET postgame/matchdata` */\r\n async getMatchDataRange(startDate: string | null, endDate: string | null, startGameId: number | null, endGameId: number | null, teamId: number | null, seasonId: number | null): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`postgame/matchdata?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);\r\n }\r\n\r\n /** `GET postgame/matchdata/mock/filter` */\r\n async getMockMatchDataRange(startDate: string | null, endDate: string | null, startGameId: number | null, endGameId: number | null, teamId: number | null, seasonId: number | null): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`postgame/matchdata/mock/filter?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);\r\n }\r\n\r\n /** `GET postgame/matchoverview/{matchId}` */\r\n async getMatchOverview(matchId: number): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>(`postgame/matchoverview/${matchId}`);\r\n }\r\n\r\n /** `GET postgame/matchoverview/current` */\r\n async getCurrentMatchOverview(): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>('postgame/matchoverview/current');\r\n }\r\n\r\n /** `GET postgame/matchoverview/mock` */\r\n async getMockMatchOverview(): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>('postgame/matchoverview/mock');\r\n }\r\n\r\n /** `GET postgame/items_and_runes/{gameId}/{playerIndex}` */\r\n async getItemsAndRunes(gameId: number, playerIndex: number): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>(`postgame/items_and_runes/${gameId}/${playerIndex}`);\r\n }\r\n\r\n /** `GET postgame/items_and_runes/{gameId}/{teamSide}/{lane}` */\r\n async getItemsAndRunesByTeamAndLane(gameId: number, teamSide: Team, lane: Lane): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>(`postgame/items_and_runes/${gameId}/${teamSide}/${lane}`);\r\n }\r\n\r\n /** `GET postgame/items_and_runes/mock` */\r\n async getMockItemAndRunes(): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>('postgame/items_and_runes/mock');\r\n }\r\n\r\n /** `GET postgame/player_stats/{gameId}/{playerIndex}` */\r\n async getPlayerStats(gameId: number, playerIndex: number): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>(`postgame/player_stats/${gameId}/${playerIndex}`);\r\n }\r\n\r\n /** `GET postgame/player_stats/{gameId}/{teamSide}/{lane}` */\r\n async getPlayerStatsByTeamAndLane(gameId: number, teamSide: Team, lane: Lane): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>(`postgame/player_stats/${gameId}/${teamSide}/${lane}`);\r\n }\r\n\r\n /** `GET postgame/player_stats/mock` */\r\n async getMockPlayerStats(): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>('postgame/player_stats/mock');\r\n }\r\n\r\n /** `GET postgame/gold/{gameId}` */\r\n async getGameGoldGraph(gameId: number): Promise<postGameGoldGraph> {\r\n return this.client.get<postGameGoldGraph>(`postgame/gold/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/gold/mock` */\r\n async getMockGameGoldGraph(): Promise<postGameGoldGraph> {\r\n return this.client.get<postGameGoldGraph>('postgame/gold/mock');\r\n }\r\n\r\n /** `GET postgame/damage/{gameId}` */\r\n async getGameDamageGraph(gameId: number): Promise<postGameDamageGraph> {\r\n return this.client.get<postGameDamageGraph>(`postgame/damage/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/damage/mock` */\r\n async getMockGameDamageGraph(): Promise<postGameDamageGraph> {\r\n return this.client.get<postGameDamageGraph>('postgame/damage/mock');\r\n }\r\n\r\n /** `GET postgame/team/{matchId}` */\r\n async getTeamPostGameData(matchId: number): Promise<Record<number, postGameTeamOverview>> {\r\n return this.client.get<Record<number, postGameTeamOverview>>(`postgame/team/${matchId}`);\r\n }\r\n\r\n /** `GET postgame/team/mock` */\r\n async getMockTeamPostGameData(): Promise<Record<number, postGameTeamOverview>> {\r\n return this.client.get<Record<number, postGameTeamOverview>>('postgame/team/mock');\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current` */\r\n async setActiveCurrentPostGameAnalysis(componentType: string, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current/team/{teamSide}` */\r\n async setActiveCurrentPostGameAnalysisWithTeam(componentType: string, teamSide: Team, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current/team/${teamSide}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current/player/{playerIndex}` */\r\n async setActiveCurrentPostGameAnalysisWithPlayer(componentType: string, playerIndex: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current/player/${playerIndex}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}` */\r\n async setActivePostGameAnalysis(componentType: string, gameId: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/match/{matchId}` */\r\n async setActivePostGameAnalysisWithMatch(componentType: string, matchId: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/match/${matchId}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/team/{teamSide}` */\r\n async setActivePostGameAnalysisWithTeam(componentType: string, gameId: number, teamSide: Team, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/team/${teamSide}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/player/{playerIndex}` */\r\n async setActivePostGameAnalysisWithPlayer(componentType: string, gameId: number, playerIndex: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/player/${playerIndex}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/player/{teamSide}/{lane}` */\r\n async setActivePostGameAnalysisWithPlayerTeamAndLane(componentType: string, gameId: number, teamSide: Team, lane: Lane, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/player/${teamSide}/${lane}`, body);\r\n }\r\n\r\n /** `GET postgame/active-component` */\r\n async getActivePostGameAnalysis(): Promise<activeComponentChangedEventArgs> {\r\n return this.client.get<activeComponentChangedEventArgs>('postgame/active-component');\r\n }\r\n\r\n /** `DELETE postgame/active-component` */\r\n async clearActivePostGameAnalysis(): Promise<void> {\r\n return this.client.delete<void>('postgame/active-component');\r\n }\r\n}\r\n\r\n","/**\r\n * Composite REST API client that aggregates all generated API modules.\r\n *\r\n * Access individual API groups via the named properties:\r\n *\r\n * ```ts\r\n * const client = new LeagueBroadcastClient({ host: \"localhost\" });\r\n *\r\n * // Games\r\n * const game = await client.api.game.getCurrent();\r\n *\r\n * // Matches\r\n * const match = await client.api.match.getCurrent();\r\n * await client.api.match.setCurrentBestOf(BestOfType.BestOf3);\r\n *\r\n * // Seasons\r\n * const seasons = await client.api.season.getAll();\r\n *\r\n * // In-game overlay control\r\n * await client.api.ingame.enable();\r\n * const overlays = await client.api.ingame.getActiveOverlays();\r\n *\r\n * // Live game state (requires active game)\r\n * const time = await client.api.gameState.getGameTime();\r\n * const players = await client.api.gameState.getAllParticipants();\r\n *\r\n * // Pre-game / champion select\r\n * const frontendUrl = await client.api.preGame.getFrontendUrl();\r\n *\r\n * // Post-game (REST-only — no WebSocket)\r\n * const overview = await client.api.postGame.getCurrentGameOverview();\r\n * const matchSummary = await client.api.postGame.getCurrentMatchOverview();\r\n * const goldGraph = await client.api.postGame.getGameGoldGraph(gameId);\r\n * const playerStats = await client.api.postGame.getPlayerStatsByTeamAndLane(gameId, Team.Blue, Lane.Mid);\r\n * ```\r\n */\r\n\r\nimport { ApiClient } from \"./ApiClient\";\r\nimport {\r\n IngameApi,\r\n GameApi,\r\n MatchApi,\r\n SeasonApi,\r\n PreGameApi,\r\n GameStateApi,\r\n PostGameApi,\r\n} from \"./generated\";\r\n\r\nexport class RestApi {\r\n private readonly client: ApiClient;\r\n\r\n /** In-game overlay and serialization endpoints. */\r\n public readonly ingame: IngameApi;\r\n\r\n /** Game CRUD, picks/bans, and winner endpoints. */\r\n public readonly game: GameApi;\r\n\r\n /** Match (series) management — current match, teams, fearless bans, etc. */\r\n public readonly match: MatchApi;\r\n\r\n /** Season management — CRUD, teams, icons, match listings. */\r\n public readonly season: SeasonApi;\r\n\r\n /** Champion select (pre-game) mocking, bans, frontend routing. */\r\n public readonly preGame: PreGameApi;\r\n\r\n /** Live game state — participants, dragons, ordering. Requires active game. */\r\n public readonly gameState: GameStateApi;\r\n\r\n /** Post-game overview, stats, gold/damage graphs, and analysis component control. */\r\n public readonly postGame: PostGameApi;\r\n\r\n constructor(baseUrl: string) {\r\n this.client = new ApiClient(baseUrl);\r\n\r\n this.ingame = new IngameApi(this.client);\r\n this.game = new GameApi(this.client);\r\n this.match = new MatchApi(this.client);\r\n this.season = new SeasonApi(this.client);\r\n this.preGame = new PreGameApi(this.client);\r\n this.gameState = new GameStateApi(this.client);\r\n this.postGame = new PostGameApi(this.client);\r\n }\r\n\r\n /**\r\n * Update the base URL for all API modules (e.g. after changing host/port).\r\n */\r\n updateBaseUrl(baseUrl: string): void {\r\n this.client.updateBaseUrl(baseUrl);\r\n }\r\n\r\n /**\r\n * Get direct access to the underlying HTTP client for custom requests.\r\n */\r\n getHttpClient(): ApiClient {\r\n return this.client;\r\n }\r\n}\r\n","import type { ingameAbilityInfo } from \"#types/ingame/ingameAbilityInfo\";\r\nimport type { itemWithAsset } from \"#types/ingame/itemWithAsset\";\r\nimport type { tabPlayer } from \"#types/ingame/tab/tabPlayer\";\r\nimport type { ingameScoreboardBottomPlayerData } from \"#types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData\";\r\n\r\n/**\r\n * All timer values in ingame data use **absolute game time** semantics:\r\n * - `readyAt / respawnAt === 0` → currently ready / alive\r\n * - `value > gameTime` → currently on cooldown / dead; `value - gameTime` seconds remain\r\n * - `value > 0 && value <= gameTime` → was on cooldown historically, now recovered\r\n *\r\n * Pass `ingameFrontendData.gameTime` (or the value from the reactive store) as\r\n * `gameTime` to all helpers below.\r\n */\r\n\r\n// ---------------------------------------------------------------------------\r\n// Generic primitive\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Return the seconds remaining until `readyAt`.\r\n * Returns `0` when the timer has expired or was never set.\r\n */\r\nexport function getRemaining(\r\n readyAt: number | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!readyAt || readyAt <= 0) return 0;\r\n return Math.max(0, readyAt - gameTime);\r\n}\r\n\r\n/**\r\n * Return `true` while `readyAt` is in the future relative to `gameTime`.\r\n */\r\nexport function isActive(\r\n readyAt: number | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getRemaining(readyAt, gameTime) > 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Ability cooldowns\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining on an ability's cooldown.\r\n * Returns `0` when the ability is ready.\r\n */\r\nexport function getAbilityCooldownRemaining(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(ability?.readyAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether an ability is currently on cooldown.\r\n */\r\nexport function isAbilityOnCooldown(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getAbilityCooldownRemaining(ability, gameTime) > 0;\r\n}\r\n\r\n/**\r\n * Fraction of the cooldown that has elapsed (0 = just put on cooldown, 1 = ready).\r\n * Useful for progress-ring / conic-fill animations.\r\n * Returns `1` when ready or when `totalCooldown` is zero.\r\n */\r\nexport function getAbilityCooldownFraction(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!ability || !ability.totalCooldown || ability.totalCooldown <= 0)\r\n return 1;\r\n const remaining = getAbilityCooldownRemaining(ability, gameTime);\r\n if (remaining <= 0) return 1;\r\n return 1 - remaining / ability.totalCooldown;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Item cooldowns\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining on an item's active cooldown.\r\n * Returns `0` when the item is ready.\r\n */\r\nexport function getItemCooldownRemaining(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(item?.readyAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether an item active is currently on cooldown.\r\n */\r\nexport function isItemOnCooldown(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getItemCooldownRemaining(item, gameTime) > 0;\r\n}\r\n\r\n/**\r\n * Fraction of the item cooldown that has elapsed (0 → just activated, 1 → ready).\r\n * Returns `1` when ready or when `maxCooldown` is zero / unknown.\r\n */\r\nexport function getItemCooldownFraction(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!item?.maxCooldown || item.maxCooldown <= 0) return 1;\r\n const remaining = getItemCooldownRemaining(item, gameTime);\r\n if (remaining <= 0) return 1;\r\n return 1 - remaining / item.maxCooldown;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Player respawn\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining until a tab-player respawns.\r\n * Returns `0` when the player is alive.\r\n */\r\nexport function getRespawnRemaining(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(player?.respawnAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether a player is currently dead.\r\n */\r\nexport function isPlayerDead(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getRespawnRemaining(player, gameTime) > 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Bound factory\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface BoundIngameTimerUtils {\r\n /** Seconds remaining until `readyAt`. Returns `0` when expired or unset. */\r\n getRemaining(readyAt: number | undefined): number;\r\n /** `true` while `readyAt` is in the future. */\r\n isActive(readyAt: number | undefined): boolean;\r\n getAbilityCooldownRemaining(\r\n ability: ingameAbilityInfo | null | undefined,\r\n ): number;\r\n isAbilityOnCooldown(ability: ingameAbilityInfo | null | undefined): boolean;\r\n getAbilityCooldownFraction(\r\n ability: ingameAbilityInfo | null | undefined,\r\n ): number;\r\n getItemCooldownRemaining(item: itemWithAsset | null | undefined): number;\r\n isItemOnCooldown(item: itemWithAsset | null | undefined): boolean;\r\n getItemCooldownFraction(item: itemWithAsset | null | undefined): number;\r\n getRespawnRemaining(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n ): number;\r\n isPlayerDead(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n ): boolean;\r\n}\r\n\r\n/**\r\n * Create a set of timer utilities pre-bound to a `gameTime` source.\r\n *\r\n * @param getGameTime - Called each time a utility is invoked to read the\r\n * current game time. Pass `() => client.getIngameData().gameTime` or a\r\n * reactive getter from your framework.\r\n *\r\n * @example\r\n * ```ts\r\n * const timers = createIngameTimerUtils(() => client.getIngameData().gameTime);\r\n * timers.isPlayerDead(player);\r\n * timers.getAbilityCooldownRemaining(ability);\r\n * ```\r\n */\r\nexport function createIngameTimerUtils(\r\n getGameTime: () => number,\r\n): BoundIngameTimerUtils {\r\n return {\r\n getRemaining: (readyAt) => getRemaining(readyAt, getGameTime()),\r\n isActive: (readyAt) => isActive(readyAt, getGameTime()),\r\n getAbilityCooldownRemaining: (ability) =>\r\n getAbilityCooldownRemaining(ability, getGameTime()),\r\n isAbilityOnCooldown: (ability) =>\r\n isAbilityOnCooldown(ability, getGameTime()),\r\n getAbilityCooldownFraction: (ability) =>\r\n getAbilityCooldownFraction(ability, getGameTime()),\r\n getItemCooldownRemaining: (item) =>\r\n getItemCooldownRemaining(item, getGameTime()),\r\n isItemOnCooldown: (item) => isItemOnCooldown(item, getGameTime()),\r\n getItemCooldownFraction: (item) =>\r\n getItemCooldownFraction(item, getGameTime()),\r\n getRespawnRemaining: (player) => getRespawnRemaining(player, getGameTime()),\r\n isPlayerDead: (player) => isPlayerDead(player, getGameTime()),\r\n };\r\n}\r\n","import type { OverlayHealthReport } from './types'\r\n\r\n/**\r\n * Resolves the ingestion endpoint URL from explicit override or host/port.\r\n */\r\nexport function resolveEndpoint(opts: {\r\n endpoint?: string\r\n host?: string\r\n port?: number | string\r\n useHttps?: boolean\r\n}): string {\r\n if (opts.endpoint) return opts.endpoint\r\n\r\n const loc = typeof location !== 'undefined' ? location : undefined\r\n const https = opts.useHttps ?? loc?.protocol === 'https:'\r\n const host = opts.host ?? loc?.hostname ?? 'localhost'\r\n const port = opts.port ?? loc?.port ?? 58869\r\n const portPart = port ? `:${port}` : ''\r\n return `${https ? 'https' : 'http'}://${host}${portPart}/api/overlay/health`\r\n}\r\n\r\n/**\r\n * Sends a health report to the host. Prefers navigator.sendBeacon (survives page\r\n * unload, no connection lifecycle); falls back to fetch with keepalive.\r\n *\r\n * Uses a text/plain body so cross-origin beacons are never blocked by a CORS\r\n * preflight — the host reads the raw request body and parses it itself.\r\n */\r\nexport function sendReport(endpoint: string, report: OverlayHealthReport): boolean {\r\n let body: string\r\n try {\r\n body = JSON.stringify(report)\r\n } catch {\r\n return false\r\n }\r\n\r\n try {\r\n if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') {\r\n const blob = new Blob([body], { type: 'text/plain;charset=UTF-8' })\r\n if (navigator.sendBeacon(endpoint, blob)) return true\r\n }\r\n } catch {\r\n // fall through to fetch\r\n }\r\n\r\n try {\r\n if (typeof fetch === 'function') {\r\n void fetch(endpoint, {\r\n method: 'POST',\r\n body,\r\n headers: { 'Content-Type': 'text/plain;charset=UTF-8' },\r\n keepalive: true,\r\n mode: 'cors',\r\n credentials: 'omit'\r\n }).catch(() => {})\r\n return true\r\n }\r\n } catch {\r\n // give up silently — health telemetry must never throw into the overlay\r\n }\r\n\r\n return false\r\n}\r\n","/**\r\n * Shared types for the overlay-health detector. These shapes are mirrored on the\r\n * C# host (OverlayHealthReportDto / OverlayHealthMessage) — keep field names in\r\n * sync (camelCase) if you change them.\r\n */\r\n\r\n/** Which overlay surface is reporting. */\r\nexport type OverlaySourceKind =\r\n | 'ingame'\r\n | 'pregame'\r\n | 'postgame'\r\n | 'minion'\r\n | 'webui'\r\n | 'sdk'\r\n | 'custom'\r\n\r\nexport interface OverlaySourceInfo {\r\n kind: OverlaySourceKind\r\n /** Human-friendly name, e.g. a custom overlay slug or an SDK-set overlay name. */\r\n name?: string\r\n}\r\n\r\nexport type HealthSeverity = 'info' | 'warning' | 'error'\r\n\r\nexport type HealthIssueKind =\r\n | 'broken-image'\r\n | 'oversized-image'\r\n | 'large-asset'\r\n | 'low-fps'\r\n | 'long-task'\r\n | 'high-memory'\r\n | 'dom-bloat'\r\n | 'js-error'\r\n\r\nexport interface HealthIssue {\r\n kind: HealthIssueKind\r\n severity: HealthSeverity\r\n /** Stable key used to de-duplicate repeated occurrences (asset URL, message, …). */\r\n key: string\r\n /** Short, human-readable summary. */\r\n message: string\r\n /** Offending asset URL, when applicable. */\r\n url?: string\r\n /** Element description / selector, when applicable. */\r\n element?: string\r\n /** Structured extra detail for the UI (dimensions, byte sizes, ms, …). */\r\n detail?: Record<string, number | string>\r\n /** Number of times this issue has been observed this session. */\r\n count: number\r\n /** Client epoch ms when first observed. */\r\n firstSeen: number\r\n /** Client epoch ms when last observed. */\r\n lastSeen: number\r\n}\r\n\r\nexport interface HealthMetrics {\r\n /** Frames per second over the sampling window. */\r\n fps: number\r\n /** 95th-percentile frame time (ms) over the window. */\r\n p95FrameMs: number\r\n /** Longest single frame (ms) over the window. */\r\n longestFrameMs: number\r\n /** Number of long tasks observed in the window. */\r\n longTasksInWindow: number\r\n /** Used JS heap (MB), where the browser exposes it (Chromium/CEF). */\r\n jsHeapUsedMb?: number\r\n /** JS heap limit (MB), where exposed. */\r\n jsHeapLimitMb?: number\r\n /** Total DOM element count. */\r\n domNodes: number\r\n}\r\n\r\n/** Full report sent to the host on each flush. */\r\nexport interface OverlayHealthReport {\r\n source: OverlaySourceInfo\r\n /** Random id generated once per page load. */\r\n sessionId: string\r\n /** location.href of the reporting overlay. */\r\n url: string\r\n userAgent: string\r\n /** Client epoch ms when the report was produced. */\r\n timestamp: number\r\n metrics: HealthMetrics\r\n issues: HealthIssue[]\r\n}\r\n\r\nexport interface HealthThresholds {\r\n /** Decoded RGBA bytes (naturalW * naturalH * 4) above which an image is \"oversized\". */\r\n maxDecodedBytes: number\r\n /** Natural dimension (px) above which an image is \"oversized\". */\r\n maxImageDimension: number\r\n /** naturalArea / displayedArea ratio above which an image is wastefully oversampled. */\r\n maxOversampleRatio: number\r\n /** Minimum natural area (px²) before the oversample ratio is considered. */\r\n oversampleMinArea: number\r\n /** Encoded transfer bytes above which any asset download is flagged \"large\". */\r\n maxAssetBytes: number\r\n /** Sustained FPS below this is flagged \"low\". */\r\n minFps: number\r\n /** p95 frame time (ms) above this is flagged \"low-fps\". */\r\n maxP95FrameMs: number\r\n /** Long-task duration (ms) at/above which a long task is reported. */\r\n longTaskMs: number\r\n /** Used JS heap (MB) above which memory is flagged \"high\". */\r\n maxJsHeapMb: number\r\n /** DOM element count above which the DOM is flagged \"bloated\". */\r\n maxDomNodes: number\r\n}\r\n\r\nexport const DEFAULT_THRESHOLDS: HealthThresholds = {\r\n maxDecodedBytes: 24 * 1024 * 1024, // ~2500×2500 px\r\n maxImageDimension: 4096,\r\n maxOversampleRatio: 4,\r\n oversampleMinArea: 1_000_000, // ~1 MP\r\n maxAssetBytes: 5 * 1024 * 1024, // 5 MB on the wire\r\n minFps: 30,\r\n maxP95FrameMs: 50,\r\n longTaskMs: 200,\r\n maxJsHeapMb: 768,\r\n maxDomNodes: 5000\r\n}\r\n\r\nexport interface OverlayHealthOptions {\r\n /** Identifies the reporting overlay. Required. */\r\n source: OverlaySourceInfo\r\n /** Backend host (no protocol). Defaults to location.hostname. */\r\n host?: string\r\n /** Backend port. Defaults to location.port. */\r\n port?: number | string\r\n /** Use https for the ingestion endpoint. Defaults to location.protocol === 'https:'. */\r\n useHttps?: boolean\r\n /** Full ingestion endpoint URL. Takes precedence over host/port/useHttps. */\r\n endpoint?: string\r\n /** Master switch. Defaults to true. */\r\n enabled?: boolean\r\n /** How often a full report is flushed (ms). Default 5000. */\r\n reportIntervalMs?: number\r\n /** Threshold overrides (merged over DEFAULT_THRESHOLDS). */\r\n thresholds?: Partial<HealthThresholds>\r\n}\r\n\r\nexport interface OverlayHealthHandle {\r\n /** Force an immediate report flush. */\r\n flush(): void\r\n /** Detach all listeners/observers and stop reporting. */\r\n stop(): void\r\n}\r\n","import { resolveEndpoint, sendReport } from './transport'\r\nimport {\r\n DEFAULT_THRESHOLDS,\r\n type HealthIssue,\r\n type HealthIssueKind,\r\n type HealthMetrics,\r\n type HealthSeverity,\r\n type HealthThresholds,\r\n type OverlayHealthHandle,\r\n type OverlayHealthOptions,\r\n type OverlayHealthReport\r\n} from './types'\r\n\r\nconst FRAME_WINDOW_MS = 3000\r\nconst MAX_ISSUES = 50\r\n/** Transient (non-asset) issues older than this are dropped from reports. */\r\nconst TRANSIENT_TTL_MS = 20_000\r\n\r\nconst TRANSIENT_KINDS: ReadonlySet<HealthIssueKind> = new Set([\r\n 'low-fps',\r\n 'long-task',\r\n 'high-memory',\r\n 'dom-bloat'\r\n])\r\n\r\nfunction now(): number {\r\n return Date.now()\r\n}\r\n\r\nfunction randomId(): string {\r\n return Math.random().toString(36).slice(2) + Math.random().toString(36).slice(2)\r\n}\r\n\r\nfunction describeElement(el: Element): string {\r\n const id = el.id ? `#${el.id}` : ''\r\n const cls =\r\n typeof el.className === 'string' && el.className\r\n ? `.${el.className.trim().split(/\\s+/).slice(0, 2).join('.')}`\r\n : ''\r\n return `${el.tagName.toLowerCase()}${id}${cls}`\r\n}\r\n\r\n/**\r\n * Monitors a single overlay document for frontend-health problems and periodically\r\n * reports them to the host. All detection is passive and best-effort: it must never\r\n * throw into or measurably slow down the host overlay.\r\n */\r\nexport class OverlayHealthMonitor implements OverlayHealthHandle {\r\n private readonly options: Required<Omit<OverlayHealthOptions, 'thresholds' | 'endpoint' | 'host' | 'port' | 'useHttps'>> & {\r\n thresholds: HealthThresholds\r\n }\r\n private readonly endpoint: string\r\n private readonly sessionId = randomId()\r\n private readonly issues = new Map<string, HealthIssue>()\r\n\r\n /** Recent frame timestamps (epoch ms) within FRAME_WINDOW_MS. */\r\n private frameTimes: number[] = []\r\n private lastFrameAt = 0\r\n private longTaskTimes: number[] = []\r\n private rafId: number | null = null\r\n private reportTimer: ReturnType<typeof setInterval> | null = null\r\n private immediateTimer: ReturnType<typeof setTimeout> | null = null\r\n private perfObserver: PerformanceObserver | null = null\r\n private stopped = false\r\n\r\n constructor(opts: OverlayHealthOptions) {\r\n this.options = {\r\n source: opts.source,\r\n enabled: opts.enabled ?? true,\r\n reportIntervalMs: opts.reportIntervalMs ?? 5000,\r\n thresholds: { ...DEFAULT_THRESHOLDS, ...(opts.thresholds ?? {}) }\r\n }\r\n this.endpoint = resolveEndpoint(opts)\r\n }\r\n\r\n start(): void {\r\n if (this.stopped || !this.options.enabled) return\r\n if (typeof window === 'undefined') return\r\n\r\n window.addEventListener('error', this.onError, true)\r\n window.addEventListener('load', this.onLoad, true)\r\n window.addEventListener('unhandledrejection', this.onRejection)\r\n document.addEventListener('visibilitychange', this.onVisibilityChange)\r\n window.addEventListener('pagehide', this.onPageHide)\r\n\r\n this.startFrameSampling()\r\n this.startPerfObserver()\r\n\r\n this.reportTimer = setInterval(() => this.flush(), this.options.reportIntervalMs)\r\n }\r\n\r\n flush(): void {\r\n if (this.stopped) return\r\n try {\r\n const report = this.buildReport()\r\n sendReport(this.endpoint, report)\r\n } catch {\r\n // never throw out of the overlay\r\n }\r\n }\r\n\r\n stop(): void {\r\n if (this.stopped) return\r\n this.stopped = true\r\n\r\n window.removeEventListener('error', this.onError, true)\r\n window.removeEventListener('load', this.onLoad, true)\r\n window.removeEventListener('unhandledrejection', this.onRejection)\r\n document.removeEventListener('visibilitychange', this.onVisibilityChange)\r\n window.removeEventListener('pagehide', this.onPageHide)\r\n\r\n if (this.rafId !== null) cancelAnimationFrame(this.rafId)\r\n if (this.reportTimer !== null) clearInterval(this.reportTimer)\r\n if (this.immediateTimer !== null) clearTimeout(this.immediateTimer)\r\n this.perfObserver?.disconnect()\r\n }\r\n\r\n // ── Detection ──────────────────────────────────────────────────────────\r\n\r\n private onError = (e: Event): void => {\r\n try {\r\n const target = e.target\r\n if (target instanceof HTMLImageElement) {\r\n // currentSrc is empty on a hard failure; fall back to src attribute.\r\n const url = target.currentSrc || target.src || target.getAttribute('src') || '(unknown)'\r\n this.record({\r\n kind: 'broken-image',\r\n severity: 'error',\r\n key: url,\r\n message: 'Image failed to load',\r\n url,\r\n element: describeElement(target)\r\n })\r\n return\r\n }\r\n\r\n // Uncaught script error (target is window/document, not an element).\r\n const errEvent = e as ErrorEvent\r\n if (!(target instanceof Element) && errEvent.message) {\r\n const where = errEvent.filename\r\n ? `${errEvent.filename}:${errEvent.lineno ?? 0}`\r\n : ''\r\n this.record({\r\n kind: 'js-error',\r\n severity: 'error',\r\n key: `${errEvent.message}|${where}`,\r\n message: errEvent.message,\r\n detail: where ? { location: where } : undefined\r\n })\r\n }\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private onLoad = (e: Event): void => {\r\n try {\r\n const target = e.target\r\n if (target instanceof HTMLImageElement) {\r\n this.inspectImage(target)\r\n }\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private onRejection = (e: PromiseRejectionEvent): void => {\r\n try {\r\n const reason =\r\n e.reason instanceof Error\r\n ? e.reason.message\r\n : typeof e.reason === 'string'\r\n ? e.reason\r\n : 'Unhandled promise rejection'\r\n this.record({\r\n kind: 'js-error',\r\n severity: 'error',\r\n key: `rejection|${reason}`,\r\n message: `Unhandled rejection: ${reason}`\r\n })\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private inspectImage(img: HTMLImageElement): void {\r\n const nW = img.naturalWidth\r\n const nH = img.naturalHeight\r\n if (!nW || !nH) return\r\n\r\n const naturalArea = nW * nH\r\n const decodedBytes = naturalArea * 4\r\n const displayedArea = Math.max(1, img.clientWidth * img.clientHeight)\r\n const oversampleRatio = naturalArea / displayedArea\r\n const t = this.options.thresholds\r\n const url = img.currentSrc || img.src\r\n\r\n const tooBig = decodedBytes > t.maxDecodedBytes || nW > t.maxImageDimension || nH > t.maxImageDimension\r\n const oversampled = naturalArea > t.oversampleMinArea && oversampleRatio > t.maxOversampleRatio\r\n\r\n if (tooBig || oversampled) {\r\n this.record({\r\n kind: 'oversized-image',\r\n severity: 'warning',\r\n key: url,\r\n message: tooBig\r\n ? `Very large image (${nW}×${nH})`\r\n : `Image is much larger than displayed (${nW}×${nH})`,\r\n url,\r\n element: describeElement(img),\r\n detail: {\r\n naturalWidth: nW,\r\n naturalHeight: nH,\r\n displayedWidth: img.clientWidth,\r\n displayedHeight: img.clientHeight,\r\n approxDecodedMb: Math.round((decodedBytes / (1024 * 1024)) * 10) / 10,\r\n oversampleRatio: Math.round(oversampleRatio * 10) / 10\r\n }\r\n })\r\n }\r\n }\r\n\r\n private startPerfObserver(): void {\r\n if (typeof PerformanceObserver === 'undefined') return\r\n\r\n try {\r\n this.perfObserver = new PerformanceObserver((list) => {\r\n for (const entry of list.getEntries()) {\r\n if (entry.entryType === 'longtask') {\r\n this.longTaskTimes.push(now())\r\n if (entry.duration >= this.options.thresholds.longTaskMs) {\r\n this.record({\r\n kind: 'long-task',\r\n severity: 'warning',\r\n key: 'long-task',\r\n message: 'Main thread blocked by a long task',\r\n detail: { lastDurationMs: Math.round(entry.duration) }\r\n })\r\n }\r\n } else if (entry.entryType === 'resource') {\r\n this.inspectResource(entry as PerformanceResourceTiming)\r\n }\r\n }\r\n })\r\n\r\n // Observe long tasks and resource loads where supported. Wrap each so one\r\n // unsupported type does not prevent the others from registering.\r\n this.tryObserve({ type: 'longtask', buffered: true })\r\n this.tryObserve({ type: 'resource', buffered: true })\r\n } catch {\r\n /* observers unsupported — frame sampling still works */\r\n }\r\n }\r\n\r\n private tryObserve(init: PerformanceObserverInit): void {\r\n try {\r\n this.perfObserver?.observe(init)\r\n } catch {\r\n /* this entry type is unsupported in this browser */\r\n }\r\n }\r\n\r\n private inspectResource(entry: PerformanceResourceTiming): void {\r\n if (entry.initiatorType !== 'img' && entry.initiatorType !== 'css') return\r\n const bytes = entry.encodedBodySize || entry.transferSize || 0\r\n if (bytes > this.options.thresholds.maxAssetBytes) {\r\n this.record({\r\n kind: 'large-asset',\r\n severity: 'warning',\r\n key: entry.name,\r\n message: `Large asset download (${Math.round((bytes / (1024 * 1024)) * 10) / 10} MB)`,\r\n url: entry.name,\r\n detail: {\r\n encodedBytes: bytes,\r\n decodedBytes: entry.decodedBodySize || 0,\r\n initiator: entry.initiatorType\r\n }\r\n })\r\n }\r\n }\r\n\r\n private startFrameSampling(): void {\r\n if (typeof requestAnimationFrame === 'undefined') return\r\n this.lastFrameAt = now()\r\n const tick = (): void => {\r\n if (this.stopped) return\r\n const t = now()\r\n this.frameTimes.push(t)\r\n const cutoff = t - FRAME_WINDOW_MS\r\n while (this.frameTimes.length && this.frameTimes[0] < cutoff) this.frameTimes.shift()\r\n this.lastFrameAt = t\r\n this.rafId = requestAnimationFrame(tick)\r\n }\r\n this.rafId = requestAnimationFrame(tick)\r\n }\r\n\r\n // ── Metrics + reporting ────────────────────────────────────────────────\r\n\r\n private computeMetrics(): HealthMetrics {\r\n const frames = this.frameTimes\r\n const deltas: number[] = []\r\n for (let i = 1; i < frames.length; i++) deltas.push(frames[i] - frames[i - 1])\r\n\r\n const spanMs = frames.length > 1 ? frames[frames.length - 1] - frames[0] : 0\r\n const fps = spanMs > 0 ? Math.round(((frames.length - 1) / spanMs) * 1000) : 0\r\n\r\n let p95 = 0\r\n let longest = 0\r\n if (deltas.length) {\r\n const sorted = [...deltas].sort((a, b) => a - b)\r\n p95 = sorted[Math.min(sorted.length - 1, Math.floor(sorted.length * 0.95))]\r\n longest = sorted[sorted.length - 1]\r\n }\r\n\r\n const cutoff = now() - FRAME_WINDOW_MS\r\n this.longTaskTimes = this.longTaskTimes.filter((tt) => tt >= cutoff)\r\n\r\n const metrics: HealthMetrics = {\r\n fps,\r\n p95FrameMs: Math.round(p95),\r\n longestFrameMs: Math.round(longest),\r\n longTasksInWindow: this.longTaskTimes.length,\r\n domNodes: document.getElementsByTagName('*').length\r\n }\r\n\r\n // Chromium/CEF only — guarded so other engines don't break.\r\n const mem = (performance as Performance & { memory?: { usedJSHeapSize: number; jsHeapSizeLimit: number } }).memory\r\n if (mem) {\r\n metrics.jsHeapUsedMb = Math.round(mem.usedJSHeapSize / (1024 * 1024))\r\n metrics.jsHeapLimitMb = Math.round(mem.jsHeapSizeLimit / (1024 * 1024))\r\n }\r\n\r\n return metrics\r\n }\r\n\r\n /** Evaluate window-derived issues (low fps, high memory, dom bloat). */\r\n private evaluateMetricIssues(metrics: HealthMetrics): void {\r\n const t = this.options.thresholds\r\n\r\n // Only judge FPS once we have a representative sample.\r\n if (this.frameTimes.length > 30) {\r\n if (metrics.fps < t.minFps || metrics.p95FrameMs > t.maxP95FrameMs) {\r\n this.record({\r\n kind: 'low-fps',\r\n severity: 'warning',\r\n key: 'low-fps',\r\n message: `Low frame rate (${metrics.fps} fps)`,\r\n detail: { fps: metrics.fps, p95FrameMs: metrics.p95FrameMs }\r\n })\r\n }\r\n }\r\n\r\n if (metrics.jsHeapUsedMb !== undefined && metrics.jsHeapUsedMb > t.maxJsHeapMb) {\r\n this.record({\r\n kind: 'high-memory',\r\n severity: 'warning',\r\n key: 'high-memory',\r\n message: `High memory use (${metrics.jsHeapUsedMb} MB)`,\r\n detail: { jsHeapUsedMb: metrics.jsHeapUsedMb }\r\n })\r\n }\r\n\r\n if (metrics.domNodes > t.maxDomNodes) {\r\n this.record({\r\n kind: 'dom-bloat',\r\n severity: metrics.domNodes > t.maxDomNodes * 2 ? 'warning' : 'info',\r\n key: 'dom-bloat',\r\n message: `Large DOM (${metrics.domNodes} elements)`,\r\n detail: { domNodes: metrics.domNodes }\r\n })\r\n }\r\n }\r\n\r\n private buildReport(): OverlayHealthReport {\r\n const metrics = this.computeMetrics()\r\n this.evaluateMetricIssues(metrics)\r\n this.pruneTransientIssues()\r\n\r\n return {\r\n source: this.options.source,\r\n sessionId: this.sessionId,\r\n url: typeof location !== 'undefined' ? location.href : '',\r\n userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : '',\r\n timestamp: now(),\r\n metrics,\r\n issues: [...this.issues.values()]\r\n }\r\n }\r\n\r\n private record(input: {\r\n kind: HealthIssueKind\r\n severity: HealthSeverity\r\n key: string\r\n message: string\r\n url?: string\r\n element?: string\r\n detail?: Record<string, number | string>\r\n }): void {\r\n const mapKey = `${input.kind}:${input.key}`\r\n const ts = now()\r\n const existing = this.issues.get(mapKey)\r\n\r\n if (existing) {\r\n existing.count++\r\n existing.lastSeen = ts\r\n existing.message = input.message\r\n if (input.detail) existing.detail = input.detail\r\n return\r\n }\r\n\r\n if (this.issues.size >= MAX_ISSUES) this.evictOldest()\r\n\r\n this.issues.set(mapKey, {\r\n kind: input.kind,\r\n severity: input.severity,\r\n key: input.key,\r\n message: input.message,\r\n url: input.url,\r\n element: input.element,\r\n detail: input.detail,\r\n count: 1,\r\n firstSeen: ts,\r\n lastSeen: ts\r\n })\r\n\r\n // Hard failures get a fast, debounced report so the user sees them quickly.\r\n if (input.severity === 'error') this.scheduleImmediate()\r\n }\r\n\r\n private scheduleImmediate(): void {\r\n if (this.immediateTimer !== null) return\r\n this.immediateTimer = setTimeout(() => {\r\n this.immediateTimer = null\r\n this.flush()\r\n }, 750)\r\n }\r\n\r\n private pruneTransientIssues(): void {\r\n const cutoff = now() - TRANSIENT_TTL_MS\r\n for (const [k, issue] of this.issues) {\r\n if (TRANSIENT_KINDS.has(issue.kind) && issue.lastSeen < cutoff) {\r\n this.issues.delete(k)\r\n }\r\n }\r\n }\r\n\r\n private evictOldest(): void {\r\n let oldestKey: string | null = null\r\n let oldest = Infinity\r\n for (const [k, issue] of this.issues) {\r\n if (issue.lastSeen < oldest) {\r\n oldest = issue.lastSeen\r\n oldestKey = k\r\n }\r\n }\r\n if (oldestKey) this.issues.delete(oldestKey)\r\n }\r\n\r\n private onVisibilityChange = (): void => {\r\n if (document.visibilityState === 'hidden') this.flush()\r\n }\r\n\r\n private onPageHide = (): void => {\r\n this.flush()\r\n }\r\n}\r\n","import { OverlayHealthMonitor } from './detector'\r\nimport type { OverlayHealthHandle, OverlayHealthOptions } from './types'\r\n\r\nexport * from './types'\r\nexport { OverlayHealthMonitor } from './detector'\r\nexport { resolveEndpoint, sendReport } from './transport'\r\n\r\n/**\r\n * Starts passive frontend-health monitoring for the current overlay document and\r\n * reports broken/oversized images, low frame rates, long tasks, high memory and\r\n * uncaught JS errors back to the LeagueBroadcast host.\r\n *\r\n * Safe to call once per page. All detection is best-effort and guarded — it will\r\n * never throw into, or measurably slow down, the host overlay.\r\n *\r\n * @example\r\n * startOverlayHealth({ source: { kind: 'ingame' }, host, port })\r\n */\r\nexport function startOverlayHealth(options: OverlayHealthOptions): OverlayHealthHandle {\r\n const monitor = new OverlayHealthMonitor(options)\r\n monitor.start()\r\n return monitor\r\n}\r\n","import { WebSocketManager } from \"./WebSocketManager\";\r\nimport { GameStateStore } from \"./reactivity/GameStateStore\";\r\nimport { ChampSelectStateStore } from \"./reactivity/ChampSelectStateStore\";\r\nimport { structuralShare } from \"./reactivity/structuralShare\";\r\nimport type { Subscribable, EqualityFn } from \"./reactivity/GameStateStore\";\r\nimport type { GameStateSnapshot } from \"./reactivity/GameStateStore\";\r\nimport type { ChampSelectSnapshot } from \"./reactivity/ChampSelectStateStore\";\r\nimport { ingameFrontendData } from \"#types/ingame/ingameFrontendData\";\r\nimport { GameState } from \"#types/shared/gameState\";\r\nimport type { transitionEvents } from \"#types/ingame/event/transitionevents\";\r\nimport type { playerUpdateEvent } from \"#types/ingame/event/playerUpdateEvent\";\r\nimport type { teamUpdateResults } from \"#types/ingame/event/teamUpdateResults\";\r\nimport type { ingameObjectiveEvent } from \"#types/ingame/event/ingameObjectiveEvent\";\r\nimport type { announcerEvent } from \"#types/ingame/announcer/announcerEvent\";\r\nimport type { killFeedEvent } from \"#types/ingame/event/killFeedEvent\";\r\nimport { Team } from \"#types/shared/style/Team\";\r\nimport { champSelectStateData } from \"#types/pregame/champSelectStateData\";\r\nimport type { pickBanActionEventArgs } from \"#types/pregame/pickbanactioneventargs\";\r\nimport { RestApi } from \"./api/RestApi\";\r\nimport { smiteReactionResult } from \"#types/ingame/smiteReaction/smiteReactionResult\";\r\nimport {\r\n createIngameTimerUtils,\r\n type BoundIngameTimerUtils,\r\n} from \"./util/ingameTimerUtils\";\r\nimport { startOverlayHealth, type OverlayHealthHandle } from \"#overlay-health\";\r\n\r\n// Module-level clock — one interval drives gameTime for all timer consumers\r\nlet _clockInterval: ReturnType<typeof setInterval> | null = null;\r\n\r\nexport interface LeagueBroadcastClientConfig {\r\n host: string;\r\n port?: number;\r\n /** In-game WebSocket route. @default \"/ws/in\" */\r\n ingameWsRoute?: string;\r\n /** Pre-game (champion select) WebSocket route. @default \"/ws/pre\" */\r\n preGameWsRoute?: string;\r\n apiRoute?: string;\r\n cacheRoute?: string;\r\n useHttps?: boolean;\r\n autoConnect?: boolean;\r\n overlayHealth?: boolean | { enabled?: boolean; name?: string };\r\n}\r\n\r\nexport interface IngameEventHandlers {\r\n onPlayerEvent?: (event: playerUpdateEvent) => void;\r\n onTeamEvent?: (event: teamUpdateResults) => void;\r\n onObjectiveEvent?: (event: ingameObjectiveEvent) => void;\r\n onFirstTowerEvent?: (teamId: Team) => void;\r\n onAnnouncementEvent?: (event: announcerEvent) => void;\r\n onKillFeedEvent?: (event: killFeedEvent) => void;\r\n onSmiteReactionEvent?: (event: smiteReactionResult) => void;\r\n}\r\n\r\nexport interface ChampSelectEventHandlers {\r\n /** Fired for every pick/ban action (hover, lock, ban reveal, phase transition). */\r\n onAction?: (action: pickBanActionEventArgs) => void;\r\n /** Fired when champ select becomes active (first state update with `isActive === true`). */\r\n onChampSelectStart?: () => void;\r\n /** Fired when champ select ends (backend sends `isActive === false`). */\r\n onChampSelectEnd?: () => void;\r\n /** Fired when the frontend route changes (e.g. navigating between pre-game views). */\r\n onRouteUpdate?: (uri: string) => void;\r\n}\r\n\r\n/**\r\n * Main client for connecting to the League Broadcast backend.\r\n *\r\n * Internally manages **two** WebSocket connections:\r\n * - `/ws/in` — real-time in-game data\r\n * - `/ws/pre` — champion-select (pre-game) data\r\n *\r\n * Both connections are opened on {@link connect} (or automatically if\r\n * `autoConnect` is `true`) and share the same host / port.\r\n *\r\n * @example\r\n * ```ts\r\n * const client = new LeagueBroadcastClient({ host: \"localhost\" });\r\n *\r\n * // In-game state & events\r\n * client.onIngameStateUpdate(data => console.log(\"Game time:\", data.gameTime));\r\n * client.watchIngame(s => s.gameData.scoreboard?.teams[0]?.kills, kills => { });\r\n * client.onIngameEvents({ onKillFeedEvent: e => console.log(e) });\r\n *\r\n * // Timer utilities — gameTime is read automatically\r\n * client.timers.isPlayerDead(player);\r\n * client.timers.getAbilityCooldownRemaining(ability);\r\n * client.timers.getItemCooldownFraction(item); // 0 = just activated, 1 = ready\r\n *\r\n * // Pre-game\r\n * client.onChampSelectUpdate(data => console.log(\"Phase:\", data.timer.phaseName));\r\n * client.onChampSelectEvents({ onAction: a => console.log(a) });\r\n * client.selectChampSelect(s => s.champSelectData.timer);\r\n * ```\r\n */\r\nexport class LeagueBroadcastClient {\r\n // -- WebSocket connections --------------------------------------------------\r\n private ingameWs: WebSocketManager;\r\n private preGameWs: WebSocketManager;\r\n\r\n private config: Required<LeagueBroadcastClientConfig>;\r\n\r\n // -- Frontend-health monitoring ---------------------------------------------\r\n private _overlayHealth: OverlayHealthHandle | null = null;\r\n\r\n // -- In-game state ----------------------------------------------------------\r\n private gameData: ingameFrontendData;\r\n private gameState: GameState = GameState.OutOfGame;\r\n private _isTestingEnvironment: boolean = false;\r\n\r\n // -- Pre-game state ---------------------------------------------------------\r\n private champSelectData: champSelectStateData;\r\n private champSelectWasActive: boolean = false;\r\n\r\n // -- Reactive stores --------------------------------------------------------\r\n\r\n /** Reactive store for **in-game** state. */\r\n public readonly ingameStore: GameStateStore;\r\n\r\n /** Reactive store for **pre-game** (champion select) state. */\r\n public readonly preGameStore: ChampSelectStateStore;\r\n\r\n /**\r\n * Timer utilities pre-bound to this client's current game time.\r\n * No need to pass `gameTime` manually — it is read from the latest\r\n * in-game state on every call.\r\n *\r\n * @example\r\n * ```ts\r\n * const dead = client.timers.isPlayerDead(player);\r\n * const remaining = client.timers.getAbilityCooldownRemaining(ability);\r\n * ```\r\n */\r\n public readonly timers: BoundIngameTimerUtils;\r\n\r\n // -- REST API ---------------------------------------------------------------\r\n\r\n /**\r\n * Typed REST API client for all backend HTTP endpoints.\r\n *\r\n * Provides access to game, match, season, in-game, pre-game, and\r\n * game-state API groups:\r\n *\r\n * ```ts\r\n * const game = await client.api.game.getCurrent();\r\n * const match = await client.api.match.getCurrent();\r\n * await client.api.ingame.enable();\r\n * ```\r\n */\r\n public readonly api: RestApi;\r\n\r\n // -- In-game event handlers -------------------------------------------------\r\n private stateUpdateHandlers: Set<(state: ingameFrontendData) => void> =\r\n new Set();\r\n private gameStatusHandlers: Set<\r\n (status: GameState, isTestingEnv: boolean) => void\r\n > = new Set();\r\n private ingameEventHandlers: {\r\n onPlayerEvent: Set<(event: playerUpdateEvent) => void>;\r\n onTeamEvent: Set<(event: teamUpdateResults) => void>;\r\n onObjectiveEvent: Set<(event: ingameObjectiveEvent) => void>;\r\n onFirstTowerEvent: Set<(teamId: Team) => void>;\r\n onAnnouncementEvent: Set<(event: announcerEvent) => void>;\r\n onKillFeedEvent: Set<(event: killFeedEvent) => void>;\r\n onSmiteReactionEvent: Set<(event: smiteReactionResult) => void>;\r\n } = {\r\n onPlayerEvent: new Set(),\r\n onTeamEvent: new Set(),\r\n onObjectiveEvent: new Set(),\r\n onFirstTowerEvent: new Set(),\r\n onAnnouncementEvent: new Set(),\r\n onKillFeedEvent: new Set(),\r\n onSmiteReactionEvent: new Set(),\r\n };\r\n\r\n // -- Pre-game event handlers ------------------------------------------------\r\n private champSelectUpdateHandlers: Set<\r\n (state: champSelectStateData) => void\r\n > = new Set();\r\n private champSelectEventHandlers: {\r\n onAction: Set<(action: pickBanActionEventArgs) => void>;\r\n onChampSelectStart: Set<() => void>;\r\n onChampSelectEnd: Set<() => void>;\r\n onRouteUpdate: Set<(uri: string) => void>;\r\n } = {\r\n onAction: new Set(),\r\n onChampSelectStart: new Set(),\r\n onChampSelectEnd: new Set(),\r\n onRouteUpdate: new Set(),\r\n };\r\n\r\n constructor(config: LeagueBroadcastClientConfig) {\r\n this.config = {\r\n host: config.host,\r\n port: config.port ?? 58869,\r\n ingameWsRoute: config.ingameWsRoute ?? \"/ws/in\",\r\n preGameWsRoute: config.preGameWsRoute ?? \"/ws/pre\",\r\n apiRoute: config.apiRoute ?? \"/api\",\r\n cacheRoute: config.cacheRoute ?? \"/cache\",\r\n useHttps: config.useHttps ?? false,\r\n autoConnect: config.autoConnect ?? true,\r\n overlayHealth: config.overlayHealth ?? true,\r\n };\r\n\r\n // REST API\r\n const httpProtocol = this.config.useHttps ? \"https\" : \"http\";\r\n const apiBaseUrl = `${httpProtocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;\r\n this.api = new RestApi(apiBaseUrl);\r\n\r\n // Timer utilities bound to current game time, normalized by elapsed time since snapshot creation\r\n this.timers = createIngameTimerUtils(() => this.gameData.gameTime);\r\n\r\n // Ingame\r\n this.ingameWs = new WebSocketManager();\r\n this.gameData = new ingameFrontendData();\r\n this.ingameStore = new GameStateStore(this.gameData, this.gameState);\r\n this.setupIngameMessageHandler();\r\n this.ingameWs.onDisconnect(() => this.endGame());\r\n\r\n // Pre-game\r\n this.preGameWs = new WebSocketManager();\r\n this.champSelectData = new champSelectStateData();\r\n this.preGameStore = new ChampSelectStateStore(this.champSelectData);\r\n this.setupPreGameMessageHandler();\r\n this.preGameWs.onDisconnect(() => this.endChampSelect());\r\n\r\n if (this.config.autoConnect) {\r\n this.connect();\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Internal clock management\r\n // ===========================================================================\r\n\r\n private _startClock() {\r\n if (_clockInterval !== null) return;\r\n _clockInterval = setInterval(() => {\r\n if (\r\n this.gameState === GameState.Running ||\r\n this.gameState === GameState.Mocking\r\n ) {\r\n this.gameData.gameTime += this.gameData.playbackSpeed ?? 1;\r\n // Notify handlers of the updated gameTime\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n this.ingameStore._setGameData(this.gameData);\r\n }\r\n }, 1000);\r\n }\r\n\r\n private _stopClock() {\r\n if (_clockInterval !== null) {\r\n clearInterval(_clockInterval);\r\n _clockInterval = null;\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Connection management\r\n // ===========================================================================\r\n\r\n /**\r\n * Connect to both in-game and pre-game WebSocket endpoints.\r\n *\r\n * Both connections are attempted in parallel. If either fails the returned\r\n * promise rejects, but the other connection may still succeed.\r\n */\r\n async connect(): Promise<void> {\r\n this.startOverlayHealthIfEnabled();\r\n\r\n const protocol = this.config.useHttps ? \"wss\" : \"ws\";\r\n const base = `${protocol}://${this.config.host}:${this.config.port}`;\r\n\r\n const ingameUrl = `${base}${this.config.ingameWsRoute}`;\r\n const preGameUrl = `${base}${this.config.preGameWsRoute}`;\r\n\r\n const results = await Promise.allSettled([\r\n this.ingameWs.connect(ingameUrl),\r\n this.preGameWs.connect(preGameUrl),\r\n ]);\r\n\r\n const failures = results.filter((r) => r.status === \"rejected\");\r\n if (failures.length > 0) {\r\n const reasons = (failures as PromiseRejectedResult[]).map(\r\n (r) => r.reason,\r\n );\r\n console.error(\r\n \"[LeagueBroadcastClient] One or more connections failed:\",\r\n reasons,\r\n );\r\n throw reasons[0];\r\n }\r\n }\r\n\r\n /**\r\n * Disconnect from both WebSocket endpoints.\r\n */\r\n disconnect(): void {\r\n this.ingameWs.disconnect();\r\n this.preGameWs.disconnect();\r\n this._overlayHealth?.stop();\r\n this._overlayHealth = null;\r\n }\r\n\r\n /**\r\n * Starts passive frontend-health monitoring once, unless disabled via the\r\n * `overlayHealth` config. Guarded so it never throws into the client.\r\n */\r\n private startOverlayHealthIfEnabled(): void {\r\n if (this._overlayHealth) return;\r\n\r\n const setting = this.config.overlayHealth;\r\n if (setting === false) return;\r\n const opts = typeof setting === \"object\" ? setting : {};\r\n if (opts.enabled === false) return;\r\n\r\n try {\r\n this._overlayHealth = startOverlayHealth({\r\n source: { kind: \"sdk\", name: opts.name },\r\n host: this.config.host,\r\n port: this.config.port,\r\n useHttps: this.config.useHttps,\r\n });\r\n } catch {\r\n // Frontend-health monitoring must never break the client.\r\n }\r\n }\r\n\r\n /**\r\n * Whether the in-game WebSocket is connected.\r\n */\r\n isIngameConnected(): boolean {\r\n return this.ingameWs.isConnected();\r\n }\r\n\r\n /**\r\n * Whether the pre-game WebSocket is connected.\r\n */\r\n isPreGameConnected(): boolean {\r\n return this.preGameWs.isConnected();\r\n }\r\n\r\n // ===========================================================================\r\n // In-game data access\r\n // ===========================================================================\r\n\r\n /** Get the current in-game data. */\r\n getIngameData(): ingameFrontendData {\r\n return this.gameData;\r\n }\r\n\r\n /** Get the current game state. */\r\n getIngameState(): GameState {\r\n return this.gameState;\r\n }\r\n\r\n /** Whether the backend is in a testing / replay environment. */\r\n isInTestingEnvironment(): boolean {\r\n return this._isTestingEnvironment;\r\n }\r\n\r\n // ===========================================================================\r\n // Pre-game data access\r\n // ===========================================================================\r\n\r\n /** Get the current champion-select state. */\r\n getChampSelectData(): champSelectStateData {\r\n return this.champSelectData;\r\n }\r\n\r\n /** Whether champion select is currently active. */\r\n isChampSelectActive(): boolean {\r\n return this.champSelectData.isActive;\r\n }\r\n\r\n // ===========================================================================\r\n // In-game event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for in-game state updates. */\r\n onIngameStateUpdate(\r\n handler: (state: ingameFrontendData) => void,\r\n ): () => void {\r\n this.stateUpdateHandlers.add(handler);\r\n return () => this.stateUpdateHandlers.delete(handler);\r\n }\r\n\r\n /** Register a handler for in-game status changes (running, paused, out of game). */\r\n onIngameStatusChange(\r\n handler: (status: GameState, isTestingEnv: boolean) => void,\r\n ): () => void {\r\n this.gameStatusHandlers.add(handler);\r\n return () => this.gameStatusHandlers.delete(handler);\r\n }\r\n\r\n /** Register handlers for in-game events (kills, objectives, etc.). Returns an unsubscribe function. */\r\n onIngameEvents(handlers: IngameEventHandlers): () => void {\r\n const entries = Object.entries(handlers) as [\r\n keyof IngameEventHandlers,\r\n NonNullable<IngameEventHandlers[keyof IngameEventHandlers]>,\r\n ][];\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.ingameEventHandlers[key] as Set<typeof handler>).add(handler);\r\n }\r\n }\r\n return () => {\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.ingameEventHandlers[key] as Set<typeof handler>).delete(\r\n handler,\r\n );\r\n }\r\n }\r\n };\r\n }\r\n\r\n // ===========================================================================\r\n // Pre-game event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for champ-select state updates. */\r\n onChampSelectUpdate(\r\n handler: (state: champSelectStateData) => void,\r\n ): () => void {\r\n this.champSelectUpdateHandlers.add(handler);\r\n return () => this.champSelectUpdateHandlers.delete(handler);\r\n }\r\n\r\n /** Register handlers for champ-select lifecycle and action events. Returns an unsubscribe function. */\r\n onChampSelectEvents(handlers: ChampSelectEventHandlers): () => void {\r\n const entries = Object.entries(handlers) as [\r\n keyof ChampSelectEventHandlers,\r\n NonNullable<ChampSelectEventHandlers[keyof ChampSelectEventHandlers]>,\r\n ][];\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.champSelectEventHandlers[key] as Set<typeof handler>).add(\r\n handler,\r\n );\r\n }\r\n }\r\n return () => {\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.champSelectEventHandlers[key] as Set<typeof handler>).delete(\r\n handler,\r\n );\r\n }\r\n }\r\n };\r\n }\r\n\r\n // ===========================================================================\r\n // Connection event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for in-game connection. */\r\n onIngameConnect(handler: () => void): () => void {\r\n return this.ingameWs.onConnect(handler);\r\n }\r\n\r\n /** Register a handler for in-game disconnection. */\r\n onIngameDisconnect(handler: () => void): () => void {\r\n return this.ingameWs.onDisconnect(handler);\r\n }\r\n\r\n /** Register a handler for in-game connection errors. */\r\n onIngameError(handler: (error: Event) => void): () => void {\r\n return this.ingameWs.onError(handler);\r\n }\r\n\r\n /** Register a handler for pre-game connection. */\r\n onPreGameConnect(handler: () => void): () => void {\r\n return this.preGameWs.onConnect(handler);\r\n }\r\n\r\n /** Register a handler for pre-game disconnection. */\r\n onPreGameDisconnect(handler: () => void): () => void {\r\n return this.preGameWs.onDisconnect(handler);\r\n }\r\n\r\n /** Register a handler for pre-game connection errors. */\r\n onPreGameError(handler: (error: Event) => void): () => void {\r\n return this.preGameWs.onError(handler);\r\n }\r\n\r\n // ===========================================================================\r\n // Reactive API — in-game (convenience wrappers around this.store)\r\n // ===========================================================================\r\n\r\n /**\r\n * Create a subscribable slice of **in-game** state.\r\n * The slice only notifies listeners when the selected value actually changes.\r\n *\r\n * Works directly with React 18+ `useSyncExternalStore`:\r\n * ```tsx\r\n * const kills = client.selectIngame(s => s.gameData.scoreboard?.teams[0]?.kills);\r\n * function Kills() {\r\n * const value = useSyncExternalStore(kills.subscribe, kills.getSnapshot);\r\n * return <span>{value}</span>;\r\n * }\r\n * ```\r\n */\r\n selectIngame<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n equalityFn?: EqualityFn<S>,\r\n ): Subscribable<S> {\r\n return this.ingameStore.select(selector, equalityFn);\r\n }\r\n\r\n /**\r\n * Watch a derived **in-game** value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n *\r\n * ```ts\r\n * client.watchIngame(\r\n * s => s.gameData.scoreboard?.teams[0]?.kills,\r\n * (kills, prev) => console.log(`Kills: ${prev} → ${kills}`),\r\n * );\r\n * ```\r\n */\r\n watchIngame<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn?: EqualityFn<S>,\r\n ): () => void {\r\n return this.ingameStore.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ===========================================================================\r\n // Reactive API — pre-game (convenience wrappers around this.preGameStore)\r\n // ===========================================================================\r\n\r\n /**\r\n * Create a subscribable slice of **pre-game** (champion select) state.\r\n *\r\n * ```tsx\r\n * const timer = client.selectChampSelect(s => s.champSelectData.timer);\r\n * function DraftTimer() {\r\n * const value = useSyncExternalStore(timer.subscribe, timer.getSnapshot);\r\n * return <span>{value?.timeRemaining}</span>;\r\n * }\r\n * ```\r\n */\r\n selectChampSelect<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n equalityFn?: EqualityFn<S>,\r\n ): Subscribable<S> {\r\n return this.preGameStore.select(selector, equalityFn);\r\n }\r\n\r\n /**\r\n * Watch a derived **pre-game** value and invoke `callback` whenever it\r\n * changes. Returns an unsubscribe function.\r\n *\r\n * ```ts\r\n * client.watchChampSelect(\r\n * s => s.champSelectData.timer.timeRemaining,\r\n * (remaining, prev) => console.log(`Time: ${prev} → ${remaining}`),\r\n * );\r\n * ```\r\n */\r\n watchChampSelect<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn?: EqualityFn<S>,\r\n ): () => void {\r\n return this.preGameStore.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ===========================================================================\r\n // URLs\r\n // ===========================================================================\r\n\r\n /** Get the base HTTP URL for API requests. */\r\n getApiUrl(): string {\r\n const protocol = this.config.useHttps ? \"https\" : \"http\";\r\n return `${protocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;\r\n }\r\n\r\n /** Get the base URL for cache requests (optionally resolve a path). */\r\n getCacheUrl(path?: string, preventCacheBust: boolean = false): string {\r\n const protocol = this.config.useHttps ? \"https\" : \"http\";\r\n const baseUrl = `${protocol}://${this.config.host}:${this.config.port}${this.config.cacheRoute}`;\r\n\r\n if (!path) {\r\n return baseUrl;\r\n }\r\n\r\n // Clean up the path\r\n let cleanPath = path;\r\n if (cleanPath.startsWith(\"http\")) {\r\n return cleanPath;\r\n }\r\n if (cleanPath.startsWith(\"/\")) {\r\n cleanPath = cleanPath.slice(1);\r\n }\r\n if (cleanPath.startsWith(\"cache\")) {\r\n cleanPath = cleanPath.slice(5);\r\n }\r\n if (cleanPath.startsWith(\"/\")) {\r\n cleanPath = cleanPath.slice(1);\r\n }\r\n\r\n if (preventCacheBust) {\r\n const cacheBust = `cb=${Date.now()}`;\r\n cleanPath = cleanPath.includes(\"?\")\r\n ? `${cleanPath}&${cacheBust}`\r\n : `${cleanPath}?${cacheBust}`;\r\n }\r\n\r\n return `${baseUrl}/${cleanPath}`;\r\n }\r\n\r\n // ===========================================================================\r\n // Private — in-game message handling\r\n // ===========================================================================\r\n\r\n private setupIngameMessageHandler(): void {\r\n this.ingameWs.onMessage((messageData: any) => {\r\n switch (messageData.type) {\r\n case \"ingame-state-update\":\r\n this.handleStateUpdate(messageData.state, messageData.events);\r\n break;\r\n case \"gameStatus\":\r\n this.handleGameStatusUpdate(\r\n messageData.gameState,\r\n messageData.isTestingEnvironment,\r\n );\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private handleStateUpdate(state: any, events?: transitionEvents): void {\r\n const nextData: ingameFrontendData = {\r\n gameTime: 0,\r\n playbackSpeed: 0,\r\n gameVersion: \"\",\r\n gameStatus: GameState.OutOfGame,\r\n ...state,\r\n };\r\n\r\n // Adjust gameTime for the time elapsed since the snapshot was captured\r\n // (network + processing latency). utcTime is the lb-side\r\n // UTC millisecond timestamp at snapshot time; Date.now() is the client's\r\n // current UTC milliseconds. The difference is the age of the snapshot.\r\n const snapshotAge =\r\n state.utcTime != null\r\n ? Math.max(0, (Date.now() - state.utcTime) / 1000)\r\n : 0;\r\n const correctedGameTime =\r\n (state.gameTime ?? 0) + snapshotAge * (state.playbackSpeed ?? 1);\r\n // Sync gameTime: snap on large drift (e.g. pause/resume), otherwise let\r\n // the internal clock tick smoothly between backend updates.\r\n if (Math.abs(correctedGameTime - (this.gameData.gameTime ?? 0)) > 2) {\r\n nextData.gameTime = correctedGameTime;\r\n } else {\r\n nextData.gameTime = this.gameData.gameTime ?? 0;\r\n }\r\n\r\n this.gameData = structuralShare(this.gameData, nextData);\r\n\r\n if (!state.gameTime || state.gameTime === 0) {\r\n this.handleGameStatusUpdate(GameState.OutOfGame, false);\r\n }\r\n\r\n // Start or stop the single client-level clock\r\n const shouldRun =\r\n state.gameStatus === GameState.Running ||\r\n state.gameStatus === GameState.Mocking;\r\n if (shouldRun) {\r\n this._startClock();\r\n } else {\r\n this._stopClock();\r\n }\r\n\r\n this.ingameStore._setGameData(this.gameData);\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n this.handleGameEvents(events);\r\n }\r\n\r\n private handleGameStatusUpdate(\r\n gameStatus: GameState,\r\n isTestingEnvironment: boolean = false,\r\n ): void {\r\n this._isTestingEnvironment = isTestingEnvironment;\r\n\r\n if (\r\n gameStatus === GameState.OutOfGame &&\r\n this.gameState !== GameState.OutOfGame\r\n ) {\r\n this.endGame();\r\n return;\r\n }\r\n\r\n this.gameState = gameStatus;\r\n\r\n // Manage the clock based on game status\r\n const shouldRun =\r\n gameStatus === GameState.Running || gameStatus === GameState.Mocking;\r\n if (shouldRun) {\r\n this._startClock();\r\n } else {\r\n this._stopClock();\r\n }\r\n\r\n this.ingameStore._setGameState(gameStatus);\r\n this.gameStatusHandlers.forEach((handler) =>\r\n handler(gameStatus, isTestingEnvironment),\r\n );\r\n }\r\n\r\n private handleGameEvents(events?: transitionEvents): void {\r\n if (!events) return;\r\n\r\n if (events.player) {\r\n events.player.forEach((event) =>\r\n this.ingameEventHandlers.onPlayerEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.team) {\r\n events.team.forEach((event) =>\r\n this.ingameEventHandlers.onTeamEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.objective) {\r\n events.objective.forEach((event) =>\r\n this.ingameEventHandlers.onObjectiveEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.firstTower !== undefined) {\r\n this.ingameEventHandlers.onFirstTowerEvent.forEach((h) =>\r\n h(events.firstTower!),\r\n );\r\n }\r\n\r\n if (events.announcements) {\r\n events.announcements.forEach((event) =>\r\n this.ingameEventHandlers.onAnnouncementEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.killFeed) {\r\n events.killFeed.forEach((event) =>\r\n this.ingameEventHandlers.onKillFeedEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.smiteReaction !== undefined) {\r\n this.ingameEventHandlers.onSmiteReactionEvent.forEach((h) =>\r\n h(events.smiteReaction!),\r\n );\r\n }\r\n }\r\n\r\n private endGame(): void {\r\n console.log(\"[LeagueBroadcastClient] Game ended, resetting data\");\r\n\r\n this._stopClock();\r\n\r\n this.gameData = new ingameFrontendData();\r\n this.gameState = GameState.OutOfGame;\r\n this._isTestingEnvironment = false;\r\n\r\n this.ingameStore._reset(this.gameData, GameState.OutOfGame);\r\n\r\n this.gameStatusHandlers.forEach((handler) =>\r\n handler(GameState.OutOfGame, false),\r\n );\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n }\r\n\r\n // ===========================================================================\r\n // Private — pre-game message handling\r\n // ===========================================================================\r\n\r\n private setupPreGameMessageHandler(): void {\r\n this.preGameWs.onMessage((messageData: any) => {\r\n switch (messageData.type) {\r\n case \"champion-select-state-update\":\r\n this.handleChampSelectStateUpdate(messageData.state);\r\n break;\r\n case \"champion-select-action\":\r\n this.handleChampSelectAction(messageData.action);\r\n break;\r\n case \"frontend-route-update\":\r\n this.handleRouteUpdate(messageData.uri);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private handleChampSelectStateUpdate(state: any): void {\r\n const nextData: champSelectStateData = {\r\n isActive: false,\r\n isConnected: false,\r\n isTestingEnvironment: false,\r\n blueTeam: {} as any,\r\n redTeam: {} as any,\r\n metaData: {} as any,\r\n timer: {} as any,\r\n ...state,\r\n };\r\n\r\n this.champSelectData = structuralShare(this.champSelectData, nextData);\r\n\r\n // Detect champ select start / end transitions\r\n if (nextData.isActive && !this.champSelectWasActive) {\r\n this.champSelectWasActive = true;\r\n this.champSelectEventHandlers.onChampSelectStart.forEach((h) => h());\r\n } else if (!nextData.isActive && this.champSelectWasActive) {\r\n this.champSelectWasActive = false;\r\n this.endChampSelect();\r\n return; // endChampSelect handles notifications\r\n }\r\n\r\n this.preGameStore._setChampSelectData(this.champSelectData);\r\n this.champSelectUpdateHandlers.forEach((handler) =>\r\n handler(this.champSelectData),\r\n );\r\n }\r\n\r\n private handleChampSelectAction(action: any): void {\r\n this.champSelectEventHandlers.onAction.forEach((h) =>\r\n h(action as pickBanActionEventArgs),\r\n );\r\n }\r\n\r\n private handleRouteUpdate(uri: string): void {\r\n this.champSelectEventHandlers.onRouteUpdate.forEach((h) => h(uri));\r\n }\r\n\r\n private endChampSelect(): void {\r\n console.log(\"[LeagueBroadcastClient] Champ select ended, resetting data\");\r\n\r\n this.champSelectData = new champSelectStateData();\r\n this.preGameStore._reset(this.champSelectData);\r\n\r\n this.champSelectEventHandlers.onChampSelectEnd.forEach((h) => h());\r\n this.champSelectUpdateHandlers.forEach((handler) =>\r\n handler(this.champSelectData),\r\n );\r\n }\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeDetectionResponse {\r\n hasChanges: boolean = false;\r\n localHash?: string;\r\n cloudHash?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudStyleSetDownloadResponse {\r\n downloadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n metadata: cloudStyleSetMetadata = {} as cloudStyleSetMetadata;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetMetadata {\r\n id: string = \"\";\r\n name: string = \"\";\r\n phase: string = \"\";\r\n lastModified: Date = new Date();\r\n createdAt: Date = new Date();\r\n size: number = 0;\r\n contentHash?: string;\r\n variantCount: number = 0;\r\n assetCount: number = 0;\r\n isSyncedLocally: boolean = false;\r\n hasLocalChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudStyleSetsResponse {\r\n styleSets: cloudStyleSetMetadata[] = [];\r\n totalStorageUsed: number = 0;\r\n maxTotalStorage: number = 0;\r\n maxFileSize: number = 0;\r\n maxStyleSets: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetUploadRequest {\r\n existingCloudId?: string;\r\n name: string = \"\";\r\n phase: string = \"\";\r\n contentHash: string = \"\";\r\n size: number = 0;\r\n variantCount: number = 0;\r\n assetCount: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetUploadResponse {\r\n id: string = \"\";\r\n uploadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { localSyncState } from \"./localSyncState\";\r\n\r\nexport class cloudSyncConfig {\r\n syncedStyleSets: localSyncState[] = [];\r\n syncOnLaunch: boolean = false;\r\n autoUploadChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudSyncResult {\r\n success: boolean = false;\r\n errorMessage?: string;\r\n metadata?: cloudStyleSetMetadata;\r\n styleSetsSynced: number = 0;\r\n warnings: string[] = [];\r\n stubbed: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SetPhaseType {\r\n Pre = 0,\r\n In = 1,\r\n Post = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { SetPhaseType } from \"../shared/style/set/setPhaseType\";\r\n\r\nexport class localSyncState {\r\n cloudId: string = \"\";\r\n localName: string = \"\";\r\n phase: SetPhaseType = SetPhaseType.Pre;\r\n lastSyncedHash?: string;\r\n lastSyncedAt?: Date;\r\n autoSync: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudOverlayMetadata } from \"./cloudOverlayMetadata\";\r\n\r\nexport class cloudOverlayDownloadResponse {\r\n downloadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n metadata: cloudOverlayMetadata = {} as cloudOverlayMetadata;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayMetadata {\r\n id: string = \"\";\r\n name: string = \"\";\r\n phase?: string;\r\n lastModified: Date = new Date();\r\n createdAt: Date = new Date();\r\n size: number = 0;\r\n contentHash?: string;\r\n fileCount: number = 0;\r\n isSyncedLocally: boolean = false;\r\n hasLocalChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudOverlayMetadata } from \"./cloudOverlayMetadata\";\r\n\r\nexport class cloudOverlaysResponse {\r\n overlays: cloudOverlayMetadata[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayUploadRequest {\r\n existingCloudId?: string;\r\n name: string = \"\";\r\n phase?: string;\r\n contentHash: string = \"\";\r\n size: number = 0;\r\n fileCount: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayUploadResponse {\r\n id: string = \"\";\r\n uploadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleChampionDetailHotkeyConfigDto } from \"./singleChampionDetailHotkeyConfigDto\";\r\nimport { singleIngameHotkeyConfigDto } from \"./singleIngameHotkeyConfigDto\";\r\nimport { singlePostgameHotkeyConfigDto } from \"./singlePostgameHotkeyConfigDto\";\r\n\r\nexport class casterModeConfigDto {\r\n ingame?: singleIngameHotkeyConfigDto[];\r\n postgame?: singlePostgameHotkeyConfigDto[];\r\n championDetail?: singleChampionDetailHotkeyConfigDto[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Lane {\r\n Top = 0,\r\n Jungle = 1,\r\n Mid = 2,\r\n ADC = 3,\r\n Support = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Lane } from \"./lane\";\r\nimport { Team } from \"../shared/style/team\";\r\n\r\nexport class playerHotkeyDto {\r\n team?: Team;\r\n role?: Lane;\r\n}\r\n","/**\n * This is an auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport class singleChampionDetailHotkeyConfigDto {\n playerIndex: number = 0;\n hotkey?: string;\n hotkeyCode?: string;\n hotkeyModifiers?: string[];\n}\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"../shared/style/set/feature\";\r\nimport { playerHotkeyDto } from \"./playerHotkeyDto\";\r\nimport { Team } from \"../shared/style/team\";\r\n\r\nexport class singleIngameHotkeyConfigDto {\r\n minFeature?: Feature;\r\n buttonId: string = \"\";\r\n name: string = \"\";\r\n hotkey?: string;\r\n hotkeyCode?: string;\r\n hotkeyModifiers?: string[];\r\n overlayName: string = \"\";\r\n timePeriod: number = 0;\r\n team?: Team;\r\n players?: playerHotkeyDto[];\r\n backgroundColor: string = \"\";\r\n hasSettings: boolean = false;\r\n allowSinglePlayers: boolean = false;\r\n allowTimePeriod: boolean = false;\r\n customSettings?: { [key: string]: any };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"../shared/style/set/feature\";\r\nimport { Team } from \"../shared/style/team\";\r\n\r\nexport class singlePostgameHotkeyConfigDto {\r\n minFeature?: Feature;\r\n id: number = 0;\r\n name: string = \"\";\r\n componentName: string = \"\";\r\n hotkey?: string;\r\n hotkeyCode?: string;\r\n hotkeyModifiers?: string[];\r\n backgroundColor: string = \"\";\r\n team?: Team;\r\n playerIndex?: number;\r\n allowPlayers: boolean = false;\r\n allowTeams: boolean = false;\r\n allowStats: boolean = false;\r\n selectedStats?: string[];\r\n requiresCompletedGame: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SpellSlotIndex {\r\n Q = 0,\r\n W = 1,\r\n E = 2,\r\n R = 3,\r\n D = 4,\r\n F = 5,\r\n Item1 = 6,\r\n Item2 = 7,\r\n Item3 = 8,\r\n Item4 = 9,\r\n Item5 = 10,\r\n Item6 = 11,\r\n ItemTrinket = 12,\r\n Recall = 13,\r\n Quest = 14,\r\n Passive = 63\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championAbilityData } from \"../shared/championAbilityData\";\r\nimport { SpellSlotIndex } from \"./spellSlotIndex\";\r\n\r\nexport class ingameAbilityInfo {\r\n identifier: string = \"\";\r\n displayName: string = \"\";\r\n slot: SpellSlotIndex = SpellSlotIndex.Q;\r\n totalCooldown: number = 0;\r\n readyAt: number = 0;\r\n level: number = 0;\r\n charges: number = 0;\r\n assets?: championAbilityData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameObjectivePowerPlay {\r\n gold: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n timeStart: number = 0;\r\n timeEnd: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ObjectiveRecapDisplayMode } from \"./damageRecap/objectiveRecapDisplayMode\";\r\nimport { playerHotkeyDto } from \"../hotkey/playerHotkeyDto\";\r\nimport { Team } from \"../shared/style/team\";\r\n\r\nexport class ingameStateSettingsWrapper {\r\n timePeriod?: number;\r\n show: boolean = false;\r\n team?: Team;\r\n players?: playerHotkeyDto[];\r\n overlaysToDisable: number[] = [];\r\n customSettings: { [key: string]: any } = {};\r\n selectedDamageEventId?: number;\r\n displayMode?: ObjectiveRecapDisplayMode;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class itemWithAsset {\r\n id: number = 0;\r\n slot: number = 0;\r\n displayName: string = \"\";\r\n assetUrl: string = \"\";\r\n modifierUrl?: string;\r\n cost: number = 0;\r\n count: number = 0;\r\n combineCost: number = 0;\r\n stats?: number[];\r\n readyAt?: number;\r\n maxCooldown?: number;\r\n stacks: number = 0;\r\n charges: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { teamMember } from \"../../shared/teamMember\";\r\n\r\nexport class announcementParameter {\r\n champion?: simpleChampionData;\r\n member?: teamMember;\r\n asset?: string;\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AnnouncementType {\r\n Unknown = 0,\r\n Kill = 1,\r\n FirstBlood = 2,\r\n FirstBrick = 3,\r\n DoubleKill = 4,\r\n TripleKill = 5,\r\n QuadraKill = 6,\r\n PentaKill = 7,\r\n Ace = 8,\r\n BaronKill = 9,\r\n DragonKill = 10,\r\n HeraldKill = 11,\r\n GrubKill = 12,\r\n InhibitorKill = 13,\r\n TowerKill = 14,\r\n BaronSpawn = 15,\r\n DragonSpawn = 16,\r\n HeraldSpawn = 17,\r\n GrubSpawn = 18,\r\n InhibitorSpawn = 19,\r\n TowerSpawn = 20,\r\n BaronSteal = 21,\r\n DragonSteal = 22,\r\n HeraldSteal = 23,\r\n GrubSteal = 24,\r\n Dragon_Rift_Air = 25,\r\n Dragon_Rift_Earth = 26,\r\n Dragon_Rift_Fire = 27,\r\n Dragon_Rift_Water = 28,\r\n Dragon_Rift_Hextech = 29,\r\n Dragon_Rift_Chemtech = 30,\r\n GameStart = 31,\r\n MinionSpawn = 32\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcementParameter } from \"./announcementParameter\";\r\nimport { AnnouncementType } from \"./announcementType\";\r\n\r\nexport class announcerEvent {\r\n source?: announcementParameter;\r\n target?: announcementParameter;\r\n type: AnnouncementType = AnnouncementType.Unknown;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageCompositionPlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n physical: number = 0;\r\n magic: number = 0;\r\n trueDamage: number = 0;\r\n total: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageCompositionPlayer } from \"./damageCompositionPlayer\";\r\n\r\nexport class damageCompositionTeam {\r\n team: number = 0;\r\n physical: number = 0;\r\n magic: number = 0;\r\n trueDamage: number = 0;\r\n total: number = 0;\r\n players: damageCompositionPlayer[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageCompositionTeam } from \"./damageCompositionTeam\";\r\n\r\nexport class ingameDamageCompositionData {\r\n teams: damageCompositionTeam[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageEventType {\r\n PlayerDeath = 0,\r\n ObjectiveKill = 1,\r\n TeamfightEnd = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageEventType } from \"./damageEventType\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageEventHistoryEntry {\r\n id: number = 0;\r\n eventType: DamageEventType = DamageEventType.PlayerDeath;\r\n gameTime: number = 0;\r\n victimChampion?: simpleChampionData;\r\n victimName: string = \"\";\r\n killerChampion?: simpleChampionData;\r\n killerName: string = \"\";\r\n totalDamage: number = 0;\r\n victimTeam?: number;\r\n teamfightStartTime?: number;\r\n teamfightEndTime?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class damageFlowEdge {\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n targetName: string = \"\";\r\n targetDisplayName: string = \"\";\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageFlowNode {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team?: number;\r\n totalDamageDealt: number = 0;\r\n totalDamageReceived: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageFlowEdge } from \"./damageFlowEdge\";\r\nimport { damageFlowNode } from \"./damageFlowNode\";\r\n\r\nexport class ingameDamageFlowData {\r\n nodes: damageFlowNode[] = [];\r\n edges: damageFlowEdge[] = [];\r\n startTime?: number;\r\n endTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameAbilityInfo } from \"../ingameAbilityInfo\";\r\nimport { ingameExperienceData } from \"../tab/ingameExperienceData\";\r\nimport { ingameHealthData } from \"../tab/ingameHealthData\";\r\nimport { ingameResourceData } from \"../tab/ingameResourceData\";\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageGraphEntry {\r\n champion?: simpleChampionData;\r\n abilities?: ingameAbilityInfo[];\r\n activeItems?: itemWithAsset[];\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team?: number;\r\n damageByType: { [key: string]: number } = {};\r\n totalDamageDealt: number = 0;\r\n respawnAt?: number;\r\n level?: number;\r\n health?: ingameHealthData;\r\n resource?: ingameResourceData;\r\n experience?: ingameExperienceData;\r\n role: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageGraphEntry } from \"./damageGraphEntry\";\r\n\r\nexport class ingameDamageGraphData {\r\n damageDealt: damageGraphEntry[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapSpellEntry } from \"./damageRecapSpellEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageRecapEntry {\r\n source?: simpleChampionData;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n team?: number;\r\n spells: damageRecapSpellEntry[] = [];\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageType {\r\n Physical = 0,\r\n Magic = 1,\r\n True = 2,\r\n Invalid = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"./damageType\";\r\nimport type { iSpellObjectResource } from \"./iSpellObjectResource\";\r\n\r\nexport class damageRecapSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"./damageType\";\r\n\r\nexport class damageRecapTimelineEntry {\r\n gameTime: number = 0;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n spellKey?: string;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n targetHealthBefore: number = 0;\r\n targetHealthAfter: number = 0;\r\n isSmite: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectiveRecapDisplayMode {\r\n None = 0,\r\n ObjectiveInfo = 1,\r\n DamageRecap = 2,\r\n All = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapEntry } from \"./damageRecapEntry\";\r\nimport { damageRecapTimelineEntry } from \"./damageRecapTimelineEntry\";\r\nimport { ObjectiveRecapDisplayMode } from \"./objectiveRecapDisplayMode\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\nimport type { iSpellObjectResource } from \"./iSpellObjectResource\";\r\n\r\nexport class ingameDamageRecapData {\r\n victim?: simpleChampionData;\r\n victimName: string = \"\";\r\n victimDisplayName: string = \"\";\r\n deathTime: number = 0;\r\n entries: damageRecapEntry[] = [];\r\n totalDamageReceived: number = 0;\r\n timeline?: damageRecapTimelineEntry[];\r\n sourceLookup?: { [key: string]: simpleChampionData };\r\n spellLookup?: { [key: string]: iSpellObjectResource };\r\n smiteReaction?: smiteReactionResult;\r\n dragonType?: string;\r\n displayMode: ObjectiveRecapDisplayMode = ObjectiveRecapDisplayMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageSplitMode {\r\n Detail = 0,\r\n Flow = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"../damageRecap/damageType\";\r\nimport type { iSpellObjectResource } from \"../damageRecap/iSpellObjectResource\";\r\n\r\nexport class damageSplitSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageSplitSpellEntry } from \"./damageSplitSpellEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageSplitTargetEntry {\r\n target?: simpleChampionData;\r\n targetName: string = \"\";\r\n targetDisplayName: string = \"\";\r\n team?: number;\r\n spells: damageSplitSpellEntry[] = [];\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageSplitMode } from \"./damageSplitMode\";\r\nimport { damageSplitTargetEntry } from \"./damageSplitTargetEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameDamageSplitData {\r\n mode: DamageSplitMode = DamageSplitMode.Detail;\r\n source?: simpleChampionData;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n targets: damageSplitTargetEntry[] = [];\r\n totalDamageDealt: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameObjectiveEvent {\r\n objective: string = \"\";\r\n eventType: string = \"\";\r\n killer?: string;\r\n assisters?: string[];\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class killFeedEvent {\r\n ingameTeamId: number = 0;\r\n killer?: simpleChampionData;\r\n victim: simpleChampionData = {} as simpleChampionData;\r\n assisters?: simpleChampionData[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectiveEventType {\r\n Spawn = 0,\r\n Kill = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\n\r\nexport class playerUpdateEvent {\r\n playerNameAndTagLine: string = \"\";\r\n guid: string = \"\";\r\n boughtItems?: itemWithAsset[];\r\n soldOrConsumedItems?: itemWithAsset[];\r\n levelUp?: number[];\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamUpdateResults {\r\n teamId: number = 0;\r\n platesTaken: number = 0;\r\n turretsTaken: number = 0;\r\n inhibitorsTaken: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcerEvent } from \"../announcer/announcerEvent\";\r\nimport { ingameObjectiveEvent } from \"./ingameObjectiveEvent\";\r\nimport { killFeedEvent } from \"./killFeedEvent\";\r\nimport { playerUpdateEvent } from \"./playerUpdateEvent\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\nimport { teamUpdateResults } from \"./teamUpdateResults\";\r\n\r\nexport class transitionEvents {\r\n player?: playerUpdateEvent[];\r\n team?: teamUpdateResults[];\r\n objective?: ingameObjectiveEvent[];\r\n firstTower?: number;\r\n announcements?: announcerEvent[];\r\n killFeed?: killFeedEvent[];\r\n smiteReaction?: smiteReactionResult;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamData } from \"../../shared/teamData\";\r\n\r\nexport class turretPlatingFallEvent {\r\n team: teamData = {} as teamData;\r\n platingGold: number = 0;\r\n platings: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class goldEfficiencyEntry {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: number = 0;\r\n goldSpent: number = 0;\r\n damageDealt: number = 0;\r\n efficiency: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n role: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { goldEfficiencyEntry } from \"./goldEfficiencyEntry\";\r\n\r\nexport class ingameGoldEfficiencyData {\r\n players: goldEfficiencyEntry[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleGameGoldGraphData } from \"./singleGameGoldGraphData\";\r\n\r\nexport class ingameGoldGraphData {\r\n current: singleGameGoldGraphData = {} as singleGameGoldGraphData;\r\n previousGames?: singleGameGoldGraphData[];\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class singleGameGoldGraphData {\r\n goldAtTime: { [key: number]: { [key: number]: number } } = {};\r\n winner?: number;\r\n teams: { [key: number]: string } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum IngameObjectiveType {\r\n GRUB = 0,\r\n HERALD = 1,\r\n BARON = 4,\r\n DRAGON_WATER = 5,\r\n DRAGON_AIR = 6,\r\n DRAGON_EARTH = 7,\r\n DRAGON_FIRE = 8,\r\n DRAGON_HEXTECH = 9,\r\n DRAGON_CHEMTECH = 10,\r\n DRAGON_ELDER = 11,\r\n INHIBITOR_L0 = 12,\r\n INHIBITOR_L1 = 13,\r\n INHIBITOR_L2 = 14,\r\n UNDEFINED = 32767\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CampLocation } from \"../objective/campLocation\";\r\nimport { IngameObjectiveType } from \"../objective/ingameObjectiveType\";\r\n\r\nexport class inhibitorRespawnData {\r\n type: IngameObjectiveType = IngameObjectiveType.GRUB;\r\n timeDestroy: number = 0;\r\n timeAlive?: number;\r\n mapSide?: CampLocation;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport type { iObjectiveRespawnData } from \"../objective/iObjectiveRespawnData\";\r\n\r\nexport class teamInhibitorData {\r\n team: string = \"\";\r\n teamid: number = 0;\r\n side: number = 0;\r\n inhibitors: { [key: string]: iObjectiveRespawnData } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { killParticipationLink } from \"./killParticipationLink\";\r\nimport { killParticipationPlayer } from \"./killParticipationPlayer\";\r\n\r\nexport class ingameKillParticipationData {\r\n players: killParticipationPlayer[] = [];\r\n links: killParticipationLink[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killParticipationLink {\r\n killerName: string = \"\";\r\n killerDisplayName: string = \"\";\r\n assisterName: string = \"\";\r\n assisterDisplayName: string = \"\";\r\n count: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class killParticipationPlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CampLocation {\r\n DragonPit = 2,\r\n BaronPit = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { objectiveDpsSample } from \"./objectiveDpsSample\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\n\r\nexport class ingameObjectiveDpsData {\r\n objectiveName: string = \"\";\r\n startTime: number = 0;\r\n endTime: number = 0;\r\n maxHealth: number = 0;\r\n samples: objectiveDpsSample[] = [];\r\n smiteReaction?: smiteReactionResult;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class objectiveDpsSample {\r\n gameTime: number = 0;\r\n blueDamage: number = 0;\r\n redDamage: number = 0;\r\n remainingHealth: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSingleRuneData } from \"./ingameSingleRuneData\";\r\n\r\nexport class ingameRuneData {\r\n runes: ingameSingleRuneData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cDragonPerkInfo } from \"../../shared/cDragonPerkInfo\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSingleRuneData {\r\n champion?: simpleChampionData;\r\n perks: cDragonPerkInfo[] = [];\r\n name: string = \"\";\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameScoreboardBottomTeamData } from \"./ingameScoreboardBottomTeamData\";\r\n\r\nexport class ingameScoreboardBottomData {\r\n gameTime: number = 0;\r\n teams: ingameScoreboardBottomTeamData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameScoreboardBottomPlayerData {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName?: string;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n level: number = 0;\r\n gold: number = 0;\r\n totalGold: number = 0;\r\n creepScore: number = 0;\r\n visionScore: number = 0;\r\n shutdown: number = 0;\r\n respawnAt?: number;\r\n items?: itemWithAsset[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameScoreboardBottomPlayerData } from \"./ingameScoreboardBottomPlayerData\";\r\n\r\nexport class ingameScoreboardBottomTeamData {\r\n id: string = \"\";\r\n name: string = \"\";\r\n tag: string = \"\";\r\n players: ingameScoreboardBottomPlayerData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSkinDisplayTeamData } from \"./ingameSkinDisplayTeamData\";\r\n\r\nexport class ingameSkinDisplayData {\r\n teams: ingameSkinDisplayTeamData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSkinDisplayPlayerData {\r\n name: string = \"\";\r\n playerName: string = \"\";\r\n displayName: string = \"\";\r\n champion?: simpleChampionData;\r\n skinName: string = \"\";\r\n splashCenteredUrl: string = \"\";\r\n splashUrl: string = \"\";\r\n loadingUrl: string = \"\";\r\n tileUrl: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSkinDisplayPlayerData } from \"./ingameSkinDisplayPlayerData\";\r\n\r\nexport class ingameSkinDisplayTeamData {\r\n team: number = 0;\r\n players: ingameSkinDisplayPlayerData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class smiteReactionResult {\r\n junglerChampion?: simpleChampionData;\r\n junglerName: string = \"\";\r\n junglerDisplayName: string = \"\";\r\n junglerTeam: number = 0;\r\n smiteDamage: number = 0;\r\n thresholdReachedTime: number = 0;\r\n healthAtThreshold: number = 0;\r\n smiteLandedTime: number = 0;\r\n healthBeforeSmite: number = 0;\r\n reactionTimeSeconds: number = 0;\r\n wasKillingBlow: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../shared/style/borderStyle\";\r\n\r\nexport class timerBarStyle {\r\n gap: string = \"\";\r\n height: string = \"\";\r\n width: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class announcerColors {\r\n source: string = \"\";\r\n target: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcerColors } from \"./announcerColors\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class announcerUniversalStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n redTeamColors: announcerColors = {} as announcerColors;\r\n blueTeamColors: announcerColors = {} as announcerColors;\r\n defaultColors: announcerColors = {} as announcerColors;\r\n useAdd: boolean = false;\r\n doubleEventAdVersion: number = 0;\r\n scale: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championImage {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n borderColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class creepScore {\r\n textWithBorder: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { playerScoreboardSlot } from \"./playerScoreboardSlot\";\r\n\r\nexport class fullPlayerScoreboardSlots {\r\n playerScoreboardSlotLeft: playerScoreboardSlot = {} as playerScoreboardSlot;\r\n playerScoreboardSlotRight: playerScoreboardSlot = {} as playerScoreboardSlot;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemSlot {\r\n cooldownBgColor: string | colorStyle = \"\";\r\n cooldownTimerColor: string | colorStyle = \"\";\r\n visionScoreText: textStyle = {} as textStyle;\r\n visionScoreTextSmall: textStyle = {} as textStyle;\r\n visionStackText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerKDA {\r\n shutdown: textStyle = {} as textStyle;\r\n lowShutdown: textStyle = {} as textStyle;\r\n kda: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { fullPlayerScoreboardSlots } from \"./fullPlayerScoreboardSlots\";\r\nimport { playerScoreboardContainer } from \"./playerScoreboardContainer\";\r\nimport { playerScoreboardGoldComparison } from \"./playerScoreboardGoldComparison\";\r\n\r\nexport class playerScoreboard {\r\n fullPlayerScoreboardSlots: fullPlayerScoreboardSlots = {} as fullPlayerScoreboardSlots;\r\n playerScoreboardGoldComparison: playerScoreboardGoldComparison = {} as playerScoreboardGoldComparison;\r\n playerScoreboardContainer: playerScoreboardContainer = {} as playerScoreboardContainer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class playerScoreboardContainer {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n backgroundColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerScoreboardGoldComparison {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n neutralLeadingColor: string | colorStyle = \"\";\r\n leftLeadingColor: string | colorStyle = \"\";\r\n rightLeadingColor: string | colorStyle = \"\";\r\n showTriangle: boolean = false;\r\n showBottomRect: boolean = false;\r\n recolorTriangleBasedOnLeadingTeam: boolean = false;\r\n recolorBottomRectBasedOnLeadingTeam: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemSlot } from \"./itemSlot\";\r\nimport { playerKDA } from \"./playerKDA\";\r\nimport { roleQuestSlot } from \"./roleQuestSlot\";\r\nimport { scoreboardChampionSlot } from \"./scoreboardChampionSlot\";\r\n\r\nexport class playerScoreboardSlot {\r\n scoreboardChampionSlot: scoreboardChampionSlot = {} as scoreboardChampionSlot;\r\n itemSlot: itemSlot = {} as itemSlot;\r\n roleQuest: roleQuestSlot = {} as roleQuestSlot;\r\n playerKDA: playerKDA = {} as playerKDA;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class respawnTimer {\r\n textWithBorder: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class roleQuestSlot {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championImage } from \"./championImage\";\r\nimport { creepScore } from \"./creepScore\";\r\nimport { respawnTimer } from \"./respawnTimer\";\r\n\r\nexport class scoreboardChampionSlot {\r\n creepScore: creepScore = {} as creepScore;\r\n respawnTimer: respawnTimer = {} as respawnTimer;\r\n championImage: championImage = {} as championImage;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageCompositionBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageCompositionColors {\r\n physical: string | colorStyle = \"\";\r\n magic: string | colorStyle = \"\";\r\n true: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageCompositionDonutStyle {\r\n size: string = \"\";\r\n showPercentages: boolean = false;\r\n centerValueText: textStyle = {} as textStyle;\r\n centerLabelText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionBarStyle } from \"./damageCompositionBarStyle\";\r\nimport { damageCompositionColors } from \"./damageCompositionColors\";\r\nimport { damageCompositionDonutStyle } from \"./damageCompositionDonutStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageCompositionStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n headerText: textStyle = {} as textStyle;\r\n headerBackground: string | colorStyle = \"\";\r\n headerTitle: string = \"\";\r\n colors: damageCompositionColors = {} as damageCompositionColors;\r\n playerTotalText: textStyle = {} as textStyle;\r\n legendText: textStyle = {} as textStyle;\r\n playerBar: damageCompositionBarStyle = {} as damageCompositionBarStyle;\r\n championIcon: imageStyle = {} as imageStyle;\r\n border: borderStyle = {} as borderStyle;\r\n donutChart: damageCompositionDonutStyle = {} as damageCompositionDonutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageFlowNodeStyle } from \"./damageFlowNodeStyle\";\r\nimport { damageFlowRibbonStyle } from \"./damageFlowRibbonStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageFlow {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n headerText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n playerDamageText: textStyle = {} as textStyle;\r\n blueNode: damageFlowNodeStyle = {} as damageFlowNodeStyle;\r\n redNode: damageFlowNodeStyle = {} as damageFlowNodeStyle;\r\n ribbon: damageFlowRibbonStyle = {} as damageFlowRibbonStyle;\r\n nodeSize: string = \"\";\r\n nodeGap: string = \"\";\r\n cycleDurationMs: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageFlowNodeStyle {\r\n border: borderStyle = {} as borderStyle;\r\n fallbackBackground: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class damageFlowRibbonStyle {\r\n sourceOpacity: string = \"\";\r\n targetOpacity: string = \"\";\r\n strokeOpacity: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class colorByDamageType {\r\n magicFill?: string | colorStyle = \"\";\r\n physicalFill?: string | colorStyle = \"\";\r\n trueFill?: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorByDamageType } from \"./colorByDamageType\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageBarStyle {\r\n minWidth: string = \"\";\r\n height: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n fill?: string | colorStyle = \"\";\r\n fillByDamageType?: colorByDamageType;\r\n useFillByDamageType: boolean = false;\r\n damageDealt: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { damageBarStyle } from \"./damageBarStyle\";\r\n\r\nexport class damageGraphSide {\r\n championIcons: championIconStyle = {} as championIconStyle;\r\n bar: damageBarStyle = {} as damageBarStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageGraphSide } from \"./damageGraphSide\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textWithContent } from \"./textWithContent\";\r\n\r\nexport class scoreboardDamageGraphStyle {\r\n fileVersion: string = \"1.0\";\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n leftTeam: damageGraphSide = {} as damageGraphSide;\r\n rightTeam: damageGraphSide = {} as damageGraphSide;\r\n title: textWithContent = {} as textWithContent;\r\n titleLayout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class textWithContent {\r\n text: textStyle = {} as textStyle;\r\n content: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageRecapDamageBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapDamageBarStyle } from \"./damageRecapDamageBarStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageRecapEntryStyle {\r\n nameText: textStyle = {} as textStyle;\r\n damageText: textStyle = {} as textStyle;\r\n icon: imageStyle = {} as imageStyle;\r\n damageBar: damageRecapDamageBarStyle = {} as damageRecapDamageBarStyle;\r\n gap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionColors } from \"../damageComposition/damageCompositionColors\";\r\nimport { damageRecapEntryStyle } from \"./damageRecapEntryStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageRecapStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n accentColor: string | colorStyle = \"\";\r\n playerNameText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n totalDamageText: textStyle = {} as textStyle;\r\n entry: damageRecapEntryStyle = {} as damageRecapEntryStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n damageTypeColors: damageCompositionColors = {} as damageCompositionColors;\r\n paginate: boolean = false;\r\n pageDurationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageSplitBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageSplitBarStyle } from \"./damageSplitBarStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageSplitEntryStyle {\r\n nameText: textStyle = {} as textStyle;\r\n damageText: textStyle = {} as textStyle;\r\n icon: imageStyle = {} as imageStyle;\r\n damageBar: damageSplitBarStyle = {} as damageSplitBarStyle;\r\n gap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionColors } from \"../damageComposition/damageCompositionColors\";\r\nimport { damageSplitEntryStyle } from \"./damageSplitEntryStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageSplitStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n accentColor: string | colorStyle = \"\";\r\n playerNameText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n totalDamageText: textStyle = {} as textStyle;\r\n entry: damageSplitEntryStyle = {} as damageSplitEntryStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n damageTypeColors: damageCompositionColors = {} as damageCompositionColors;\r\n paginate: boolean = false;\r\n pageDurationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textContentWithStyle } from \"./textContentWithStyle\";\r\nimport { transitionStyle } from \"../lframe/transitionStyle\";\r\n\r\nexport class gameInfoRotation {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n secondsPerEntry: number = 0;\r\n position: globalPosition = {} as globalPosition;\r\n transition: transitionStyle = {} as transitionStyle;\r\n contentWithStyle: textContentWithStyle[] = [];\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class textContentWithStyle {\r\n style: textStyle = {} as textStyle;\r\n content: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldEfficiencyHeaderStyle {\r\n background: string | colorStyle = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n height: string = \"\";\r\n titleContent: string = \"\";\r\n subtitleContent: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class goldEfficiencyHeatStyle {\r\n lowColor: string = \"\";\r\n midColor: string = \"\";\r\n highColor: string = \"\";\r\n lowBreak: number = 0;\r\n highBreak: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldEfficiencyPlayerRowStyle {\r\n damageText: textStyle = {} as textStyle;\r\n goldText: textStyle = {} as textStyle;\r\n infoText: textStyle = {} as textStyle;\r\n scoreText: textStyle = {} as textStyle;\r\n accentStripWidth: string = \"\";\r\n minHeight: string = \"\";\r\n damageLabel: string = \"\";\r\n goldLabel: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { goldEfficiencyHeaderStyle } from \"./goldEfficiencyHeaderStyle\";\r\nimport { goldEfficiencyHeatStyle } from \"./goldEfficiencyHeatStyle\";\r\nimport { goldEfficiencyPlayerRowStyle } from \"./goldEfficiencyPlayerRowStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class goldEfficiencyStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n header: goldEfficiencyHeaderStyle = {} as goldEfficiencyHeaderStyle;\r\n playerRow: goldEfficiencyPlayerRowStyle = {} as goldEfficiencyPlayerRowStyle;\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n heat: goldEfficiencyHeatStyle = {} as goldEfficiencyHeatStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championIamgeStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championImageStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageDealtStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class healthBarStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n foreground: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { playerXpLevelStyle } from \"./playerXpLevelStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class levelXpTrackerStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n playerXpLevelStyle: playerXpLevelStyle = {} as playerXpLevelStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class numberContainerStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIamgeStyle } from \"./championIamgeStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { numberContainerStyle } from \"./numberContainerStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerXpLevelStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n bar: layoutStyle = {} as layoutStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n championImage: championIamgeStyle = {} as championIamgeStyle;\r\n numberContainer: numberContainerStyle = {} as numberContainerStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeDisplayTeamStyle } from \"../rune/runeDisplayTeamStyle\";\r\n\r\nexport class runeDisplayStyle {\r\n redTeamStyle: runeDisplayTeamStyle = {} as runeDisplayTeamStyle;\r\n blueTeamStyle: runeDisplayTeamStyle = {} as runeDisplayTeamStyle;\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n middleLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIamgeStyle } from \"./championIamgeStyle\";\r\nimport { damageDealtStyle } from \"./damageDealtStyle\";\r\nimport { healthBarStyle } from \"./healthBarStyle\";\r\nimport { ultiAbilityStyle } from \"./ultiAbilityStyle\";\r\n\r\nexport class teamfightDamageEntryStyle {\r\n ultiStyle: ultiAbilityStyle = {} as ultiAbilityStyle;\r\n healthBarStyle: healthBarStyle = {} as healthBarStyle;\r\n championImageStyle: championIamgeStyle = {} as championIamgeStyle;\r\n damageDealtStyle: damageDealtStyle = {} as damageDealtStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamfightDamageEntryStyle } from \"./teamfightDamageEntryStyle\";\r\n\r\nexport class teamFightDamageStyle {\r\n position: globalPosition = {} as globalPosition;\r\n logo: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n redTeam: teamfightDamageEntryStyle = {} as teamfightDamageEntryStyle;\r\n blueTeam: teamfightDamageEntryStyle = {} as teamfightDamageEntryStyle;\r\n itemGap: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class ultiAbilityStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { gridLineStyle } from \"./gridLineStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { lineStyle } from \"./lineStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class goldGraph {\r\n position: globalPosition = {} as globalPosition;\r\n yAxis: textStyle = {} as textStyle;\r\n xAxis: textStyle = {} as textStyle;\r\n title: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n gridLine: gridLineStyle = {} as gridLineStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n leftLine: lineStyle = {} as lineStyle;\r\n rightLine: lineStyle = {} as lineStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\n\r\nexport class gridLineStyle {\r\n lineWidth: string = \"\";\r\n lineColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\n\r\nexport class lineStyle {\r\n lineColor: string | colorStyle = \"\";\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class inhibitorTimer {\r\n fileVersion: string = \"1.0\";\r\n leftColor: string | colorStyle = \"\";\r\n rightColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class inhibitorTimerContainer {\r\n inhibitorTimerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { inhibitorTimerContainer } from \"./inhibitorTimerContainer\";\r\nimport { inhibitorTimerTimerContainer } from \"./inhibitorTimerTimerContainer\";\r\n\r\nexport class inhibitorTimerDual {\r\n fileVersion: string = \"1.0\";\r\n inhibitorTimerDualContainer: inhibitorTimerContainer = {} as inhibitorTimerContainer;\r\n inhibitorTimerTimerContainer: inhibitorTimerTimerContainer = {} as inhibitorTimerTimerContainer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class inhibitorTimerIconContainer {\r\n imageSize: string = \"\";\r\n titleText: string = \"\";\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n textStyling: textStyle = {} as textStyle;\r\n showIcon: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { inhibitorTimerContainer } from \"./inhibitorTimerContainer\";\r\nimport { inhibitorTimerIconContainer } from \"./inhibitorTimerIconContainer\";\r\nimport { inhibitorTimerTimerContainer } from \"./inhibitorTimerTimerContainer\";\r\n\r\nexport class inhibitorTimerSingle {\r\n fileVersion: string = \"1.0\";\r\n inhibitorTimerSingleContainer: inhibitorTimerContainer = {} as inhibitorTimerContainer;\r\n inhibitorTimerIconContainer: inhibitorTimerIconContainer = {} as inhibitorTimerIconContainer;\r\n inhibitorTimerTimerContainer: inhibitorTimerTimerContainer = {} as inhibitorTimerTimerContainer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\nimport { timerBarStyle } from \"../timerBarStyle\";\r\n\r\nexport class inhibitorTimerTimerContainer {\r\n inhibitorTimerBar: timerBarStyle = {} as timerBarStyle;\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n textStyling: textStyle = {} as textStyle;\r\n gap: string = \"\";\r\n showText: boolean = false;\r\n showLane: boolean = false;\r\n showBar: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { killFeedContainerStyle } from \"./killFeedContainerStyle\";\r\nimport { killFeedEntryStyle } from \"./killFeedEntryStyle\";\r\n\r\nexport class killFeed {\r\n fileVersion: string = \"1.0\";\r\n container: killFeedContainerStyle = {} as killFeedContainerStyle;\r\n entry: killFeedEntryStyle = {} as killFeedEntryStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ContentAlign {\r\n TopLeft = 0,\r\n TopCenter = 1,\r\n TopRight = 2,\r\n MiddleLeft = 3,\r\n MiddleCenter = 4,\r\n MiddleRight = 5,\r\n BottomLeft = 6,\r\n BottomCenter = 7,\r\n BottomRight = 8\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"../../../shared/style/contentAlign\";\r\n\r\nexport class killFeedAssistersStyle {\r\n gap: string = \"\";\r\n align: ContentAlign = ContentAlign.TopLeft;\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"../../../shared/style/contentAlign\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\n\r\nexport class killFeedContainerStyle {\r\n itemAlign: ContentAlign = ContentAlign.TopLeft;\r\n position: globalPosition = {} as globalPosition;\r\n gap: string = \"\";\r\n maxEventDurationInMs: number = 0;\r\n maxEventsToShow: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { killFeedAssistersStyle } from \"./killFeedAssistersStyle\";\r\nimport { killFeedIconStyle } from \"./killFeedIconStyle\";\r\nimport { killFeedKillIconStyle } from \"./killFeedKillIconStyle\";\r\n\r\nexport class killFeedEntryStyle {\r\n fixedWidth: boolean = false;\r\n background: string | colorStyle = \"\";\r\n useSideColorBackground: boolean = false;\r\n useCustomBackground: boolean = false;\r\n customBackground?: colorStyle[];\r\n backgroundBySide?: colorStyle[];\r\n killer: killFeedIconStyle = {} as killFeedIconStyle;\r\n icon: killFeedKillIconStyle = {} as killFeedKillIconStyle;\r\n victim: killFeedIconStyle = {} as killFeedIconStyle;\r\n assisters: killFeedAssistersStyle = {} as killFeedAssistersStyle;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killFeedIconStyle {\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killFeedKillIconStyle {\r\n source: string = \"\";\r\n recolorToKillerTeamColor: boolean = false;\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class killParticipationStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n titleLabel: string = \"\";\r\n titlePadding: string = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n pctText: textStyle = {} as textStyle;\r\n kdaText: textStyle = {} as textStyle;\r\n dividerColor: string | colorStyle = \"\";\r\n dividerWidth: string = \"\";\r\n showBestDuo: boolean = false;\r\n bestDuoLabel: string = \"\";\r\n bestDuoText: textStyle = {} as textStyle;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n championIcon: imageStyle = {} as imageStyle;\r\n championAspectRatio: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { transitionStyle } from \"./transitionStyle\";\r\n\r\nexport class lFrameRotation {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n secondsPerSponsor: number = 0;\r\n position: globalPosition = {} as globalPosition;\r\n transition: transitionStyle = {} as transitionStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TransitionType {\r\n Cut = 0,\r\n Fade = 1,\r\n Slide = 2,\r\n Zoom = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { TransitionType } from \"./transitionType\";\r\n\r\nexport class transitionStyle {\r\n type: TransitionType = TransitionType.Cut;\r\n duration: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { objectiveDpsBarStyle } from \"./objectiveDpsBarStyle\";\r\nimport { objectiveDpsHeaderStyle } from \"./objectiveDpsHeaderStyle\";\r\nimport { objectiveDpsSmiteStrip } from \"./objectiveDpsSmiteStrip\";\r\nimport { objectiveDpsTeamNumbersStyle } from \"./objectiveDpsTeamNumbersStyle\";\r\n\r\nexport class objectiveDamagePerTeamStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n header: objectiveDpsHeaderStyle = {} as objectiveDpsHeaderStyle;\r\n teamNumbers: objectiveDpsTeamNumbersStyle = {} as objectiveDpsTeamNumbersStyle;\r\n progressBar: objectiveDpsBarStyle = {} as objectiveDpsBarStyle;\r\n smiteStrip: objectiveDpsSmiteStrip = {} as objectiveDpsSmiteStrip;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsBarStyle {\r\n height: string = \"\";\r\n borderRadius: string = \"\";\r\n trackBackground: string | colorStyle = \"\";\r\n percentageText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsHeaderStyle {\r\n labelText: textStyle = {} as textStyle;\r\n titleText: textStyle = {} as textStyle;\r\n badgeText: textStyle = {} as textStyle;\r\n securedBadgeColor: string | colorStyle = \"\";\r\n contestedBadgeColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsSmiteStrip {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n nameText: textStyle = {} as textStyle;\r\n smiteLabelText: textStyle = {} as textStyle;\r\n statusText: textStyle = {} as textStyle;\r\n reactionTimeText: textStyle = {} as textStyle;\r\n reactionLabelText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsTeamNumbersStyle {\r\n teamLabelText: textStyle = {} as textStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n vsText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapCardStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n damageTypeText: textStyle = {} as textStyle;\r\n timeText: textStyle = {} as textStyle;\r\n sourceIcon: imageStyle = {} as imageStyle;\r\n spellIcon: imageStyle = {} as imageStyle;\r\n smiteCardBackground: string | colorStyle = \"\";\r\n smiteCardBorder: borderStyle = {} as borderStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapHeaderStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n titleText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapSmiteBarStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n labelText: textStyle = {} as textStyle;\r\n statusText: textStyle = {} as textStyle;\r\n reactionValueText: textStyle = {} as textStyle;\r\n reactionLabelText: textStyle = {} as textStyle;\r\n junglerIcon: imageStyle = {} as imageStyle;\r\n reactionBadgeBorder: borderStyle = {} as borderStyle;\r\n smiteAccentColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { objectiveRecapCardStyle } from \"./objectiveRecapCardStyle\";\r\nimport { objectiveRecapHeaderStyle } from \"./objectiveRecapHeaderStyle\";\r\nimport { objectiveRecapSmiteBarStyle } from \"./objectiveRecapSmiteBarStyle\";\r\n\r\nexport class objectiveRecapStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: objectiveRecapHeaderStyle = {} as objectiveRecapHeaderStyle;\r\n card: objectiveRecapCardStyle = {} as objectiveRecapCardStyle;\r\n smiteBar: objectiveRecapSmiteBarStyle = {} as objectiveRecapSmiteBarStyle;\r\n cardGap: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class runeDisplayPerkStyle {\r\n background: string | colorStyle = \"\";\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeDisplayPerkStyle } from \"./runeDisplayPerkStyle\";\r\n\r\nexport class runeDisplayTeamStyle {\r\n championImageLayout: layoutStyle = {} as layoutStyle;\r\n firstPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n secondPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n thirdPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n topPerkStyle: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class skinDisplayInfoStyle {\r\n playerNameText: textStyle = {} as textStyle;\r\n skinNameText: textStyle = {} as textStyle;\r\n padding: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class skinDisplayPoweredByStyle {\r\n show: boolean = false;\r\n background: string | colorStyle = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class skinDisplayRoleIconStyle {\r\n baseSize: string = \"\";\r\n largerRoleScale: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { skinDisplayInfoStyle } from \"./skinDisplayInfoStyle\";\r\nimport { skinDisplayPoweredByStyle } from \"./skinDisplayPoweredByStyle\";\r\nimport { skinDisplayRoleIconStyle } from \"./skinDisplayRoleIconStyle\";\r\n\r\nexport class skinDisplayStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n overlay: string | colorStyle = \"\";\r\n info: skinDisplayInfoStyle = {} as skinDisplayInfoStyle;\r\n roleIcon: skinDisplayRoleIconStyle = {} as skinDisplayRoleIconStyle;\r\n poweredBy: skinDisplayPoweredByStyle = {} as skinDisplayPoweredByStyle;\r\n width: string = \"\";\r\n rotationIntervalMs: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionBadgeStyle {\r\n badgeText: textStyle = {} as textStyle;\r\n borderRadius: string = \"\";\r\n greatColor: string | colorStyle = \"\";\r\n averageColor: string | colorStyle = \"\";\r\n slowColor: string | colorStyle = \"\";\r\n earlyColor: string | colorStyle = \"\";\r\n securedColor: string | colorStyle = \"\";\r\n missedColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionPoweredByStyle {\r\n show: boolean = false;\r\n text: textStyle = {} as textStyle;\r\n logoHeight: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\n\r\nexport class smiteReactionRingStyle {\r\n size: string = \"\";\r\n thickness: string = \"\";\r\n trackColor: string | colorStyle = \"\";\r\n portraitImage: imageStyle = {} as imageStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { smiteReactionBadgeStyle } from \"./smiteReactionBadgeStyle\";\r\nimport { smiteReactionPoweredByStyle } from \"./smiteReactionPoweredByStyle\";\r\nimport { smiteReactionRingStyle } from \"./smiteReactionRingStyle\";\r\nimport { smiteReactionTextStyle } from \"./smiteReactionTextStyle\";\r\n\r\nexport class smiteReactionStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n ring: smiteReactionRingStyle = {} as smiteReactionRingStyle;\r\n texts: smiteReactionTextStyle = {} as smiteReactionTextStyle;\r\n badges: smiteReactionBadgeStyle = {} as smiteReactionBadgeStyle;\r\n poweredBy: smiteReactionPoweredByStyle = {} as smiteReactionPoweredByStyle;\r\n durationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionTextStyle {\r\n titleText: textStyle = {} as textStyle;\r\n reactionTimeText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { spawnTimerIconContainerStyle } from \"./spawnTimerIconContainerStyle\";\r\nimport { spawnTimerInfoContainerStyle } from \"./spawnTimerInfoContainerStyle\";\r\n\r\nexport class spawnTimer {\r\n mirror: boolean = false;\r\n spawnTimerIconContainerStyle: spawnTimerIconContainerStyle = {} as spawnTimerIconContainerStyle;\r\n spawnTimerInfoContainerStyle: spawnTimerInfoContainerStyle = {} as spawnTimerInfoContainerStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\n\r\nexport class spawnTimerIconContainerStyle {\r\n icon: imageStyle = {} as imageStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class spawnTimerInfoContainerStyle {\r\n infoContainerLayoutStyling: layoutStyle = {} as layoutStyle;\r\n infoContainerTextStyling: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { spawnTimer } from \"./spawnTimer\";\r\n\r\nexport class spawnTimerStyle {\r\n baron?: spawnTimer;\r\n dragon?: spawnTimer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championStackStyle {\r\n textStyling: textStyle = {} as textStyle;\r\n textColorOutline: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { progressBarStyle } from \"./progressBarStyle\";\r\n\r\nexport class championStatusStyle {\r\n resourceBar: { [key: string]: progressBarStyle } = {};\r\n healthBar: progressBarStyle = {} as progressBarStyle;\r\n xpBar: progressBarStyle = {} as progressBarStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championTabContainerStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n gap: string = \"\";\r\n xDirection: string = \"\";\r\n yDirection: string = \"\";\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n shadowBaron: string | colorStyle = \"\";\r\n shadowDragon: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championTabNameStyle {\r\n textStyling: textStyle = {} as textStyle;\r\n nameTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championStackStyle } from \"./championStackStyle\";\r\nimport { championStatusStyle } from \"./championStatusStyle\";\r\nimport { championTabContainerStyle } from \"./championTabContainerStyle\";\r\nimport { championTabNameStyle } from \"./championTabNameStyle\";\r\nimport { championUltimateStyle } from \"./championUltimateStyle\";\r\nimport { tabLevelUpStyle } from \"./tabLevelUpStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championTabsStyle {\r\n championTabName: championTabNameStyle = {} as championTabNameStyle;\r\n championStack: championStackStyle = {} as championStackStyle;\r\n championUlti: championUltimateStyle = {} as championUltimateStyle;\r\n championRespawnTimer: textStyle = {} as textStyle;\r\n championLevel: textStyle = {} as textStyle;\r\n championStatus: championStatusStyle = {} as championStatusStyle;\r\n fullChampionTabContainer: championTabContainerStyle = {} as championTabContainerStyle;\r\n levelUpStyle?: tabLevelUpStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championUltimateStyle {\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class progressBarStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class tabLevelUpStyle {\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n animationDuration: number = 0;\r\n showOnlyMajorLevelUps: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championTabsStyle } from \"./championTabsStyle\";\r\n\r\nexport class tabsStyle {\r\n championTabLeft: championTabsStyle = {} as championTabsStyle;\r\n championTabRight: championTabsStyle = {} as championTabsStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class teamfightDeathIconStyle {\r\n source: string = \"\";\r\n width: string = \"\";\r\n height: string = \"\";\r\n color: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamfightDeathIconStyle } from \"./teamfightDeathIconStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamfightTimelineStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n headerBackground: string | colorStyle = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n timeText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n killFeedBackground: string | colorStyle = \"\";\r\n killFeedTimeText: textStyle = {} as textStyle;\r\n chartGridColor: string | colorStyle = \"\";\r\n tabText: textStyle = {} as textStyle;\r\n tabActiveBackground: string | colorStyle = \"\";\r\n tabInactiveBackground: string | colorStyle = \"\";\r\n overviewLabel: string = \"\";\r\n timelineLabel: string = \"\";\r\n deathIcon: teamfightDeathIconStyle = {} as teamfightDeathIconStyle;\r\n chartLegendText: textStyle = {} as textStyle;\r\n chartAxisText: textStyle = {} as textStyle;\r\n chartStatsText: textStyle = {} as textStyle;\r\n overviewDurationMs: number = 0;\r\n timelineDurationMs: number = 0;\r\n killsPerPage: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class gameTimer {\r\n timerText: textStyle = {} as textStyle;\r\n timerContainerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameTimer } from \"./gameTimer\";\r\nimport { globalScoreboardSection } from \"./globalScoreboardSection\";\r\nimport { objectiveTimer } from \"./objectiveTimer\";\r\nimport { tournamentLogo } from \"./tournamentLogo\";\r\n\r\nexport class globalScoreboard {\r\n tournamentLogo: tournamentLogo = {} as tournamentLogo;\r\n leftTeamSection: globalScoreboardSection = {} as globalScoreboardSection;\r\n rightTeamSection: globalScoreboardSection = {} as globalScoreboardSection;\r\n dragonPit: objectiveTimer = {} as objectiveTimer;\r\n baronPit: objectiveTimer = {} as objectiveTimer;\r\n gameTimer: gameTimer = {} as gameTimer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class globalScoreboardBooleanIndicator {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n activeColor: string | colorStyle = \"\";\r\n inactiveColor: string | colorStyle = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalScoreboardBooleanIndicator } from \"./globalScoreboardBooleanIndicator\";\r\nimport { objectiveList } from \"./objectiveList\";\r\nimport { teamIconStyle } from \"./teamIconStyle\";\r\nimport { teamInfo } from \"./teamInfo\";\r\nimport { teamScores } from \"./teamScores\";\r\n\r\nexport class globalScoreboardSection {\r\n teaminfo: teamInfo = {} as teamInfo;\r\n teamIcon: teamIconStyle = {} as teamIconStyle;\r\n teamScores: teamScores = {} as teamScores;\r\n objectiveList: objectiveList = {} as objectiveList;\r\n booleanIndicator: globalScoreboardBooleanIndicator = {} as globalScoreboardBooleanIndicator;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldAdvantage {\r\n text: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveList {\r\n objectiveListLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveTimer {\r\n timerText: textStyle = {} as textStyle;\r\n goldText: textStyle = {} as textStyle;\r\n timerContainerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class teamIconStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { optionalTextStyle } from \"../../../shared/style/optionalTextStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamInfo {\r\n textContainerLayout: layoutStyle = {} as layoutStyle;\r\n teamName: textStyle = {} as textStyle;\r\n teamInfoText: optionalTextStyle = {} as optionalTextStyle;\r\n background: string | colorStyle = \"\";\r\n seasonScore: optionalTextStyle = {} as optionalTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { goldAdvantage } from \"./goldAdvantage\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamScores {\r\n goldText: textStyle = {} as textStyle;\r\n goldAdvantage: goldAdvantage = {} as goldAdvantage;\r\n killsText: textStyle = {} as textStyle;\r\n towerText: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class tournamentLogo {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class headline {\r\n headlineText: textStyle = {} as textStyle;\r\n text: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class optionBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n backgroundBar: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class optionTitel {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class optionVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class totalBadge {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n text: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { headline } from \"./headline\";\r\nimport { optionBar } from \"./optionBar\";\r\nimport { optionTitel } from \"./optionTitel\";\r\nimport { optionVotes } from \"./optionVotes\";\r\nimport { totalBadge } from \"./totalBadge\";\r\nimport { voteWrapper } from \"./voteWrapper\";\r\n\r\nexport class twitchChatVote {\r\n position: globalPosition = {} as globalPosition;\r\n voteWrapper: voteWrapper = {} as voteWrapper;\r\n headline: headline = {} as headline;\r\n totalBadge: totalBadge = {} as totalBadge;\r\n optionTitel: optionTitel = {} as optionTitel;\r\n optionVotes: optionVotes = {} as optionVotes;\r\n optionBar: optionBar = {} as optionBar;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class voteWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class choiceBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n backgroundBar: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class choiceTitel {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class choiceVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class pollWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class timerBadgePoll {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class totalVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { choiceBar } from \"./choiceBar\";\r\nimport { choiceTitel } from \"./choiceTitel\";\r\nimport { choiceVotes } from \"./choiceVotes\";\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { pollWrapper } from \"./pollWrapper\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\nimport { timerBadgePoll } from \"./timerBadgePoll\";\r\nimport { totalVotes } from \"./totalVotes\";\r\n\r\nexport class twitchPoll {\r\n position: globalPosition = {} as globalPosition;\r\n pollWrapper: pollWrapper = {} as pollWrapper;\r\n headline: textStyle = {} as textStyle;\r\n timerBadge: timerBadgePoll = {} as timerBadgePoll;\r\n choiceTitel: choiceTitel = {} as choiceTitel;\r\n choiceVotes: choiceVotes = {} as choiceVotes;\r\n choiceBar: choiceBar = {} as choiceBar;\r\n totalVotes: totalVotes = {} as totalVotes;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class barStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { barStyle } from \"./barStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class predictionBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n winner: barStyle = {} as barStyle;\r\n loser: barStyle = {} as barStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class predictionPoints {\r\n layout: layoutStyle = {} as layoutStyle;\r\n winnerText: textStyle = {} as textStyle;\r\n loserText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class predictionWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class timerBadgePrediction {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n timerTextColorEnding: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { predictionBar } from \"./predictionBar\";\r\nimport { predictionPoints } from \"./predictionPoints\";\r\nimport { predictionWrapper } from \"./predictionWrapper\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\nimport { timerBadgePrediction } from \"./timerBadgePrediction\";\r\n\r\nexport class twitchPrediction {\r\n position: globalPosition = {} as globalPosition;\r\n predictionWrapper: predictionWrapper = {} as predictionWrapper;\r\n headline: textStyle = {} as textStyle;\r\n timerBadge: timerBadgePrediction = {} as timerBadgePrediction;\r\n predictionBar: predictionBar = {} as predictionBar;\r\n predictionPoints: predictionPoints = {} as predictionPoints;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameExperienceData {\r\n previousLevel: number = 0;\r\n current: number = 0;\r\n nextLevel: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameHealthData {\r\n current: number = 0;\r\n max: number = 0;\r\n shield: number = 0;\r\n physicalShield: number = 0;\r\n magicalShield: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ResourceType {\r\n mana = 0,\r\n energy = 1,\r\n none = 2,\r\n shield = 3,\r\n battlefury = 4,\r\n dragonfury = 5,\r\n rage = 6,\r\n heat = 7,\r\n gnarfury = 8,\r\n ferocity = 9,\r\n bloodwell = 10,\r\n wind = 11,\r\n ammo = 12,\r\n moonlight = 13,\r\n other = 14,\r\n unknown = 255\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ResourceType } from \"./resourceType\";\r\n\r\nexport class ingameResourceData {\r\n type: ResourceType = ResourceType.mana;\r\n current: number = 0;\r\n max: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum IngameSideInfoPageType {\r\n Gold = 1,\r\n Experience = 2,\r\n CreepScore = 4,\r\n Damage = 8,\r\n None = 16,\r\n SkinDisplay = 32,\r\n RoleQuest = 64,\r\n TowerPlatings = 128\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSideInfoPageDisplayData } from \"./ingameSideInfoPageDisplayData\";\r\nimport { ingameSideInfoPageRow } from \"./ingameSideInfoPageRow\";\r\nimport { IngameSideInfoPageType } from \"./ingameSideInfoPageType\";\r\n\r\nexport class ingameSideInfoPage {\r\n type: IngameSideInfoPageType = IngameSideInfoPageType.Gold;\r\n title: string = \"\";\r\n players: ingameSideInfoPageRow[] = [];\r\n display: ingameSideInfoPageDisplayData = {} as ingameSideInfoPageDisplayData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameSideInfoPageDisplayData {\r\n showHero: boolean = false;\r\n showMinValue: boolean = false;\r\n showCurValue: boolean = false;\r\n showMaxValue: boolean = false;\r\n showBar: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSideInfoPageRow {\r\n champion?: simpleChampionData;\r\n playerName?: string;\r\n displayName?: string;\r\n team?: number;\r\n minValue?: number;\r\n curValue?: number;\r\n displayValue?: number;\r\n displayValueSuffix?: string;\r\n maxValue?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameAbilityInfo } from \"../ingameAbilityInfo\";\r\nimport { ingameExperienceData } from \"./ingameExperienceData\";\r\nimport { ingameHealthData } from \"./ingameHealthData\";\r\nimport { ingameResourceData } from \"./ingameResourceData\";\r\nimport { perkInfoV2 } from \"../../shared/perkInfoV2\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class tabPlayer {\r\n id: string = \"\";\r\n playerName: string = \"\";\r\n playerHashtag: string = \"\";\r\n displayName: string = \"\";\r\n givenName: string = \"\";\r\n familyName: string = \"\";\r\n championAssets?: simpleChampionData;\r\n abilities: ingameAbilityInfo[] = [];\r\n perks: perkInfoV2[] = [];\r\n health: ingameHealthData = {} as ingameHealthData;\r\n resource: ingameResourceData = {} as ingameResourceData;\r\n stacksData?: number;\r\n hasBaron: boolean = false;\r\n hasElder: boolean = false;\r\n level: number = 0;\r\n experience: ingameExperienceData = {} as ingameExperienceData;\r\n respawnAt?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { tabPlayer } from \"./tabPlayer\";\r\n\r\nexport class tabTeam {\r\n id: number = 0;\r\n players: tabPlayer[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamfightKillEvent } from \"./teamfightKillEvent\";\r\nimport { teamfightTimelinePlayer } from \"./teamfightTimelinePlayer\";\r\nimport { teamfightTimelineSample } from \"./teamfightTimelineSample\";\r\n\r\nexport class ingameTeamfightTimelineData {\r\n startTime: number = 0;\r\n endTime: number = 0;\r\n samples: teamfightTimelineSample[] = [];\r\n players: teamfightTimelinePlayer[] = [];\r\n kills: teamfightKillEvent[] = [];\r\n totalDamagePerPlayer: number[] = [];\r\n blueTotalDamage: number = 0;\r\n redTotalDamage: number = 0;\r\n blueKills: number = 0;\r\n redKills: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Team {\r\n None = 0,\r\n Order = 1,\r\n Chaos = 2,\r\n Neutral = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { Team } from \"../../shared/style/team\";\r\n\r\nexport class teamfightKillEvent {\r\n gameTime: number = 0;\r\n killerName: string = \"\";\r\n killerDisplayName: string = \"\";\r\n victimName: string = \"\";\r\n victimDisplayName: string = \"\";\r\n killerChampion?: simpleChampionData;\r\n victimChampion?: simpleChampionData;\r\n killerTeam: Team = Team.None;\r\n assisterNames: string[] = [];\r\n assisterDisplayNames: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { Team } from \"../../shared/style/team\";\r\n\r\nexport class teamfightTimelinePlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: Team = Team.None;\r\n totalDamage: number = 0;\r\n died: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamfightTimelineSample {\r\n gameTime: number = 0;\r\n damageValues: number[] = [];\r\n teamCumulativeDamage: number[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum BestOfType {\r\n BestOf1 = 1,\r\n BestOf2 = 2,\r\n BestOf3 = 3,\r\n BestOf5 = 5,\r\n BestOf7 = 7\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../../shared/bestOfType\";\r\nimport { ingameScoreboardTeamData } from \"./ingameScoreboardTeamData\";\r\n\r\nexport class ingameScoreboardData {\r\n teams: ingameScoreboardTeamData[] = [];\r\n gameTime: number = 0;\r\n bestOf: BestOfType = BestOfType.BestOf1;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameObjectivePowerPlay } from \"../ingameObjectivePowerPlay\";\r\nimport { teamScore } from \"../../shared/teamScore\";\r\n\r\nexport class ingameScoreboardTeamData {\r\n teamName: string = \"\";\r\n teamTag: string = \"\";\r\n teamIconUrl: string = \"\";\r\n seriesScore: teamScore = {} as teamScore;\r\n totalScore: teamScore = {} as teamScore;\r\n infoText: string = \"\";\r\n gold: number = 0;\r\n kills: number = 0;\r\n towers: number = 0;\r\n towerPlates: number = 0;\r\n grubs: number = 0;\r\n dragons: string[] = [];\r\n baronPowerPlay?: ingameObjectivePowerPlay;\r\n dragonPowerPlay?: ingameObjectivePowerPlay;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class websocketMessageTypes {\r\n static readonly applicationLifetime = \"application-lifetime\";\r\n static readonly appSettingsUpdated = \"app-settings-updated\";\r\n static readonly cDragonCacheProgress = \"cDragonCacheProgress\";\r\n static readonly cDragonV2Progress = \"cDragonV2Progress\";\r\n static readonly cDragonV2Status = \"cDragonV2Status\";\r\n static readonly gameStatus = \"gameStatus\";\r\n static readonly champSelectState = \"champion-select-state-update\";\r\n static readonly champSelectAction = \"champion-select-action\";\r\n static readonly ingameState = \"ingame-state-update\";\r\n static readonly ingameRewind = \"ingame-rewind\";\r\n static readonly ingameTelemetry = \"ingame-telemetry\";\r\n static readonly fontsChanged = \"fonts-changed\";\r\n static readonly matchDatabaseUpdate = \"match-database-update\";\r\n static readonly gameDatabaseUpdate = \"game-database-update\";\r\n static readonly gameTeamSidesSwapped = \"game-team-sides-swapped\";\r\n static readonly teamDatabaseUpdate = \"team-database-update\";\r\n static readonly seasonDatabaseUpdate = \"season-database-update\";\r\n static readonly appNotification = \"app-notification\";\r\n static readonly appNotificationCompleted = \"app-notification-completed\";\r\n static readonly ingameStyleUpdate = \"ingame-style-update\";\r\n static readonly globalScoreboardUpdate = \"global-scoreboard-update\";\r\n static readonly spawnTimerUpdate = \"spawn-timer-update\";\r\n static readonly inhibitorTimerSingleUpdate = \"inhibitor-timer-single-update\";\r\n static readonly inhibitorTimerDualUpdate = \"inhibitor-timer-dual-update\";\r\n static readonly championTabLeftUpdate = \"championtab-left-update\";\r\n static readonly championTabRightUpdate = \"championtab-right-update\";\r\n static readonly championTabUpdate = \"championtab-update\";\r\n static readonly playerScoreboardSlotUpdate = \"player-scoreboard-slot-update\";\r\n static readonly playerScoreboardContainerUpdate = \"player-scoreboard-container-update\";\r\n static readonly playerScoreboardGoldComparisonUpdate = \"player-scoreboard-gold-comparison-update\";\r\n static readonly styleSetUpdate = \"style-set-update\";\r\n static readonly styleVariantUpdate = \"style-variant-update\";\r\n static readonly updateActiveStyleSet = \"update-active-style-set\";\r\n static readonly postGameRoute = \"postgame-route-change\";\r\n static readonly postGameMockingUpdate = \"postgame-mocking-update\";\r\n static readonly gameResumed = \"game-state-resumed\";\r\n static readonly gamePaused = \"game-state-paused\";\r\n static readonly frontendRouteUpdate = \"frontend-route-update\";\r\n static readonly strokePropertiesUpdate = \"stroke-properties-update\";\r\n static readonly hotkeyFired = \"hotkey-fired\";\r\n static readonly activeComponentChanged = \"active-component-changed\";\r\n static readonly disabledOverlaysUpdate = \"disabled-overlays-update\";\r\n static readonly userFeaturesUpdated = \"user-features-updated\";\r\n static readonly damageEventHistoryUpdate = \"damage-event-history-update\";\r\n static readonly customOverlayUpdate = \"custom-overlay-update\";\r\n static readonly brushPresetsUpdate = \"brush-presets-update\";\r\n static readonly telestratorConfigUpdate = \"telestrator-config-update\";\r\n static readonly telestratorHotkeyFired = \"telestrator-hotkey-fired\";\r\n static readonly scriptEditorSwitch = \"script-editor-switch\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class authHelloMessage {\r\n type: string = \"\";\r\n token?: string;\r\n clientType: string = \"\";\r\n clientName?: string;\r\n protocolVersion: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class authHelloOkMessage {\r\n type: string = \"\";\r\n clientId: string = \"\";\r\n capabilities: string[] = [];\r\n serverVersion: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingEventMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n eventType: string = \"\";\r\n strokeId?: string;\r\n color?: string;\r\n width?: number;\r\n layer?: string;\r\n points?: number[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { drawingStrokeDto } from \"./drawingStrokeDto\";\r\n\r\nexport class drawingStateMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n targetClientId: string = \"\";\r\n strokes: drawingStrokeDto[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingStateRequestMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n targetClientId: string = \"\";\r\n targetMemberId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingStrokeDto {\r\n strokeId: string = \"\";\r\n color: string = \"\";\r\n width: number = 0;\r\n layer?: string;\r\n points: number[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubErrorMessage {\r\n type: string = \"\";\r\n code: number = 0;\r\n message: string = \"\";\r\n requestType?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubMemberDto {\r\n id: string = \"\";\r\n clientType: string = \"\";\r\n clientName?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubPingMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubPongMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { hubMemberDto } from \"./hubMemberDto\";\r\n\r\nexport class roomJoinedMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n roomType: string = \"\";\r\n roomKey: string = \"\";\r\n slug?: string;\r\n memberId: string = \"\";\r\n members: hubMemberDto[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomJoinMessage {\r\n type: string = \"\";\r\n roomType: string = \"\";\r\n roomKey: string = \"\";\r\n slug?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomLeaveMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { hubMemberDto } from \"./hubMemberDto\";\r\n\r\nexport class roomMemberJoinedMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n member: hubMemberDto = {} as hubMemberDto;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomMemberLeftMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n memberId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameRewindMessage {\r\n type: string = \"\";\r\n fromTime: number = 0;\r\n toTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { transitionEvents } from \"../../ingame/event/transitionEvents\";\r\n\r\nexport class ingameStateMessage {\r\n type: string = \"\";\r\n events?: transitionEvents;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { pickBanActionEventArgs } from \"../../pregame/pickBanActionEventArgs\";\r\n\r\nexport class champSelectActionMessage {\r\n type: string = \"\";\r\n action: pickBanActionEventArgs = {} as pickBanActionEventArgs;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { champSelectStateData } from \"../../pregame/champSelectStateData\";\r\n\r\nexport class champSelectStateMessage {\r\n type: string = \"\";\r\n state: champSelectStateData = {} as champSelectStateData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class frontendRouteUpdateMessage {\r\n type: string = \"\";\r\n uri: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Team } from \"../../shared/style/team\";\r\n\r\nexport class activeComponentChangedEventArgs {\r\n componentName?: string;\r\n gameId?: number;\r\n matchId?: number;\r\n playerIndex?: number;\r\n team?: Team;\r\n componentSettings?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Team } from \"../../shared/style/team\";\r\n\r\nexport class activeComponentChangedMessage {\r\n type: string = \"\";\r\n componentName?: string;\r\n gameId?: number;\r\n matchId?: number;\r\n playerIndex?: number;\r\n team?: Team;\r\n componentSettings?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationLifetimeMessage {\r\n type: string = \"\";\r\n message: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationNotificationCompletedMessage {\r\n type: string = \"\";\r\n id: string = \"\";\r\n result: boolean = false;\r\n args: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationNotificationMessage {\r\n type: string = \"\";\r\n id: string = \"\";\r\n title: string = \"\";\r\n message: string = \"\";\r\n args: string[] = [];\r\n accept: string = \"\";\r\n decline?: string;\r\n timestamp: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AssetType {\r\n Item = 0,\r\n ItemModifier = 1,\r\n Champion = 2,\r\n ChampionAbility = 3,\r\n ChampionSkin = 4,\r\n Summoner = 5,\r\n Perk = 6,\r\n PerkStyle = 7,\r\n PerkSpell = 8,\r\n Shared = 9,\r\n Unknown = 10\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { brushPreset } from \"../../config/brush-presets/brushPreset\";\r\n\r\nexport class brushPresetsChangedMessage {\r\n type: string = \"\";\r\n presets: brushPreset[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CacheOperation {\r\n Starting = 0,\r\n FetchingMetadata = 1,\r\n Verifying = 2,\r\n Downloading = 3,\r\n Copying = 4,\r\n BuildingManifest = 5,\r\n Complete = 6,\r\n Failed = 7,\r\n Cleanup = 8\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorRGBA {\r\n r: number = 0;\r\n g: number = 0;\r\n b: number = 0;\r\n a: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class communityDragonCacheProgressMessage {\r\n type: string = \"\";\r\n statusMessage: string = \"\";\r\n fileProgress: number = 0;\r\n filesToDownload: number = 0;\r\n filesToVerify: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { AssetType } from \"./assetType\";\r\nimport { CacheOperation } from \"./cacheOperation\";\r\n\r\nexport class communityDragonV2ProgressMessage {\r\n type: string = \"\";\r\n operation: CacheOperation = CacheOperation.Starting;\r\n version?: string;\r\n assetType?: AssetType;\r\n current: number = 0;\r\n total: number = 0;\r\n fileName?: string;\r\n message?: string;\r\n progressPercent: number = 0;\r\n estimatedRemainingMs?: number;\r\n elapsedMs: number = 0;\r\n isStepComplete: boolean = false;\r\n isVersionComplete: boolean = false;\r\n aggregateTotal: number = 0;\r\n aggregateCurrent: number = 0;\r\n aggregateProgressPercent: number = 0;\r\n aggregateElapsedMs: number = 0;\r\n aggregateEstimatedRemainingMs?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class communityDragonV2StatusMessage {\r\n type: string = \"\";\r\n version: string = \"\";\r\n status: string = \"\";\r\n errorMessage?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { customOverlayDescriptor } from \"../../shared/customoverlay/customOverlayDescriptor\";\r\n\r\nexport class customOverlayUpdateMessage {\r\n type: string = \"\";\r\n overlays: customOverlayDescriptor[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageEventHistoryEntry } from \"../../ingame/damageEvent/damageEventHistoryEntry\";\r\n\r\nexport class damageEventHistoryUpdateMessage {\r\n type: string = \"\";\r\n entry: damageEventHistoryEntry = {} as damageEventHistoryEntry;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class fontsChangedMessage {\r\n type: string = \"\";\r\n fonts: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DatabaseUpdateType {\r\n Add = 0,\r\n Remove = 1,\r\n Update = 2,\r\n Start = 3,\r\n End = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/databaseUpdateType\";\r\nimport { gameWithTeams } from \"../../shared/gameWithTeams\";\r\n\r\nexport class gameDatabaseUpdateMessage {\r\n type: string = \"\";\r\n game: gameWithTeams = {} as gameWithTeams;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { GameState } from \"../../shared/gameState\";\r\n\r\nexport class gameStatusMessage {\r\n type: string = \"\";\r\n gameState: GameState = GameState.OutOfGame;\r\n isTestingEnvironment?: boolean;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameWithTeams } from \"../../shared/gameWithTeams\";\r\n\r\nexport class gameTeamSidesSwappedMessage {\r\n type: string = \"\";\r\n game: gameWithTeams = {} as gameWithTeams;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hotkeyFiredMessage {\r\n type: string = \"\";\r\n activatedButtonId: string = \"\";\r\n activatedOverlayName: string = \"\";\r\n activatedOverlayId?: number;\r\n toggle: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameTelemetryMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/databaseUpdateType\";\r\nimport { matchWithGamesAndTeams } from \"../../shared/matchWithGamesAndTeams\";\r\n\r\nexport class matchDatabaseUpdateMessage {\r\n type: string = \"\";\r\n match: matchWithGamesAndTeams = {} as matchWithGamesAndTeams;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorRGBA } from \"./colorRGBA\";\r\nimport { StrokeLayer } from \"./strokeLayer\";\r\nimport { StrokeLineStyle } from \"./strokeLineStyle\";\r\nimport { StrokeTipStyle } from \"./strokeTipStyle\";\r\n\r\nexport class partialStrokeProperties {\r\n active?: boolean;\r\n color?: colorRGBA;\r\n width?: number;\r\n layer?: StrokeLayer;\r\n startTip?: StrokeTipStyle;\r\n endTip?: StrokeTipStyle;\r\n lineStyle?: StrokeLineStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/databaseUpdateType\";\r\nimport { seasonData } from \"../../shared/seasonData\";\r\n\r\nexport class seasonDatabaseUpdateMessage {\r\n type: string = \"\";\r\n season: seasonData = {} as seasonData;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeLayer {\r\n underEverything = 0,\r\n aboveTerrain = 1,\r\n belowHUD = 2,\r\n aboveHealthbars = 3,\r\n twoDee = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeLineStyle {\r\n solid = 0,\r\n dashed = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { partialStrokeProperties } from \"./partialStrokeProperties\";\r\n\r\nexport class strokePropertiesChangedMessage {\r\n type: string = \"\";\r\n properties: partialStrokeProperties = {} as partialStrokeProperties;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeTipStyle {\r\n circle = 0,\r\n rectangle = 1,\r\n triangleArrow = 2,\r\n roundBackwardsArrow = 3,\r\n sharpBackwardsArrow = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleSetUpdatedMessage {\r\n type: string = \"\";\r\n styleSetName: string = \"\";\r\n variantType: string = \"\";\r\n variantName: string = \"\";\r\n variantIsActive: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleVariantUpdatedEventArgs {\r\n variantName: string = \"\";\r\n variantType: string = \"\";\r\n variantStyle?: any;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleVariantUpdateMessage {\r\n type: string = \"\";\r\n variantName: string = \"\";\r\n variantType: string = \"\";\r\n variantStyle?: any;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/databaseUpdateType\";\r\nimport { teamWithMembers } from \"../../shared/teamWithMembers\";\r\n\r\nexport class teamDatabaseUpdateMessage {\r\n type: string = \"\";\r\n team: teamWithMembers = {} as teamWithMembers;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Tier {\r\n Free = 0,\r\n Basic = 1,\r\n Pro = 2,\r\n Enterprise = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class userFeaturesUpdatedMessage {\r\n type: string = \"\";\r\n isStartup: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Tier } from \"./tier\";\r\n\r\nexport class userTierUpdatedMessage {\r\n type: string = \"\";\r\n tier: Tier = Tier.Free;\r\n isStartup: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class infoRow {\r\n key: string = \"\";\r\n value: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { matchOverviewGameSummary } from \"./matchOverviewGameSummary\";\r\n\r\nexport class matchOverviewData {\r\n games: matchOverviewGameSummary[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { matchOverviewTeamSummary } from \"./matchOverviewTeamSummary\";\r\n\r\nexport class matchOverviewGameSummary {\r\n gameId: number = 0;\r\n gameNumber: number = 0;\r\n gameTime: number = 0;\r\n gameDate?: Date;\r\n gameWinnerId?: number;\r\n teamSummaries: { [key: number]: matchOverviewTeamSummary } = {};\r\n isComplete: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\n\r\nexport class matchOverviewTeamSummary {\r\n teamId: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n picks: simpleChampionData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { vector3 } from \"./vector3\";\r\n\r\nexport class playerDeath {\r\n id: number = 0;\r\n gameId: number = 0;\r\n position: vector3 = {} as vector3;\r\n gameTime: number = 0;\r\n killerId: string = \"\";\r\n victimId: string = \"\";\r\n assisterIds: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PostGameDataType {\r\n At14Min = 0,\r\n FullGame = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraph } from \"./damage/postGameDamageGraph\";\r\nimport { postGameGoldGraph } from \"./gold/postGameGoldGraph\";\r\nimport { postGameTeamOverview } from \"./postGameTeamOverview\";\r\nimport { teamData } from \"../shared/teamData\";\r\n\r\nexport class postGameOverview {\r\n gameTime: number = 0;\r\n gameDate?: Date;\r\n patch: string = \"\";\r\n winnerSide?: number;\r\n teamInfoBySide: { [key: number]: teamData } = {};\r\n teamOverviewBySide: { [key: number]: postGameTeamOverview } = {};\r\n goldGraph?: postGameGoldGraph;\r\n damageGraph?: postGameDamageGraph;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PostGameDataType } from \"./postGameDataType\";\r\n\r\nexport class postGamePlayerInfo {\r\n id: number = 0;\r\n gameId: number = 0;\r\n dataType: PostGameDataType = PostGameDataType.At14Min;\r\n puuid: string = \"\";\r\n championIdentifier?: string;\r\n teamSide: number = 0;\r\n laneIndex: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n creepScore: number = 0;\r\n visionScore: number = 0;\r\n gold: number = 0;\r\n damageDealt: number = 0;\r\n physicalDamageDealt: number = 0;\r\n magicDamageDealt: number = 0;\r\n trueDamageDealt: number = 0;\r\n damageTaken: number = 0;\r\n physicalDamageTaken: number = 0;\r\n magicDamageTaken: number = 0;\r\n trueDamageTaken: number = 0;\r\n wardsPlaced: number = 0;\r\n wardsKilled: number = 0;\r\n controlWardsPlaced: number = 0;\r\n deepWardsPlaced: number = 0;\r\n turretPlatesTaken: number = 0;\r\n towersTaken: number = 0;\r\n summonerSpell1Id?: number;\r\n summonerSpell2Id?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerPage {\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemAsset } from \"../shared/itemAsset\";\r\nimport { perkData } from \"../shared/perkData\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerRunesAndItems {\r\n perks: perkData = {} as perkData;\r\n items: itemAsset[] = [];\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { infoRow } from \"./infoRow\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerStats {\r\n infoRows: infoRow[] = [];\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PostGameDataType } from \"./postGameDataType\";\r\n\r\nexport class postGameTeamInfo {\r\n gameId: number = 0;\r\n teamId: number = 0;\r\n dataType: PostGameDataType = PostGameDataType.At14Min;\r\n teamSide: number = 0;\r\n towers: number = 0;\r\n turretPlates: number = 0;\r\n grubs: number = 0;\r\n riftHeralds: number = 0;\r\n gold: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGameTeamOverview {\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n gold: number = 0;\r\n towers: number = 0;\r\n grubs: number = 0;\r\n heralds: number = 0;\r\n dragons: string[] = [];\r\n elderDragons: number = 0;\r\n baronNashors: number = 0;\r\n bans: simpleChampionData[] = [];\r\n metaData?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class vector3 {\r\n x: number = 0;\r\n y: number = 0;\r\n z: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraphByTeam } from \"./postGameDamageGraphByTeam\";\r\n\r\nexport class postGameDamageGraph {\r\n damageByTeam: { [key: number]: postGameDamageGraphByTeam } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraphEntry } from \"./postGameDamageGraphEntry\";\r\nimport { teamWithMembers } from \"../../shared/teamWithMembers\";\r\n\r\nexport class postGameDamageGraphByTeam {\r\n entries: postGameDamageGraphEntry[] = [];\r\n team: teamWithMembers = {} as teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class postGameDamageGraphEntry {\r\n champion?: simpleChampionData;\r\n damage: number = 0;\r\n magicDamage: number = 0;\r\n physicalDamage: number = 0;\r\n trueDamage: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleGameGoldGraph } from \"./singleGameGoldGraph\";\r\nimport { teamData } from \"../../shared/teamData\";\r\n\r\nexport class postGameGoldGraph {\r\n current: singleGameGoldGraph = {} as singleGameGoldGraph;\r\n previousGames?: singleGameGoldGraph[];\r\n title?: string;\r\n teams: { [key: number]: teamData } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class singleGameGoldGraph {\r\n goldAtTime: { [key: number]: { [key: number]: number } } = {};\r\n winner?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { combinedViewTransitionStyle } from \"./combinedViewTransitionStyle\";\r\n\r\nexport class combinedViewStyle {\r\n transition: combinedViewTransitionStyle = {} as combinedViewTransitionStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CombinedViewTransitionType {\r\n Cut = 0,\r\n Fade = 1,\r\n Stinger = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CombinedViewTransitionType } from \"./combinedViewTransitionType\";\r\n\r\nexport class combinedViewTransitionStyle {\r\n type: CombinedViewTransitionType = CombinedViewTransitionType.Cut;\r\n durationMs: number = 0;\r\n stingerUrl: string = \"\";\r\n stingerSwapTimeMs: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { fearlessTreeBanRowStyle } from \"./fearlessTreeBanRowStyle\";\r\nimport { fearlessTreeConnectorStyle } from \"./fearlessTreeConnectorStyle\";\r\nimport { fearlessTreeGameNodeStyle } from \"./fearlessTreeGameNodeStyle\";\r\nimport { fearlessTreeHeaderStyle } from \"./fearlessTreeHeaderStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessTree {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: fearlessTreeHeaderStyle = {} as fearlessTreeHeaderStyle;\r\n gameNode: fearlessTreeGameNodeStyle = {} as fearlessTreeGameNodeStyle;\r\n connector: fearlessTreeConnectorStyle = {} as fearlessTreeConnectorStyle;\r\n banRow: fearlessTreeBanRowStyle = {} as fearlessTreeBanRowStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessTreeBanRowStyle {\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class fearlessTreeConnectorStyle {\r\n lineColor: string | colorStyle = \"\";\r\n lineWidth: string = \"\";\r\n offsetLeft: number = 0;\r\n offsetRight: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class fearlessTreeGameNodeStyle {\r\n background: string | colorStyle = \"\";\r\n labelText: string = \"\";\r\n labelStyle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n currentIconSize: string = \"\";\r\n previousIconSize: string = \"\";\r\n banMarkColor: string | colorStyle = \"\";\r\n banMarkSize: string = \"\";\r\n teamRowGap: string = \"\";\r\n iconGap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class fearlessTreeHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageStatsStyle } from \"./damageStatsStyle\";\r\nimport { goldGraphStyle } from \"./goldGraphStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchSummaryStyle } from \"./matchSummaryStyle\";\r\nimport { teamsAndTimerStyle } from \"./teamsAndTimerStyle\";\r\n\r\nexport class contentContainerStyle {\r\n teamsAndTimer: teamsAndTimerStyle = {} as teamsAndTimerStyle;\r\n damageStats: damageStatsStyle = {} as damageStatsStyle;\r\n matchSummary: matchSummaryStyle = {} as matchSummaryStyle;\r\n goldGraph: goldGraphStyle = {} as goldGraphStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class curveStyle {\r\n blueLineColor?: string | colorStyle = \"\";\r\n blueAreaColor?: string | colorStyle = \"\";\r\n redLineColor?: string | colorStyle = \"\";\r\n redAreaColor?: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class damageBarStyle {\r\n magicDamageBackground?: string | colorStyle = \"\";\r\n physicalDamageBackground?: string | colorStyle = \"\";\r\n trueDamageBackground?: string | colorStyle = \"\";\r\n background?: string | colorStyle = \"\";\r\n border?: borderStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamDamageStyle } from \"./teamDamageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageStatsStyle {\r\n headline: textStyle = {} as textStyle;\r\n damageByType: boolean = false;\r\n redTeam: teamDamageStyle = {} as teamDamageStyle;\r\n blueTeam: teamDamageStyle = {} as teamDamageStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { contentContainerStyle } from \"./contentContainerStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class gameAnalysis {\r\n contentContainer: contentContainerStyle = {} as contentContainerStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class gameTimerStyle {\r\n timertext: textStyle = {} as textStyle;\r\n timerlabel: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { curveStyle } from \"./curveStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldGraphStyle {\r\n headline: textStyle = {} as textStyle;\r\n axis: textStyle = {} as textStyle;\r\n verticalSeparator: string | colorStyle = \"\";\r\n horizontalSeparator: string | colorStyle = \"\";\r\n curve: curveStyle = {} as curveStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamSummaryStyle } from \"./teamSummaryStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchSummaryStyle {\r\n labeling: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n redTeam: teamSummaryStyle = {} as teamSummaryStyle;\r\n blueTeam: teamSummaryStyle = {} as teamSummaryStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageBarStyle } from \"./damageBarStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamDamageStyle {\r\n championImage: layoutStyle = {} as layoutStyle;\r\n damageText: textStyle = {} as textStyle;\r\n damageBar: damageBarStyle = {} as damageBarStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameTimerStyle } from \"./gameTimerStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { timerTeamStyle } from \"./timerTeamStyle\";\r\n\r\nexport class teamsAndTimerStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n blueTeam: timerTeamStyle = {} as timerTeamStyle;\r\n redTeam: timerTeamStyle = {} as timerTeamStyle;\r\n gameTimer: gameTimerStyle = {} as gameTimerStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamSummaryStyle {\r\n text: textStyle = {} as textStyle;\r\n drakeImage: layoutStyle = {} as layoutStyle;\r\n championImage: layoutStyle = {} as layoutStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class timerTeamStyle {\r\n teamname: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n nameTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupOverviewGameRowStyle } from \"./matchupOverviewGameRowStyle\";\r\nimport { matchupOverviewHeaderStyle } from \"./matchupOverviewHeaderStyle\";\r\nimport { matchupOverviewTeamBarStyle } from \"./matchupOverviewTeamBarStyle\";\r\n\r\nexport class matchupOverview {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: matchupOverviewHeaderStyle = {} as matchupOverviewHeaderStyle;\r\n teamBar: matchupOverviewTeamBarStyle = {} as matchupOverviewTeamBarStyle;\r\n gameRow: matchupOverviewGameRowStyle = {} as matchupOverviewGameRowStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { ContentAlign } from \"../../../shared/style/contentAlign\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewGameRowStyle {\r\n background: string | colorStyle = \"\";\r\n activeBackground: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n championIconGap: string = \"\";\r\n championsAlign: ContentAlign = ContentAlign.TopLeft;\r\n kdaText: textStyle = {} as textStyle;\r\n kdaLayout: layoutStyle = {} as layoutStyle;\r\n gameTimeText: textStyle = {} as textStyle;\r\n scoreText: textStyle = {} as textStyle;\r\n scoreLayout: layoutStyle = {} as layoutStyle;\r\n gameTimeLabelText: string = \"\";\r\n winnerColor: string | colorStyle = \"\";\r\n loserColor: string | colorStyle = \"\";\r\n showDifferentTextWhenUnplayed: boolean = false;\r\n unplayedScoreRow: textStyle = {} as textStyle;\r\n unplayedScoreRowLabelText: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupVersusStyle } from \"../matchupTable/matchupVersusStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewTeamBarStyle {\r\n teamNameText: textStyle = {} as textStyle;\r\n teamNameTemplate: string = \"\";\r\n iconSize: string = \"\";\r\n versus: matchupVersusStyle = {} as matchupVersusStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupScoreStyle } from \"./matchupScoreStyle\";\r\nimport { matchupVersusStyle } from \"./matchupVersusStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchCardStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n teamTag: textStyle = {} as textStyle;\r\n versus: matchupVersusStyle = {} as matchupVersusStyle;\r\n score: matchupScoreStyle = {} as matchupScoreStyle;\r\n iconSize: string = \"\";\r\n upcomingHighlight: string | colorStyle = \"\";\r\n upcomingBorder: string | colorStyle = \"\";\r\n winnerColor: string | colorStyle = \"\";\r\n loserColor: string | colorStyle = \"\";\r\n defaultColor: string | colorStyle = \"\";\r\n dateText: textStyle = {} as textStyle;\r\n dateTimeTemplate: string = \"\";\r\n teamTagTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class matchupGridStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n columns: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupScoreStyle {\r\n text: textStyle = {} as textStyle;\r\n displayMode: string = \"\";\r\n borderMode: string = \"\";\r\n dotSize: string = \"\";\r\n dotColor: string | colorStyle = \"\";\r\n dotEmptyColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupTableContentStyle } from \"./matchupTableContentStyle\";\r\n\r\nexport class matchupTable {\r\n content: matchupTableContentStyle = {} as matchupTableContentStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchCardStyle } from \"./matchCardStyle\";\r\nimport { matchupGridStyle } from \"./matchupGridStyle\";\r\nimport { matchupHeaderStyle } from \"./matchupHeaderStyle\";\r\n\r\nexport class matchupTableContentStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: matchupHeaderStyle = {} as matchupHeaderStyle;\r\n grid: matchupGridStyle = {} as matchupGridStyle;\r\n matchCard: matchCardStyle = {} as matchCardStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupVersusStyle {\r\n text: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n vsText: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ScoreDisplayMode {\r\n Dots = 0,\r\n Squares = 1,\r\n Diamonds = 2,\r\n Numbers = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ScoreDotBorderMode {\r\n Always = 0,\r\n EmptyOnly = 1,\r\n Never = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championContainer {\r\n championImage: layoutStyle = {} as layoutStyle;\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n heading: textStyle = {} as textStyle;\r\n subHeading: textStyle = {} as textStyle;\r\n nameTemplate: string = \"\";\r\n subHeadingTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championContainer } from \"./championContainer\";\r\nimport { championStatsContainer } from \"./championStatsContainer\";\r\nimport { itemStats } from \"./itemStats\";\r\nimport { runeContainer } from \"./runeContainer\";\r\n\r\nexport class championStats {\r\n container: championStatsContainer = {} as championStatsContainer;\r\n championInfoContainer: championContainer = {} as championContainer;\r\n runeContainer: runeContainer = {} as runeContainer;\r\n itemStats: itemStats = {} as itemStats;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championStatsContainer {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class divider {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { laneIconStyle } from \"./laneIconStyle\";\r\nimport { laneRowLayoutStyle } from \"./laneRowLayoutStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessDraftStyle {\r\n container: layoutStyle = {} as layoutStyle;\r\n laneIconStyle: laneIconStyle = {} as laneIconStyle;\r\n laneRowLayoutStyle: laneRowLayoutStyle = {} as laneRowLayoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { laneIconStyle } from \"./laneIconStyle\";\r\nimport { laneRowLayoutStyle } from \"./laneRowLayoutStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessDraftStylePregame {\r\n container: layoutStyle = {} as layoutStyle;\r\n laneIconStyle: laneIconStyle = {} as laneIconStyle;\r\n laneRowLayoutStyle: laneRowLayoutStyle = {} as laneRowLayoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemIcon {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n divider: divider = {} as divider;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemIcon } from \"./itemIcon\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemStats {\r\n layout: layoutStyle = {} as layoutStyle;\r\n heading: textStyle = {} as textStyle;\r\n item: itemIcon = {} as itemIcon;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class laneIconStyle {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class laneRowLayoutStyle {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n gapX: string = \"\";\r\n gapY: string = \"\";\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeIcon } from \"./runeIcon\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class runeContainer {\r\n heading: textStyle = {} as textStyle;\r\n container: layoutStyle = {} as layoutStyle;\r\n runePathIcon: layoutStyle = {} as layoutStyle;\r\n keyStone: runeIcon = {} as runeIcon;\r\n runes: runeIcon = {} as runeIcon;\r\n divider: divider = {} as divider;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class runeIcon {\r\n text: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ActionSubType {\r\n START = 0,\r\n HOVER = 1,\r\n LOCK = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ActionType {\r\n TEN_BANS_REVEAL = 0,\r\n PHASE_TRANSITION = 1,\r\n PICK = 2,\r\n BAN = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\n\r\nexport class banSlot {\r\n isActive: boolean = false;\r\n champion?: championData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banSlot } from \"./banSlot\";\r\nimport { pickSlot } from \"./pickSlot\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamScore } from \"../shared/teamScore\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\nimport { timelineEntry } from \"./timelineEntry\";\r\n\r\nexport class championSelectTeam {\r\n metaData?: teamWithMembers;\r\n bans: banSlot[] = [];\r\n slots: pickSlot[] = [];\r\n timeline: timelineEntry[] = [];\r\n index: number = 0;\r\n scoreMatch: teamScore = {} as teamScore;\r\n scoreSeason: teamScore = {} as teamScore;\r\n fearlessBans?: { [key: number]: simpleChampionData[] };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../shared/bestOfType\";\r\nimport { champSelectStatePerformanceData } from \"./champSelectStatePerformanceData\";\r\nimport { matchData } from \"./matchData\";\r\n\r\nexport class champSelectStateMetaData {\r\n bestOfType: BestOfType = BestOfType.BestOf1;\r\n patch: string = \"0.0.0\";\r\n performanceData: champSelectStatePerformanceData = {} as champSelectStatePerformanceData;\r\n matchData?: matchData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class champSelectStatePerformanceData {\r\n updateDuration: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum MatchRuleSet {\r\n Standard = 0,\r\n PartialFearless = 1,\r\n Fearless = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../shared/bestOfType\";\r\nimport { MatchRuleSet } from \"../shared/matchRuleSet\";\r\n\r\nexport class matchData {\r\n matchId: number = 0;\r\n seasonId: number = 0;\r\n winnerId?: number;\r\n isActive: boolean = false;\r\n type: BestOfType = BestOfType.BestOf1;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n name?: string;\r\n date?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n onStage: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\n\r\nexport class pickBanActionEventArgs {\r\n type: string = \"\";\r\n subType: string = \"\";\r\n actorId: number = 0;\r\n id: number = 0;\r\n gameTeamId: number = 0;\r\n champion?: championData;\r\n puuid?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PickBanPhase {\r\n BEGIN = 0,\r\n BAN1 = 1,\r\n BAN2 = 2,\r\n PICK1 = 3,\r\n PICK2 = 4,\r\n END = 5,\r\n WAIT = 6\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PickBanPhase } from \"./pickBanPhase\";\r\n\r\nexport class pickBanTimer {\r\n phaseName: PickBanPhase = PickBanPhase.BEGIN;\r\n phaseDuration: number = 0;\r\n timeRemaining: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\nimport { championStatistics } from \"../shared/championStatistics\";\r\nimport { summonerSpellData } from \"../shared/summonerSpellData\";\r\n\r\nexport class pickSlot {\r\n id: number = 0;\r\n isActive: boolean = false;\r\n player: string = \"\";\r\n summonerSpells: summonerSpellData[] = [];\r\n champion?: championData;\r\n championStatistics?: championStatistics;\r\n videoStreamUrl?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TimeLineActionType {\r\n HoverPick = 0,\r\n Pick = 1,\r\n Ban = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\nimport { pickBanTimer } from \"./pickBanTimer\";\r\nimport { TimeLineActionType } from \"./timeLineActionType\";\r\n\r\nexport class timelineEntry {\r\n type: TimeLineActionType = TimeLineActionType.HoverPick;\r\n champion: championData = {} as championData;\r\n timer: pickBanTimer = {} as pickBanTimer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class banSlotLayoutStyling {\r\n blueBanSlot: layoutStyle = {} as layoutStyle;\r\n redBanSlot: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\n\r\nexport class banStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n iconColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum HeroStatsDisplayMode {\r\n None = 0,\r\n UGG = 1,\r\n Tournament = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { bottomRowSizeStyle } from \"./bottomrow/bottomRowSizeStyle\";\r\nimport { bottomRowTeamStyle } from \"./bottomRowTeamStyle\";\r\nimport { bottomRowTournamentData } from \"./bottomRow/bottomRowTournamentData\";\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { HeroStatsDisplayMode } from \"./heroStatsDisplayMode\";\r\n\r\nexport class bottomRowPickBanStyle {\r\n fileVersion: string = \"1.0\";\r\n background: string | colorStyle = \"\";\r\n size: bottomRowSizeStyle = {} as bottomRowSizeStyle;\r\n tournamentData: bottomRowTournamentData = {} as bottomRowTournamentData;\r\n neutralColor: string | colorStyle = \"\";\r\n leftTeam: bottomRowTeamStyle = {} as bottomRowTeamStyle;\r\n rightTeam: bottomRowTeamStyle = {} as bottomRowTeamStyle;\r\n heroStats: HeroStatsDisplayMode = HeroStatsDisplayMode.None;\r\n heroStatDurationSeconds: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banStyle } from \"./banStyle\";\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { playerSlotPickingStyle } from \"./playerSlotPickingStyle\";\r\nimport { playerSlotStyle } from \"./playerSlotStyle\";\r\nimport { teamInfoStyle } from \"./teamInfoStyle\";\r\n\r\nexport class bottomRowTeamStyle {\r\n color: string | colorStyle = \"\";\r\n banStyle: banStyle = {} as banStyle;\r\n teamInfo: teamInfoStyle = {} as teamInfoStyle;\r\n playerSlotPickingStyle: playerSlotPickingStyle = {} as playerSlotPickingStyle;\r\n playerSlotStyle: playerSlotStyle = {} as playerSlotStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class centerContent {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class centerContentLayoutStyling {\r\n centerContent: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class centerContentStyling {\r\n centerContent: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { centerContent } from \"./centerContent\";\r\nimport { championSlot } from \"./championSlot\";\r\nimport { coachSlot } from \"./coachSlot\";\r\nimport { HeroStatsDisplayMode } from \"./heroStatsDisplayMode\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { phaseTimer } from \"./phaseTimer\";\r\nimport { pickBans } from \"./pickBans\";\r\nimport { playerSlot } from \"./playerSlot\";\r\nimport { teamName } from \"./teamName\";\r\nimport { tournamentData } from \"./tournamentData\";\r\n\r\nexport class championSelectEUStyle {\r\n fileVersion: string = \"1.0\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n playerSlotLeft: playerSlot = {} as playerSlot;\r\n playerSlotRight: playerSlot = {} as playerSlot;\r\n championSlotLeft: championSlot = {} as championSlot;\r\n championSlotRight: championSlot = {} as championSlot;\r\n pickBansLeft: pickBans = {} as pickBans;\r\n pickBansRight: pickBans = {} as pickBans;\r\n tournamentData: tournamentData = {} as tournamentData;\r\n teamNameRight: teamName = {} as teamName;\r\n teamNameLeft: teamName = {} as teamName;\r\n coachSlotLeft: coachSlot = {} as coachSlot;\r\n coachSlotRight: coachSlot = {} as coachSlot;\r\n phaseTimer: phaseTimer = {} as phaseTimer;\r\n centerContent: centerContent = {} as centerContent;\r\n heroStats: HeroStatsDisplayMode = HeroStatsDisplayMode.None;\r\n heroStatDurationSeconds: number = 0;\r\n showCoaches: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class championSlot {\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n separator: string | colorStyle = \"\";\r\n hover: string | colorStyle = \"\";\r\n separatorWidth: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class championsSlot {\r\n playerName: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class coachSlot {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n show: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { centerContentStyling } from \"./centerContentStyling\";\r\nimport { infoContentColorStyling } from \"./infoContentColorStyling\";\r\nimport { phaseTimerColorStyling } from \"./phaseTimerColorStyling\";\r\nimport { teamColorStyling } from \"./teamColorStyling\";\r\n\r\nexport class colorComponentStyling {\r\n blueTeam: teamColorStyling = {} as teamColorStyling;\r\n redTeam: teamColorStyling = {} as teamColorStyling;\r\n infoContent: infoContentColorStyling = {} as infoContentColorStyling;\r\n centerContent: centerContentStyling = {} as centerContentStyling;\r\n phaseTimer: phaseTimerColorStyling = {} as phaseTimerColorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\n\r\nexport class colorStyling {\r\n backgroundColor: string | colorStyle = \"\";\r\n foregroundColor?: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class divider {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { fearLessSingleRow } from \"./fearLessSingleRow\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class fearLessByGame {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n gap: string = \"\";\r\n leftTeamRow: fearLessSingleRow = {} as fearLessSingleRow;\r\n rightTeamRow: fearLessSingleRow = {} as fearLessSingleRow;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessChampionImage {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { fearlessChampionImage } from \"./fearlessChampionImage\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class fearLessSingleRow {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gapX: string = \"\";\r\n gapY: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n divider: divider = {} as divider;\r\n championImage: fearlessChampionImage = {} as fearlessChampionImage;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class infoContentColorStyling {\r\n infoContent: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class infoContentLayoutStyling {\r\n infoContent: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class infoContentTextStyle {\r\n patchText: textStyle = {} as textStyle;\r\n patchNumber: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banSlotLayoutStyling } from \"./banSlotLayoutStyling\";\r\nimport { centerContentLayoutStyling } from \"./centerContentLayoutStyling\";\r\nimport { infoContentLayoutStyling } from \"./infoContentLayoutStyling\";\r\nimport { phaseTimerLayoutStyling } from \"./phaseTimerLayoutStyling\";\r\nimport { playerSlotLayoutStyling } from \"./playerSlotLayoutStyling\";\r\nimport { teamLayoutStyling } from \"./teamLayoutStyling\";\r\n\r\nexport class layoutComponentStyling {\r\n blueTeam: teamLayoutStyling = {} as teamLayoutStyling;\r\n redTeam: teamLayoutStyling = {} as teamLayoutStyling;\r\n playerSlot: playerSlotLayoutStyling = {} as playerSlotLayoutStyling;\r\n banSlot: banSlotLayoutStyling = {} as banSlotLayoutStyling;\r\n infoContent: infoContentLayoutStyling = {} as infoContentLayoutStyling;\r\n centerContent: centerContentLayoutStyling = {} as centerContentLayoutStyling;\r\n phaseTimer: phaseTimerLayoutStyling = {} as phaseTimerLayoutStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class phaseTimer {\r\n backgroundColor: string | colorStyle = \"\";\r\n leftColor: string | colorStyle = \"\";\r\n rightColor: string | colorStyle = \"\";\r\n neutralColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class phaseTimerColorStyling {\r\n background: colorStyling = {} as colorStyling;\r\n timer: colorStyling = {} as colorStyling;\r\n useTeamColors: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class phaseTimerLayoutStyling {\r\n phaseTimer: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class pickBans {\r\n containerLayout: layoutStyle = {} as layoutStyle;\r\n banLayout: layoutStyle = {} as layoutStyle;\r\n cornerColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlot {\r\n nameTemplate: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n textSizePicking: string = \"\";\r\n textPicking: string = \"\";\r\n textNoPicking: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class playerSlotColorStyling {\r\n general: colorStyling = {} as colorStyling;\r\n playerName: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class playerSlotLayoutStyling {\r\n playerSlot: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlotPickingStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n backgroundColor: string | colorStyle = \"\";\r\n hoverColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlotStyle {\r\n nameTemplate: string = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n useVideoBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class scoreStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\nimport { playerSlotColorStyling } from \"./playerSlotColorStyling\";\r\n\r\nexport class teamColorStyling {\r\n coachSlot: colorStyling = {} as colorStyling;\r\n playerSlot: playerSlotColorStyling = {} as playerSlotColorStyling;\r\n championSlot: colorStyling = {} as colorStyling;\r\n banSlot: colorStyling = {} as colorStyling;\r\n teamName: colorStyling = {} as colorStyling;\r\n fearlessBans: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { scoreStyle } from \"./scoreStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamInfoStyle {\r\n nameTemplate: string = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n scoreStyle: scoreStyle = {} as scoreStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class teamLayoutStyling {\r\n coachSlot: layoutStyle = {} as layoutStyle;\r\n playerSlot: layoutStyle = {} as layoutStyle;\r\n championSlot: layoutStyle = {} as layoutStyle;\r\n banSlot: layoutStyle = {} as layoutStyle;\r\n teamName: layoutStyle = {} as layoutStyle;\r\n fearlessBans: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamName {\r\n nameTemplate: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamTextStyle {\r\n coachSlot: textStyle = {} as textStyle;\r\n playerSlot: textStyle = {} as textStyle;\r\n championSlot: textStyle = {} as textStyle;\r\n teamName: textStyle = {} as textStyle;\r\n fearlessBans: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { infoContentTextStyle } from \"./infoContentTextStyle\";\r\nimport { teamTextStyle } from \"./teamTextStyle\";\r\n\r\nexport class textComponentStyling {\r\n blueTeam: teamTextStyle = {} as teamTextStyle;\r\n redTeam: teamTextStyle = {} as teamTextStyle;\r\n infoContent: infoContentTextStyle = {} as infoContentTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class textStyleWithBorder {\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string = \"\";\r\n outlineColor: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class tournamentData {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n patchNumber: textStyle = {} as textStyle;\r\n patchText: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class bottomRowSizeStyle {\r\n banHeight: string = \"\";\r\n timerHeight: string = \"\";\r\n pickHeight: string = \"\";\r\n pickActiveWidthMultiplier: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { optionalTextStyle } from \"../../../shared/style/optionalTextStyle\";\r\n\r\nexport class bottomRowTournamentData {\r\n show: boolean = false;\r\n layout: layoutStyle = {} as layoutStyle;\r\n showTournamentIcon: boolean = false;\r\n icon: imageStyle = {} as imageStyle;\r\n matchName: optionalTextStyle = {} as optionalTextStyle;\r\n patch: optionalTextStyle = {} as optionalTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorComponentStyling } from \"../colorComponentStyling\";\r\nimport { layoutComponentStyling } from \"../layoutComponentStyling\";\r\nimport { textComponentStyling } from \"../textComponentStyling\";\r\n\r\nexport class legacyPickBanStyle {\r\n fileVersion: string = \"1.0\";\r\n color: colorComponentStyling = {} as colorComponentStyling;\r\n layout: layoutComponentStyling = {} as layoutComponentStyling;\r\n text: textComponentStyling = {} as textComponentStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeEmailRequest {\r\n newEmail: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeEmailResponse {\r\n codeDestination?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changePasswordRequest {\r\n oldPassword: string = \"\";\r\n newPassword: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class checkoutCompleteResponse {\r\n redirect: boolean = false;\r\n status?: string;\r\n planId?: string;\r\n plan?: string;\r\n tier?: string;\r\n endDate?: Date;\r\n features?: string[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PaymentInterval {\r\n Monthly = 0,\r\n Yearly = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PaymentInterval } from \"./paymentInterval\";\r\n\r\nexport class checkoutRequestDTO {\r\n plan: string = \"\";\r\n interval: PaymentInterval = PaymentInterval.Monthly;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailConfirmRequest {\r\n email: string = \"\";\r\n code: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailForgotPasswordRequest {\r\n email: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailLoginRequest {\r\n email: string = \"\";\r\n password: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailResendCodeRequest {\r\n email: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailResetPasswordRequest {\r\n email: string = \"\";\r\n code: string = \"\";\r\n newPassword: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailSignUpRequest {\r\n email: string = \"\";\r\n password: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class localizedPriceData {\r\n localizedPriceByInterval: { [key: string]: string } = {};\r\n item: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class planDescriptorRecord {\r\n plan: string = \"\";\r\n hidden: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { billingCycle } from \"../billing_cycle/billingCycle\";\r\n\r\nexport class planDetails {\r\n planName: string = \"\";\r\n cost: string = \"\";\r\n currency: string = \"\";\r\n nextBillingDate?: Date;\r\n status: string = \"\";\r\n plan?: string;\r\n features: string[] = [];\r\n billing_cycle?: billingCycle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class portalSessionResponse {\r\n url: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class profileResponse {\r\n authProvider: string = \"\";\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n name?: string;\r\n picture?: string;\r\n canEditProfile: boolean = false;\r\n canChangePassword: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class startCheckoutResponse {\r\n checkoutStarted: boolean = false;\r\n requiresRedirect: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class updateNameRequest {\r\n firstName: string = \"\";\r\n lastName: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class verifyEmailRequest {\r\n code: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class billingCycle {\r\n interval: string = \"\";\r\n frequency: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Interval {\r\n day = 0,\r\n week = 1,\r\n month = 2,\r\n year = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CustomOverlayMode {\r\n Static = 0,\r\n Dev = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"../../shared/customoverlay/customOverlayMode\";\r\n\r\nexport class registerOverlayRequest {\r\n name: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n sourcePath: string = \"\";\r\n devScript: string = \"\";\r\n description?: string;\r\n phase?: string;\r\n version: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class updateOverlayRequest {\r\n name?: string;\r\n description?: string;\r\n devScript?: string;\r\n phase?: string;\r\n version?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"../../shared/matchRuleSet\";\r\n\r\nexport class optionalGameData {\r\n gameWinnerId?: number;\r\n isActive?: boolean;\r\n isComplete?: boolean;\r\n gameDate?: Date;\r\n ruleSet?: MatchRuleSet;\r\n patch?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../../shared/bestOfType\";\r\n\r\nexport class addMatchRequestArgs {\r\n name?: string;\r\n type: BestOfType = BestOfType.BestOf1;\r\n teams: number[] = [];\r\n isCurrent: boolean = false;\r\n onStage?: boolean;\r\n seasonId?: number;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n matchDate?: string;\r\n timePerGame?: number;\r\n ruleSet: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"../../shared/matchRuleSet\";\r\n\r\nexport class optionalMatchData {\r\n date?: Date;\r\n ruleSet?: MatchRuleSet;\r\n onStage?: boolean;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cDragonPerkInfo {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { SpellClassification } from \"./spellClassification\";\r\n\r\nexport class championAbilityData {\r\n spellName: string = \"\";\r\n iconAsset: string = \"\";\r\n iconName: string = \"\";\r\n isPassive?: boolean;\r\n classification?: SpellClassification;\r\n parentSpellName?: string;\r\n nativeBinHash: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championAbilityData } from \"./championAbilityData\";\r\nimport { championSkinInfo } from \"./championSkinInfo\";\r\n\r\nexport class championData {\r\n id: number = 0;\r\n alias: string = \"\";\r\n name: string = \"\";\r\n attackSpeed: number = 0;\r\n splashCenteredImg: string = \"\";\r\n splashImg: string = \"\";\r\n loadingImg: string = \"\";\r\n squareImg: string = \"\";\r\n tileImg: string = \"\";\r\n spells: championAbilityData[] = [];\r\n skins: { [key: number]: championSkinInfo } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class championSkinInfo {\r\n name: string = \"\";\r\n splashCenteredUrl: string = \"\";\r\n splashUrl: string = \"\";\r\n loadingUrl: string = \"\";\r\n tileUrl: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class championStatistics {\r\n winRate: number = 0;\r\n pickRate: number = 0;\r\n banRate: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"./matchRuleSet\";\r\nimport { teamWithMembers } from \"./teamWithMembers\";\r\n\r\nexport class gameWithTeams {\r\n teams: teamWithMembers[] = [];\r\n gameId: number = 0;\r\n matchId: number = 0;\r\n gameNumber: number = 0;\r\n gameWinnerId?: number;\r\n isActive: boolean = false;\r\n isComplete: boolean = false;\r\n gameTime?: number;\r\n gameDate?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n patch: string = \"\";\r\n gameVersion: string = \"0.0.0\";\r\n assetPatch: string = \"0.0.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameTelemetry {\r\n totalUpdateTimeInMs: number = 0;\r\n stateTransitionProcessingTimeInMs: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class itemAsset {\r\n id: number = 0;\r\n name: string = \"\";\r\n assetUrl: string = \"\";\r\n gameTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"./bestOfType\";\r\nimport { gameWithTeams } from \"./gameWithTeams\";\r\nimport { MatchRuleSet } from \"./matchRuleSet\";\r\nimport { teamWithMembers } from \"./teamWithMembers\";\r\n\r\nexport class matchWithGamesAndTeams {\r\n games: gameWithTeams[] = [];\r\n teams: teamWithMembers[] = [];\r\n matchId: number = 0;\r\n seasonId: number = 0;\r\n winnerId?: number;\r\n isActive: boolean = false;\r\n type: BestOfType = BestOfType.BestOf1;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n name?: string;\r\n date?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n onStage: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cDragonPerkInfo } from \"./cDragonPerkInfo\";\r\nimport { runeStyle } from \"./runeStyle\";\r\n\r\nexport class perkData {\r\n primary?: runeStyle;\r\n secondary?: runeStyle;\r\n perks: cDragonPerkInfo[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class perkInfoV2 {\r\n iconHash?: string;\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class perkStyleInfoV2 {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n iconHash?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class runeStyle {\r\n treeId: number = 0;\r\n treeName?: string;\r\n assetPath?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class seasonData {\r\n seasonId: number = 0;\r\n seasonName: string = \"\";\r\n isActive: boolean = false;\r\n startDate?: Date;\r\n endDate?: Date;\r\n iconUri?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class simpleChampionData {\r\n id: number = 0;\r\n alias: string = \"\";\r\n name: string = \"\";\r\n splashCenteredImg: string = \"\";\r\n splashImg: string = \"\";\r\n loadingImg: string = \"\";\r\n squareImg: string = \"\";\r\n tileImg: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SpellClassification {\r\n Ability = 0,\r\n Passive = 1,\r\n BasicAttack = 2,\r\n CritAttack = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class summonerSpellData {\r\n id?: number;\r\n name: string = \"\";\r\n spellIcon: string = \"\";\r\n localAsset: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class summonerSpellInfoV2 {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n iconFileName: string = \"\";\r\n iconHash?: string;\r\n nativeBinHash: number = 0;\r\n spellName: string = \"\";\r\n iconAsset: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamData {\r\n teamId: number = 0;\r\n name: string = \"\";\r\n tag: string = \"\";\r\n description?: string;\r\n iconUri?: string;\r\n isActive: boolean = false;\r\n primaryColor?: number = 0;\r\n secondaryColor?: number = 0;\r\n tertiaryColor?: number = 0;\r\n backgroundColor?: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TeamMemberRole {\r\n Unknown = 0,\r\n Player = 1,\r\n Coach = 2,\r\n Manager = 3,\r\n Analyst = 4,\r\n Substitute = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { TeamMemberRole } from \"./teamMemberRole\";\r\n\r\nexport class teamMember {\r\n memberId: number = 0;\r\n teamId: number = 0;\r\n alias: string = \"\";\r\n puuid: string = \"\";\r\n isActive: boolean = false;\r\n tag: string = \"\";\r\n iconUri?: string;\r\n role: TeamMemberRole = TeamMemberRole.Unknown;\r\n familyName: string = \"\";\r\n givenName: string = \"\";\r\n displayName?: string;\r\n videoStreamUrl?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamScore {\r\n wins: number = 0;\r\n losses: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamMember } from \"./teamMember\";\r\n\r\nexport class teamWithMembers {\r\n members: teamMember[] = [];\r\n teamId: number = 0;\r\n name: string = \"\";\r\n tag: string = \"\";\r\n description?: string;\r\n iconUri?: string;\r\n isActive: boolean = false;\r\n primaryColor?: number = 0;\r\n secondaryColor?: number = 0;\r\n tertiaryColor?: number = 0;\r\n backgroundColor?: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"./customOverlayMode\";\r\nimport { SetPhaseType } from \"../style/set/setPhaseType\";\r\n\r\nexport class customOverlay {\r\n id: string = \"\";\r\n name: string = \"\";\r\n description: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n sourcePath: string = \"\";\r\n devScript: string = \"\";\r\n slug: string = \"\";\r\n phase?: SetPhaseType;\r\n version: string = \"\";\r\n cloudId?: string;\r\n isManagedPackage: boolean = false;\r\n createdAt: Date = new Date();\r\n updatedAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"./customOverlayMode\";\r\nimport { SetPhaseType } from \"../style/set/setPhaseType\";\r\n\r\nexport class customOverlayDescriptor {\r\n id: string = \"\";\r\n name: string = \"\";\r\n description: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n slug: string = \"\";\r\n phase?: SetPhaseType;\r\n version: string = \"\";\r\n cloudId?: string;\r\n createdAt: Date = new Date();\r\n updatedAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DevServerStatus {\r\n Stopped = 0,\r\n Starting = 1,\r\n Running = 2,\r\n Error = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DevServerStatus } from \"./devServerStatus\";\r\n\r\nexport class devServerState {\r\n status: DevServerStatus = DevServerStatus.Stopped;\r\n url?: string;\r\n error?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\n\r\nexport class borderStyle {\r\n width: string = \"\";\r\n style: string = \"\";\r\n color: string | colorStyle = \"\";\r\n radius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ChampionIconType {\r\n Splash = 0,\r\n SplashCentered = 1,\r\n Loading = 2,\r\n Square = 3,\r\n Tile = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectFit {\r\n Fill = 0,\r\n Contain = 1,\r\n Cover = 2,\r\n None = 3,\r\n ScaleDown = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\nimport { ChampionIconType } from \"./championIconType\";\r\nimport { ObjectFit } from \"./objectFit\";\r\n\r\nexport class championIconStyle {\r\n type: ChampionIconType = ChampionIconType.Splash;\r\n fit: ObjectFit = ObjectFit.Fill;\r\n zoom: number = 0;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum GradientType {\r\n Linear = 0,\r\n Radial = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStop } from \"./colorStop\";\r\nimport { GradientType } from \"./gradientType\";\r\n\r\nexport class colorGradientData {\r\n angle: number = 0;\r\n type: GradientType = GradientType.Linear;\r\n stops: colorStop[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorImageData {\r\n source: string = \"\";\r\n fit: string = \"\";\r\n repeat: string = \"\";\r\n position: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorStop {\r\n color: string = \"#FFFFFF\";\r\n position: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorGradientData } from \"./colorGradientData\";\r\nimport { colorImageData } from \"./colorImageData\";\r\nimport { Team } from \"./team\";\r\nimport { TeamColorType } from \"./teamColorType\";\r\n\r\nexport class colorStyle {\r\n color: string = \"\";\r\n useTeamColor?: TeamColorType;\r\n useSideColor?: Team;\r\n image?: colorImageData;\r\n gradient?: colorGradientData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { layoutStyle } from \"./layoutStyle\";\r\nimport { textStyle } from \"./textStyle\";\r\n\r\nexport class componentStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n text?: textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class displayColorData {\r\n blueSideColor: string = \"#FFFFFF\";\r\n redSideColor: string = \"#FFFFFF\";\r\n neutralColor: string = \"#FFFFFF\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"./contentAlign\";\r\n\r\nexport class globalPosition {\r\n contentAlign: ContentAlign = ContentAlign.TopLeft;\r\n offsetX: string = \"\";\r\n offsetY: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { imageStyle } from \"./imageStyle\";\r\nimport { textStyle } from \"./textStyle\";\r\n\r\nexport class imageComponentStyle {\r\n image: imageStyle = {} as imageStyle;\r\n color: string | colorStyle = \"\";\r\n text?: textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\nimport { ObjectFit } from \"./objectFit\";\r\n\r\nexport class imageStyle {\r\n fit: ObjectFit = ObjectFit.Fill;\r\n zoom: number = 0;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\n\r\nexport class layoutStyle {\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TextOrientation {\r\n None = 0,\r\n Upright = 1,\r\n Sideways = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum WritingMode {\r\n None = 0,\r\n Horizontal = 1,\r\n VerticalL = 2,\r\n VerticalR = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { TextOrientation } from \"./text/textOrientation\";\r\nimport { textOutline } from \"./textOutline\";\r\nimport { WritingMode } from \"./text/writingMode\";\r\n\r\nexport class optionalTextStyle {\r\n show: boolean = false;\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string | colorStyle = \"\";\r\n textBorder?: textOutline;\r\n overrideCommonFontFamily: boolean = false;\r\n textOrientation: TextOrientation = TextOrientation.None;\r\n writingMode: WritingMode = WritingMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TeamColorType {\r\n Primary = 0,\r\n Secondary = 1,\r\n Tertiary = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\n\r\nexport class textOutline {\r\n color: string | colorStyle = \"\";\r\n strength: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { TextOrientation } from \"./text/textOrientation\";\r\nimport { textOutline } from \"./textOutline\";\r\nimport { WritingMode } from \"./text/writingMode\";\r\n\r\nexport class textStyle {\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string | colorStyle = \"\";\r\n textBorder?: textOutline;\r\n overrideCommonFontFamily: boolean = false;\r\n textOrientation: TextOrientation = TextOrientation.None;\r\n writingMode: WritingMode = WritingMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Feature {\r\n BasicTier = 0,\r\n ProTier = 1,\r\n EnterpriseTier = 2,\r\n Decals = 3,\r\n Models = 4,\r\n Strokes = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { displayColorData } from \"../displayColorData\";\r\n\r\nexport class globalStyleProperties {\r\n playerFullNameDisplayFormat: string = \"\";\r\n color: displayColorData = {} as displayColorData;\r\n fontFamily: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalStyleProperties } from \"./globalStyleProperties\";\r\nimport { SetPhaseType } from \"./setPhaseType\";\r\n\r\nexport class styleSet {\r\n uri: string = \"\";\r\n name: string = \"\";\r\n globalProperties: globalStyleProperties = {} as globalStyleProperties;\r\n phase: SetPhaseType = SetPhaseType.Pre;\r\n isValid: boolean = false;\r\n style?: { [key: string]: any };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"./feature\";\r\n\r\nexport class styleSetEntry {\r\n variant: string = \"\";\r\n category: string = \"\";\r\n isActive: boolean = false;\r\n uri?: string;\r\n minimumFeature?: Feature;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleSetNameCollection {\r\n preset: string[] = [];\r\n custom: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AppTheme {\r\n Light = 0,\r\n Dark = 1,\r\n System = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum WindowType {\r\n Main = 0,\r\n Startup = 1,\r\n Login = 2,\r\n Settings = 3,\r\n Drawing = 4,\r\n ScriptEditor = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class pollChoice {\r\n id?: string;\r\n title?: string;\r\n votes: number = 0;\r\n channel_points_votes: number = 0;\r\n bits_votes: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class predictionOutcome {\r\n id?: string;\r\n title?: string;\r\n users: number = 0;\r\n channel_points: number = 0;\r\n color?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { pollChoice } from \"./pollChoice\";\r\n\r\nexport class twitchPollDto {\r\n id?: string;\r\n broadcaster_id?: string;\r\n title?: string;\r\n choices?: pollChoice[];\r\n bits_voting_enabled: boolean = false;\r\n bits_per_vote: number = 0;\r\n channel_points_voting_enabled: boolean = false;\r\n channel_points_per_vote: number = 0;\r\n status?: string;\r\n duration: number = 0;\r\n started_at: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { predictionOutcome } from \"./predictionOutcome\";\r\n\r\nexport class twitchPredictionDto {\r\n id?: string;\r\n broadcaster_id?: string;\r\n title?: string;\r\n winning_outcome_id?: string;\r\n outcomes?: predictionOutcome[];\r\n prediction_window: number = 0;\r\n status?: string;\r\n created_at: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class chatVoteOption {\r\n label?: string;\r\n votes: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { chatVoteOption } from \"./chatVoteOption\";\r\n\r\nexport class chatVoteResultDto {\r\n active: boolean = false;\r\n options?: chatVoteOption[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class createChoice {\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { createChoice } from \"./createChoice\";\r\n\r\nexport class createPollDto {\r\n title?: string;\r\n choices?: createChoice[];\r\n duration: number = 0;\r\n channel_points_voting_enabled?: boolean;\r\n channel_points_per_vote?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { predictionOutcomeRequest } from \"./predictionOutcomeRequest\";\r\n\r\nexport class createPredictionDto {\r\n title?: string;\r\n outcomes?: predictionOutcomeRequest[];\r\n predictionWindow: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class predictionOutcomeRequest {\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class endPollDto {\r\n id?: string;\r\n status?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class endPredictionDto {\r\n id?: string;\r\n status?: string;\r\n winningOutcomeId?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class startChatVoteDto {\r\n choices?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class twitchStatusDTO {\r\n displayName?: string;\r\n connected: boolean = false;\r\n}\r\n","import { itemWithAsset } from \"#types/ingame/itemWithAsset\";\r\nimport { ingameScoreboardBottomPlayerData } from \"#types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData\";\r\n\r\nexport function getSortedInventory(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): (itemWithAsset | undefined)[] {\r\n if (!playerData.items) return Array(6).fill({ id: 0 });\r\n\r\n const items =\r\n playerData.items?.filter((item) => item.slot < 6) ??\r\n ([] as (itemWithAsset | undefined)[]);\r\n\r\n //sort items by cost, with undefined items at the end\r\n const regularItems = items.sort(\r\n (a, b) => (a?.cost ?? 0) - (b?.cost ?? 0),\r\n ) as (itemWithAsset | undefined)[];\r\n\r\n //fill items with empty items if less than 6, undefined items at start\r\n while (regularItems.length < 6) {\r\n regularItems.unshift(undefined);\r\n }\r\n return regularItems ?? [];\r\n}\r\n\r\nexport function getTrinket(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): itemWithAsset | undefined {\r\n return playerData.items?.find((item) => item.slot === 6);\r\n}\r\n\r\nexport function getRoleQuest(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): itemWithAsset | undefined {\r\n return playerData.items?.find((item) => item.slot === 8);\r\n}\r\n","import { DamageType } from \"#types/ingame/damageRecap/damageType\";\r\nimport { SpellClassification } from \"#types/shared/spellClassification\";\r\nimport type { damageRecapEntry } from \"#types/ingame/damageRecap/damageRecapEntry\";\r\nimport type { damageRecapSpellEntry } from \"#types/ingame/damageRecap/damageRecapSpellEntry\";\r\nimport type { iSpellObjectResource } from \"#types/ingame/damageRecap/iSpellObjectResource\";\r\n\r\n// ---------------------------------------------------------------------------\r\n// Constants\r\n// ---------------------------------------------------------------------------\r\n\r\nexport const PHYS_COLOR = \"#E84057\";\r\nexport const MAGIC_COLOR = \"#5383E8\";\r\nexport const TRUE_COLOR = \"#F0E6D3\";\r\n\r\n// ---------------------------------------------------------------------------\r\n// Primitive helpers\r\n// ---------------------------------------------------------------------------\r\n\r\n/** Returns a CSS hex color string for the given damage type. */\r\nexport function dmgTypeColor(type: DamageType | string | number): string {\r\n const normalized = typeof type === \"string\" ? type.toLowerCase() : type;\r\n if (normalized === DamageType.Physical || normalized === \"physical\")\r\n return PHYS_COLOR;\r\n if (normalized === DamageType.Magic || normalized === \"magic\")\r\n return MAGIC_COLOR;\r\n if (normalized === DamageType.True || normalized === \"true\")\r\n return TRUE_COLOR;\r\n return \"#888\";\r\n}\r\n\r\n/**\r\n * Formats a damage number for display.\r\n * Values ≥ 1 000 are rendered as e.g. `\"1.5k\"`.\r\n */\r\nexport function formatDamage(value: number): string {\r\n return value >= 1000\r\n ? `${(value / 1000).toFixed(1)}k`\r\n : `${Math.round(value)}`;\r\n}\r\n\r\n/**\r\n * Safe lookup for a damage-by-type map.\r\n * Tries the original key first, then its lowercase form, then returns 0.\r\n */\r\nexport function getDamageByType(\r\n map: { [k: string]: number },\r\n key: string,\r\n): number {\r\n return map[key] ?? map[key.toLowerCase()] ?? 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Bar segments\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface DamageBarSegment {\r\n /** CSS hex color. */\r\n color: string;\r\n /** Width as a percentage (0–100). */\r\n pct: number;\r\n}\r\n\r\n/**\r\n * Computes percentage-width bar segments (physical → magic → true damage)\r\n * for a damage-by-type map. Segments narrower than 0.5 % are filtered out.\r\n */\r\nexport function damageBarSegments(\r\n damageByType: { [k: string]: number },\r\n total: number,\r\n): DamageBarSegment[] {\r\n const t = total || 1;\r\n return [\r\n {\r\n color: PHYS_COLOR,\r\n pct: (getDamageByType(damageByType, \"Physical\") / t) * 100,\r\n },\r\n {\r\n color: MAGIC_COLOR,\r\n pct: (getDamageByType(damageByType, \"Magic\") / t) * 100,\r\n },\r\n {\r\n color: TRUE_COLOR,\r\n pct: (getDamageByType(damageByType, \"True\") / t) * 100,\r\n },\r\n ].filter((s) => s.pct > 0.5);\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Spell aggregation\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface AggregatedSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number;\r\n damageType: DamageType;\r\n}\r\n\r\n/**\r\n * Aggregates a list of spell entries by (visual identity × damage type) and\r\n * returns them sorted by total damage descending.\r\n *\r\n * Grouping key:\r\n * - `BasicAttack` / `CritAttack` classifications each collapse to a single\r\n * stable key so all auto-attacks are counted together.\r\n * - All other spells group by `iconAsset` when present, falling back to\r\n * `spellName` — both qualified by damage type.\r\n */\r\nexport function aggregateSpellEntries(\r\n spells: damageRecapSpellEntry[],\r\n): AggregatedSpellEntry[] {\r\n const agg = new Map<string, AggregatedSpellEntry>();\r\n for (const s of spells) {\r\n if (!s.spellData) continue;\r\n const classification = s.spellData.classification;\r\n let groupKey: string;\r\n if (classification === SpellClassification.BasicAttack) {\r\n groupKey = \"__autoattack__\";\r\n } else if (classification === SpellClassification.CritAttack) {\r\n groupKey = \"__critattack__\";\r\n } else {\r\n // Use || (not ??) so an empty string falls through to spellName,\r\n // preventing all icon-less spells from collapsing into one bucket.\r\n groupKey = s.spellData.iconAsset || s.spellData.spellName;\r\n }\r\n const key = `${groupKey}::${s.damageType}`;\r\n const existing = agg.get(key);\r\n if (existing) {\r\n existing.damage += s.damage;\r\n } else {\r\n agg.set(key, {\r\n spellData: s.spellData,\r\n damage: s.damage,\r\n damageType: s.damageType,\r\n });\r\n }\r\n }\r\n return [...agg.values()].sort((a, b) => b.damage - a.damage);\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Entry normalization & grouping\r\n// ---------------------------------------------------------------------------\r\n\r\nexport type EntityType = \"champion\" | \"minion\" | \"turret\" | \"baron\" | \"monster\";\r\n\r\nexport interface NormalizedDamageEntry {\r\n /** Stable group key used for de-duplication. */\r\n key: string;\r\n /** Human-readable display name. */\r\n displayName: string;\r\n /** Champion portrait backend path (champions only). */\r\n squareImg?: string;\r\n entityType: EntityType;\r\n totalDamage: number;\r\n damageByType: { [k: string]: number };\r\n /** Aggregated and sorted spell breakdown. */\r\n spells: AggregatedSpellEntry[];\r\n}\r\n\r\n/**\r\n * Classifies a well-known non-champion name into a stable group descriptor,\r\n * or returns `null` when the name does not match any known pattern.\r\n */\r\nfunction classifySpecialEntity(name: string): {\r\n key: string;\r\n displayName: string;\r\n entityType: Extract<EntityType, \"minion\" | \"turret\" | \"baron\">;\r\n} | null {\r\n if (/baron/i.test(name)) {\r\n return {\r\n key: \"__baron__\",\r\n displayName: \"Baron Nashor\",\r\n entityType: \"baron\",\r\n };\r\n }\r\n if (/^minion_t/i.test(name)) {\r\n const isOrder = /^minion_t1/i.test(name);\r\n return {\r\n key: isOrder ? \"__minion_order__\" : \"__minion_chaos__\",\r\n displayName: \"Minions\",\r\n entityType: \"minion\",\r\n };\r\n }\r\n if (/^turret_t/i.test(name)) {\r\n const isOrder = /^turret_torder/i.test(name);\r\n return {\r\n key: isOrder ? \"__turret_order__\" : \"__turret_chaos__\",\r\n displayName: \"Turrets\",\r\n entityType: \"turret\",\r\n };\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Maps `damageRecapEntry` objects to `NormalizedDamageEntry`, grouping by:\r\n *\r\n * - **Known special entities** (baron, minions, turrets) into shared buckets.\r\n * - **Champions** — entries whose `sourceName` contains no `.` character —\r\n * keyed by the exact source name.\r\n * - **Everything else** (jungle monsters, game mode specific entities, …) — grouped by the\r\n * base name segment before the first `.`, with trailing camp IDs and the\r\n * `SRU_` prefix stripped for readability.\r\n *\r\n * Results are sorted by total damage descending; only the top `limit` entries\r\n * are returned.\r\n */\r\nexport function normalizeDamageEntries(\r\n entries: damageRecapEntry[],\r\n limit = 5,\r\n): NormalizedDamageEntry[] {\r\n const grouped = new Map<string, NormalizedDamageEntry>();\r\n const pendingSpells = new Map<string, damageRecapSpellEntry[]>();\r\n\r\n for (const entry of entries) {\r\n const special = classifySpecialEntity(entry.sourceName);\r\n if (special) {\r\n const existing = grouped.get(special.key);\r\n if (existing) {\r\n existing.totalDamage += entry.totalDamage;\r\n for (const [k, v] of Object.entries(entry.damageByType)) {\r\n existing.damageByType[k] = (existing.damageByType[k] ?? 0) + v;\r\n }\r\n } else {\r\n grouped.set(special.key, {\r\n key: special.key,\r\n displayName: special.displayName,\r\n entityType: special.entityType,\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: [],\r\n });\r\n }\r\n } else if (!entry.sourceName.includes(\".\")) {\r\n // Champion — names never contain a '.' (e.g. \"Ahri\", \"MissFortune\")\r\n grouped.set(entry.sourceName, {\r\n key: entry.sourceName,\r\n displayName: entry.source?.name ?? entry.sourceName,\r\n squareImg: entry.source?.squareImg,\r\n entityType: \"champion\",\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: aggregateSpellEntries(entry.spells),\r\n });\r\n } else {\r\n // Monster / NPC — group by base name (strip instance suffix and SRU_ prefix)\r\n const baseName = entry.sourceName\r\n .split(\".\")[0]\r\n .replace(/_\\d+$/, \"\")\r\n .replace(/^SRU_/i, \"\");\r\n const existing = grouped.get(baseName);\r\n if (existing) {\r\n existing.totalDamage += entry.totalDamage;\r\n for (const [k, v] of Object.entries(entry.damageByType)) {\r\n existing.damageByType[k] = (existing.damageByType[k] ?? 0) + v;\r\n }\r\n } else {\r\n grouped.set(baseName, {\r\n key: baseName,\r\n displayName: baseName,\r\n squareImg: entry.source?.squareImg,\r\n entityType: \"monster\",\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: [],\r\n });\r\n }\r\n const pending = pendingSpells.get(baseName) ?? [];\r\n pending.push(...entry.spells);\r\n pendingSpells.set(baseName, pending);\r\n }\r\n }\r\n\r\n // Resolve accumulated spells for each monster group\r\n for (const [key, spells] of pendingSpells) {\r\n const entry = grouped.get(key);\r\n if (entry) entry.spells = aggregateSpellEntries(spells);\r\n }\r\n\r\n return [...grouped.values()]\r\n .sort((a, b) => b.totalDamage - a.totalDamage)\r\n .slice(0, limit);\r\n}\r\n"]}
1
+ {"version":3,"sources":["../src/WebSocketManager.ts","../src/reactivity/GameStateStore.ts","../src/reactivity/ChampSelectStateStore.ts","../src/reactivity/PostGameStateStore.ts","../src/reactivity/structuralShare.ts","../types/shared/GameState.ts","../types/ingame/ingameFrontendData.ts","../types/pregame/champSelectStateData.ts","../types/postgame/postGameStateData.ts","../src/api/ApiClient.ts","../src/api/generated/PreGameApi.ts","../src/api/generated/GameApi.ts","../src/api/generated/GameStateApi.ts","../src/api/generated/MatchApi.ts","../src/api/generated/SeasonApi.ts","../src/api/generated/IngameApi.ts","../src/api/generated/PostGameApi.ts","../src/api/RestApi.ts","../src/util/ingameTimerUtils.ts","../../shared-overlay-health/src/transport.ts","../../shared-overlay-health/src/types.ts","../../shared-overlay-health/src/detector.ts","../../shared-overlay-health/src/index.ts","../src/LeagueBroadcastClient.ts","../types/cloud/changeDetectionResponse.ts","../types/cloud/cloudStyleSetDownloadResponse.ts","../types/cloud/cloudStyleSetMetadata.ts","../types/cloud/cloudStyleSetsResponse.ts","../types/cloud/cloudStyleSetUploadRequest.ts","../types/cloud/cloudStyleSetUploadResponse.ts","../types/cloud/cloudSyncConfig.ts","../types/cloud/cloudSyncResult.ts","../types/shared/style/set/SetPhaseType.ts","../types/cloud/localSyncState.ts","../types/cloud/overlay/cloudOverlayDownloadResponse.ts","../types/cloud/overlay/cloudOverlayMetadata.ts","../types/cloud/overlay/cloudOverlaysResponse.ts","../types/cloud/overlay/cloudOverlayUploadRequest.ts","../types/cloud/overlay/cloudOverlayUploadResponse.ts","../types/hotkey/casterModeConfigDto.ts","../types/hotkey/Lane.ts","../types/hotkey/playerHotkeyDto.ts","../types/hotkey/singleChampionDetailHotkeyConfigDto.ts","../types/hotkey/singleIngameHotkeyConfigDto.ts","../types/hotkey/singlePostgameHotkeyConfigDto.ts","../types/ingame/SpellSlotIndex.ts","../types/ingame/ingameAbilityInfo.ts","../types/ingame/ingameObjectivePowerPlay.ts","../types/ingame/ingameStateSettingsWrapper.ts","../types/ingame/itemWithAsset.ts","../types/ingame/announcer/announcementParameter.ts","../types/ingame/announcer/AnnouncementType.ts","../types/ingame/announcer/announcerEvent.ts","../types/ingame/championDetail/championCombatStats.ts","../types/shared/style/Team.ts","../types/ingame/championDetail/championDetailData.ts","../types/ingame/championDetail/championRuneStat.ts","../types/ingame/damageComposition/damageCompositionPlayer.ts","../types/ingame/damageComposition/damageCompositionTeam.ts","../types/ingame/damageComposition/ingameDamageCompositionData.ts","../types/ingame/damageEvent/DamageEventType.ts","../types/ingame/damageEvent/damageEventHistoryEntry.ts","../types/ingame/damageFlow/damageFlowEdge.ts","../types/ingame/damageFlow/damageFlowNode.ts","../types/ingame/damageFlow/ingameDamageFlowData.ts","../types/ingame/damageGraph/damageGraphEntry.ts","../types/ingame/damageGraph/ingameDamageGraphData.ts","../types/ingame/damageRecap/damageRecapEntry.ts","../types/ingame/damageRecap/DamageType.ts","../types/ingame/damageRecap/damageRecapSpellEntry.ts","../types/ingame/damageRecap/damageRecapTimelineEntry.ts","../types/ingame/damageRecap/ObjectiveRecapDisplayMode.ts","../types/ingame/damageRecap/ingameDamageRecapData.ts","../types/ingame/damageSplit/DamageSplitMode.ts","../types/ingame/damageSplit/damageSplitSpellEntry.ts","../types/ingame/damageSplit/damageSplitTargetEntry.ts","../types/ingame/damageSplit/ingameDamageSplitData.ts","../types/ingame/event/ingameObjectiveEvent.ts","../types/ingame/event/killFeedEvent.ts","../types/ingame/event/ObjectiveEventType.ts","../types/ingame/event/playerUpdateEvent.ts","../types/ingame/event/teamUpdateResults.ts","../types/ingame/event/transitionEvents.ts","../types/ingame/event/turretPlatingFallEvent.ts","../types/ingame/goldEfficiency/goldEfficiencyEntry.ts","../types/ingame/goldEfficiency/ingameGoldEfficiencyData.ts","../types/ingame/graph/ingameGoldGraphData.ts","../types/ingame/graph/singleGameGoldGraphData.ts","../types/ingame/objective/IngameObjectiveType.ts","../types/ingame/inhibitor/inhibitorRespawnData.ts","../types/ingame/inhibitor/teamInhibitorData.ts","../types/ingame/killParticipation/ingameKillParticipationData.ts","../types/ingame/killParticipation/killParticipationLink.ts","../types/ingame/killParticipation/killParticipationPlayer.ts","../types/ingame/objective/CampLocation.ts","../types/ingame/objectiveDps/ingameObjectiveDpsData.ts","../types/ingame/objectiveDps/objectiveDpsSample.ts","../types/ingame/rune/ingameRuneData.ts","../types/ingame/rune/ingameSingleRuneData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData.ts","../types/ingame/scoreboardBottom/ingameScoreboardBottomTeamData.ts","../types/ingame/skinDisplay/ingameSkinDisplayData.ts","../types/ingame/skinDisplay/ingameSkinDisplayPlayerData.ts","../types/ingame/skinDisplay/ingameSkinDisplayTeamData.ts","../types/ingame/smiteReaction/smiteReactionResult.ts","../types/ingame/style/timerBarStyle.ts","../types/ingame/style/announcer/announcerColors.ts","../types/ingame/style/announcer/announcerUniversalStyle.ts","../types/ingame/style/bottomScoreboard/championImage.ts","../types/ingame/style/bottomScoreboard/creepScore.ts","../types/ingame/style/bottomScoreboard/fullPlayerScoreboardSlots.ts","../types/ingame/style/bottomScoreboard/itemSlot.ts","../types/ingame/style/bottomScoreboard/playerKDA.ts","../types/ingame/style/bottomScoreboard/playerScoreboard.ts","../types/ingame/style/bottomScoreboard/playerScoreboardContainer.ts","../types/ingame/style/bottomScoreboard/playerScoreboardGoldComparison.ts","../types/ingame/style/bottomScoreboard/playerScoreboardSlot.ts","../types/ingame/style/bottomScoreboard/respawnTimer.ts","../types/ingame/style/bottomScoreboard/roleQuestSlot.ts","../types/ingame/style/bottomScoreboard/scoreboardChampionSlot.ts","../types/ingame/style/damageComposition/damageCompositionBarStyle.ts","../types/ingame/style/damageComposition/damageCompositionColors.ts","../types/ingame/style/damageComposition/damageCompositionDonutStyle.ts","../types/ingame/style/damageComposition/damageCompositionStyle.ts","../types/ingame/style/damageFlow/damageFlow.ts","../types/ingame/style/damageFlow/damageFlowNodeStyle.ts","../types/ingame/style/damageFlow/damageFlowRibbonStyle.ts","../types/ingame/style/damageGraph/colorByDamageType.ts","../types/ingame/style/damageGraph/damageBarStyle.ts","../types/ingame/style/damageGraph/damageGraphSide.ts","../types/ingame/style/damageGraph/scoreboardDamageGraphStyle.ts","../types/ingame/style/damageGraph/textWithContent.ts","../types/ingame/style/damageRecap/damageRecapDamageBarStyle.ts","../types/ingame/style/damageRecap/damageRecapEntryStyle.ts","../types/ingame/style/damageRecap/damageRecapStyle.ts","../types/ingame/style/damageSplit/damageSplitBarStyle.ts","../types/ingame/style/damageSplit/damageSplitEntryStyle.ts","../types/ingame/style/damageSplit/damageSplitStyle.ts","../types/ingame/style/gameinfo/gameInfoRotation.ts","../types/ingame/style/gameinfo/textContentWithStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyHeaderStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyHeatStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyPlayerRowStyle.ts","../types/ingame/style/goldEfficiency/goldEfficiencyStyle.ts","../types/ingame/style/graph/championIamgeStyle.ts","../types/ingame/style/graph/championImageStyle.ts","../types/ingame/style/graph/damageDealtStyle.ts","../types/ingame/style/graph/healthBarStyle.ts","../types/ingame/style/graph/levelXpTrackerStyle.ts","../types/ingame/style/graph/numberContainerStyle.ts","../types/ingame/style/graph/playerXpLevelStyle.ts","../types/ingame/style/graph/runeDisplayStyle.ts","../types/ingame/style/graph/teamfightDamageEntryStyle.ts","../types/ingame/style/graph/teamFightDamageStyle.ts","../types/ingame/style/graph/ultiAbilityStyle.ts","../types/ingame/style/graph/goldGraph/goldGraph.ts","../types/ingame/style/graph/goldGraph/gridLineStyle.ts","../types/ingame/style/graph/goldGraph/lineStyle.ts","../types/ingame/style/inhibitor/inhibitorTimer.ts","../types/ingame/style/inhibitor/inhibitorTimerContainer.ts","../types/ingame/style/inhibitor/inhibitorTimerDual.ts","../types/ingame/style/inhibitor/inhibitorTimerIconContainer.ts","../types/ingame/style/inhibitor/inhibitorTimerSingle.ts","../types/ingame/style/inhibitor/inhibitorTimerTimerContainer.ts","../types/ingame/style/killfeed/killFeed.ts","../types/shared/style/ContentAlign.ts","../types/ingame/style/killfeed/killFeedAssistersStyle.ts","../types/ingame/style/killfeed/killFeedContainerStyle.ts","../types/ingame/style/killfeed/killFeedEntryStyle.ts","../types/ingame/style/killfeed/killFeedIconStyle.ts","../types/ingame/style/killfeed/killFeedKillIconStyle.ts","../types/ingame/style/killParticipation/killParticipationStyle.ts","../types/ingame/style/lframe/lFrameRotation.ts","../types/ingame/style/lframe/TransitionType.ts","../types/ingame/style/lframe/transitionStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDamagePerTeamStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsBarStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsHeaderStyle.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsSmiteStrip.ts","../types/ingame/style/objectiveDamagePerTeam/objectiveDpsTeamNumbersStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapCardStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapHeaderStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapSmiteBarStyle.ts","../types/ingame/style/objectiveRecap/objectiveRecapStyle.ts","../types/ingame/style/rune/runeDisplayPerkStyle.ts","../types/ingame/style/rune/runeDisplayTeamStyle.ts","../types/ingame/style/skinDisplay/skinDisplayInfoStyle.ts","../types/ingame/style/skinDisplay/skinDisplayPoweredByStyle.ts","../types/ingame/style/skinDisplay/skinDisplayRoleIconStyle.ts","../types/ingame/style/skinDisplay/skinDisplayStyle.ts","../types/ingame/style/smiteReaction/smiteReactionBadgeStyle.ts","../types/ingame/style/smiteReaction/smiteReactionPoweredByStyle.ts","../types/ingame/style/smiteReaction/smiteReactionRingStyle.ts","../types/ingame/style/smiteReaction/smiteReactionStyle.ts","../types/ingame/style/smiteReaction/smiteReactionTextStyle.ts","../types/ingame/style/spawnTimer/spawnTimer.ts","../types/ingame/style/spawnTimer/spawnTimerIconContainerStyle.ts","../types/ingame/style/spawnTimer/spawnTimerInfoContainerStyle.ts","../types/ingame/style/spawnTimer/spawnTimerStyle.ts","../types/ingame/style/tab/championStackStyle.ts","../types/ingame/style/tab/championStatusStyle.ts","../types/ingame/style/tab/championTabContainerStyle.ts","../types/ingame/style/tab/championTabNameStyle.ts","../types/ingame/style/tab/championTabsStyle.ts","../types/ingame/style/tab/championUltimateStyle.ts","../types/ingame/style/tab/progressBarStyle.ts","../types/ingame/style/tab/tabLevelUpStyle.ts","../types/ingame/style/tab/tabsStyle.ts","../types/ingame/style/teamfightTimeline/teamfightDeathIconStyle.ts","../types/ingame/style/teamfightTimeline/teamfightTimelineStyle.ts","../types/ingame/style/topScoreboard/gameTimer.ts","../types/ingame/style/topScoreboard/globalScoreboard.ts","../types/ingame/style/topScoreboard/globalScoreboardBooleanIndicator.ts","../types/ingame/style/topScoreboard/globalScoreboardSection.ts","../types/ingame/style/topScoreboard/goldAdvantage.ts","../types/ingame/style/topScoreboard/objectiveList.ts","../types/ingame/style/topScoreboard/objectiveTimer.ts","../types/ingame/style/topScoreboard/teamIconStyle.ts","../types/ingame/style/topScoreboard/teamInfo.ts","../types/ingame/style/topScoreboard/teamScores.ts","../types/ingame/style/topScoreboard/tournamentLogo.ts","../types/ingame/style/twitch/twitchChatVote/headline.ts","../types/ingame/style/twitch/twitchChatVote/optionBar.ts","../types/ingame/style/twitch/twitchChatVote/optionTitel.ts","../types/ingame/style/twitch/twitchChatVote/optionVotes.ts","../types/ingame/style/twitch/twitchChatVote/totalBadge.ts","../types/ingame/style/twitch/twitchChatVote/twitchChatVote.ts","../types/ingame/style/twitch/twitchChatVote/voteWrapper.ts","../types/ingame/style/twitch/twitchPoll/choiceBar.ts","../types/ingame/style/twitch/twitchPoll/choiceTitel.ts","../types/ingame/style/twitch/twitchPoll/choiceVotes.ts","../types/ingame/style/twitch/twitchPoll/pollWrapper.ts","../types/ingame/style/twitch/twitchPoll/timerBadgePoll.ts","../types/ingame/style/twitch/twitchPoll/totalVotes.ts","../types/ingame/style/twitch/twitchPoll/twitchPoll.ts","../types/ingame/style/twitch/twitchPrediction/barStyle.ts","../types/ingame/style/twitch/twitchPrediction/predictionBar.ts","../types/ingame/style/twitch/twitchPrediction/predictionPoints.ts","../types/ingame/style/twitch/twitchPrediction/predictionWrapper.ts","../types/ingame/style/twitch/twitchPrediction/timerBadgePrediction.ts","../types/ingame/style/twitch/twitchPrediction/twitchPrediction.ts","../types/ingame/tab/ingameExperienceData.ts","../types/ingame/tab/ingameHealthData.ts","../types/ingame/tab/ResourceType.ts","../types/ingame/tab/ingameResourceData.ts","../types/ingame/tab/IngameSideInfoPageType.ts","../types/ingame/tab/ingameSideInfoPage.ts","../types/ingame/tab/ingameSideInfoPageDisplayData.ts","../types/ingame/tab/ingameSideInfoPageRow.ts","../types/ingame/tab/tabPlayer.ts","../types/ingame/tab/tabTeam.ts","../types/ingame/teamfightTimeline/ingameTeamfightTimelineData.ts","../types/ingame/teamfightTimeline/teamfightKillEvent.ts","../types/ingame/teamfightTimeline/teamfightTimelinePlayer.ts","../types/ingame/teamfightTimeline/teamfightTimelineSample.ts","../types/shared/BestOfType.ts","../types/ingame/topScoreboard/ingameScoreboardData.ts","../types/ingame/topScoreboard/ingameScoreboardTeamData.ts","../types/message/websocketMessageTypes.ts","../types/message/hub/authHelloMessage.ts","../types/message/hub/authHelloOkMessage.ts","../types/message/hub/drawingEventMessage.ts","../types/message/hub/drawingStateMessage.ts","../types/message/hub/drawingStateRequestMessage.ts","../types/message/hub/drawingStrokeDto.ts","../types/message/hub/hubErrorMessage.ts","../types/message/hub/hubMemberDto.ts","../types/message/hub/hubPingMessage.ts","../types/message/hub/hubPongMessage.ts","../types/message/hub/roomJoinedMessage.ts","../types/message/hub/roomJoinMessage.ts","../types/message/hub/roomLeaveMessage.ts","../types/message/hub/roomMemberJoinedMessage.ts","../types/message/hub/roomMemberLeftMessage.ts","../types/message/ingame/ingameRewindMessage.ts","../types/message/ingame/ingameStateMessage.ts","../types/message/pregame/champSelectActionMessage.ts","../types/message/pregame/champSelectStateMessage.ts","../types/message/pregame/frontendRouteUpdateMessage.ts","../types/message/ui/activeComponentChangedEventArgs.ts","../types/message/ui/activeComponentChangedMessage.ts","../types/message/ui/applicationLifetimeMessage.ts","../types/message/ui/applicationNotificationCompletedMessage.ts","../types/message/ui/applicationNotificationMessage.ts","../types/message/ui/AssetType.ts","../types/message/ui/brushPresetsChangedMessage.ts","../types/message/ui/CacheOperation.ts","../types/message/ui/colorRGBA.ts","../types/message/ui/communityDragonCacheProgressMessage.ts","../types/message/ui/communityDragonV2ProgressMessage.ts","../types/message/ui/communityDragonV2StatusMessage.ts","../types/message/ui/customOverlayUpdateMessage.ts","../types/message/ui/damageEventHistoryUpdateMessage.ts","../types/message/ui/fontsChangedMessage.ts","../types/shared/DatabaseUpdateType.ts","../types/message/ui/gameDatabaseUpdateMessage.ts","../types/message/ui/gameStatusMessage.ts","../types/message/ui/gameTeamSidesSwappedMessage.ts","../types/message/ui/hotkeyFiredMessage.ts","../types/message/ui/ingameTelemetryMessage.ts","../types/message/ui/matchDatabaseUpdateMessage.ts","../types/message/ui/partialStrokeProperties.ts","../types/message/ui/seasonDatabaseUpdateMessage.ts","../types/message/ui/StrokeLayer.ts","../types/message/ui/StrokeLineStyle.ts","../types/message/ui/strokePropertiesChangedMessage.ts","../types/message/ui/StrokeTipStyle.ts","../types/message/ui/styleSetUpdatedMessage.ts","../types/message/ui/styleVariantUpdatedEventArgs.ts","../types/message/ui/styleVariantUpdateMessage.ts","../types/message/ui/teamDatabaseUpdateMessage.ts","../types/message/ui/Tier.ts","../types/message/ui/userFeaturesUpdatedMessage.ts","../types/message/ui/userTierUpdatedMessage.ts","../types/postgame/infoRow.ts","../types/postgame/matchOverviewData.ts","../types/postgame/matchOverviewGameSummary.ts","../types/postgame/matchOverviewTeamSummary.ts","../types/postgame/playerDeath.ts","../types/postgame/PostGameDataType.ts","../types/postgame/postGameOverview.ts","../types/postgame/postGamePlayerInfo.ts","../types/postgame/postGamePlayerPage.ts","../types/postgame/postGamePlayerRunesAndItems.ts","../types/postgame/postGamePlayerStats.ts","../types/postgame/postGameTeamInfo.ts","../types/postgame/postGameTeamOverview.ts","../types/postgame/vector3.ts","../types/postgame/damage/postGameDamageGraph.ts","../types/postgame/damage/postGameDamageGraphByTeam.ts","../types/postgame/damage/postGameDamageGraphEntry.ts","../types/postgame/gold/postGameGoldGraph.ts","../types/postgame/gold/singleGameGoldGraph.ts","../types/postgame/style/combinedView/combinedViewStyle.ts","../types/postgame/style/combinedView/CombinedViewTransitionType.ts","../types/postgame/style/combinedView/combinedViewTransitionStyle.ts","../types/postgame/style/fearlessTree/fearlessTree.ts","../types/postgame/style/fearlessTree/fearlessTreeBanRowStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeConnectorStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeGameNodeStyle.ts","../types/postgame/style/fearlessTree/fearlessTreeHeaderStyle.ts","../types/postgame/style/gameAnalysis/contentContainerStyle.ts","../types/postgame/style/gameAnalysis/curveStyle.ts","../types/postgame/style/gameAnalysis/damageBarStyle.ts","../types/postgame/style/gameAnalysis/damageStatsStyle.ts","../types/postgame/style/gameAnalysis/gameAnalysis.ts","../types/postgame/style/gameAnalysis/gameTimerStyle.ts","../types/postgame/style/gameAnalysis/goldGraphStyle.ts","../types/postgame/style/gameAnalysis/matchSummaryStyle.ts","../types/postgame/style/gameAnalysis/teamDamageStyle.ts","../types/postgame/style/gameAnalysis/teamsAndTimerStyle.ts","../types/postgame/style/gameAnalysis/teamSummaryStyle.ts","../types/postgame/style/gameAnalysis/timerTeamStyle.ts","../types/postgame/style/matchupOverview/matchupOverview.ts","../types/postgame/style/matchupOverview/matchupOverviewGameRowStyle.ts","../types/postgame/style/matchupOverview/matchupOverviewHeaderStyle.ts","../types/postgame/style/matchupOverview/matchupOverviewTeamBarStyle.ts","../types/postgame/style/matchupTable/matchCardStyle.ts","../types/postgame/style/matchupTable/matchupGridStyle.ts","../types/postgame/style/matchupTable/matchupHeaderStyle.ts","../types/postgame/style/matchupTable/matchupScoreStyle.ts","../types/postgame/style/matchupTable/matchupTable.ts","../types/postgame/style/matchupTable/matchupTableContentStyle.ts","../types/postgame/style/matchupTable/matchupVersusStyle.ts","../types/postgame/style/matchupTable/ScoreDisplayMode.ts","../types/postgame/style/matchupTable/ScoreDotBorderMode.ts","../types/postgame/style/playerAnalysis/championContainer.ts","../types/postgame/style/playerAnalysis/championStats.ts","../types/postgame/style/playerAnalysis/championStatsContainer.ts","../types/postgame/style/playerAnalysis/divider.ts","../types/postgame/style/playerAnalysis/fearlessDraftStyle.ts","../types/postgame/style/playerAnalysis/fearlessDraftStylePregame.ts","../types/postgame/style/playerAnalysis/itemIcon.ts","../types/postgame/style/playerAnalysis/itemStats.ts","../types/postgame/style/playerAnalysis/laneIconStyle.ts","../types/postgame/style/playerAnalysis/laneRowLayoutStyle.ts","../types/postgame/style/playerAnalysis/runeContainer.ts","../types/postgame/style/playerAnalysis/runeIcon.ts","../types/pregame/ActionSubType.ts","../types/pregame/ActionType.ts","../types/pregame/banSlot.ts","../types/pregame/championSelectTeam.ts","../types/pregame/champSelectStateMetaData.ts","../types/pregame/champSelectStatePerformanceData.ts","../types/shared/MatchRuleSet.ts","../types/pregame/matchData.ts","../types/pregame/pickBanActionEventArgs.ts","../types/pregame/PickBanPhase.ts","../types/pregame/pickBanTimer.ts","../types/pregame/pickSlot.ts","../types/pregame/TimeLineActionType.ts","../types/pregame/timelineEntry.ts","../types/pregame/style/banSlotLayoutStyling.ts","../types/pregame/style/banStyle.ts","../types/pregame/style/HeroStatsDisplayMode.ts","../types/pregame/style/bottomRowPickBanStyle.ts","../types/pregame/style/bottomRowTeamStyle.ts","../types/pregame/style/centerContent.ts","../types/pregame/style/centerContentLayoutStyling.ts","../types/pregame/style/centerContentStyling.ts","../types/pregame/style/championSelectEUStyle.ts","../types/pregame/style/championSlot.ts","../types/pregame/style/championsSlot.ts","../types/pregame/style/coachSlot.ts","../types/pregame/style/colorComponentStyling.ts","../types/pregame/style/colorStyling.ts","../types/pregame/style/divider.ts","../types/pregame/style/fearLessByGame.ts","../types/pregame/style/fearlessChampionImage.ts","../types/pregame/style/fearLessSingleRow.ts","../types/pregame/style/infoContentColorStyling.ts","../types/pregame/style/infoContentLayoutStyling.ts","../types/pregame/style/infoContentTextStyle.ts","../types/pregame/style/layoutComponentStyling.ts","../types/pregame/style/phaseTimer.ts","../types/pregame/style/phaseTimerColorStyling.ts","../types/pregame/style/phaseTimerLayoutStyling.ts","../types/pregame/style/pickBans.ts","../types/pregame/style/playerSlot.ts","../types/pregame/style/playerSlotColorStyling.ts","../types/pregame/style/playerSlotLayoutStyling.ts","../types/pregame/style/playerSlotPickingStyle.ts","../types/pregame/style/playerSlotStyle.ts","../types/pregame/style/scoreStyle.ts","../types/pregame/style/teamColorStyling.ts","../types/pregame/style/teamInfoStyle.ts","../types/pregame/style/teamLayoutStyling.ts","../types/pregame/style/teamName.ts","../types/pregame/style/teamTextStyle.ts","../types/pregame/style/textComponentStyling.ts","../types/pregame/style/textStyleWithBorder.ts","../types/pregame/style/tournamentData.ts","../types/pregame/style/bottomrow/bottomRowSizeStyle.ts","../types/pregame/style/bottomrow/bottomRowTournamentData.ts","../types/pregame/style/legacy/legacyPickBanStyle.ts","../types/rest/account/changeEmailRequest.ts","../types/rest/account/changeEmailResponse.ts","../types/rest/account/changePasswordRequest.ts","../types/rest/account/checkoutCompleteResponse.ts","../types/rest/account/PaymentInterval.ts","../types/rest/account/checkoutRequestDTO.ts","../types/rest/account/emailConfirmRequest.ts","../types/rest/account/emailForgotPasswordRequest.ts","../types/rest/account/emailLoginRequest.ts","../types/rest/account/emailResendCodeRequest.ts","../types/rest/account/emailResetPasswordRequest.ts","../types/rest/account/emailSignUpRequest.ts","../types/rest/account/localizedPriceData.ts","../types/rest/account/planDescriptorRecord.ts","../types/rest/account/planDetails.ts","../types/rest/account/portalSessionResponse.ts","../types/rest/account/profileResponse.ts","../types/rest/account/startCheckoutResponse.ts","../types/rest/account/updateNameRequest.ts","../types/rest/account/verifyEmailRequest.ts","../types/rest/billing_cycle/billingCycle.ts","../types/rest/billing_cycle/Interval.ts","../types/shared/customoverlay/CustomOverlayMode.ts","../types/rest/customoverlay/registerOverlayRequest.ts","../types/rest/customoverlay/updateOverlayRequest.ts","../types/rest/game/optionalGameData.ts","../types/rest/match/addMatchRequestArgs.ts","../types/rest/match/optionalMatchData.ts","../types/shared/cDragonPerkInfo.ts","../types/shared/championAbilityData.ts","../types/shared/championData.ts","../types/shared/championSkinInfo.ts","../types/shared/championStatistics.ts","../types/shared/gameWithTeams.ts","../types/shared/ingameTelemetry.ts","../types/shared/itemAsset.ts","../types/shared/matchWithGamesAndTeams.ts","../types/shared/perkData.ts","../types/shared/perkInfoV2.ts","../types/shared/perkStyleInfoV2.ts","../types/shared/runeStyle.ts","../types/shared/seasonData.ts","../types/shared/simpleChampionData.ts","../types/shared/SpellClassification.ts","../types/shared/summonerSpellData.ts","../types/shared/summonerSpellInfoV2.ts","../types/shared/teamData.ts","../types/shared/TeamMemberRole.ts","../types/shared/teamMember.ts","../types/shared/teamScore.ts","../types/shared/teamWithMembers.ts","../types/shared/customoverlay/customOverlay.ts","../types/shared/customoverlay/customOverlayDescriptor.ts","../types/shared/customoverlay/DevServerStatus.ts","../types/shared/customoverlay/devServerState.ts","../types/shared/style/borderStyle.ts","../types/shared/style/ChampionIconType.ts","../types/shared/style/ObjectFit.ts","../types/shared/style/championIconStyle.ts","../types/shared/style/GradientType.ts","../types/shared/style/colorGradientData.ts","../types/shared/style/colorImageData.ts","../types/shared/style/colorStop.ts","../types/shared/style/colorStyle.ts","../types/shared/style/componentStyle.ts","../types/shared/style/displayColorData.ts","../types/shared/style/globalPosition.ts","../types/shared/style/imageComponentStyle.ts","../types/shared/style/imageStyle.ts","../types/shared/style/layoutStyle.ts","../types/shared/style/text/TextOrientation.ts","../types/shared/style/text/WritingMode.ts","../types/shared/style/optionalTextStyle.ts","../types/shared/style/TeamColorType.ts","../types/shared/style/textOutline.ts","../types/shared/style/textStyle.ts","../types/shared/style/set/Feature.ts","../types/shared/style/set/globalStyleProperties.ts","../types/shared/style/set/styleSet.ts","../types/shared/style/set/styleSetEntry.ts","../types/shared/style/set/styleSetNameCollection.ts","../types/shared/window/AppTheme.ts","../types/shared/window/WindowType.ts","../types/twitch/pollChoice.ts","../types/twitch/predictionOutcome.ts","../types/twitch/twitchPollDto.ts","../types/twitch/twitchPredictionDto.ts","../types/twitch/chatVoteResult/chatVoteOption.ts","../types/twitch/chatVoteResult/chatVoteResultDto.ts","../types/twitch/CreatePoll/createChoice.ts","../types/twitch/CreatePoll/createPollDto.ts","../types/twitch/createPrediction/createPredictionDto.ts","../types/twitch/createPrediction/predictionOutcomeRequest.ts","../types/twitch/EndPoll/endPollDto.ts","../types/twitch/endPrediction/endPredictionDto.ts","../types/twitch/startChatVote/startChatVoteDto.ts","../types/twitch/status/twitchStatusDTO.ts","../src/util/ingameScoreboardBottomPlayerDataUtils.ts","../src/util/damageRecapUtils.ts","../src/util/postGameUtils.ts"],"names":["changed","GameState","seasonData","playerSlot","SetPhaseType","Lane","SpellSlotIndex","AnnouncementType","Team","DamageEventType","DamageType","ObjectiveRecapDisplayMode","DamageSplitMode","ObjectiveEventType","IngameObjectiveType","CampLocation","ContentAlign","TransitionType","ResourceType","IngameSideInfoPageType","BestOfType","AssetType","CacheOperation","DatabaseUpdateType","StrokeLayer","StrokeLineStyle","StrokeTipStyle","Tier","PostGameDataType","CombinedViewTransitionType","damageBarStyle","ScoreDisplayMode","ScoreDotBorderMode","ActionSubType","ActionType","MatchRuleSet","PickBanPhase","TimeLineActionType","HeroStatsDisplayMode","divider","PaymentInterval","Interval","CustomOverlayMode","SpellClassification","TeamMemberRole","DevServerStatus","ChampionIconType","ObjectFit","GradientType","TextOrientation","WritingMode","TeamColorType","Feature","AppTheme","WindowType"],"mappings":"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","file":"index.js","sourcesContent":["/**\r\n * WebSocket connection manager for League Broadcast backend\r\n */\r\nexport class WebSocketManager {\r\n private socket: WebSocket | null = null;\r\n private url: string = \"\";\r\n private reconnectAttempts: number = 0;\r\n private maxReconnectAttempts: number = 10;\r\n private reconnectDelay: number = 5000;\r\n private reconnectTimeout: number | null = null;\r\n private messageHandlers: Set<(data: any) => void> = new Set();\r\n private connectionHandlers: Set<() => void> = new Set();\r\n private disconnectionHandlers: Set<() => void> = new Set();\r\n private errorHandlers: Set<(error: Event) => void> = new Set();\r\n\r\n /**\r\n * Connect to the WebSocket server\r\n */\r\n connect(url: string): Promise<void> {\r\n this.url = url;\r\n this.cleanup();\r\n\r\n return new Promise((resolve, reject) => {\r\n try {\r\n this.socket = new WebSocket(url);\r\n\r\n this.socket.onopen = () => {\r\n console.log(\"[WebSocketManager] Connected to\", url);\r\n this.reconnectAttempts = 0;\r\n this.connectionHandlers.forEach((handler) => handler());\r\n resolve();\r\n };\r\n\r\n this.socket.onmessage = (event: MessageEvent) => {\r\n // Ignore keep-alive messages\r\n if (event.data === \"KeepAlive\") {\r\n return;\r\n }\r\n\r\n try {\r\n const data = JSON.parse(event.data);\r\n this.messageHandlers.forEach((handler) => handler(data));\r\n } catch (error) {\r\n console.error(\r\n \"[WebSocketManager] Failed to parse message:\",\r\n event.data,\r\n );\r\n }\r\n };\r\n\r\n this.socket.onclose = () => {\r\n console.log(\"[WebSocketManager] Disconnected\");\r\n this.disconnectionHandlers.forEach((handler) => handler());\r\n this.attemptReconnect();\r\n };\r\n\r\n this.socket.onerror = (error: Event) => {\r\n console.error(\"[WebSocketManager] Error:\", error);\r\n this.errorHandlers.forEach((handler) => handler(error));\r\n reject(error);\r\n };\r\n } catch (error) {\r\n reject(error);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Disconnect from the WebSocket server\r\n */\r\n disconnect(): void {\r\n if (this.reconnectTimeout !== null) {\r\n clearTimeout(this.reconnectTimeout);\r\n this.reconnectTimeout = null;\r\n }\r\n\r\n if (this.socket) {\r\n this.socket.close();\r\n this.socket = null;\r\n }\r\n }\r\n\r\n /**\r\n * Check if connected to the WebSocket server\r\n */\r\n isConnected(): boolean {\r\n return this.socket !== null && this.socket.readyState === WebSocket.OPEN;\r\n }\r\n\r\n /**\r\n * Send a message to the server\r\n */\r\n send(message: string | object): void {\r\n if (!this.isConnected()) {\r\n console.warn(\"[WebSocketManager] Cannot send message: not connected\");\r\n return;\r\n }\r\n\r\n const data =\r\n typeof message === \"string\" ? message : JSON.stringify(message);\r\n this.socket!.send(data);\r\n }\r\n\r\n /**\r\n * Register a message handler\r\n */\r\n onMessage(handler: (data: any) => void): () => void {\r\n this.messageHandlers.add(handler);\r\n return () => this.messageHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register a connection handler\r\n */\r\n onConnect(handler: () => void): () => void {\r\n this.connectionHandlers.add(handler);\r\n return () => this.connectionHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register a disconnection handler\r\n */\r\n onDisconnect(handler: () => void): () => void {\r\n this.disconnectionHandlers.add(handler);\r\n return () => this.disconnectionHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Register an error handler\r\n */\r\n onError(handler: (error: Event) => void): () => void {\r\n this.errorHandlers.add(handler);\r\n return () => this.errorHandlers.delete(handler);\r\n }\r\n\r\n /**\r\n * Attempt to reconnect to the server\r\n */\r\n private attemptReconnect(): void {\r\n if (this.reconnectAttempts >= this.maxReconnectAttempts) {\r\n console.error(\"[WebSocketManager] Max reconnect attempts reached\");\r\n return;\r\n }\r\n\r\n this.reconnectAttempts++;\r\n console.log(\r\n `[WebSocketManager] Reconnecting in ${this.reconnectDelay}ms (attempt ${this.reconnectAttempts}/${this.maxReconnectAttempts})`,\r\n );\r\n\r\n this.reconnectTimeout = window.setTimeout(() => {\r\n this.connect(this.url).catch((error) => {\r\n console.error(\"[WebSocketManager] Reconnect failed:\", error);\r\n });\r\n }, this.reconnectDelay);\r\n }\r\n\r\n /**\r\n * Clean up resources\r\n */\r\n private cleanup(): void {\r\n if (this.reconnectTimeout !== null) {\r\n clearTimeout(this.reconnectTimeout);\r\n this.reconnectTimeout = null;\r\n }\r\n\r\n if (this.socket) {\r\n this.socket.onopen = null;\r\n this.socket.onmessage = null;\r\n this.socket.onclose = null;\r\n this.socket.onerror = null;\r\n\r\n if (this.socket.readyState === WebSocket.OPEN) {\r\n this.socket.close();\r\n }\r\n\r\n this.socket = null;\r\n }\r\n }\r\n}\r\n","import type { ingameFrontendData } from \"#types/ingame/ingameFrontendData\";\r\nimport type { GameState } from \"#types/shared/GameState\";\r\n\r\n/**\r\n * A subscribable slice of state produced by `select()`.\r\n *\r\n * Compatible with:\r\n * - React 18+ `useSyncExternalStore(slice.subscribe, slice.getSnapshot)`\r\n * - Vue `watchEffect(() => slice.getSnapshot())`\r\n * - Svelte `readable` / custom store contract\r\n * - Solid `createEffect(() => slice.getSnapshot())`\r\n * - Vanilla JS `slice.subscribe(() => console.log(slice.getSnapshot()))`\r\n */\r\nexport interface Subscribable<T> {\r\n /** Register a listener that fires when the selected value changes. Returns an unsubscribe function. */\r\n subscribe(listener: () => void): () => void;\r\n /** Return the current value of this slice. */\r\n getSnapshot(): T;\r\n}\r\n\r\n/** Equality function used to compare snapshots. */\r\nexport type EqualityFn<T> = (a: T, b: T) => boolean;\r\n\r\n/**\r\n * Reactive store for League Broadcast game state.\r\n *\r\n * The store holds an immutable snapshot that is replaced on every update.\r\n * Fine-grained subscriptions are achieved through **selectors**: a selector\r\n * derives a slice of the full state and only notifies listeners when the\r\n * derived value actually changes (compared with a configurable equality\r\n * function — shallow reference equality by default).\r\n *\r\n * @example Vanilla JS\r\n * ```ts\r\n * const scoreboard = store.select(s => s.scoreboard);\r\n * scoreboard.subscribe(() => {\r\n * console.log('Scoreboard changed:', scoreboard.getSnapshot());\r\n * });\r\n * ```\r\n *\r\n * @example React 18+\r\n * ```tsx\r\n * function Scoreboard() {\r\n * const scoreboard = useSyncExternalStore(\r\n * store.select(s => s.scoreboard).subscribe,\r\n * store.select(s => s.scoreboard).getSnapshot,\r\n * );\r\n * return <div>{scoreboard?.teams[0]?.kills}</div>;\r\n * }\r\n * // — or use the provided useGameState hook (see docs)\r\n * ```\r\n *\r\n * @example Vue 3\r\n * ```ts\r\n * const kills = useGameStateRef(store, s => s.scoreboard?.teams[0]?.kills);\r\n * ```\r\n */\r\nexport class GameStateStore {\r\n /** Current immutable snapshot. Replaced (never mutated) on every update. */\r\n private snapshot: GameStateSnapshot;\r\n\r\n /** Global listeners — called on every state change regardless of selector. */\r\n private listeners = new Set<() => void>();\r\n\r\n /** Monotonically increasing version — used for cheap stale checks. */\r\n private version = 0;\r\n\r\n constructor(initialState: ingameFrontendData, initialGameState: GameState) {\r\n this.snapshot = Object.freeze({\r\n gameData: initialState,\r\n gameState: initialGameState,\r\n version: this.version,\r\n });\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Core API\r\n // ---------------------------------------------------------------------------\r\n\r\n /** Return the current full snapshot. */\r\n getSnapshot(): GameStateSnapshot {\r\n return this.snapshot;\r\n }\r\n\r\n /** Return the current version number. */\r\n getVersion(): number {\r\n return this.version;\r\n }\r\n\r\n /**\r\n * Subscribe to **all** state changes (unfiltered).\r\n * Returns an unsubscribe function.\r\n *\r\n * This satisfies the `subscribe` half of `useSyncExternalStore` when\r\n * combined with `getSnapshot`.\r\n */\r\n subscribe(listener: () => void): () => void {\r\n this.listeners.add(listener);\r\n return () => {\r\n this.listeners.delete(listener);\r\n };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Selectors — the main reactivity primitive\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Create a **subscribable slice** that only triggers when the selected\r\n * value changes according to `equalityFn` (defaults to `===`).\r\n *\r\n * The returned object satisfies the `useSyncExternalStore` contract and\r\n * can also be used with `watch()` for callback-style subscriptions.\r\n *\r\n * Selector instances are lightweight — create them freely (e.g. inside\r\n * render functions). Referential identity of the *selector function* is\r\n * **not** required to be stable.\r\n */\r\n select<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): Subscribable<S> {\r\n let currentValue: S = selector(this.snapshot);\r\n let lastVersion: number = this.version;\r\n const sliceListeners = new Set<() => void>();\r\n\r\n const getSnapshot = (): S => {\r\n // Re-derive only if the store version bumped since last read\r\n if (lastVersion !== this.version) {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(currentValue, next)) {\r\n currentValue = next;\r\n }\r\n lastVersion = this.version;\r\n }\r\n return currentValue;\r\n };\r\n\r\n const subscribe = (listener: () => void): (() => void) => {\r\n sliceListeners.add(listener);\r\n\r\n // Subscribe to the root store; filter notifications through equality\r\n const unsub = this.subscribe(() => {\r\n const prev = currentValue;\r\n const next = selector(this.snapshot);\r\n lastVersion = this.version;\r\n if (!equalityFn(prev, next)) {\r\n currentValue = next;\r\n listener();\r\n }\r\n });\r\n\r\n return () => {\r\n sliceListeners.delete(listener);\r\n unsub();\r\n };\r\n };\r\n\r\n return { subscribe, getSnapshot };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Convenience helpers\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n *\r\n * This is the simplest API for imperative / vanilla-JS usage:\r\n *\r\n * ```ts\r\n * store.watch(\r\n * s => s.gameData.scoreboard?.teams[0]?.kills,\r\n * kills => console.log('Blue kills:', kills),\r\n * );\r\n * ```\r\n */\r\n watch<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n let prev: S = selector(this.snapshot);\r\n return this.subscribe(() => {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(prev, next)) {\r\n const old = prev;\r\n prev = next;\r\n callback(next, old);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes,\r\n * **and** invoke it immediately with the current value.\r\n */\r\n watchImmediate<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S | undefined) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n const current = selector(this.snapshot);\r\n callback(current, undefined);\r\n return this.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Internal — called by LeagueBroadcastClient\r\n // ---------------------------------------------------------------------------\r\n\r\n /** @internal Replace game data snapshot and notify listeners. */\r\n _setGameData(data: ingameFrontendData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n ...this.snapshot,\r\n gameData: data,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace game state and notify listeners. */\r\n _setGameState(state: GameState): void {\r\n if (this.snapshot.gameState === state) return;\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n ...this.snapshot,\r\n gameState: state,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace entire snapshot (used on game end / reset). */\r\n _reset(data: ingameFrontendData, state: GameState): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n gameData: data,\r\n gameState: state,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n private emit(): void {\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Snapshot type\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface GameStateSnapshot {\r\n readonly gameData: ingameFrontendData;\r\n readonly gameState: GameState;\r\n /** Monotonic version counter — useful for cheap stale checks. */\r\n readonly version: number;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Utility: shallow equality for object slices\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Shallow-compare two objects by their own enumerable keys.\r\n * Useful as `equalityFn` when selecting an object whose identity changes\r\n * on every update but whose contents may not (e.g. `{ kills: 3, deaths: 1 }`).\r\n */\r\nexport function shallowEqual<T>(a: T, b: T): boolean {\r\n if (Object.is(a, b)) return true;\r\n if (\r\n typeof a !== \"object\" ||\r\n typeof b !== \"object\" ||\r\n a === null ||\r\n b === null\r\n ) {\r\n return false;\r\n }\r\n\r\n const keysA = Object.keys(a);\r\n const keysB = Object.keys(b);\r\n if (keysA.length !== keysB.length) return false;\r\n\r\n for (const key of keysA) {\r\n if (\r\n !Object.prototype.hasOwnProperty.call(b, key) ||\r\n !Object.is((a as any)[key], (b as any)[key])\r\n ) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n","import type { champSelectStateData } from \"#types/pregame/champSelectStateData\";\r\n\r\n/**\r\n * A subscribable slice of state produced by `select()`.\r\n *\r\n * Compatible with:\r\n * - React 18+ `useSyncExternalStore(slice.subscribe, slice.getSnapshot)`\r\n * - Vue `watchEffect(() => slice.getSnapshot())`\r\n * - Svelte `readable` / custom store contract\r\n * - Solid `createEffect(() => slice.getSnapshot())`\r\n * - Vanilla JS `slice.subscribe(() => console.log(slice.getSnapshot()))`\r\n */\r\nexport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n// Re-import locally for use within this file\r\nimport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n/**\r\n * Reactive store for League Broadcast champion-select (pre-game) state.\r\n *\r\n * Follows the same selector-based model as {@link GameStateStore} but holds\r\n * `champSelectStateData` instead of ingame data.\r\n *\r\n * @example Vanilla JS\r\n * ```ts\r\n * const timer = store.select(s => s.champSelectData.timer);\r\n * timer.subscribe(() => {\r\n * console.log('Timer changed:', timer.getSnapshot());\r\n * });\r\n * ```\r\n *\r\n * @example React 18+\r\n * ```tsx\r\n * function Timer() {\r\n * const timer = useSyncExternalStore(\r\n * store.select(s => s.champSelectData.timer).subscribe,\r\n * store.select(s => s.champSelectData.timer).getSnapshot,\r\n * );\r\n * return <div>{timer?.timeRemaining}</div>;\r\n * }\r\n * ```\r\n */\r\nexport class ChampSelectStateStore {\r\n /** Current immutable snapshot. Replaced (never mutated) on every update. */\r\n private snapshot: ChampSelectSnapshot;\r\n\r\n /** Global listeners — called on every state change regardless of selector. */\r\n private listeners = new Set<() => void>();\r\n\r\n /** Monotonically increasing version — used for cheap stale checks. */\r\n private version = 0;\r\n\r\n constructor(initialState: champSelectStateData) {\r\n this.snapshot = Object.freeze({\r\n champSelectData: initialState,\r\n isActive: initialState.isActive,\r\n version: this.version,\r\n });\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Core API\r\n // ---------------------------------------------------------------------------\r\n\r\n /** Return the current full snapshot. */\r\n getSnapshot(): ChampSelectSnapshot {\r\n return this.snapshot;\r\n }\r\n\r\n /** Return the current version number. */\r\n getVersion(): number {\r\n return this.version;\r\n }\r\n\r\n /**\r\n * Subscribe to **all** state changes (unfiltered).\r\n * Returns an unsubscribe function.\r\n */\r\n subscribe(listener: () => void): () => void {\r\n this.listeners.add(listener);\r\n return () => {\r\n this.listeners.delete(listener);\r\n };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Selectors\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Create a **subscribable slice** that only triggers when the selected\r\n * value changes according to `equalityFn` (defaults to `===`).\r\n */\r\n select<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): Subscribable<S> {\r\n let currentValue: S = selector(this.snapshot);\r\n let lastVersion: number = this.version;\r\n const sliceListeners = new Set<() => void>();\r\n\r\n const getSnapshot = (): S => {\r\n if (lastVersion !== this.version) {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(currentValue, next)) {\r\n currentValue = next;\r\n }\r\n lastVersion = this.version;\r\n }\r\n return currentValue;\r\n };\r\n\r\n const subscribe = (listener: () => void): (() => void) => {\r\n sliceListeners.add(listener);\r\n\r\n const unsub = this.subscribe(() => {\r\n const prev = currentValue;\r\n const next = selector(this.snapshot);\r\n lastVersion = this.version;\r\n if (!equalityFn(prev, next)) {\r\n currentValue = next;\r\n listener();\r\n }\r\n });\r\n\r\n return () => {\r\n sliceListeners.delete(listener);\r\n unsub();\r\n };\r\n };\r\n\r\n return { subscribe, getSnapshot };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Convenience helpers\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n */\r\n watch<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n let prev: S = selector(this.snapshot);\r\n return this.subscribe(() => {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(prev, next)) {\r\n const old = prev;\r\n prev = next;\r\n callback(next, old);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes,\r\n * **and** invoke it immediately with the current value.\r\n */\r\n watchImmediate<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S | undefined) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n const current = selector(this.snapshot);\r\n callback(current, undefined);\r\n return this.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Internal — called by LeagueBroadcastClient\r\n // ---------------------------------------------------------------------------\r\n\r\n /** @internal Replace champ-select data snapshot and notify listeners. */\r\n _setChampSelectData(data: champSelectStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n champSelectData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace entire snapshot (used on champ select end / reset). */\r\n _reset(data: champSelectStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n champSelectData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n private emit(): void {\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Snapshot type\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface ChampSelectSnapshot {\r\n readonly champSelectData: champSelectStateData;\r\n /** Whether champ select is currently active. */\r\n readonly isActive: boolean;\r\n /** Monotonic version counter — useful for cheap stale checks. */\r\n readonly version: number;\r\n}\r\n","import type { postGameStateData } from \"#types/postgame/postGameStateData\";\r\n\r\n/**\r\n * A subscribable slice of state produced by `select()`.\r\n *\r\n * Compatible with:\r\n * - React 18+ `useSyncExternalStore(slice.subscribe, slice.getSnapshot)`\r\n * - Vue `watchEffect(() => slice.getSnapshot())`\r\n * - Svelte `readable` / custom store contract\r\n * - Solid `createEffect(() => slice.getSnapshot())`\r\n * - Vanilla JS `slice.subscribe(() => console.log(slice.getSnapshot()))`\r\n */\r\nexport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n// Re-import locally for use within this file\r\nimport type { Subscribable, EqualityFn } from \"./GameStateStore\";\r\n\r\n/**\r\n * Reactive store for League Broadcast post-game state.\r\n *\r\n * Follows the same selector-based model as {@link GameStateStore} but holds\r\n * `postGameStateData` instead of ingame data.\r\n *\r\n * @example Vanilla JS\r\n * ```ts\r\n * const overview = store.select(s => s.postGameData.overview);\r\n * overview.subscribe(() => {\r\n * console.log('Overview changed:', overview.getSnapshot());\r\n * });\r\n * ```\r\n *\r\n * @example React 18+\r\n * ```tsx\r\n * function Winner() {\r\n * const overview = useSyncExternalStore(\r\n * store.select(s => s.postGameData.overview).subscribe,\r\n * store.select(s => s.postGameData.overview).getSnapshot,\r\n * );\r\n * return <div>{overview?.winnerSide}</div>;\r\n * }\r\n * ```\r\n */\r\nexport class PostGameStateStore {\r\n /** Current immutable snapshot. Replaced (never mutated) on every update. */\r\n private snapshot: PostGameSnapshot;\r\n\r\n /** Global listeners — called on every state change regardless of selector. */\r\n private listeners = new Set<() => void>();\r\n\r\n /** Monotonically increasing version — used for cheap stale checks. */\r\n private version = 0;\r\n\r\n constructor(initialState: postGameStateData) {\r\n this.snapshot = Object.freeze({\r\n postGameData: initialState,\r\n isActive: initialState.isActive,\r\n version: this.version,\r\n });\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Core API\r\n // ---------------------------------------------------------------------------\r\n\r\n /** Return the current full snapshot. */\r\n getSnapshot(): PostGameSnapshot {\r\n return this.snapshot;\r\n }\r\n\r\n /** Return the current version number. */\r\n getVersion(): number {\r\n return this.version;\r\n }\r\n\r\n /**\r\n * Subscribe to **all** state changes (unfiltered).\r\n * Returns an unsubscribe function.\r\n */\r\n subscribe(listener: () => void): () => void {\r\n this.listeners.add(listener);\r\n return () => {\r\n this.listeners.delete(listener);\r\n };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Selectors\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Create a **subscribable slice** that only triggers when the selected\r\n * value changes according to `equalityFn` (defaults to `===`).\r\n */\r\n select<S>(\r\n selector: (snapshot: PostGameSnapshot) => S,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): Subscribable<S> {\r\n let currentValue: S = selector(this.snapshot);\r\n let lastVersion: number = this.version;\r\n const sliceListeners = new Set<() => void>();\r\n\r\n const getSnapshot = (): S => {\r\n if (lastVersion !== this.version) {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(currentValue, next)) {\r\n currentValue = next;\r\n }\r\n lastVersion = this.version;\r\n }\r\n return currentValue;\r\n };\r\n\r\n const subscribe = (listener: () => void): (() => void) => {\r\n sliceListeners.add(listener);\r\n\r\n const unsub = this.subscribe(() => {\r\n const prev = currentValue;\r\n const next = selector(this.snapshot);\r\n lastVersion = this.version;\r\n if (!equalityFn(prev, next)) {\r\n currentValue = next;\r\n listener();\r\n }\r\n });\r\n\r\n return () => {\r\n sliceListeners.delete(listener);\r\n unsub();\r\n };\r\n };\r\n\r\n return { subscribe, getSnapshot };\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Convenience helpers\r\n // ---------------------------------------------------------------------------\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n */\r\n watch<S>(\r\n selector: (snapshot: PostGameSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n let prev: S = selector(this.snapshot);\r\n return this.subscribe(() => {\r\n const next = selector(this.snapshot);\r\n if (!equalityFn(prev, next)) {\r\n const old = prev;\r\n prev = next;\r\n callback(next, old);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Watch a derived value and invoke `callback` whenever it changes,\r\n * **and** invoke it immediately with the current value.\r\n */\r\n watchImmediate<S>(\r\n selector: (snapshot: PostGameSnapshot) => S,\r\n callback: (value: S, prev: S | undefined) => void,\r\n equalityFn: EqualityFn<S> = Object.is,\r\n ): () => void {\r\n const current = selector(this.snapshot);\r\n callback(current, undefined);\r\n return this.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ---------------------------------------------------------------------------\r\n // Internal — called by LeagueBroadcastClient\r\n // ---------------------------------------------------------------------------\r\n\r\n /** @internal Replace post-game data snapshot and notify listeners. */\r\n _setPostGameData(data: postGameStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n postGameData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n /** @internal Replace entire snapshot (used on post-game hide / reset). */\r\n _reset(data: postGameStateData): void {\r\n this.version++;\r\n this.snapshot = Object.freeze({\r\n postGameData: data,\r\n isActive: data.isActive,\r\n version: this.version,\r\n });\r\n this.emit();\r\n }\r\n\r\n private emit(): void {\r\n this.listeners.forEach((l) => l());\r\n }\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Snapshot type\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface PostGameSnapshot {\r\n readonly postGameData: postGameStateData;\r\n /** Whether post-game is currently active. */\r\n readonly isActive: boolean;\r\n /** Monotonic version counter — useful for cheap stale checks. */\r\n readonly version: number;\r\n}\r\n","/**\r\n * Structural sharing utility.\r\n *\r\n * Creates a new object/array tree from `next`, but reuses references from\r\n * `prev` when values are deeply equal. This keeps nested references stable\r\n * across updates, so selectors only re-fire when their content actually\r\n * changes.\r\n */\r\nexport function structuralShare<T>(prev: T, next: T): T {\r\n if (Object.is(prev, next)) {\r\n return prev;\r\n }\r\n\r\n if (!isObject(prev) || !isObject(next)) {\r\n return next;\r\n }\r\n\r\n if (Array.isArray(prev) || Array.isArray(next)) {\r\n if (!Array.isArray(prev) || !Array.isArray(next)) {\r\n return next;\r\n }\r\n\r\n if (prev.length !== next.length) {\r\n return next.map((value, index) =>\r\n structuralShare(prev[index] as any, value as any),\r\n ) as unknown as T;\r\n }\r\n\r\n let changed = false;\r\n const shared = next.map((value, index) => {\r\n const nextValue = structuralShare(prev[index] as any, value as any);\r\n if (!Object.is(nextValue, prev[index])) {\r\n changed = true;\r\n }\r\n return nextValue;\r\n });\r\n\r\n return changed ? (shared as unknown as T) : prev;\r\n }\r\n\r\n const prevObj = prev as Record<string, unknown>;\r\n const nextObj = next as Record<string, unknown>;\r\n const nextKeys = Object.keys(nextObj);\r\n const prevKeys = Object.keys(prevObj);\r\n\r\n let changed = nextKeys.length !== prevKeys.length;\r\n if (!changed) {\r\n for (const key of prevKeys) {\r\n if (!Object.prototype.hasOwnProperty.call(nextObj, key)) {\r\n changed = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const result: Record<string, unknown> = Object.create(\r\n Object.getPrototypeOf(next),\r\n );\r\n\r\n for (const key of nextKeys) {\r\n const prevValue = prevObj[key];\r\n const nextValue = nextObj[key];\r\n const sharedValue = structuralShare(prevValue as any, nextValue as any);\r\n result[key] = sharedValue;\r\n if (!Object.is(sharedValue, prevValue)) {\r\n changed = true;\r\n }\r\n }\r\n\r\n return changed ? (result as T) : prev;\r\n}\r\n\r\nfunction isObject(value: unknown): value is Record<string, unknown> {\r\n return value !== null && typeof value === \"object\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum GameState {\r\n OutOfGame = 0,\r\n Loading = 1,\r\n Running = 2,\r\n Paused = 3,\r\n Mocking = 4,\r\n GameOver = 5,\r\n ChampionSelect = 6\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { GameState } from \"../shared/GameState\";\r\nimport { championDetailData } from \"./championDetail/championDetailData\";\r\nimport { ingameDamageCompositionData } from \"./damageComposition/ingameDamageCompositionData\";\r\nimport { ingameDamageFlowData } from \"./damageFlow/ingameDamageFlowData\";\r\nimport { ingameDamageGraphData } from \"./damageGraph/ingameDamageGraphData\";\r\nimport { ingameDamageRecapData } from \"./damageRecap/ingameDamageRecapData\";\r\nimport { ingameDamageSplitData } from \"./damageSplit/ingameDamageSplitData\";\r\nimport { ingameGoldEfficiencyData } from \"./goldEfficiency/ingameGoldEfficiencyData\";\r\nimport { ingameGoldGraphData } from \"./graph/ingameGoldGraphData\";\r\nimport { ingameKillParticipationData } from \"./killParticipation/ingameKillParticipationData\";\r\nimport { ingameObjectiveDpsData } from \"./objectiveDps/ingameObjectiveDpsData\";\r\nimport { ingameRuneData } from \"./rune/ingameRuneData\";\r\nimport { ingameScoreboardBottomData } from \"./scoreboardBottom/ingameScoreboardBottomData\";\r\nimport { ingameScoreboardData } from \"./topScoreboard/ingameScoreboardData\";\r\nimport { ingameSideInfoPage } from \"./tab/ingameSideInfoPage\";\r\nimport { ingameSkinDisplayData } from \"./skinDisplay/ingameSkinDisplayData\";\r\nimport { ingameTeamfightTimelineData } from \"./teamfightTimeline/ingameTeamfightTimelineData\";\r\nimport { tabTeam } from \"./tab/tabTeam\";\r\nimport { teamInhibitorData } from \"./inhibitor/teamInhibitorData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\nimport type { iObjectiveRespawnData } from \"./objective/iObjectiveRespawnData\";\r\n\r\nexport class ingameFrontendData {\r\n gameTime: number = 0;\r\n utcTime?: number;\r\n playbackSpeed: number = 0;\r\n isTestingEnvironment?: boolean;\r\n gameVersion: string = \"\";\r\n patch?: string;\r\n teams?: teamWithMembers[];\r\n gameStatus: GameState = GameState.OutOfGame;\r\n scoreboard?: ingameScoreboardData;\r\n tabs?: { [key: string]: tabTeam };\r\n scoreboardBottom?: ingameScoreboardBottomData;\r\n baronPitTimer?: iObjectiveRespawnData;\r\n dragonPitTimer?: iObjectiveRespawnData;\r\n inhibitors?: teamInhibitorData[];\r\n showTwitchPrediction: boolean = false;\r\n showTwitchPoll: boolean = false;\r\n showTwitchChatVote: boolean = false;\r\n sideInfoPage?: ingameSideInfoPage;\r\n goldGraph?: ingameGoldGraphData;\r\n runes?: ingameRuneData;\r\n damageGraph?: ingameDamageGraphData;\r\n teamfightDamageOverview?: ingameDamageGraphData;\r\n damageRecap?: ingameDamageRecapData;\r\n damageSplit?: ingameDamageSplitData;\r\n goldEfficiency?: ingameGoldEfficiencyData;\r\n teamfightTimeline?: ingameTeamfightTimelineData;\r\n objectiveDps?: ingameObjectiveDpsData;\r\n killParticipation?: ingameKillParticipationData;\r\n damageComposition?: ingameDamageCompositionData;\r\n damageFlow?: ingameDamageFlowData;\r\n skinDisplay?: ingameSkinDisplayData;\r\n championDetail: championDetailData | null = null;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championSelectTeam } from \"./championSelectTeam\";\r\nimport { champSelectStateMetaData } from \"./champSelectStateMetaData\";\r\nimport { pickBanTimer } from \"./pickBanTimer\";\r\n\r\nexport class champSelectStateData {\r\n isActive: boolean = false;\r\n isConnected: boolean = false;\r\n isTestingEnvironment: boolean = false;\r\n blueTeam: championSelectTeam = {} as championSelectTeam;\r\n redTeam: championSelectTeam = {} as championSelectTeam;\r\n metaData: champSelectStateMetaData = {} as champSelectStateMetaData;\r\n timer: pickBanTimer = {} as pickBanTimer;\r\n}\r\n","import { postGameOverview } from \"./postGameOverview\";\r\nimport type { activeComponentChangedEventArgs } from \"../message/ui/activeComponentChangedEventArgs\";\r\n\r\nexport class postGameStateData {\r\n isActive: boolean = false;\r\n isConnected: boolean = false;\r\n isMocking: boolean = false;\r\n gameId?: number;\r\n overview: postGameOverview | null = null;\r\n activeComponent?: activeComponentChangedEventArgs | null;\r\n}\r\n","/**\r\n * Base HTTP client for League Broadcast REST API calls.\r\n *\r\n * Provides typed `get`, `post`, `put`, `patch`, and `delete` helpers that\r\n * handle JSON serialization, error responses, and empty bodies.\r\n *\r\n * Used internally by the generated API modules — you normally access this\r\n * through `LeagueBroadcastClient.api.*` rather than constructing it directly.\r\n */\r\nexport class ApiClient {\r\n private baseUrl: string;\r\n\r\n constructor(baseUrl: string) {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n /** Update the base URL (e.g. after reconnecting to a different host/port). */\r\n updateBaseUrl(baseUrl: string): void {\r\n this.baseUrl = baseUrl;\r\n }\r\n\r\n /** Current base URL. */\r\n getBaseUrl(): string {\r\n return this.baseUrl;\r\n }\r\n\r\n // ── HTTP verbs ──────────────────────────────────────────────────────────\r\n\r\n async get<T>(path: string): Promise<T> {\r\n return this.request<T>(\"GET\", path);\r\n }\r\n\r\n async post<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"POST\", path, body);\r\n }\r\n\r\n async put<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"PUT\", path, body);\r\n }\r\n\r\n async patch<T = void>(path: string, body?: unknown): Promise<T> {\r\n return this.request<T>(\"PATCH\", path, body);\r\n }\r\n\r\n async delete<T = void>(path: string): Promise<T> {\r\n return this.request<T>(\"DELETE\", path);\r\n }\r\n\r\n /**\r\n * POST with a raw string body (e.g. base64 image data).\r\n * Sets Content-Type to text/plain instead of application/json.\r\n */\r\n async postRaw<T = void>(path: string, rawBody: string): Promise<T> {\r\n return this.request<T>(\"POST\", path, rawBody, \"text/plain\");\r\n }\r\n\r\n /**\r\n * PUT with a raw string body (e.g. base64 image data).\r\n * Sets Content-Type to text/plain instead of application/json.\r\n */\r\n async putRaw<T = void>(path: string, rawBody: string): Promise<T> {\r\n return this.request<T>(\"PUT\", path, rawBody, \"text/plain\");\r\n }\r\n\r\n // ── Internal ────────────────────────────────────────────────────────────\r\n\r\n private buildUrl(path: string): string {\r\n // Ensure no double slashes between base and path\r\n const base = this.baseUrl.endsWith(\"/\")\r\n ? this.baseUrl.slice(0, -1)\r\n : this.baseUrl;\r\n const cleanPath = path.startsWith(\"/\") ? path.slice(1) : path;\r\n return `${base}/${cleanPath}`;\r\n }\r\n\r\n private async request<T>(\r\n method: string,\r\n path: string,\r\n body?: unknown,\r\n contentType?: string,\r\n ): Promise<T> {\r\n const url = this.buildUrl(path);\r\n\r\n const headers: Record<string, string> = {};\r\n let bodyStr: string | undefined;\r\n\r\n if (body !== undefined) {\r\n if (contentType === \"text/plain\") {\r\n headers[\"Content-Type\"] = \"text/plain\";\r\n bodyStr = String(body);\r\n } else {\r\n headers[\"Content-Type\"] = \"application/json\";\r\n bodyStr = JSON.stringify(body);\r\n }\r\n }\r\n\r\n const res = await fetch(url, {\r\n method,\r\n headers,\r\n body: bodyStr,\r\n });\r\n\r\n if (!res.ok) {\r\n const errorBody = await res.text().catch(() => \"\");\r\n throw new ApiError(res.status, res.statusText, errorBody, url);\r\n }\r\n\r\n return this.parseResponse<T>(res);\r\n }\r\n\r\n private async parseResponse<T>(res: Response): Promise<T> {\r\n const text = await res.text();\r\n if (!text || text.length === 0) return undefined as T;\r\n try {\r\n return JSON.parse(text) as T;\r\n } catch {\r\n // If it's not JSON, return the raw text (e.g. for string endpoints)\r\n return text as unknown as T;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Error thrown when a REST API call returns a non-2xx status.\r\n */\r\nexport class ApiError extends Error {\r\n constructor(\r\n public readonly status: number,\r\n public readonly statusText: string,\r\n public readonly body: string,\r\n public readonly url: string,\r\n ) {\r\n super(`API Error ${status} (${statusText}) at ${url}`);\r\n this.name = \"ApiError\";\r\n }\r\n}\r\n","/**\r\n * Auto-generated REST API client for Champion select (pre-game) endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { simpleChampionData } from \"#types/shared/simpleChampionData\";\r\n\r\nexport class PreGameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `POST championselect/mock/{doMocking}` */\r\n async mockChampionSelect(doMocking: boolean, randomizationinterval?: number): Promise<boolean> {\r\n return this.client.post<boolean>(`championselect/mock/${doMocking}${randomizationinterval !== undefined ? `?randomizationinterval=${encodeURIComponent(String(randomizationinterval))}` : ''}`);\r\n }\r\n\r\n /** `GET championselect/mock` */\r\n async getMockingStatus(): Promise<boolean> {\r\n return this.client.get<boolean>('championselect/mock');\r\n }\r\n\r\n /** `GET championselect/bans` */\r\n async getBans(): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>('championselect/bans');\r\n }\r\n\r\n /** `GET championselect/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('championselect/frontend');\r\n }\r\n\r\n /** `GET championselect/stage/{stageSide}/teamid` */\r\n async getTeamIdOnSide(stageSide: number): Promise<number> {\r\n return this.client.get<number>(`championselect/stage/${stageSide}/teamid`);\r\n }\r\n\r\n /** `POST championselect/frontend` */\r\n async changeRouting(uri: string): Promise<void> {\r\n return this.client.post<void>(`championselect/frontend?uri=${encodeURIComponent(String(uri))}`);\r\n }\r\n\r\n /** `GET championselect/stage/{stageside}/{slotid}` */\r\n async getPlayerPUUIDInSlot(stageside: number, slotid: number): Promise<string> {\r\n return this.client.get<string>(`championselect/stage/${stageside}/${slotid}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Game CRUD and draft (picks/bans) endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-04-30\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { optionalGameData } from \"#types/rest/game/optionalGameData\";\r\nimport type { gameWithTeams } from \"#types/shared/gameWithTeams\";\r\nimport type { simpleChampionData } from \"#types/shared/simpleChampionData\";\r\nimport type { Team } from \"#types/shared/style/Team\";\r\nimport type { teamMember } from \"#types/shared/teamMember\";\r\nimport type { teamWithMembers } from \"#types/shared/teamWithMembers\";\r\n\r\nexport class GameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET game/current` */\r\n async getCurrentGame(): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>('game/current');\r\n }\r\n\r\n /** `POST game/current/start` */\r\n async startCurrentOrScheduledGame(): Promise<gameWithTeams> {\r\n return this.client.post<gameWithTeams>('game/current/start');\r\n }\r\n\r\n /** `GET game/previous` */\r\n async getPreviousGame(): Promise<number> {\r\n return this.client.get<number>('game/previous');\r\n }\r\n\r\n /** `GET game/{gameid}` */\r\n async getGame(gameid: number): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>(`game/${gameid}`);\r\n }\r\n\r\n /** `PATCH game/{gameid}` */\r\n async updateGame(gameid: number, game: optionalGameData): Promise<void> {\r\n return this.client.patch<void>(`game/${gameid}`, game);\r\n }\r\n\r\n /** `PUT game/{gameid}/teams` */\r\n async setSideSelection(gameid: number, teams: number[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/teams`, teams);\r\n }\r\n\r\n /** `GET game/{gameid}/teams` */\r\n async getTeamsInGame(gameid: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`game/${gameid}/teams`);\r\n }\r\n\r\n /** `DELETE game/{gameid}/winner` */\r\n async removeGameWinner(gameid: number): Promise<void> {\r\n return this.client.delete<void>(`game/${gameid}/winner`);\r\n }\r\n\r\n /** `PUT game/{gameid}/winner/{teamid}` */\r\n async setGameWinner(gameid: number, teamid: number): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/winner/${teamid}`);\r\n }\r\n\r\n /** `GET game/{gameid}/bans` */\r\n async getBans(gameid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/bans`);\r\n }\r\n\r\n /** `GET game/{gameid}/bans/{teamid}` */\r\n async getBansForTeam(gameid: number, teamid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/bans/${teamid}`);\r\n }\r\n\r\n /** `PUT game/{gameid}/bans` */\r\n async setBans(gameid: number, bans: Record<number, (string | null)[]>): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/bans`, bans);\r\n }\r\n\r\n /** `PUT game/{gameid}/bans/{teamid}` */\r\n async setBansForTeam(gameid: number, teamid: number, bans: (string | null)[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/bans/${teamid}`, bans);\r\n }\r\n\r\n /** `GET game/{gameid}/picks` */\r\n async getPicks(gameid: number): Promise<Record<number, simpleChampionData[]>> {\r\n return this.client.get<Record<number, simpleChampionData[]>>(`game/${gameid}/picks`);\r\n }\r\n\r\n /** `GET game/{gameid}/picks/{teamid}` */\r\n async getPicksForTeam(gameid: number, teamid: number): Promise<simpleChampionData[]> {\r\n return this.client.get<simpleChampionData[]>(`game/${gameid}/picks/${teamid}`);\r\n }\r\n\r\n /** `PUT game/{gameid}/picks` */\r\n async setPicks(gameid: number, picks: Record<number, (string | null)[]>): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/picks`, picks);\r\n }\r\n\r\n /** `PUT game/{gameid}/picks/{teamid}` */\r\n async setPicksForTeam(gameid: number, teamid: number, picks: (string | null)[]): Promise<void> {\r\n return this.client.put<void>(`game/${gameid}/picks/${teamid}`, picks);\r\n }\r\n\r\n /** `GET game/{gameid}/teams/players` */\r\n async getPlayersInGame(gameid: number): Promise<Record<Team, teamMember[]>> {\r\n return this.client.get<Record<Team, teamMember[]>>(`game/${gameid}/teams/players`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Live game state endpoints (requires active game).\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { tabPlayer } from \"#types/ingame/tab/tabPlayer\";\r\n\r\nexport class GameStateApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET game/state/time` */\r\n async getGameTime(): Promise<number> {\r\n return this.client.get<number>('game/state/time');\r\n }\r\n\r\n /** `GET game/state/team/{teamId}/dragons` */\r\n async getTeamDragons(teamId: number): Promise<string[]> {\r\n return this.client.get<string[]>(`game/state/team/${teamId}/dragons`);\r\n }\r\n\r\n /** `PATCH game/state/team/{teamId}/dragons` */\r\n async updateTeamDragons(teamId: number, dragons: string[]): Promise<void> {\r\n return this.client.patch<void>(`game/state/team/${teamId}/dragons`, dragons);\r\n }\r\n\r\n /** `GET game/state/team/all/index` */\r\n async getActiveTeams(): Promise<number[]> {\r\n return this.client.get<number[]>('game/state/team/all/index');\r\n }\r\n\r\n /** `GET game/state/team/all/participant` */\r\n async getAllTeamParticipants(): Promise<Record<number, tabPlayer[]>> {\r\n return this.client.get<Record<number, tabPlayer[]>>('game/state/team/all/participant');\r\n }\r\n\r\n /** `GET game/state/team/{teamId}/participant` */\r\n async getTeamParticipants(teamId: number): Promise<tabPlayer[]> {\r\n return this.client.get<tabPlayer[]>(`game/state/team/${teamId}/participant`);\r\n }\r\n\r\n /** `GET game/state/team/all/participant/order` */\r\n async getTeamParticipantOrder(): Promise<string[]> {\r\n return this.client.get<string[]>('game/state/team/all/participant/order');\r\n }\r\n\r\n /** `PUT game/state/team/all/participant/order` */\r\n async updateTeamParticipantOrder(orderedNames: string[]): Promise<void> {\r\n return this.client.put<void>('game/state/team/all/participant/order', orderedNames);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Match (series) management endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { matchData } from \"#types/pregame/matchData\";\r\nimport type { addMatchRequestArgs } from \"#types/rest/match/addMatchRequestArgs\";\r\nimport type { optionalMatchData } from \"#types/rest/match/optionalMatchData\";\r\nimport type { BestOfType } from \"#types/shared/BestOfType\";\r\nimport type { gameWithTeams } from \"#types/shared/gameWithTeams\";\r\nimport type { MatchRuleSet } from \"#types/shared/MatchRuleSet\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchWithGamesAndTeams\";\r\nimport type { simpleChampionData } from \"#types/shared/simpleChampionData\";\r\nimport type { teamWithMembers } from \"#types/shared/teamWithMembers\";\r\n\r\nexport class MatchApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET match/season/{seasonId}/simple` */\r\n async getSimpleMatches(seasonId: number): Promise<matchData[]> {\r\n return this.client.get<matchData[]>(`match/season/${seasonId}/simple`);\r\n }\r\n\r\n /** `GET match/season/{seasonId}` */\r\n async getMatches(seasonId: number): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`match/season/${seasonId}`);\r\n }\r\n\r\n /** `GET match/simple` */\r\n async getAllSimpleMatches(): Promise<matchData[]> {\r\n return this.client.get<matchData[]>('match/simple');\r\n }\r\n\r\n /** `GET match` */\r\n async getAllMatches(): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>('match');\r\n }\r\n\r\n /** `GET match/current` */\r\n async getCurrentMatch(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('match/current');\r\n }\r\n\r\n /** `POST match/current` */\r\n async completeCurrentMatch(): Promise<void> {\r\n return this.client.post<void>('match/current');\r\n }\r\n\r\n /** `GET match/current/id` */\r\n async getCurrentMatchId(): Promise<number> {\r\n return this.client.get<number>('match/current/id');\r\n }\r\n\r\n /** `GET match/previous/id` */\r\n async getPreviousMatchId(): Promise<number> {\r\n return this.client.get<number>('match/previous/id');\r\n }\r\n\r\n /** `POST match/current/{seriesid}` */\r\n async setCurrentMatch(seriesid: number): Promise<void> {\r\n return this.client.post<void>(`match/current/${seriesid}`);\r\n }\r\n\r\n /** `GET match/current/bestof` */\r\n async getCurrentMatchBestOf(): Promise<BestOfType> {\r\n return this.client.get<BestOfType>('match/current/bestof');\r\n }\r\n\r\n /** `PUT match/current/bestof` */\r\n async setCurrentMatchBestOf(type: BestOfType): Promise<void> {\r\n return this.client.put<void>('match/current/bestof', type);\r\n }\r\n\r\n /** `GET match/current/teams` */\r\n async getCurrentMatchTeams(): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>('match/current/teams');\r\n }\r\n\r\n /** `PUT match/current/teams` */\r\n async setCurrentMatchTeams(teamIds: number[]): Promise<void> {\r\n return this.client.put<void>('match/current/teams', teamIds);\r\n }\r\n\r\n /** `GET match/current/game` */\r\n async getCurrentGame(): Promise<gameWithTeams> {\r\n return this.client.get<gameWithTeams>('match/current/game');\r\n }\r\n\r\n /** `GET match/current/ruleset` */\r\n async getCurrentMatchRuleset(): Promise<MatchRuleSet> {\r\n return this.client.get<MatchRuleSet>('match/current/ruleset');\r\n }\r\n\r\n /** `PUT match/current/ruleset/{ruleset}` */\r\n async setCurrentMatchRuleset(ruleset: MatchRuleSet): Promise<void> {\r\n return this.client.put<void>(`match/current/ruleset/${ruleset}`);\r\n }\r\n\r\n /** `GET match/current/fearless/bans` */\r\n async getBans(): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>('match/current/fearless/bans');\r\n }\r\n\r\n /** `GET match/current/onstage` */\r\n async getCurrentMatchOnStage(): Promise<boolean> {\r\n return this.client.get<boolean>('match/current/onstage');\r\n }\r\n\r\n /** `GET match/{matchid}` */\r\n async getMatch(matchid: number): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>(`match/${matchid}`);\r\n }\r\n\r\n /** `DELETE match/{matchid}` */\r\n async deleteMatch(matchid: number): Promise<boolean> {\r\n return this.client.delete<boolean>(`match/${matchid}`);\r\n }\r\n\r\n /** `GET match/{matchid}/teams` */\r\n async getMatchTeams(matchid: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`match/${matchid}/teams`);\r\n }\r\n\r\n /** `PUT match/{matchid}/teams` */\r\n async setMatchTeams(matchid: number, teamIds: number[]): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/teams`, teamIds);\r\n }\r\n\r\n /** `GET match/{matchid}/games` */\r\n async getMatchGames(matchid: number): Promise<gameWithTeams[]> {\r\n return this.client.get<gameWithTeams[]>(`match/${matchid}/games`);\r\n }\r\n\r\n /** `GET match/{matchid}/winner` */\r\n async getMatchWinner(matchid: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/${matchid}/winner`);\r\n }\r\n\r\n /** `PUT match/{matchid}/winner/{teamid}` */\r\n async setMatchWinner(matchid: number, teamid: number): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/winner/${teamid}`);\r\n }\r\n\r\n /** `DELETE match/{matchid}/winner` */\r\n async removeMatchWinner(matchid: number): Promise<void> {\r\n return this.client.delete<void>(`match/${matchid}/winner`);\r\n }\r\n\r\n /** `GET match/{matchid}/bestof` */\r\n async getMatchBestOf(matchid: number): Promise<BestOfType> {\r\n return this.client.get<BestOfType>(`match/${matchid}/bestof`);\r\n }\r\n\r\n /** `PUT match/{matchid}/bestof/{type}` */\r\n async setMatchBestOf(matchid: number, type: BestOfType): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/bestof/${type}`);\r\n }\r\n\r\n /** `GET match/{matchid}/ruleset` */\r\n async getMatchRuleset(matchid: number): Promise<MatchRuleSet> {\r\n return this.client.get<MatchRuleSet>(`match/${matchid}/ruleset`);\r\n }\r\n\r\n /** `PUT match/{matchid}/ruleset/{ruleset}` */\r\n async setMatchRuleset(matchid: number, ruleset: MatchRuleSet): Promise<void> {\r\n return this.client.put<void>(`match/${matchid}/ruleset/${ruleset}`);\r\n }\r\n\r\n /** `GET match/{matchid}/name` */\r\n async getMatchName(matchid: number): Promise<string> {\r\n return this.client.get<string>(`match/${matchid}/name`);\r\n }\r\n\r\n /** `PATCH match/{matchid}/name/{matchName}` */\r\n async setMatchName(matchid: number, matchName: string): Promise<void> {\r\n return this.client.patch<void>(`match/${matchid}/name/${matchName}`);\r\n }\r\n\r\n /** `PATCH match/{matchid}` */\r\n async updateMatch(matchid: number, matchUpdate: optionalMatchData): Promise<void> {\r\n return this.client.patch<void>(`match/${matchid}`, matchUpdate);\r\n }\r\n\r\n /** `GET match/{matchid}/fearless/bans` */\r\n async getMatchBans(matchid: number): Promise<Record<number, Record<number, simpleChampionData[]>>> {\r\n return this.client.get<Record<number, Record<number, simpleChampionData[]>>>(`match/${matchid}/fearless/bans`);\r\n }\r\n\r\n /** `GET match/{seriesid}/onstage` */\r\n async getMatchOnStage(seriesid: number): Promise<boolean> {\r\n return this.client.get<boolean>(`match/${seriesid}/onstage`);\r\n }\r\n\r\n /** `PUT match` */\r\n async addMatch(match: addMatchRequestArgs): Promise<number> {\r\n return this.client.put<number>('match', match);\r\n }\r\n\r\n /** `GET match/{matchId}/stage/team/{stageSide}` */\r\n async getTeamOnStageSide(matchId: number, stageSide: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/${matchId}/stage/team/${stageSide}`);\r\n }\r\n\r\n /** `GET match/current/stage/team/{stageSide}` */\r\n async getTeamOnStageSideCurrent(stageSide: number): Promise<teamWithMembers> {\r\n return this.client.get<teamWithMembers>(`match/current/stage/team/${stageSide}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Season management endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-03-11\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchWithGamesAndTeams\";\r\nimport type { seasonData } from \"#types/shared/seasonData\";\r\nimport type { teamData } from \"#types/shared/teamData\";\r\nimport type { teamWithMembers } from \"#types/shared/teamWithMembers\";\r\n\r\nexport class SeasonApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET season/current` */\r\n async getCurrentSeason(): Promise<seasonData> {\r\n return this.client.get<seasonData>('season/current');\r\n }\r\n\r\n /** `GET season/current/match` */\r\n async getCurrentSeasonScheduledMatch(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('season/current/match');\r\n }\r\n\r\n /** `GET season/current/id` */\r\n async getCurrentSeasonId(): Promise<number> {\r\n return this.client.get<number>('season/current/id');\r\n }\r\n\r\n /** `POST season/current` */\r\n async setCurrentSeason(newCurrentSeasonId: number): Promise<void> {\r\n return this.client.post<void>('season/current', newCurrentSeasonId);\r\n }\r\n\r\n /** `GET season/current/teams` */\r\n async getCurrentSeasonTeams(): Promise<teamData[]> {\r\n return this.client.get<teamData[]>('season/current/teams');\r\n }\r\n\r\n /** `GET season/current/teamswithmembers` */\r\n async getCurrentSeasonTeamsWithMembers(): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>('season/current/teamswithmembers');\r\n }\r\n\r\n /** `GET season/current/icon` */\r\n async getCurrentSeasonIcon(): Promise<string> {\r\n return this.client.get<string>('season/current/icon');\r\n }\r\n\r\n /** `PUT season/current/icon` */\r\n async setCurrentSeasonIcon(): Promise<string> {\r\n return this.client.put<string>('season/current/icon');\r\n }\r\n\r\n /** `GET season` */\r\n async getAllSeasons(): Promise<seasonData[]> {\r\n return this.client.get<seasonData[]>('season');\r\n }\r\n\r\n /** `GET season/{seasonId}` */\r\n async getSeasonById(seasonId: number): Promise<seasonData> {\r\n return this.client.get<seasonData>(`season/${seasonId}`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches` */\r\n async getMatchesInSeason(seasonId: number): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`season/${seasonId}/matches`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches/count` */\r\n async getMatchesInSeasonCount(seasonId: number): Promise<number> {\r\n return this.client.get<number>(`season/${seasonId}/matches/count`);\r\n }\r\n\r\n /** `GET season/{seasonId}/matches/day/{day}` */\r\n async getMatchesInSeasonOnDay(seasonId: number, day: string): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`season/${seasonId}/matches/day/${day}`);\r\n }\r\n\r\n /** `GET season/{seasonId}/teams` */\r\n async getTeamsInSeason(seasonId: number): Promise<teamData[]> {\r\n return this.client.get<teamData[]>(`season/${seasonId}/teams`);\r\n }\r\n\r\n /** `GET season/{seasonId}/teamswithmembers` */\r\n async getTeamsWithMembersInSeason(seasonId: number): Promise<teamWithMembers[]> {\r\n return this.client.get<teamWithMembers[]>(`season/${seasonId}/teamswithmembers`);\r\n }\r\n\r\n /** `POST season` */\r\n async createOrUpdateSeason(seasonData: seasonData): Promise<number> {\r\n return this.client.post<number>('season', seasonData);\r\n }\r\n\r\n /** `GET season/{seasonId}/icon` */\r\n async getSeasonIcon(seasonId: number): Promise<string> {\r\n return this.client.get<string>(`season/${seasonId}/icon`);\r\n }\r\n\r\n /** `PUT season/{seasonId}/icon` */\r\n async setSeasonIcon(seasonId: number): Promise<string> {\r\n return this.client.put<string>(`season/${seasonId}/icon`);\r\n }\r\n\r\n /** `DELETE season/{seasonId}` */\r\n async deleteSeason(seasonId: number): Promise<void> {\r\n return this.client.delete<void>(`season/${seasonId}`);\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for In-game overlay and serialization endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-04-27\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { damageEventHistoryEntry } from \"#types/ingame/damageEvent/damageEventHistoryEntry\";\r\nimport type { ObjectiveRecapDisplayMode } from \"#types/ingame/damageRecap/ObjectiveRecapDisplayMode\";\r\n\r\nexport class IngameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `GET ingame/status` */\r\n async getGameState(): Promise<number> {\r\n return this.client.get<number>('ingame/status');\r\n }\r\n\r\n /** `POST ingame/enable` */\r\n async enableComponent(): Promise<void> {\r\n return this.client.post<void>('ingame/enable');\r\n }\r\n\r\n /** `POST ingame/disable` */\r\n async disableComponent(): Promise<void> {\r\n return this.client.post<void>('ingame/disable');\r\n }\r\n\r\n /** `POST ingame/mock/{doMocking}` */\r\n async mockIngame(doMocking: boolean): Promise<void> {\r\n return this.client.post<void>(`ingame/mock/${doMocking}`);\r\n }\r\n\r\n /** `GET ingame/mock` */\r\n async getMockingStatus(): Promise<boolean> {\r\n return this.client.get<boolean>('ingame/mock');\r\n }\r\n\r\n /** `GET ingame/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('ingame/frontend');\r\n }\r\n\r\n /** `GET ingame/showing` */\r\n async getCurrentCommonSerializationOptions(): Promise<Record<string, unknown>> {\r\n return this.client.get<Record<string, unknown>>('ingame/showing');\r\n }\r\n\r\n /** `POST ingame/showing` */\r\n async setCurrentCommonSerializationOptions(data: Record<string, unknown>): Promise<void> {\r\n return this.client.post<void>('ingame/showing', data);\r\n }\r\n\r\n /** `GET ingame/showing/{socketid}` */\r\n async getCurrentFrontendSerializationOptions(socketid: string): Promise<Record<string, unknown>> {\r\n return this.client.get<Record<string, unknown>>(`ingame/showing/${socketid}`);\r\n }\r\n\r\n /** `POST ingame/showing/{socketid}` */\r\n async setCurrentFrontendSerializationOptions(socketid: string, data: Record<string, unknown>): Promise<void> {\r\n return this.client.post<void>(`ingame/showing/${socketid}`, data);\r\n }\r\n\r\n /** `GET ingame/stage/{stageSide}/{playerSlot}/networkId` */\r\n async getPlayerPUUIDInSlot(stageSide: number, playerSlot: number): Promise<number> {\r\n return this.client.get<number>(`ingame/stage/${stageSide}/${playerSlot}/networkId`);\r\n }\r\n\r\n /** `GET ingame/stage/{stageSide}/ingameteamid` */\r\n async getIngameTeamOnStageSide(stageSide: number): Promise<number> {\r\n return this.client.get<number>(`ingame/stage/${stageSide}/ingameteamid`);\r\n }\r\n\r\n /** `GET ingame/state/activeOverlays` */\r\n async getActiveOverlays(): Promise<string[]> {\r\n return this.client.get<string[]>('ingame/state/activeOverlays');\r\n }\r\n\r\n /** `GET ingame/damage/history` */\r\n async getDamageEventHistory(): Promise<damageEventHistoryEntry[]> {\r\n return this.client.get<damageEventHistoryEntry[]>('ingame/damage/history');\r\n }\r\n\r\n /** `POST ingame/damage/select/{eventId}` */\r\n async selectDamageEvent(eventId: number, displayMode?: ObjectiveRecapDisplayMode | null): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/damage/select/${eventId}${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/damage/deselect` */\r\n async deselectDamageEvent(): Promise<void> {\r\n return this.client.post<void>('ingame/damage/deselect');\r\n }\r\n\r\n /** `POST ingame/objective/select/{eventId}` */\r\n async selectObjectiveForDps(eventId: number): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/objective/select/${eventId}`);\r\n }\r\n\r\n /** `POST ingame/objective/deselect` */\r\n async deselectObjectiveForDps(): Promise<void> {\r\n return this.client.post<void>('ingame/objective/deselect');\r\n }\r\n\r\n /** `POST ingame/teamfight/start` */\r\n async startTeamfightTracking(): Promise<unknown> {\r\n return this.client.post<unknown>('ingame/teamfight/start');\r\n }\r\n\r\n /** `POST ingame/teamfight/stop` */\r\n async stopTeamfightTracking(): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>('ingame/teamfight/stop');\r\n }\r\n\r\n /** `GET ingame/teamfight/active` */\r\n async getActiveTeamfight(): Promise<unknown> {\r\n return this.client.get<unknown>('ingame/teamfight/active');\r\n }\r\n\r\n /** `POST ingame/teamfight/select/{eventId}` */\r\n async selectTeamfightTimeline(eventId: number): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/teamfight/select/${eventId}`);\r\n }\r\n\r\n /** `POST ingame/teamfight/deselect` */\r\n async deselectTeamfightTimeline(): Promise<void> {\r\n return this.client.post<void>('ingame/teamfight/deselect');\r\n }\r\n\r\n /** `POST ingame/damage/select/latest` */\r\n async selectLatestDamageEvent(displayMode?: ObjectiveRecapDisplayMode | null): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/damage/select/latest${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/objective/select/latest` */\r\n async selectLatestObjectiveEvent(displayMode?: ObjectiveRecapDisplayMode | null, dps?: boolean): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>(`ingame/objective/select/latest${displayMode !== undefined ? `?displayMode=${encodeURIComponent(String(displayMode))}` : ''}${dps !== undefined ? `&dps=${encodeURIComponent(String(dps))}` : ''}`);\r\n }\r\n\r\n /** `POST ingame/teamfight/select/latest` */\r\n async selectLatestTeamfightTimeline(): Promise<damageEventHistoryEntry> {\r\n return this.client.post<damageEventHistoryEntry>('ingame/teamfight/select/latest');\r\n }\r\n}\r\n\r\n","/**\r\n * Auto-generated REST API client for Post-game overview, stats, graphs, and analysis endpoints.\r\n * Do not edit manually. Changes will be lost.\r\n *\r\n * @generated 2026-05-05\r\n */\r\n\r\nimport type { ApiClient } from \"../ApiClient\";\r\nimport type { Lane } from \"#types/hotkey/Lane\";\r\nimport type { activeComponentChangedEventArgs } from \"#types/message/ui/activeComponentChangedEventArgs\";\r\nimport type { postGameDamageGraph } from \"#types/postgame/damage/postGameDamageGraph\";\r\nimport type { postGameGoldGraph } from \"#types/postgame/gold/postGameGoldGraph\";\r\nimport type { matchOverviewData } from \"#types/postgame/matchOverviewData\";\r\nimport type { postGameOverview } from \"#types/postgame/postGameOverview\";\r\nimport type { postGamePlayerRunesAndItems } from \"#types/postgame/postGamePlayerRunesAndItems\";\r\nimport type { postGamePlayerStats } from \"#types/postgame/postGamePlayerStats\";\r\nimport type { postGameTeamOverview } from \"#types/postgame/postGameTeamOverview\";\r\nimport type { matchWithGamesAndTeams } from \"#types/shared/matchWithGamesAndTeams\";\r\nimport type { Team } from \"#types/shared/style/Team\";\r\n\r\nexport class PostGameApi {\r\n constructor(private readonly client: ApiClient) {}\r\n\r\n /** `POST postgame/route/{uri}` */\r\n async changeRoute(uri: string, ComponentData: unknown): Promise<unknown> {\r\n return this.client.post<unknown>(`postgame/route/${uri}`, ComponentData);\r\n }\r\n\r\n /** `POST postgame/mock/{mocking}` */\r\n async setMocking(mocking: boolean): Promise<boolean> {\r\n return this.client.post<boolean>(`postgame/mock/${mocking}`);\r\n }\r\n\r\n /** `GET postgame/mock` */\r\n async getMocking(): Promise<boolean> {\r\n return this.client.get<boolean>('postgame/mock');\r\n }\r\n\r\n /** `GET postgame/frontend` */\r\n async getFrontendUrl(): Promise<string> {\r\n return this.client.get<string>('postgame/frontend');\r\n }\r\n\r\n /** `POST postgame/frontend` */\r\n async changeRouting(uri: string): Promise<void> {\r\n return this.client.post<void>(`postgame/frontend?uri=${encodeURIComponent(String(uri))}`);\r\n }\r\n\r\n /** `GET postgame/overview/{gameId}` */\r\n async getGameOverview(gameId: number): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>(`postgame/overview/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/overview/current` */\r\n async getCurrentGameOverview(): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>('postgame/overview/current');\r\n }\r\n\r\n /** `GET postgame/overview/mock` */\r\n async getMockGameOverview(): Promise<postGameOverview> {\r\n return this.client.get<postGameOverview>('postgame/overview/mock');\r\n }\r\n\r\n /** `GET postgame/matchdata/{gameId}` */\r\n async getMatchData(gameId: number): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>(`postgame/matchdata/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/matchdata/current` */\r\n async getCurrentMatchData(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('postgame/matchdata/current');\r\n }\r\n\r\n /** `GET postgame/matchdata/mock` */\r\n async getMockMatchData(): Promise<matchWithGamesAndTeams> {\r\n return this.client.get<matchWithGamesAndTeams>('postgame/matchdata/mock');\r\n }\r\n\r\n /** `GET postgame/matchdata` */\r\n async getMatchDataRange(startDate: string | null, endDate: string | null, startGameId: number | null, endGameId: number | null, teamId: number | null, seasonId: number | null): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`postgame/matchdata?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);\r\n }\r\n\r\n /** `GET postgame/matchdata/mock/filter` */\r\n async getMockMatchDataRange(startDate: string | null, endDate: string | null, startGameId: number | null, endGameId: number | null, teamId: number | null, seasonId: number | null): Promise<matchWithGamesAndTeams[]> {\r\n return this.client.get<matchWithGamesAndTeams[]>(`postgame/matchdata/mock/filter?startDate=${encodeURIComponent(String(startDate))}&endDate=${encodeURIComponent(String(endDate))}&startGameId=${encodeURIComponent(String(startGameId))}&endGameId=${encodeURIComponent(String(endGameId))}&teamId=${encodeURIComponent(String(teamId))}&seasonId=${encodeURIComponent(String(seasonId))}`);\r\n }\r\n\r\n /** `GET postgame/matchoverview/{matchId}` */\r\n async getMatchOverview(matchId: number): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>(`postgame/matchoverview/${matchId}`);\r\n }\r\n\r\n /** `GET postgame/matchoverview/current` */\r\n async getCurrentMatchOverview(): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>('postgame/matchoverview/current');\r\n }\r\n\r\n /** `GET postgame/matchoverview/mock` */\r\n async getMockMatchOverview(): Promise<matchOverviewData> {\r\n return this.client.get<matchOverviewData>('postgame/matchoverview/mock');\r\n }\r\n\r\n /** `GET postgame/items_and_runes/{gameId}/{playerIndex}` */\r\n async getItemsAndRunes(gameId: number, playerIndex: number): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>(`postgame/items_and_runes/${gameId}/${playerIndex}`);\r\n }\r\n\r\n /** `GET postgame/items_and_runes/{gameId}/{teamSide}/{lane}` */\r\n async getItemsAndRunesByTeamAndLane(gameId: number, teamSide: Team, lane: Lane): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>(`postgame/items_and_runes/${gameId}/${teamSide}/${lane}`);\r\n }\r\n\r\n /** `GET postgame/items_and_runes/mock` */\r\n async getMockItemAndRunes(): Promise<postGamePlayerRunesAndItems> {\r\n return this.client.get<postGamePlayerRunesAndItems>('postgame/items_and_runes/mock');\r\n }\r\n\r\n /** `GET postgame/player_stats/{gameId}/{playerIndex}` */\r\n async getPlayerStats(gameId: number, playerIndex: number): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>(`postgame/player_stats/${gameId}/${playerIndex}`);\r\n }\r\n\r\n /** `GET postgame/player_stats/{gameId}/{teamSide}/{lane}` */\r\n async getPlayerStatsByTeamAndLane(gameId: number, teamSide: Team, lane: Lane): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>(`postgame/player_stats/${gameId}/${teamSide}/${lane}`);\r\n }\r\n\r\n /** `GET postgame/player_stats/mock` */\r\n async getMockPlayerStats(): Promise<postGamePlayerStats> {\r\n return this.client.get<postGamePlayerStats>('postgame/player_stats/mock');\r\n }\r\n\r\n /** `GET postgame/gold/{gameId}` */\r\n async getGameGoldGraph(gameId: number): Promise<postGameGoldGraph> {\r\n return this.client.get<postGameGoldGraph>(`postgame/gold/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/gold/mock` */\r\n async getMockGameGoldGraph(): Promise<postGameGoldGraph> {\r\n return this.client.get<postGameGoldGraph>('postgame/gold/mock');\r\n }\r\n\r\n /** `GET postgame/damage/{gameId}` */\r\n async getGameDamageGraph(gameId: number): Promise<postGameDamageGraph> {\r\n return this.client.get<postGameDamageGraph>(`postgame/damage/${gameId}`);\r\n }\r\n\r\n /** `GET postgame/damage/mock` */\r\n async getMockGameDamageGraph(): Promise<postGameDamageGraph> {\r\n return this.client.get<postGameDamageGraph>('postgame/damage/mock');\r\n }\r\n\r\n /** `GET postgame/team/{matchId}` */\r\n async getTeamPostGameData(matchId: number): Promise<Record<number, postGameTeamOverview>> {\r\n return this.client.get<Record<number, postGameTeamOverview>>(`postgame/team/${matchId}`);\r\n }\r\n\r\n /** `GET postgame/team/mock` */\r\n async getMockTeamPostGameData(): Promise<Record<number, postGameTeamOverview>> {\r\n return this.client.get<Record<number, postGameTeamOverview>>('postgame/team/mock');\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current` */\r\n async setActiveCurrentPostGameAnalysis(componentType: string, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current/team/{teamSide}` */\r\n async setActiveCurrentPostGameAnalysisWithTeam(componentType: string, teamSide: Team, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current/team/${teamSide}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/current/player/{playerIndex}` */\r\n async setActiveCurrentPostGameAnalysisWithPlayer(componentType: string, playerIndex: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/current/player/${playerIndex}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}` */\r\n async setActivePostGameAnalysis(componentType: string, gameId: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/match/{matchId}` */\r\n async setActivePostGameAnalysisWithMatch(componentType: string, matchId: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/match/${matchId}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/team/{teamSide}` */\r\n async setActivePostGameAnalysisWithTeam(componentType: string, gameId: number, teamSide: Team, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/team/${teamSide}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/player/{playerIndex}` */\r\n async setActivePostGameAnalysisWithPlayer(componentType: string, gameId: number, playerIndex: number, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/player/${playerIndex}`, body);\r\n }\r\n\r\n /** `POST postgame/active/{componentType}/{gameId}/player/{teamSide}/{lane}` */\r\n async setActivePostGameAnalysisWithPlayerTeamAndLane(componentType: string, gameId: number, teamSide: Team, lane: Lane, body: unknown): Promise<void> {\r\n return this.client.post<void>(`postgame/active/${componentType}/${gameId}/player/${teamSide}/${lane}`, body);\r\n }\r\n\r\n /** `GET postgame/active-component` */\r\n async getActivePostGameAnalysis(): Promise<activeComponentChangedEventArgs> {\r\n return this.client.get<activeComponentChangedEventArgs>('postgame/active-component');\r\n }\r\n\r\n /** `DELETE postgame/active-component` */\r\n async clearActivePostGameAnalysis(): Promise<void> {\r\n return this.client.delete<void>('postgame/active-component');\r\n }\r\n}\r\n\r\n","/**\r\n * Composite REST API client that aggregates all generated API modules.\r\n *\r\n * Access individual API groups via the named properties:\r\n *\r\n * ```ts\r\n * const client = new LeagueBroadcastClient({ host: \"localhost\" });\r\n *\r\n * // Games\r\n * const game = await client.api.game.getCurrent();\r\n *\r\n * // Matches\r\n * const match = await client.api.match.getCurrent();\r\n * await client.api.match.setCurrentBestOf(BestOfType.BestOf3);\r\n *\r\n * // Seasons\r\n * const seasons = await client.api.season.getAll();\r\n *\r\n * // In-game overlay control\r\n * await client.api.ingame.enable();\r\n * const overlays = await client.api.ingame.getActiveOverlays();\r\n *\r\n * // Live game state (requires active game)\r\n * const time = await client.api.gameState.getGameTime();\r\n * const players = await client.api.gameState.getAllParticipants();\r\n *\r\n * // Pre-game / champion select\r\n * const frontendUrl = await client.api.preGame.getFrontendUrl();\r\n *\r\n * // Post-game (REST-only — no WebSocket)\r\n * const overview = await client.api.postGame.getCurrentGameOverview();\r\n * const matchSummary = await client.api.postGame.getCurrentMatchOverview();\r\n * const goldGraph = await client.api.postGame.getGameGoldGraph(gameId);\r\n * const playerStats = await client.api.postGame.getPlayerStatsByTeamAndLane(gameId, Team.Blue, Lane.Mid);\r\n * ```\r\n */\r\n\r\nimport { ApiClient } from \"./ApiClient\";\r\nimport {\r\n IngameApi,\r\n GameApi,\r\n MatchApi,\r\n SeasonApi,\r\n PreGameApi,\r\n GameStateApi,\r\n PostGameApi,\r\n} from \"./generated\";\r\n\r\nexport class RestApi {\r\n private readonly client: ApiClient;\r\n\r\n /** In-game overlay and serialization endpoints. */\r\n public readonly ingame: IngameApi;\r\n\r\n /** Game CRUD, picks/bans, and winner endpoints. */\r\n public readonly game: GameApi;\r\n\r\n /** Match (series) management — current match, teams, fearless bans, etc. */\r\n public readonly match: MatchApi;\r\n\r\n /** Season management — CRUD, teams, icons, match listings. */\r\n public readonly season: SeasonApi;\r\n\r\n /** Champion select (pre-game) mocking, bans, frontend routing. */\r\n public readonly preGame: PreGameApi;\r\n\r\n /** Live game state — participants, dragons, ordering. Requires active game. */\r\n public readonly gameState: GameStateApi;\r\n\r\n /** Post-game overview, stats, gold/damage graphs, and analysis component control. */\r\n public readonly postGame: PostGameApi;\r\n\r\n constructor(baseUrl: string) {\r\n this.client = new ApiClient(baseUrl);\r\n\r\n this.ingame = new IngameApi(this.client);\r\n this.game = new GameApi(this.client);\r\n this.match = new MatchApi(this.client);\r\n this.season = new SeasonApi(this.client);\r\n this.preGame = new PreGameApi(this.client);\r\n this.gameState = new GameStateApi(this.client);\r\n this.postGame = new PostGameApi(this.client);\r\n }\r\n\r\n /**\r\n * Update the base URL for all API modules (e.g. after changing host/port).\r\n */\r\n updateBaseUrl(baseUrl: string): void {\r\n this.client.updateBaseUrl(baseUrl);\r\n }\r\n\r\n /**\r\n * Get direct access to the underlying HTTP client for custom requests.\r\n */\r\n getHttpClient(): ApiClient {\r\n return this.client;\r\n }\r\n}\r\n","import type { ingameAbilityInfo } from \"#types/ingame/ingameAbilityInfo\";\r\nimport type { itemWithAsset } from \"#types/ingame/itemWithAsset\";\r\nimport type { tabPlayer } from \"#types/ingame/tab/tabPlayer\";\r\nimport type { ingameScoreboardBottomPlayerData } from \"#types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData\";\r\n\r\n/**\r\n * All timer values in ingame data use **absolute game time** semantics:\r\n * - `readyAt / respawnAt === 0` → currently ready / alive\r\n * - `value > gameTime` → currently on cooldown / dead; `value - gameTime` seconds remain\r\n * - `value > 0 && value <= gameTime` → was on cooldown historically, now recovered\r\n *\r\n * Pass `ingameFrontendData.gameTime` (or the value from the reactive store) as\r\n * `gameTime` to all helpers below.\r\n */\r\n\r\n// ---------------------------------------------------------------------------\r\n// Generic primitive\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Return the seconds remaining until `readyAt`.\r\n * Returns `0` when the timer has expired or was never set.\r\n */\r\nexport function getRemaining(\r\n readyAt: number | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!readyAt || readyAt <= 0) return 0;\r\n return Math.max(0, readyAt - gameTime);\r\n}\r\n\r\n/**\r\n * Return `true` while `readyAt` is in the future relative to `gameTime`.\r\n */\r\nexport function isActive(\r\n readyAt: number | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getRemaining(readyAt, gameTime) > 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Ability cooldowns\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining on an ability's cooldown.\r\n * Returns `0` when the ability is ready.\r\n */\r\nexport function getAbilityCooldownRemaining(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(ability?.readyAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether an ability is currently on cooldown.\r\n */\r\nexport function isAbilityOnCooldown(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getAbilityCooldownRemaining(ability, gameTime) > 0;\r\n}\r\n\r\n/**\r\n * Fraction of the cooldown that has elapsed (0 = just put on cooldown, 1 = ready).\r\n * Useful for progress-ring / conic-fill animations.\r\n * Returns `1` when ready or when `totalCooldown` is zero.\r\n */\r\nexport function getAbilityCooldownFraction(\r\n ability: ingameAbilityInfo | null | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!ability || !ability.totalCooldown || ability.totalCooldown <= 0)\r\n return 1;\r\n const remaining = getAbilityCooldownRemaining(ability, gameTime);\r\n if (remaining <= 0) return 1;\r\n return 1 - remaining / ability.totalCooldown;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Item cooldowns\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining on an item's active cooldown.\r\n * Returns `0` when the item is ready.\r\n */\r\nexport function getItemCooldownRemaining(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(item?.readyAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether an item active is currently on cooldown.\r\n */\r\nexport function isItemOnCooldown(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getItemCooldownRemaining(item, gameTime) > 0;\r\n}\r\n\r\n/**\r\n * Fraction of the item cooldown that has elapsed (0 → just activated, 1 → ready).\r\n * Returns `1` when ready or when `maxCooldown` is zero / unknown.\r\n */\r\nexport function getItemCooldownFraction(\r\n item: itemWithAsset | null | undefined,\r\n gameTime: number,\r\n): number {\r\n if (!item?.maxCooldown || item.maxCooldown <= 0) return 1;\r\n const remaining = getItemCooldownRemaining(item, gameTime);\r\n if (remaining <= 0) return 1;\r\n return 1 - remaining / item.maxCooldown;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Player respawn\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Seconds remaining until a tab-player respawns.\r\n * Returns `0` when the player is alive.\r\n */\r\nexport function getRespawnRemaining(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n gameTime: number,\r\n): number {\r\n return getRemaining(player?.respawnAt, gameTime);\r\n}\r\n\r\n/**\r\n * Whether a player is currently dead.\r\n */\r\nexport function isPlayerDead(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n gameTime: number,\r\n): boolean {\r\n return getRespawnRemaining(player, gameTime) > 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Bound factory\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface BoundIngameTimerUtils {\r\n /** Seconds remaining until `readyAt`. Returns `0` when expired or unset. */\r\n getRemaining(readyAt: number | undefined): number;\r\n /** `true` while `readyAt` is in the future. */\r\n isActive(readyAt: number | undefined): boolean;\r\n getAbilityCooldownRemaining(\r\n ability: ingameAbilityInfo | null | undefined,\r\n ): number;\r\n isAbilityOnCooldown(ability: ingameAbilityInfo | null | undefined): boolean;\r\n getAbilityCooldownFraction(\r\n ability: ingameAbilityInfo | null | undefined,\r\n ): number;\r\n getItemCooldownRemaining(item: itemWithAsset | null | undefined): number;\r\n isItemOnCooldown(item: itemWithAsset | null | undefined): boolean;\r\n getItemCooldownFraction(item: itemWithAsset | null | undefined): number;\r\n getRespawnRemaining(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n ): number;\r\n isPlayerDead(\r\n player: tabPlayer | ingameScoreboardBottomPlayerData | null | undefined,\r\n ): boolean;\r\n}\r\n\r\n/**\r\n * Create a set of timer utilities pre-bound to a `gameTime` source.\r\n *\r\n * @param getGameTime - Called each time a utility is invoked to read the\r\n * current game time. Pass `() => client.getIngameData().gameTime` or a\r\n * reactive getter from your framework.\r\n *\r\n * @example\r\n * ```ts\r\n * const timers = createIngameTimerUtils(() => client.getIngameData().gameTime);\r\n * timers.isPlayerDead(player);\r\n * timers.getAbilityCooldownRemaining(ability);\r\n * ```\r\n */\r\nexport function createIngameTimerUtils(\r\n getGameTime: () => number,\r\n): BoundIngameTimerUtils {\r\n return {\r\n getRemaining: (readyAt) => getRemaining(readyAt, getGameTime()),\r\n isActive: (readyAt) => isActive(readyAt, getGameTime()),\r\n getAbilityCooldownRemaining: (ability) =>\r\n getAbilityCooldownRemaining(ability, getGameTime()),\r\n isAbilityOnCooldown: (ability) =>\r\n isAbilityOnCooldown(ability, getGameTime()),\r\n getAbilityCooldownFraction: (ability) =>\r\n getAbilityCooldownFraction(ability, getGameTime()),\r\n getItemCooldownRemaining: (item) =>\r\n getItemCooldownRemaining(item, getGameTime()),\r\n isItemOnCooldown: (item) => isItemOnCooldown(item, getGameTime()),\r\n getItemCooldownFraction: (item) =>\r\n getItemCooldownFraction(item, getGameTime()),\r\n getRespawnRemaining: (player) => getRespawnRemaining(player, getGameTime()),\r\n isPlayerDead: (player) => isPlayerDead(player, getGameTime()),\r\n };\r\n}\r\n","import type { OverlayHealthReport } from './types'\r\n\r\n/**\r\n * Resolves the ingestion endpoint URL from explicit override or host/port.\r\n */\r\nexport function resolveEndpoint(opts: {\r\n endpoint?: string\r\n host?: string\r\n port?: number | string\r\n useHttps?: boolean\r\n}): string {\r\n if (opts.endpoint) return opts.endpoint\r\n\r\n const loc = typeof location !== 'undefined' ? location : undefined\r\n const https = opts.useHttps ?? loc?.protocol === 'https:'\r\n const host = opts.host ?? loc?.hostname ?? 'localhost'\r\n const port = opts.port ?? loc?.port ?? 58869\r\n const portPart = port ? `:${port}` : ''\r\n return `${https ? 'https' : 'http'}://${host}${portPart}/api/overlay/health`\r\n}\r\n\r\n/**\r\n * Sends a health report to the host. Prefers navigator.sendBeacon (survives page\r\n * unload, no connection lifecycle); falls back to fetch with keepalive.\r\n *\r\n * Uses a text/plain body so cross-origin beacons are never blocked by a CORS\r\n * preflight — the host reads the raw request body and parses it itself.\r\n */\r\nexport function sendReport(endpoint: string, report: OverlayHealthReport): boolean {\r\n let body: string\r\n try {\r\n body = JSON.stringify(report)\r\n } catch {\r\n return false\r\n }\r\n\r\n try {\r\n if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') {\r\n const blob = new Blob([body], { type: 'text/plain;charset=UTF-8' })\r\n if (navigator.sendBeacon(endpoint, blob)) return true\r\n }\r\n } catch {\r\n // fall through to fetch\r\n }\r\n\r\n try {\r\n if (typeof fetch === 'function') {\r\n void fetch(endpoint, {\r\n method: 'POST',\r\n body,\r\n headers: { 'Content-Type': 'text/plain;charset=UTF-8' },\r\n keepalive: true,\r\n mode: 'cors',\r\n credentials: 'omit'\r\n }).catch(() => {})\r\n return true\r\n }\r\n } catch {\r\n // give up silently — health telemetry must never throw into the overlay\r\n }\r\n\r\n return false\r\n}\r\n","/**\r\n * Shared types for the overlay-health detector. These shapes are mirrored on the\r\n * C# host (OverlayHealthReportDto / OverlayHealthMessage) — keep field names in\r\n * sync (camelCase) if you change them.\r\n */\r\n\r\n/** Which overlay surface is reporting. */\r\nexport type OverlaySourceKind =\r\n | 'ingame'\r\n | 'pregame'\r\n | 'postgame'\r\n | 'minion'\r\n | 'webui'\r\n | 'sdk'\r\n | 'custom'\r\n\r\nexport interface OverlaySourceInfo {\r\n kind: OverlaySourceKind\r\n /** Human-friendly name, e.g. a custom overlay slug or an SDK-set overlay name. */\r\n name?: string\r\n}\r\n\r\nexport type HealthSeverity = 'info' | 'warning' | 'error'\r\n\r\nexport type HealthIssueKind =\r\n | 'broken-image'\r\n | 'oversized-image'\r\n | 'large-asset'\r\n | 'low-fps'\r\n | 'long-task'\r\n | 'high-memory'\r\n | 'dom-bloat'\r\n | 'js-error'\r\n\r\nexport interface HealthIssue {\r\n kind: HealthIssueKind\r\n severity: HealthSeverity\r\n /** Stable key used to de-duplicate repeated occurrences (asset URL, message, …). */\r\n key: string\r\n /** Short, human-readable summary. */\r\n message: string\r\n /** Offending asset URL, when applicable. */\r\n url?: string\r\n /** Element description / selector, when applicable. */\r\n element?: string\r\n /** Structured extra detail for the UI (dimensions, byte sizes, ms, …). */\r\n detail?: Record<string, number | string>\r\n /** Number of times this issue has been observed this session. */\r\n count: number\r\n /** Client epoch ms when first observed. */\r\n firstSeen: number\r\n /** Client epoch ms when last observed. */\r\n lastSeen: number\r\n}\r\n\r\nexport interface HealthMetrics {\r\n /** Frames per second over the sampling window. */\r\n fps: number\r\n /** 95th-percentile frame time (ms) over the window. */\r\n p95FrameMs: number\r\n /** Longest single frame (ms) over the window. */\r\n longestFrameMs: number\r\n /** Number of long tasks observed in the window. */\r\n longTasksInWindow: number\r\n /** Used JS heap (MB), where the browser exposes it (Chromium/CEF). */\r\n jsHeapUsedMb?: number\r\n /** JS heap limit (MB), where exposed. */\r\n jsHeapLimitMb?: number\r\n /** Total DOM element count. */\r\n domNodes: number\r\n}\r\n\r\n/** Full report sent to the host on each flush. */\r\nexport interface OverlayHealthReport {\r\n source: OverlaySourceInfo\r\n /** Random id generated once per page load. */\r\n sessionId: string\r\n /** location.href of the reporting overlay. */\r\n url: string\r\n userAgent: string\r\n /** Client epoch ms when the report was produced. */\r\n timestamp: number\r\n metrics: HealthMetrics\r\n issues: HealthIssue[]\r\n}\r\n\r\nexport interface HealthThresholds {\r\n /** Decoded RGBA bytes (naturalW * naturalH * 4) above which an image is \"oversized\". */\r\n maxDecodedBytes: number\r\n /** Natural dimension (px) above which an image is \"oversized\". */\r\n maxImageDimension: number\r\n /** naturalArea / displayedArea ratio above which an image is wastefully oversampled. */\r\n maxOversampleRatio: number\r\n /** Minimum natural area (px²) before the oversample ratio is considered. */\r\n oversampleMinArea: number\r\n /** Encoded transfer bytes above which any asset download is flagged \"large\". */\r\n maxAssetBytes: number\r\n /** Sustained FPS below this is flagged \"low\". */\r\n minFps: number\r\n /** p95 frame time (ms) above this is flagged \"low-fps\". */\r\n maxP95FrameMs: number\r\n /** Long-task duration (ms) at/above which a long task is reported. */\r\n longTaskMs: number\r\n /** Used JS heap (MB) above which memory is flagged \"high\". */\r\n maxJsHeapMb: number\r\n /** DOM element count above which the DOM is flagged \"bloated\". */\r\n maxDomNodes: number\r\n}\r\n\r\nexport const DEFAULT_THRESHOLDS: HealthThresholds = {\r\n maxDecodedBytes: 24 * 1024 * 1024, // ~2500×2500 px\r\n maxImageDimension: 4096,\r\n maxOversampleRatio: 4,\r\n oversampleMinArea: 1_000_000, // ~1 MP\r\n maxAssetBytes: 5 * 1024 * 1024, // 5 MB on the wire\r\n minFps: 30,\r\n maxP95FrameMs: 50,\r\n longTaskMs: 200,\r\n maxJsHeapMb: 768,\r\n maxDomNodes: 5000\r\n}\r\n\r\nexport interface OverlayHealthOptions {\r\n /** Identifies the reporting overlay. Required. */\r\n source: OverlaySourceInfo\r\n /** Backend host (no protocol). Defaults to location.hostname. */\r\n host?: string\r\n /** Backend port. Defaults to location.port. */\r\n port?: number | string\r\n /** Use https for the ingestion endpoint. Defaults to location.protocol === 'https:'. */\r\n useHttps?: boolean\r\n /** Full ingestion endpoint URL. Takes precedence over host/port/useHttps. */\r\n endpoint?: string\r\n /** Master switch. Defaults to true. */\r\n enabled?: boolean\r\n /** How often a full report is flushed (ms). Default 5000. */\r\n reportIntervalMs?: number\r\n /** Threshold overrides (merged over DEFAULT_THRESHOLDS). */\r\n thresholds?: Partial<HealthThresholds>\r\n}\r\n\r\nexport interface OverlayHealthHandle {\r\n /** Force an immediate report flush. */\r\n flush(): void\r\n /** Detach all listeners/observers and stop reporting. */\r\n stop(): void\r\n}\r\n","import { resolveEndpoint, sendReport } from './transport'\r\nimport {\r\n DEFAULT_THRESHOLDS,\r\n type HealthIssue,\r\n type HealthIssueKind,\r\n type HealthMetrics,\r\n type HealthSeverity,\r\n type HealthThresholds,\r\n type OverlayHealthHandle,\r\n type OverlayHealthOptions,\r\n type OverlayHealthReport\r\n} from './types'\r\n\r\nconst FRAME_WINDOW_MS = 3000\r\nconst MAX_ISSUES = 50\r\n/** Transient (non-asset) issues older than this are dropped from reports. */\r\nconst TRANSIENT_TTL_MS = 20_000\r\n\r\nconst TRANSIENT_KINDS: ReadonlySet<HealthIssueKind> = new Set([\r\n 'low-fps',\r\n 'long-task',\r\n 'high-memory',\r\n 'dom-bloat'\r\n])\r\n\r\nfunction now(): number {\r\n return Date.now()\r\n}\r\n\r\nfunction randomId(): string {\r\n return Math.random().toString(36).slice(2) + Math.random().toString(36).slice(2)\r\n}\r\n\r\nfunction describeElement(el: Element): string {\r\n const id = el.id ? `#${el.id}` : ''\r\n const cls =\r\n typeof el.className === 'string' && el.className\r\n ? `.${el.className.trim().split(/\\s+/).slice(0, 2).join('.')}`\r\n : ''\r\n return `${el.tagName.toLowerCase()}${id}${cls}`\r\n}\r\n\r\n/**\r\n * Monitors a single overlay document for frontend-health problems and periodically\r\n * reports them to the host. All detection is passive and best-effort: it must never\r\n * throw into or measurably slow down the host overlay.\r\n */\r\nexport class OverlayHealthMonitor implements OverlayHealthHandle {\r\n private readonly options: Required<Omit<OverlayHealthOptions, 'thresholds' | 'endpoint' | 'host' | 'port' | 'useHttps'>> & {\r\n thresholds: HealthThresholds\r\n }\r\n private readonly endpoint: string\r\n private readonly sessionId = randomId()\r\n private readonly issues = new Map<string, HealthIssue>()\r\n\r\n /** Recent frame timestamps (epoch ms) within FRAME_WINDOW_MS. */\r\n private frameTimes: number[] = []\r\n private lastFrameAt = 0\r\n private longTaskTimes: number[] = []\r\n private rafId: number | null = null\r\n private reportTimer: ReturnType<typeof setInterval> | null = null\r\n private immediateTimer: ReturnType<typeof setTimeout> | null = null\r\n private perfObserver: PerformanceObserver | null = null\r\n private stopped = false\r\n\r\n constructor(opts: OverlayHealthOptions) {\r\n this.options = {\r\n source: opts.source,\r\n enabled: opts.enabled ?? true,\r\n reportIntervalMs: opts.reportIntervalMs ?? 5000,\r\n thresholds: { ...DEFAULT_THRESHOLDS, ...(opts.thresholds ?? {}) }\r\n }\r\n this.endpoint = resolveEndpoint(opts)\r\n }\r\n\r\n start(): void {\r\n if (this.stopped || !this.options.enabled) return\r\n if (typeof window === 'undefined') return\r\n\r\n window.addEventListener('error', this.onError, true)\r\n window.addEventListener('load', this.onLoad, true)\r\n window.addEventListener('unhandledrejection', this.onRejection)\r\n document.addEventListener('visibilitychange', this.onVisibilityChange)\r\n window.addEventListener('pagehide', this.onPageHide)\r\n\r\n this.startFrameSampling()\r\n this.startPerfObserver()\r\n\r\n this.reportTimer = setInterval(() => this.flush(), this.options.reportIntervalMs)\r\n }\r\n\r\n flush(): void {\r\n if (this.stopped) return\r\n try {\r\n const report = this.buildReport()\r\n sendReport(this.endpoint, report)\r\n } catch {\r\n // never throw out of the overlay\r\n }\r\n }\r\n\r\n stop(): void {\r\n if (this.stopped) return\r\n this.stopped = true\r\n\r\n window.removeEventListener('error', this.onError, true)\r\n window.removeEventListener('load', this.onLoad, true)\r\n window.removeEventListener('unhandledrejection', this.onRejection)\r\n document.removeEventListener('visibilitychange', this.onVisibilityChange)\r\n window.removeEventListener('pagehide', this.onPageHide)\r\n\r\n if (this.rafId !== null) cancelAnimationFrame(this.rafId)\r\n if (this.reportTimer !== null) clearInterval(this.reportTimer)\r\n if (this.immediateTimer !== null) clearTimeout(this.immediateTimer)\r\n this.perfObserver?.disconnect()\r\n }\r\n\r\n // ── Detection ──────────────────────────────────────────────────────────\r\n\r\n private onError = (e: Event): void => {\r\n try {\r\n const target = e.target\r\n if (target instanceof HTMLImageElement) {\r\n // currentSrc is empty on a hard failure; fall back to src attribute.\r\n const url = target.currentSrc || target.src || target.getAttribute('src') || '(unknown)'\r\n this.record({\r\n kind: 'broken-image',\r\n severity: 'error',\r\n key: url,\r\n message: 'Image failed to load',\r\n url,\r\n element: describeElement(target)\r\n })\r\n return\r\n }\r\n\r\n // Uncaught script error (target is window/document, not an element).\r\n const errEvent = e as ErrorEvent\r\n if (!(target instanceof Element) && errEvent.message) {\r\n const where = errEvent.filename\r\n ? `${errEvent.filename}:${errEvent.lineno ?? 0}`\r\n : ''\r\n this.record({\r\n kind: 'js-error',\r\n severity: 'error',\r\n key: `${errEvent.message}|${where}`,\r\n message: errEvent.message,\r\n detail: where ? { location: where } : undefined\r\n })\r\n }\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private onLoad = (e: Event): void => {\r\n try {\r\n const target = e.target\r\n if (target instanceof HTMLImageElement) {\r\n this.inspectImage(target)\r\n }\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private onRejection = (e: PromiseRejectionEvent): void => {\r\n try {\r\n const reason =\r\n e.reason instanceof Error\r\n ? e.reason.message\r\n : typeof e.reason === 'string'\r\n ? e.reason\r\n : 'Unhandled promise rejection'\r\n this.record({\r\n kind: 'js-error',\r\n severity: 'error',\r\n key: `rejection|${reason}`,\r\n message: `Unhandled rejection: ${reason}`\r\n })\r\n } catch {\r\n /* ignore */\r\n }\r\n }\r\n\r\n private inspectImage(img: HTMLImageElement): void {\r\n const nW = img.naturalWidth\r\n const nH = img.naturalHeight\r\n if (!nW || !nH) return\r\n\r\n const naturalArea = nW * nH\r\n const decodedBytes = naturalArea * 4\r\n const displayedArea = Math.max(1, img.clientWidth * img.clientHeight)\r\n const oversampleRatio = naturalArea / displayedArea\r\n const t = this.options.thresholds\r\n const url = img.currentSrc || img.src\r\n\r\n const tooBig = decodedBytes > t.maxDecodedBytes || nW > t.maxImageDimension || nH > t.maxImageDimension\r\n const oversampled = naturalArea > t.oversampleMinArea && oversampleRatio > t.maxOversampleRatio\r\n\r\n if (tooBig || oversampled) {\r\n this.record({\r\n kind: 'oversized-image',\r\n severity: 'warning',\r\n key: url,\r\n message: tooBig\r\n ? `Very large image (${nW}×${nH})`\r\n : `Image is much larger than displayed (${nW}×${nH})`,\r\n url,\r\n element: describeElement(img),\r\n detail: {\r\n naturalWidth: nW,\r\n naturalHeight: nH,\r\n displayedWidth: img.clientWidth,\r\n displayedHeight: img.clientHeight,\r\n approxDecodedMb: Math.round((decodedBytes / (1024 * 1024)) * 10) / 10,\r\n oversampleRatio: Math.round(oversampleRatio * 10) / 10\r\n }\r\n })\r\n }\r\n }\r\n\r\n private startPerfObserver(): void {\r\n if (typeof PerformanceObserver === 'undefined') return\r\n\r\n try {\r\n this.perfObserver = new PerformanceObserver((list) => {\r\n for (const entry of list.getEntries()) {\r\n if (entry.entryType === 'longtask') {\r\n this.longTaskTimes.push(now())\r\n if (entry.duration >= this.options.thresholds.longTaskMs) {\r\n this.record({\r\n kind: 'long-task',\r\n severity: 'warning',\r\n key: 'long-task',\r\n message: 'Main thread blocked by a long task',\r\n detail: { lastDurationMs: Math.round(entry.duration) }\r\n })\r\n }\r\n } else if (entry.entryType === 'resource') {\r\n this.inspectResource(entry as PerformanceResourceTiming)\r\n }\r\n }\r\n })\r\n\r\n // Observe long tasks and resource loads where supported. Wrap each so one\r\n // unsupported type does not prevent the others from registering.\r\n this.tryObserve({ type: 'longtask', buffered: true })\r\n this.tryObserve({ type: 'resource', buffered: true })\r\n } catch {\r\n /* observers unsupported — frame sampling still works */\r\n }\r\n }\r\n\r\n private tryObserve(init: PerformanceObserverInit): void {\r\n try {\r\n this.perfObserver?.observe(init)\r\n } catch {\r\n /* this entry type is unsupported in this browser */\r\n }\r\n }\r\n\r\n private inspectResource(entry: PerformanceResourceTiming): void {\r\n if (entry.initiatorType !== 'img' && entry.initiatorType !== 'css') return\r\n const bytes = entry.encodedBodySize || entry.transferSize || 0\r\n if (bytes > this.options.thresholds.maxAssetBytes) {\r\n this.record({\r\n kind: 'large-asset',\r\n severity: 'warning',\r\n key: entry.name,\r\n message: `Large asset download (${Math.round((bytes / (1024 * 1024)) * 10) / 10} MB)`,\r\n url: entry.name,\r\n detail: {\r\n encodedBytes: bytes,\r\n decodedBytes: entry.decodedBodySize || 0,\r\n initiator: entry.initiatorType\r\n }\r\n })\r\n }\r\n }\r\n\r\n private startFrameSampling(): void {\r\n if (typeof requestAnimationFrame === 'undefined') return\r\n this.lastFrameAt = now()\r\n const tick = (): void => {\r\n if (this.stopped) return\r\n const t = now()\r\n this.frameTimes.push(t)\r\n const cutoff = t - FRAME_WINDOW_MS\r\n while (this.frameTimes.length && this.frameTimes[0] < cutoff) this.frameTimes.shift()\r\n this.lastFrameAt = t\r\n this.rafId = requestAnimationFrame(tick)\r\n }\r\n this.rafId = requestAnimationFrame(tick)\r\n }\r\n\r\n // ── Metrics + reporting ────────────────────────────────────────────────\r\n\r\n private computeMetrics(): HealthMetrics {\r\n const frames = this.frameTimes\r\n const deltas: number[] = []\r\n for (let i = 1; i < frames.length; i++) deltas.push(frames[i] - frames[i - 1])\r\n\r\n const spanMs = frames.length > 1 ? frames[frames.length - 1] - frames[0] : 0\r\n const fps = spanMs > 0 ? Math.round(((frames.length - 1) / spanMs) * 1000) : 0\r\n\r\n let p95 = 0\r\n let longest = 0\r\n if (deltas.length) {\r\n const sorted = [...deltas].sort((a, b) => a - b)\r\n p95 = sorted[Math.min(sorted.length - 1, Math.floor(sorted.length * 0.95))]\r\n longest = sorted[sorted.length - 1]\r\n }\r\n\r\n const cutoff = now() - FRAME_WINDOW_MS\r\n this.longTaskTimes = this.longTaskTimes.filter((tt) => tt >= cutoff)\r\n\r\n const metrics: HealthMetrics = {\r\n fps,\r\n p95FrameMs: Math.round(p95),\r\n longestFrameMs: Math.round(longest),\r\n longTasksInWindow: this.longTaskTimes.length,\r\n domNodes: document.getElementsByTagName('*').length\r\n }\r\n\r\n // Chromium/CEF only — guarded so other engines don't break.\r\n const mem = (performance as Performance & { memory?: { usedJSHeapSize: number; jsHeapSizeLimit: number } }).memory\r\n if (mem) {\r\n metrics.jsHeapUsedMb = Math.round(mem.usedJSHeapSize / (1024 * 1024))\r\n metrics.jsHeapLimitMb = Math.round(mem.jsHeapSizeLimit / (1024 * 1024))\r\n }\r\n\r\n return metrics\r\n }\r\n\r\n /** Evaluate window-derived issues (low fps, high memory, dom bloat). */\r\n private evaluateMetricIssues(metrics: HealthMetrics): void {\r\n const t = this.options.thresholds\r\n\r\n // Only judge FPS once we have a representative sample.\r\n if (this.frameTimes.length > 30) {\r\n if (metrics.fps < t.minFps || metrics.p95FrameMs > t.maxP95FrameMs) {\r\n this.record({\r\n kind: 'low-fps',\r\n severity: 'warning',\r\n key: 'low-fps',\r\n message: `Low frame rate (${metrics.fps} fps)`,\r\n detail: { fps: metrics.fps, p95FrameMs: metrics.p95FrameMs }\r\n })\r\n }\r\n }\r\n\r\n if (metrics.jsHeapUsedMb !== undefined && metrics.jsHeapUsedMb > t.maxJsHeapMb) {\r\n this.record({\r\n kind: 'high-memory',\r\n severity: 'warning',\r\n key: 'high-memory',\r\n message: `High memory use (${metrics.jsHeapUsedMb} MB)`,\r\n detail: { jsHeapUsedMb: metrics.jsHeapUsedMb }\r\n })\r\n }\r\n\r\n if (metrics.domNodes > t.maxDomNodes) {\r\n this.record({\r\n kind: 'dom-bloat',\r\n severity: metrics.domNodes > t.maxDomNodes * 2 ? 'warning' : 'info',\r\n key: 'dom-bloat',\r\n message: `Large DOM (${metrics.domNodes} elements)`,\r\n detail: { domNodes: metrics.domNodes }\r\n })\r\n }\r\n }\r\n\r\n private buildReport(): OverlayHealthReport {\r\n const metrics = this.computeMetrics()\r\n this.evaluateMetricIssues(metrics)\r\n this.pruneTransientIssues()\r\n\r\n return {\r\n source: this.options.source,\r\n sessionId: this.sessionId,\r\n url: typeof location !== 'undefined' ? location.href : '',\r\n userAgent: typeof navigator !== 'undefined' ? navigator.userAgent : '',\r\n timestamp: now(),\r\n metrics,\r\n issues: [...this.issues.values()]\r\n }\r\n }\r\n\r\n private record(input: {\r\n kind: HealthIssueKind\r\n severity: HealthSeverity\r\n key: string\r\n message: string\r\n url?: string\r\n element?: string\r\n detail?: Record<string, number | string>\r\n }): void {\r\n const mapKey = `${input.kind}:${input.key}`\r\n const ts = now()\r\n const existing = this.issues.get(mapKey)\r\n\r\n if (existing) {\r\n existing.count++\r\n existing.lastSeen = ts\r\n existing.message = input.message\r\n if (input.detail) existing.detail = input.detail\r\n return\r\n }\r\n\r\n if (this.issues.size >= MAX_ISSUES) this.evictOldest()\r\n\r\n this.issues.set(mapKey, {\r\n kind: input.kind,\r\n severity: input.severity,\r\n key: input.key,\r\n message: input.message,\r\n url: input.url,\r\n element: input.element,\r\n detail: input.detail,\r\n count: 1,\r\n firstSeen: ts,\r\n lastSeen: ts\r\n })\r\n\r\n // Hard failures get a fast, debounced report so the user sees them quickly.\r\n if (input.severity === 'error') this.scheduleImmediate()\r\n }\r\n\r\n private scheduleImmediate(): void {\r\n if (this.immediateTimer !== null) return\r\n this.immediateTimer = setTimeout(() => {\r\n this.immediateTimer = null\r\n this.flush()\r\n }, 750)\r\n }\r\n\r\n private pruneTransientIssues(): void {\r\n const cutoff = now() - TRANSIENT_TTL_MS\r\n for (const [k, issue] of this.issues) {\r\n if (TRANSIENT_KINDS.has(issue.kind) && issue.lastSeen < cutoff) {\r\n this.issues.delete(k)\r\n }\r\n }\r\n }\r\n\r\n private evictOldest(): void {\r\n let oldestKey: string | null = null\r\n let oldest = Infinity\r\n for (const [k, issue] of this.issues) {\r\n if (issue.lastSeen < oldest) {\r\n oldest = issue.lastSeen\r\n oldestKey = k\r\n }\r\n }\r\n if (oldestKey) this.issues.delete(oldestKey)\r\n }\r\n\r\n private onVisibilityChange = (): void => {\r\n if (document.visibilityState === 'hidden') this.flush()\r\n }\r\n\r\n private onPageHide = (): void => {\r\n this.flush()\r\n }\r\n}\r\n","import { OverlayHealthMonitor } from './detector'\r\nimport type { OverlayHealthHandle, OverlayHealthOptions } from './types'\r\n\r\nexport * from './types'\r\nexport { OverlayHealthMonitor } from './detector'\r\nexport { resolveEndpoint, sendReport } from './transport'\r\n\r\n/**\r\n * Starts passive frontend-health monitoring for the current overlay document and\r\n * reports broken/oversized images, low frame rates, long tasks, high memory and\r\n * uncaught JS errors back to the LeagueBroadcast host.\r\n *\r\n * Safe to call once per page. All detection is best-effort and guarded — it will\r\n * never throw into, or measurably slow down, the host overlay.\r\n *\r\n * @example\r\n * startOverlayHealth({ source: { kind: 'ingame' }, host, port })\r\n */\r\nexport function startOverlayHealth(options: OverlayHealthOptions): OverlayHealthHandle {\r\n const monitor = new OverlayHealthMonitor(options)\r\n monitor.start()\r\n return monitor\r\n}\r\n","import { WebSocketManager } from \"./WebSocketManager\";\r\nimport { GameStateStore } from \"./reactivity/GameStateStore\";\r\nimport { ChampSelectStateStore } from \"./reactivity/ChampSelectStateStore\";\r\nimport { PostGameStateStore } from \"./reactivity/PostGameStateStore\";\r\nimport { structuralShare } from \"./reactivity/structuralShare\";\r\nimport type { Subscribable, EqualityFn } from \"./reactivity/GameStateStore\";\r\nimport type { GameStateSnapshot } from \"./reactivity/GameStateStore\";\r\nimport type { ChampSelectSnapshot } from \"./reactivity/ChampSelectStateStore\";\r\nimport type { PostGameSnapshot } from \"./reactivity/PostGameStateStore\";\r\nimport { ingameFrontendData } from \"#types/ingame/ingameFrontendData\";\r\nimport { GameState } from \"#types/shared/GameState\";\r\nimport type { transitionEvents } from \"#types/ingame/event/transitionEvents\";\r\nimport type { playerUpdateEvent } from \"#types/ingame/event/playerUpdateEvent\";\r\nimport type { teamUpdateResults } from \"#types/ingame/event/teamUpdateResults\";\r\nimport type { ingameObjectiveEvent } from \"#types/ingame/event/ingameObjectiveEvent\";\r\nimport type { announcerEvent } from \"#types/ingame/announcer/announcerEvent\";\r\nimport type { killFeedEvent } from \"#types/ingame/event/killFeedEvent\";\r\nimport { Team } from \"#types/shared/style/Team\";\r\nimport { champSelectStateData } from \"#types/pregame/champSelectStateData\";\r\nimport type { pickBanActionEventArgs } from \"#types/pregame/pickBanActionEventArgs\";\r\nimport { postGameStateData } from \"#types/postgame/postGameStateData\";\r\nimport type { postGameOverview } from \"#types/postgame/postGameOverview\";\r\nimport type { activeComponentChangedEventArgs } from \"#types/message/ui/activeComponentChangedEventArgs\";\r\nimport { RestApi } from \"./api/RestApi\";\r\nimport { smiteReactionResult } from \"#types/ingame/smiteReaction/smiteReactionResult\";\r\nimport {\r\n createIngameTimerUtils,\r\n type BoundIngameTimerUtils,\r\n} from \"./util/ingameTimerUtils\";\r\nimport { startOverlayHealth, type OverlayHealthHandle } from \"#overlay-health\";\r\n\r\n// Module-level clock — one interval drives gameTime for all timer consumers\r\nlet _clockInterval: ReturnType<typeof setInterval> | null = null;\r\n\r\nexport interface LeagueBroadcastClientConfig {\r\n host: string;\r\n port?: number;\r\n /** In-game WebSocket route. @default \"/ws/in\" */\r\n ingameWsRoute?: string;\r\n /** Pre-game (champion select) WebSocket route. @default \"/ws/pre\" */\r\n preGameWsRoute?: string;\r\n /**\r\n * Post-game (analysis) WebSocket route. @default \"/ws/post\"\r\n * Set to `false` to disable the post-game WebSocket connection entirely.\r\n */\r\n postGameWsRoute?: string | false;\r\n apiRoute?: string;\r\n cacheRoute?: string;\r\n useHttps?: boolean;\r\n autoConnect?: boolean;\r\n overlayHealth?: boolean | { enabled?: boolean; name?: string };\r\n}\r\n\r\nexport interface IngameEventHandlers {\r\n onPlayerEvent?: (event: playerUpdateEvent) => void;\r\n onTeamEvent?: (event: teamUpdateResults) => void;\r\n onObjectiveEvent?: (event: ingameObjectiveEvent) => void;\r\n onFirstTowerEvent?: (teamId: Team) => void;\r\n onAnnouncementEvent?: (event: announcerEvent) => void;\r\n onKillFeedEvent?: (event: killFeedEvent) => void;\r\n onSmiteReactionEvent?: (event: smiteReactionResult) => void;\r\n}\r\n\r\nexport interface ChampSelectEventHandlers {\r\n /** Fired for every pick/ban action (hover, lock, ban reveal, phase transition). */\r\n onAction?: (action: pickBanActionEventArgs) => void;\r\n /** Fired when champ select becomes active (first state update with `isActive === true`). */\r\n onChampSelectStart?: () => void;\r\n /** Fired when champ select ends (backend sends `isActive === false`). */\r\n onChampSelectEnd?: () => void;\r\n /** Fired when the frontend route changes (e.g. navigating between pre-game views). */\r\n onRouteUpdate?: (uri: string) => void;\r\n}\r\n\r\nexport interface PostGameEventHandlers {\r\n /** Fired when the backend broadcasts a postgame route change (\"postgame-route-change\" or \"frontend-route-update\"). */\r\n onRouteUpdate?: (uri: string) => void;\r\n /** Fired when postgame mocking is toggled on the backend. */\r\n onMockingUpdate?: (mocking: boolean) => void;\r\n /** Fired when the active postgame analysis component changes. */\r\n onActiveComponentChanged?: (args: activeComponentChangedEventArgs) => void;\r\n /** Fired when postgame becomes active via showPostGame(). */\r\n onPostGameShow?: (overview: postGameOverview) => void;\r\n /** Fired when postgame is hidden/reset. */\r\n onPostGameHide?: () => void;\r\n}\r\n\r\n/**\r\n * Main client for connecting to the League Broadcast backend.\r\n *\r\n * Internally manages **three** WebSocket connections:\r\n * - `/ws/in` — real-time in-game data\r\n * - `/ws/pre` — champion-select (pre-game) data\r\n * - `/ws/post` — post-game (analysis) data\r\n *\r\n * All connections are opened on {@link connect} (or automatically if\r\n * `autoConnect` is `true`) and share the same host / port. The post-game\r\n * connection can be disabled by setting `postGameWsRoute` to `false`.\r\n *\r\n * @example\r\n * ```ts\r\n * const client = new LeagueBroadcastClient({ host: \"localhost\" });\r\n *\r\n * // In-game state & events\r\n * client.onIngameStateUpdate(data => console.log(\"Game time:\", data.gameTime));\r\n * client.watchIngame(s => s.gameData.scoreboard?.teams[0]?.kills, kills => { });\r\n * client.onIngameEvents({ onKillFeedEvent: e => console.log(e) });\r\n *\r\n * // Timer utilities — gameTime is read automatically\r\n * client.timers.isPlayerDead(player);\r\n * client.timers.getAbilityCooldownRemaining(ability);\r\n * client.timers.getItemCooldownFraction(item); // 0 = just activated, 1 = ready\r\n *\r\n * // Pre-game\r\n * client.onChampSelectUpdate(data => console.log(\"Phase:\", data.timer.phaseName));\r\n * client.onChampSelectEvents({ onAction: a => console.log(a) });\r\n * client.selectChampSelect(s => s.champSelectData.timer);\r\n *\r\n * // Post-game\r\n * const overview = await client.showPostGame();\r\n * client.onPostGameUpdate(data => console.log(\"Winner:\", data.overview?.winnerSide));\r\n * client.onPostGameEvents({ onActiveComponentChanged: a => console.log(a) });\r\n * client.selectPostGame(s => s.postGameData.overview);\r\n * ```\r\n */\r\nexport class LeagueBroadcastClient {\r\n // -- WebSocket connections --------------------------------------------------\r\n private ingameWs: WebSocketManager;\r\n private preGameWs: WebSocketManager;\r\n private postGameWs: WebSocketManager;\r\n\r\n private config: Required<LeagueBroadcastClientConfig>;\r\n\r\n // -- Frontend-health monitoring ---------------------------------------------\r\n private _overlayHealth: OverlayHealthHandle | null = null;\r\n\r\n // -- In-game state ----------------------------------------------------------\r\n private gameData: ingameFrontendData;\r\n private gameState: GameState = GameState.OutOfGame;\r\n private _isTestingEnvironment: boolean = false;\r\n\r\n // -- Pre-game state ---------------------------------------------------------\r\n private champSelectData: champSelectStateData;\r\n private champSelectWasActive: boolean = false;\r\n\r\n // -- Post-game state --------------------------------------------------------\r\n private postGameData: postGameStateData;\r\n\r\n // -- Reactive stores --------------------------------------------------------\r\n\r\n /** Reactive store for **in-game** state. */\r\n public readonly ingameStore: GameStateStore;\r\n\r\n /** Reactive store for **pre-game** (champion select) state. */\r\n public readonly preGameStore: ChampSelectStateStore;\r\n\r\n /** Reactive store for **post-game** (analysis) state. */\r\n public readonly postGameStore: PostGameStateStore;\r\n\r\n /**\r\n * Timer utilities pre-bound to this client's current game time.\r\n * No need to pass `gameTime` manually — it is read from the latest\r\n * in-game state on every call.\r\n *\r\n * @example\r\n * ```ts\r\n * const dead = client.timers.isPlayerDead(player);\r\n * const remaining = client.timers.getAbilityCooldownRemaining(ability);\r\n * ```\r\n */\r\n public readonly timers: BoundIngameTimerUtils;\r\n\r\n // -- REST API ---------------------------------------------------------------\r\n\r\n /**\r\n * Typed REST API client for all backend HTTP endpoints.\r\n *\r\n * Provides access to game, match, season, in-game, pre-game, and\r\n * game-state API groups:\r\n *\r\n * ```ts\r\n * const game = await client.api.game.getCurrent();\r\n * const match = await client.api.match.getCurrent();\r\n * await client.api.ingame.enable();\r\n * ```\r\n */\r\n public readonly api: RestApi;\r\n\r\n // -- In-game event handlers -------------------------------------------------\r\n private stateUpdateHandlers: Set<(state: ingameFrontendData) => void> =\r\n new Set();\r\n private gameStatusHandlers: Set<\r\n (status: GameState, isTestingEnv: boolean) => void\r\n > = new Set();\r\n private ingameEventHandlers: {\r\n onPlayerEvent: Set<(event: playerUpdateEvent) => void>;\r\n onTeamEvent: Set<(event: teamUpdateResults) => void>;\r\n onObjectiveEvent: Set<(event: ingameObjectiveEvent) => void>;\r\n onFirstTowerEvent: Set<(teamId: Team) => void>;\r\n onAnnouncementEvent: Set<(event: announcerEvent) => void>;\r\n onKillFeedEvent: Set<(event: killFeedEvent) => void>;\r\n onSmiteReactionEvent: Set<(event: smiteReactionResult) => void>;\r\n } = {\r\n onPlayerEvent: new Set(),\r\n onTeamEvent: new Set(),\r\n onObjectiveEvent: new Set(),\r\n onFirstTowerEvent: new Set(),\r\n onAnnouncementEvent: new Set(),\r\n onKillFeedEvent: new Set(),\r\n onSmiteReactionEvent: new Set(),\r\n };\r\n\r\n // -- Pre-game event handlers ------------------------------------------------\r\n private champSelectUpdateHandlers: Set<\r\n (state: champSelectStateData) => void\r\n > = new Set();\r\n private champSelectEventHandlers: {\r\n onAction: Set<(action: pickBanActionEventArgs) => void>;\r\n onChampSelectStart: Set<() => void>;\r\n onChampSelectEnd: Set<() => void>;\r\n onRouteUpdate: Set<(uri: string) => void>;\r\n } = {\r\n onAction: new Set(),\r\n onChampSelectStart: new Set(),\r\n onChampSelectEnd: new Set(),\r\n onRouteUpdate: new Set(),\r\n };\r\n\r\n // -- Post-game event handlers -----------------------------------------------\r\n private postGameUpdateHandlers: Set<(state: postGameStateData) => void> =\r\n new Set();\r\n private postGameEventHandlers: {\r\n onRouteUpdate: Set<(uri: string) => void>;\r\n onMockingUpdate: Set<(mocking: boolean) => void>;\r\n onActiveComponentChanged: Set<\r\n (args: activeComponentChangedEventArgs) => void\r\n >;\r\n onPostGameShow: Set<(overview: postGameOverview) => void>;\r\n onPostGameHide: Set<() => void>;\r\n } = {\r\n onRouteUpdate: new Set(),\r\n onMockingUpdate: new Set(),\r\n onActiveComponentChanged: new Set(),\r\n onPostGameShow: new Set(),\r\n onPostGameHide: new Set(),\r\n };\r\n\r\n constructor(config: LeagueBroadcastClientConfig) {\r\n this.config = {\r\n host: config.host,\r\n port: config.port ?? 58869,\r\n ingameWsRoute: config.ingameWsRoute ?? \"/ws/in\",\r\n preGameWsRoute: config.preGameWsRoute ?? \"/ws/pre\",\r\n postGameWsRoute: config.postGameWsRoute ?? \"/ws/post\",\r\n apiRoute: config.apiRoute ?? \"/api\",\r\n cacheRoute: config.cacheRoute ?? \"/cache\",\r\n useHttps: config.useHttps ?? false,\r\n autoConnect: config.autoConnect ?? true,\r\n overlayHealth: config.overlayHealth ?? true,\r\n };\r\n\r\n // REST API\r\n const httpProtocol = this.config.useHttps ? \"https\" : \"http\";\r\n const apiBaseUrl = `${httpProtocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;\r\n this.api = new RestApi(apiBaseUrl);\r\n\r\n // Timer utilities bound to current game time, normalized by elapsed time since snapshot creation\r\n this.timers = createIngameTimerUtils(() => this.gameData.gameTime);\r\n\r\n // Ingame\r\n this.ingameWs = new WebSocketManager();\r\n this.gameData = new ingameFrontendData();\r\n this.ingameStore = new GameStateStore(this.gameData, this.gameState);\r\n this.setupIngameMessageHandler();\r\n this.ingameWs.onDisconnect(() => this.endGame());\r\n\r\n // Pre-game\r\n this.preGameWs = new WebSocketManager();\r\n this.champSelectData = new champSelectStateData();\r\n this.preGameStore = new ChampSelectStateStore(this.champSelectData);\r\n this.setupPreGameMessageHandler();\r\n this.preGameWs.onDisconnect(() => this.endChampSelect());\r\n\r\n // Post-game\r\n this.postGameWs = new WebSocketManager();\r\n this.postGameData = new postGameStateData();\r\n this.postGameStore = new PostGameStateStore(this.postGameData);\r\n this.setupPostGameMessageHandler();\r\n\r\n if (this.config.autoConnect) {\r\n this.connect();\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Internal clock management\r\n // ===========================================================================\r\n\r\n private _startClock() {\r\n if (_clockInterval !== null) return;\r\n _clockInterval = setInterval(() => {\r\n if (\r\n this.gameState === GameState.Running ||\r\n this.gameState === GameState.Mocking\r\n ) {\r\n this.gameData.gameTime += this.gameData.playbackSpeed ?? 1;\r\n // Notify handlers of the updated gameTime\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n this.ingameStore._setGameData(this.gameData);\r\n }\r\n }, 1000);\r\n }\r\n\r\n private _stopClock() {\r\n if (_clockInterval !== null) {\r\n clearInterval(_clockInterval);\r\n _clockInterval = null;\r\n }\r\n }\r\n\r\n // ===========================================================================\r\n // Connection management\r\n // ===========================================================================\r\n\r\n /**\r\n * Connect to both in-game and pre-game WebSocket endpoints.\r\n *\r\n * Both connections are attempted in parallel. If either fails the returned\r\n * promise rejects, but the other connection may still succeed.\r\n */\r\n async connect(): Promise<void> {\r\n this.startOverlayHealthIfEnabled();\r\n\r\n const protocol = this.config.useHttps ? \"wss\" : \"ws\";\r\n const base = `${protocol}://${this.config.host}:${this.config.port}`;\r\n\r\n const ingameUrl = `${base}${this.config.ingameWsRoute}`;\r\n const preGameUrl = `${base}${this.config.preGameWsRoute}`;\r\n\r\n const connections = [\r\n this.ingameWs.connect(ingameUrl),\r\n this.preGameWs.connect(preGameUrl),\r\n ];\r\n\r\n // Post-game connection is optional — skipped when disabled via config.\r\n if (this.config.postGameWsRoute !== false) {\r\n const postGameUrl = `${base}${this.config.postGameWsRoute}`;\r\n connections.push(this.postGameWs.connect(postGameUrl));\r\n }\r\n\r\n const results = await Promise.allSettled(connections);\r\n\r\n const failures = results.filter((r) => r.status === \"rejected\");\r\n if (failures.length > 0) {\r\n const reasons = (failures as PromiseRejectedResult[]).map(\r\n (r) => r.reason,\r\n );\r\n console.error(\r\n \"[LeagueBroadcastClient] One or more connections failed:\",\r\n reasons,\r\n );\r\n throw reasons[0];\r\n }\r\n }\r\n\r\n /**\r\n * Disconnect from both WebSocket endpoints.\r\n */\r\n disconnect(): void {\r\n this.ingameWs.disconnect();\r\n this.preGameWs.disconnect();\r\n this.postGameWs.disconnect();\r\n this._overlayHealth?.stop();\r\n this._overlayHealth = null;\r\n }\r\n\r\n /**\r\n * Starts passive frontend-health monitoring once, unless disabled via the\r\n * `overlayHealth` config. Guarded so it never throws into the client.\r\n */\r\n private startOverlayHealthIfEnabled(): void {\r\n if (this._overlayHealth) return;\r\n\r\n const setting = this.config.overlayHealth;\r\n if (setting === false) return;\r\n const opts = typeof setting === \"object\" ? setting : {};\r\n if (opts.enabled === false) return;\r\n\r\n try {\r\n this._overlayHealth = startOverlayHealth({\r\n source: { kind: \"sdk\", name: opts.name },\r\n host: this.config.host,\r\n port: this.config.port,\r\n useHttps: this.config.useHttps,\r\n });\r\n } catch {\r\n // Frontend-health monitoring must never break the client.\r\n }\r\n }\r\n\r\n /**\r\n * Whether the in-game WebSocket is connected.\r\n */\r\n isIngameConnected(): boolean {\r\n return this.ingameWs.isConnected();\r\n }\r\n\r\n /**\r\n * Whether the pre-game WebSocket is connected.\r\n */\r\n isPreGameConnected(): boolean {\r\n return this.preGameWs.isConnected();\r\n }\r\n\r\n /**\r\n * Whether the post-game WebSocket is connected.\r\n */\r\n isPostGameConnected(): boolean {\r\n return this.postGameWs.isConnected();\r\n }\r\n\r\n // ===========================================================================\r\n // In-game data access\r\n // ===========================================================================\r\n\r\n /** Get the current in-game data. */\r\n getIngameData(): ingameFrontendData {\r\n return this.gameData;\r\n }\r\n\r\n /** Get the current game state. */\r\n getIngameState(): GameState {\r\n return this.gameState;\r\n }\r\n\r\n /** Whether the backend is in a testing / replay environment. */\r\n isInTestingEnvironment(): boolean {\r\n return this._isTestingEnvironment;\r\n }\r\n\r\n // ===========================================================================\r\n // Pre-game data access\r\n // ===========================================================================\r\n\r\n /** Get the current champion-select state. */\r\n getChampSelectData(): champSelectStateData {\r\n return this.champSelectData;\r\n }\r\n\r\n /** Whether champion select is currently active. */\r\n isChampSelectActive(): boolean {\r\n return this.champSelectData.isActive;\r\n }\r\n\r\n // ===========================================================================\r\n // Post-game data access\r\n // ===========================================================================\r\n\r\n /** Get the current post-game state. */\r\n getPostGameData(): postGameStateData {\r\n return this.postGameData;\r\n }\r\n\r\n /** Whether post-game is currently active. */\r\n isPostGameActive(): boolean {\r\n return this.postGameData.isActive;\r\n }\r\n\r\n // ===========================================================================\r\n // In-game event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for in-game state updates. */\r\n onIngameStateUpdate(\r\n handler: (state: ingameFrontendData) => void,\r\n ): () => void {\r\n this.stateUpdateHandlers.add(handler);\r\n return () => this.stateUpdateHandlers.delete(handler);\r\n }\r\n\r\n /** Register a handler for in-game status changes (running, paused, out of game). */\r\n onIngameStatusChange(\r\n handler: (status: GameState, isTestingEnv: boolean) => void,\r\n ): () => void {\r\n this.gameStatusHandlers.add(handler);\r\n return () => this.gameStatusHandlers.delete(handler);\r\n }\r\n\r\n /** Register handlers for in-game events (kills, objectives, etc.). Returns an unsubscribe function. */\r\n onIngameEvents(handlers: IngameEventHandlers): () => void {\r\n const entries = Object.entries(handlers) as [\r\n keyof IngameEventHandlers,\r\n NonNullable<IngameEventHandlers[keyof IngameEventHandlers]>,\r\n ][];\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.ingameEventHandlers[key] as Set<typeof handler>).add(handler);\r\n }\r\n }\r\n return () => {\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.ingameEventHandlers[key] as Set<typeof handler>).delete(\r\n handler,\r\n );\r\n }\r\n }\r\n };\r\n }\r\n\r\n // ===========================================================================\r\n // Pre-game event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for champ-select state updates. */\r\n onChampSelectUpdate(\r\n handler: (state: champSelectStateData) => void,\r\n ): () => void {\r\n this.champSelectUpdateHandlers.add(handler);\r\n return () => this.champSelectUpdateHandlers.delete(handler);\r\n }\r\n\r\n /** Register handlers for champ-select lifecycle and action events. Returns an unsubscribe function. */\r\n onChampSelectEvents(handlers: ChampSelectEventHandlers): () => void {\r\n const entries = Object.entries(handlers) as [\r\n keyof ChampSelectEventHandlers,\r\n NonNullable<ChampSelectEventHandlers[keyof ChampSelectEventHandlers]>,\r\n ][];\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.champSelectEventHandlers[key] as Set<typeof handler>).add(\r\n handler,\r\n );\r\n }\r\n }\r\n return () => {\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.champSelectEventHandlers[key] as Set<typeof handler>).delete(\r\n handler,\r\n );\r\n }\r\n }\r\n };\r\n }\r\n\r\n // ===========================================================================\r\n // Post-game event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for post-game state updates. */\r\n onPostGameUpdate(handler: (state: postGameStateData) => void): () => void {\r\n this.postGameUpdateHandlers.add(handler);\r\n return () => this.postGameUpdateHandlers.delete(handler);\r\n }\r\n\r\n /** Register handlers for post-game lifecycle and analysis events. Returns an unsubscribe function. */\r\n onPostGameEvents(handlers: PostGameEventHandlers): () => void {\r\n const entries = Object.entries(handlers) as [\r\n keyof PostGameEventHandlers,\r\n NonNullable<PostGameEventHandlers[keyof PostGameEventHandlers]>,\r\n ][];\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.postGameEventHandlers[key] as Set<typeof handler>).add(handler);\r\n }\r\n }\r\n return () => {\r\n for (const [key, handler] of entries) {\r\n if (handler) {\r\n (this.postGameEventHandlers[key] as Set<typeof handler>).delete(\r\n handler,\r\n );\r\n }\r\n }\r\n };\r\n }\r\n\r\n // ===========================================================================\r\n // Connection event handlers\r\n // ===========================================================================\r\n\r\n /** Register a handler for in-game connection. */\r\n onIngameConnect(handler: () => void): () => void {\r\n return this.ingameWs.onConnect(handler);\r\n }\r\n\r\n /** Register a handler for in-game disconnection. */\r\n onIngameDisconnect(handler: () => void): () => void {\r\n return this.ingameWs.onDisconnect(handler);\r\n }\r\n\r\n /** Register a handler for in-game connection errors. */\r\n onIngameError(handler: (error: Event) => void): () => void {\r\n return this.ingameWs.onError(handler);\r\n }\r\n\r\n /** Register a handler for pre-game connection. */\r\n onPreGameConnect(handler: () => void): () => void {\r\n return this.preGameWs.onConnect(handler);\r\n }\r\n\r\n /** Register a handler for pre-game disconnection. */\r\n onPreGameDisconnect(handler: () => void): () => void {\r\n return this.preGameWs.onDisconnect(handler);\r\n }\r\n\r\n /** Register a handler for pre-game connection errors. */\r\n onPreGameError(handler: (error: Event) => void): () => void {\r\n return this.preGameWs.onError(handler);\r\n }\r\n\r\n /** Register a handler for post-game connection. */\r\n onPostGameConnect(handler: () => void): () => void {\r\n return this.postGameWs.onConnect(handler);\r\n }\r\n\r\n /** Register a handler for post-game disconnection. */\r\n onPostGameDisconnect(handler: () => void): () => void {\r\n return this.postGameWs.onDisconnect(handler);\r\n }\r\n\r\n /** Register a handler for post-game connection errors. */\r\n onPostGameError(handler: (error: Event) => void): () => void {\r\n return this.postGameWs.onError(handler);\r\n }\r\n\r\n // ===========================================================================\r\n // Reactive API — in-game (convenience wrappers around this.store)\r\n // ===========================================================================\r\n\r\n /**\r\n * Create a subscribable slice of **in-game** state.\r\n * The slice only notifies listeners when the selected value actually changes.\r\n *\r\n * Works directly with React 18+ `useSyncExternalStore`:\r\n * ```tsx\r\n * const kills = client.selectIngame(s => s.gameData.scoreboard?.teams[0]?.kills);\r\n * function Kills() {\r\n * const value = useSyncExternalStore(kills.subscribe, kills.getSnapshot);\r\n * return <span>{value}</span>;\r\n * }\r\n * ```\r\n */\r\n selectIngame<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n equalityFn?: EqualityFn<S>,\r\n ): Subscribable<S> {\r\n return this.ingameStore.select(selector, equalityFn);\r\n }\r\n\r\n /**\r\n * Watch a derived **in-game** value and invoke `callback` whenever it changes.\r\n * Returns an unsubscribe function.\r\n *\r\n * ```ts\r\n * client.watchIngame(\r\n * s => s.gameData.scoreboard?.teams[0]?.kills,\r\n * (kills, prev) => console.log(`Kills: ${prev} → ${kills}`),\r\n * );\r\n * ```\r\n */\r\n watchIngame<S>(\r\n selector: (snapshot: GameStateSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn?: EqualityFn<S>,\r\n ): () => void {\r\n return this.ingameStore.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ===========================================================================\r\n // Reactive API — pre-game (convenience wrappers around this.preGameStore)\r\n // ===========================================================================\r\n\r\n /**\r\n * Create a subscribable slice of **pre-game** (champion select) state.\r\n *\r\n * ```tsx\r\n * const timer = client.selectChampSelect(s => s.champSelectData.timer);\r\n * function DraftTimer() {\r\n * const value = useSyncExternalStore(timer.subscribe, timer.getSnapshot);\r\n * return <span>{value?.timeRemaining}</span>;\r\n * }\r\n * ```\r\n */\r\n selectChampSelect<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n equalityFn?: EqualityFn<S>,\r\n ): Subscribable<S> {\r\n return this.preGameStore.select(selector, equalityFn);\r\n }\r\n\r\n /**\r\n * Watch a derived **pre-game** value and invoke `callback` whenever it\r\n * changes. Returns an unsubscribe function.\r\n *\r\n * ```ts\r\n * client.watchChampSelect(\r\n * s => s.champSelectData.timer.timeRemaining,\r\n * (remaining, prev) => console.log(`Time: ${prev} → ${remaining}`),\r\n * );\r\n * ```\r\n */\r\n watchChampSelect<S>(\r\n selector: (snapshot: ChampSelectSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn?: EqualityFn<S>,\r\n ): () => void {\r\n return this.preGameStore.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ===========================================================================\r\n // Reactive API — post-game (convenience wrappers around this.postGameStore)\r\n // ===========================================================================\r\n\r\n /**\r\n * Create a subscribable slice of **post-game** (analysis) state.\r\n *\r\n * ```tsx\r\n * const overview = client.selectPostGame(s => s.postGameData.overview);\r\n * function Winner() {\r\n * const value = useSyncExternalStore(overview.subscribe, overview.getSnapshot);\r\n * return <span>{value?.winnerSide}</span>;\r\n * }\r\n * ```\r\n */\r\n selectPostGame<S>(\r\n selector: (snapshot: PostGameSnapshot) => S,\r\n equalityFn?: EqualityFn<S>,\r\n ): Subscribable<S> {\r\n return this.postGameStore.select(selector, equalityFn);\r\n }\r\n\r\n /**\r\n * Watch a derived **post-game** value and invoke `callback` whenever it\r\n * changes. Returns an unsubscribe function.\r\n *\r\n * ```ts\r\n * client.watchPostGame(\r\n * s => s.postGameData.overview?.winnerSide,\r\n * (winner, prev) => console.log(`Winner: ${prev} → ${winner}`),\r\n * );\r\n * ```\r\n */\r\n watchPostGame<S>(\r\n selector: (snapshot: PostGameSnapshot) => S,\r\n callback: (value: S, prev: S) => void,\r\n equalityFn?: EqualityFn<S>,\r\n ): () => void {\r\n return this.postGameStore.watch(selector, callback, equalityFn);\r\n }\r\n\r\n // ===========================================================================\r\n // URLs\r\n // ===========================================================================\r\n\r\n /** Get the base HTTP URL for API requests. */\r\n getApiUrl(): string {\r\n const protocol = this.config.useHttps ? \"https\" : \"http\";\r\n return `${protocol}://${this.config.host}:${this.config.port}${this.config.apiRoute}`;\r\n }\r\n\r\n /** Get the base URL for cache requests (optionally resolve a path). */\r\n getCacheUrl(path?: string, preventCacheBust: boolean = false): string {\r\n const protocol = this.config.useHttps ? \"https\" : \"http\";\r\n const baseUrl = `${protocol}://${this.config.host}:${this.config.port}${this.config.cacheRoute}`;\r\n\r\n if (!path) {\r\n return baseUrl;\r\n }\r\n\r\n // Clean up the path\r\n let cleanPath = path;\r\n if (cleanPath.startsWith(\"http\")) {\r\n return cleanPath;\r\n }\r\n if (cleanPath.startsWith(\"/\")) {\r\n cleanPath = cleanPath.slice(1);\r\n }\r\n if (cleanPath.startsWith(\"cache\")) {\r\n cleanPath = cleanPath.slice(5);\r\n }\r\n if (cleanPath.startsWith(\"/\")) {\r\n cleanPath = cleanPath.slice(1);\r\n }\r\n\r\n if (preventCacheBust) {\r\n const cacheBust = `cb=${Date.now()}`;\r\n cleanPath = cleanPath.includes(\"?\")\r\n ? `${cleanPath}&${cacheBust}`\r\n : `${cleanPath}?${cacheBust}`;\r\n }\r\n\r\n return `${baseUrl}/${cleanPath}`;\r\n }\r\n\r\n // ===========================================================================\r\n // Private — in-game message handling\r\n // ===========================================================================\r\n\r\n private setupIngameMessageHandler(): void {\r\n this.ingameWs.onMessage((messageData: any) => {\r\n switch (messageData.type) {\r\n case \"ingame-state-update\":\r\n this.handleStateUpdate(messageData.state, messageData.events);\r\n break;\r\n case \"gameStatus\":\r\n this.handleGameStatusUpdate(\r\n messageData.gameState,\r\n messageData.isTestingEnvironment,\r\n );\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private handleStateUpdate(state: any, events?: transitionEvents): void {\r\n const nextData: ingameFrontendData = {\r\n gameTime: 0,\r\n playbackSpeed: 0,\r\n gameVersion: \"\",\r\n gameStatus: GameState.OutOfGame,\r\n ...state,\r\n };\r\n\r\n // Adjust gameTime for the time elapsed since the snapshot was captured\r\n // (network + processing latency). utcTime is the lb-side\r\n // UTC millisecond timestamp at snapshot time; Date.now() is the client's\r\n // current UTC milliseconds. The difference is the age of the snapshot.\r\n const snapshotAge =\r\n state.utcTime != null\r\n ? Math.max(0, (Date.now() - state.utcTime) / 1000)\r\n : 0;\r\n const correctedGameTime =\r\n (state.gameTime ?? 0) + snapshotAge * (state.playbackSpeed ?? 1);\r\n // Sync gameTime: snap on large drift (e.g. pause/resume), otherwise let\r\n // the internal clock tick smoothly between backend updates.\r\n if (Math.abs(correctedGameTime - (this.gameData.gameTime ?? 0)) > 2) {\r\n nextData.gameTime = correctedGameTime;\r\n } else {\r\n nextData.gameTime = this.gameData.gameTime ?? 0;\r\n }\r\n\r\n this.gameData = structuralShare(this.gameData, nextData);\r\n\r\n if (!state.gameTime || state.gameTime === 0) {\r\n this.handleGameStatusUpdate(GameState.OutOfGame, false);\r\n }\r\n\r\n // Start or stop the single client-level clock\r\n const shouldRun =\r\n state.gameStatus === GameState.Running ||\r\n state.gameStatus === GameState.Mocking;\r\n if (shouldRun) {\r\n this._startClock();\r\n } else {\r\n this._stopClock();\r\n }\r\n\r\n this.ingameStore._setGameData(this.gameData);\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n this.handleGameEvents(events);\r\n }\r\n\r\n private handleGameStatusUpdate(\r\n gameStatus: GameState,\r\n isTestingEnvironment: boolean = false,\r\n ): void {\r\n this._isTestingEnvironment = isTestingEnvironment;\r\n\r\n if (\r\n gameStatus === GameState.OutOfGame &&\r\n this.gameState !== GameState.OutOfGame\r\n ) {\r\n this.endGame();\r\n return;\r\n }\r\n\r\n this.gameState = gameStatus;\r\n\r\n // Manage the clock based on game status\r\n const shouldRun =\r\n gameStatus === GameState.Running || gameStatus === GameState.Mocking;\r\n if (shouldRun) {\r\n this._startClock();\r\n } else {\r\n this._stopClock();\r\n }\r\n\r\n this.ingameStore._setGameState(gameStatus);\r\n this.gameStatusHandlers.forEach((handler) =>\r\n handler(gameStatus, isTestingEnvironment),\r\n );\r\n }\r\n\r\n private handleGameEvents(events?: transitionEvents): void {\r\n if (!events) return;\r\n\r\n if (events.player) {\r\n events.player.forEach((event) =>\r\n this.ingameEventHandlers.onPlayerEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.team) {\r\n events.team.forEach((event) =>\r\n this.ingameEventHandlers.onTeamEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.objective) {\r\n events.objective.forEach((event) =>\r\n this.ingameEventHandlers.onObjectiveEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.firstTower !== undefined) {\r\n this.ingameEventHandlers.onFirstTowerEvent.forEach((h) =>\r\n h(events.firstTower!),\r\n );\r\n }\r\n\r\n if (events.announcements) {\r\n events.announcements.forEach((event) =>\r\n this.ingameEventHandlers.onAnnouncementEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.killFeed) {\r\n events.killFeed.forEach((event) =>\r\n this.ingameEventHandlers.onKillFeedEvent.forEach((h) => h(event)),\r\n );\r\n }\r\n\r\n if (events.smiteReaction !== undefined) {\r\n this.ingameEventHandlers.onSmiteReactionEvent.forEach((h) =>\r\n h(events.smiteReaction!),\r\n );\r\n }\r\n }\r\n\r\n private endGame(): void {\r\n console.log(\"[LeagueBroadcastClient] Game ended, resetting data\");\r\n\r\n this._stopClock();\r\n\r\n this.gameData = new ingameFrontendData();\r\n this.gameState = GameState.OutOfGame;\r\n this._isTestingEnvironment = false;\r\n\r\n this.ingameStore._reset(this.gameData, GameState.OutOfGame);\r\n\r\n this.gameStatusHandlers.forEach((handler) =>\r\n handler(GameState.OutOfGame, false),\r\n );\r\n this.stateUpdateHandlers.forEach((handler) => handler(this.gameData));\r\n }\r\n\r\n // ===========================================================================\r\n // Private — pre-game message handling\r\n // ===========================================================================\r\n\r\n private setupPreGameMessageHandler(): void {\r\n this.preGameWs.onMessage((messageData: any) => {\r\n switch (messageData.type) {\r\n case \"champion-select-state-update\":\r\n this.handleChampSelectStateUpdate(messageData.state);\r\n break;\r\n case \"champion-select-action\":\r\n this.handleChampSelectAction(messageData.action);\r\n break;\r\n case \"frontend-route-update\":\r\n this.handleRouteUpdate(messageData.uri);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private handleChampSelectStateUpdate(state: any): void {\r\n const nextData: champSelectStateData = {\r\n isActive: false,\r\n isConnected: false,\r\n isTestingEnvironment: false,\r\n blueTeam: {} as any,\r\n redTeam: {} as any,\r\n metaData: {} as any,\r\n timer: {} as any,\r\n ...state,\r\n };\r\n\r\n this.champSelectData = structuralShare(this.champSelectData, nextData);\r\n\r\n // Detect champ select start / end transitions\r\n if (nextData.isActive && !this.champSelectWasActive) {\r\n this.champSelectWasActive = true;\r\n this.champSelectEventHandlers.onChampSelectStart.forEach((h) => h());\r\n } else if (!nextData.isActive && this.champSelectWasActive) {\r\n this.champSelectWasActive = false;\r\n this.endChampSelect();\r\n return; // endChampSelect handles notifications\r\n }\r\n\r\n this.preGameStore._setChampSelectData(this.champSelectData);\r\n this.champSelectUpdateHandlers.forEach((handler) =>\r\n handler(this.champSelectData),\r\n );\r\n }\r\n\r\n private handleChampSelectAction(action: any): void {\r\n this.champSelectEventHandlers.onAction.forEach((h) =>\r\n h(action as pickBanActionEventArgs),\r\n );\r\n }\r\n\r\n private handleRouteUpdate(uri: string): void {\r\n this.champSelectEventHandlers.onRouteUpdate.forEach((h) => h(uri));\r\n }\r\n\r\n private endChampSelect(): void {\r\n console.log(\"[LeagueBroadcastClient] Champ select ended, resetting data\");\r\n\r\n this.champSelectData = new champSelectStateData();\r\n this.preGameStore._reset(this.champSelectData);\r\n\r\n this.champSelectEventHandlers.onChampSelectEnd.forEach((h) => h());\r\n this.champSelectUpdateHandlers.forEach((handler) =>\r\n handler(this.champSelectData),\r\n );\r\n }\r\n\r\n // ===========================================================================\r\n // Private — post-game message handling\r\n // ===========================================================================\r\n\r\n private setupPostGameMessageHandler(): void {\r\n this.postGameWs.onMessage((messageData: any) => {\r\n switch (messageData.type) {\r\n case \"postgame-route-change\":\r\n case \"frontend-route-update\":\r\n this.handlePostGameRouteUpdate(messageData.uri);\r\n break;\r\n case \"postgame-mocking-update\":\r\n this.handlePostGameMockingUpdate(\r\n messageData.mockingState ?? messageData.mocking,\r\n );\r\n break;\r\n case \"active-component-changed\":\r\n this.handleActiveComponentChanged(messageData);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private handlePostGameRouteUpdate(uri: unknown): void {\r\n if (typeof uri !== \"string\" || uri.length === 0) return;\r\n this.postGameEventHandlers.onRouteUpdate.forEach((h) => h(uri));\r\n }\r\n\r\n private handlePostGameMockingUpdate(mocking: unknown): void {\r\n const isMocking = Boolean(mocking);\r\n\r\n const nextData: postGameStateData = {\r\n ...this.postGameData,\r\n isMocking,\r\n };\r\n this.postGameData = structuralShare(this.postGameData, nextData);\r\n\r\n this.postGameStore._setPostGameData(this.postGameData);\r\n this.postGameUpdateHandlers.forEach((handler) =>\r\n handler(this.postGameData),\r\n );\r\n this.postGameEventHandlers.onMockingUpdate.forEach((h) => h(isMocking));\r\n }\r\n\r\n private handleActiveComponentChanged(messageData: any): void {\r\n // The payload may arrive either as the args object itself or wrapped in\r\n // an `args` field — accept both, stripping the message `type` when present.\r\n const { type: _type, ...rest } = messageData ?? {};\r\n const args: activeComponentChangedEventArgs =\r\n messageData?.args ?? (rest as activeComponentChangedEventArgs);\r\n\r\n const nextData: postGameStateData = {\r\n ...this.postGameData,\r\n activeComponent: args,\r\n };\r\n this.postGameData = structuralShare(this.postGameData, nextData);\r\n\r\n this.postGameStore._setPostGameData(this.postGameData);\r\n this.postGameUpdateHandlers.forEach((handler) =>\r\n handler(this.postGameData),\r\n );\r\n this.postGameEventHandlers.onActiveComponentChanged.forEach((h) => h(args));\r\n }\r\n\r\n // ===========================================================================\r\n // Post-game data methods\r\n // ===========================================================================\r\n\r\n /** Fetch the postgame overview (current game, a specific game, or the mock overview when mocking) and activate the postgame state. */\r\n async showPostGame(gameId?: number): Promise<postGameOverview> {\r\n const overview = this.postGameData.isMocking\r\n ? await this.api.postGame.getMockGameOverview()\r\n : gameId !== undefined\r\n ? await this.api.postGame.getGameOverview(gameId)\r\n : await this.api.postGame.getCurrentGameOverview();\r\n\r\n const nextData: postGameStateData = {\r\n ...this.postGameData,\r\n isActive: true,\r\n gameId,\r\n overview,\r\n };\r\n this.postGameData = structuralShare(this.postGameData, nextData);\r\n\r\n this.postGameStore._setPostGameData(this.postGameData);\r\n this.postGameUpdateHandlers.forEach((handler) =>\r\n handler(this.postGameData),\r\n );\r\n this.postGameEventHandlers.onPostGameShow.forEach((h) => h(overview));\r\n\r\n return overview;\r\n }\r\n\r\n /** Re-fetch the postgame overview using the stored game id / mocking state. No-op when postgame is not active. */\r\n async refreshPostGame(): Promise<void> {\r\n if (!this.postGameData.isActive) return;\r\n await this.showPostGame(this.postGameData.gameId);\r\n }\r\n\r\n /** Hide / reset the postgame state (preserves `isMocking` and `isConnected`). */\r\n hidePostGame(): void {\r\n console.log(\"[LeagueBroadcastClient] Post-game hidden, resetting data\");\r\n\r\n const reset = new postGameStateData();\r\n reset.isMocking = this.postGameData.isMocking;\r\n reset.isConnected = this.postGameData.isConnected;\r\n this.postGameData = reset;\r\n\r\n this.postGameStore._reset(this.postGameData);\r\n\r\n this.postGameEventHandlers.onPostGameHide.forEach((h) => h());\r\n this.postGameUpdateHandlers.forEach((handler) =>\r\n handler(this.postGameData),\r\n );\r\n }\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeDetectionResponse {\r\n hasChanges: boolean = false;\r\n localHash?: string;\r\n cloudHash?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudStyleSetDownloadResponse {\r\n downloadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n metadata: cloudStyleSetMetadata = {} as cloudStyleSetMetadata;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetMetadata {\r\n id: string = \"\";\r\n name: string = \"\";\r\n phase: string = \"\";\r\n lastModified: Date = new Date();\r\n createdAt: Date = new Date();\r\n size: number = 0;\r\n contentHash?: string;\r\n variantCount: number = 0;\r\n assetCount: number = 0;\r\n isSyncedLocally: boolean = false;\r\n hasLocalChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudStyleSetsResponse {\r\n styleSets: cloudStyleSetMetadata[] = [];\r\n totalStorageUsed: number = 0;\r\n maxTotalStorage: number = 0;\r\n maxFileSize: number = 0;\r\n maxStyleSets: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetUploadRequest {\r\n existingCloudId?: string;\r\n name: string = \"\";\r\n phase: string = \"\";\r\n contentHash: string = \"\";\r\n size: number = 0;\r\n variantCount: number = 0;\r\n assetCount: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudStyleSetUploadResponse {\r\n id: string = \"\";\r\n uploadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { localSyncState } from \"./localSyncState\";\r\n\r\nexport class cloudSyncConfig {\r\n syncedStyleSets: localSyncState[] = [];\r\n syncOnLaunch: boolean = false;\r\n autoUploadChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudStyleSetMetadata } from \"./cloudStyleSetMetadata\";\r\n\r\nexport class cloudSyncResult {\r\n success: boolean = false;\r\n errorMessage?: string;\r\n metadata?: cloudStyleSetMetadata;\r\n styleSetsSynced: number = 0;\r\n warnings: string[] = [];\r\n stubbed: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SetPhaseType {\r\n Pre = 0,\r\n In = 1,\r\n Post = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { SetPhaseType } from \"../shared/style/set/SetPhaseType\";\r\n\r\nexport class localSyncState {\r\n cloudId: string = \"\";\r\n localName: string = \"\";\r\n phase: SetPhaseType = SetPhaseType.Pre;\r\n lastSyncedHash?: string;\r\n lastSyncedAt?: Date;\r\n autoSync: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudOverlayMetadata } from \"./cloudOverlayMetadata\";\r\n\r\nexport class cloudOverlayDownloadResponse {\r\n downloadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n metadata: cloudOverlayMetadata = {} as cloudOverlayMetadata;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayMetadata {\r\n id: string = \"\";\r\n name: string = \"\";\r\n phase?: string;\r\n lastModified: Date = new Date();\r\n createdAt: Date = new Date();\r\n size: number = 0;\r\n contentHash?: string;\r\n fileCount: number = 0;\r\n isSyncedLocally: boolean = false;\r\n hasLocalChanges: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cloudOverlayMetadata } from \"./cloudOverlayMetadata\";\r\n\r\nexport class cloudOverlaysResponse {\r\n overlays: cloudOverlayMetadata[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayUploadRequest {\r\n existingCloudId?: string;\r\n name: string = \"\";\r\n phase?: string;\r\n contentHash: string = \"\";\r\n size: number = 0;\r\n fileCount: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cloudOverlayUploadResponse {\r\n id: string = \"\";\r\n uploadUrl: string = \"\";\r\n expiresAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleChampionDetailHotkeyConfigDto } from \"./singleChampionDetailHotkeyConfigDto\";\r\nimport { singleIngameHotkeyConfigDto } from \"./singleIngameHotkeyConfigDto\";\r\nimport { singlePostgameHotkeyConfigDto } from \"./singlePostgameHotkeyConfigDto\";\r\n\r\nexport class casterModeConfigDto {\r\n ingame?: singleIngameHotkeyConfigDto[];\r\n postgame?: singlePostgameHotkeyConfigDto[];\r\n championDetail?: singleChampionDetailHotkeyConfigDto[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Lane {\r\n Top = 0,\r\n Jungle = 1,\r\n Mid = 2,\r\n ADC = 3,\r\n Support = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Lane } from \"./Lane\";\r\nimport { Team } from \"../shared/style/Team\";\r\n\r\nexport class playerHotkeyDto {\r\n team?: Team;\r\n role?: Lane;\r\n}\r\n","/**\n * This is an auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport class singleChampionDetailHotkeyConfigDto {\n playerIndex: number = 0;\n hotkey?: string;\n hotkeyCode?: string;\n hotkeyModifiers?: string[];\n}\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"../shared/style/set/Feature\";\r\nimport { playerHotkeyDto } from \"./playerHotkeyDto\";\r\nimport { Team } from \"../shared/style/Team\";\r\n\r\nexport class singleIngameHotkeyConfigDto {\r\n minFeature?: Feature;\r\n buttonId: string = \"\";\r\n name: string = \"\";\r\n hotkey?: string;\r\n hotkeyCode?: string;\r\n hotkeyModifiers?: string[];\r\n overlayName: string = \"\";\r\n timePeriod: number = 0;\r\n team?: Team;\r\n players?: playerHotkeyDto[];\r\n backgroundColor: string = \"\";\r\n hasSettings: boolean = false;\r\n allowSinglePlayers: boolean = false;\r\n allowTimePeriod: boolean = false;\r\n customSettings?: { [key: string]: any };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"../shared/style/set/Feature\";\r\nimport { Team } from \"../shared/style/Team\";\r\n\r\nexport class singlePostgameHotkeyConfigDto {\r\n minFeature?: Feature;\r\n id: number = 0;\r\n name: string = \"\";\r\n componentName: string = \"\";\r\n hotkey?: string;\r\n hotkeyCode?: string;\r\n hotkeyModifiers?: string[];\r\n backgroundColor: string = \"\";\r\n team?: Team;\r\n playerIndex?: number;\r\n allowPlayers: boolean = false;\r\n allowTeams: boolean = false;\r\n allowStats: boolean = false;\r\n selectedStats?: string[];\r\n requiresCompletedGame: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SpellSlotIndex {\r\n Q = 0,\r\n W = 1,\r\n E = 2,\r\n R = 3,\r\n D = 4,\r\n F = 5,\r\n Item1 = 6,\r\n Item2 = 7,\r\n Item3 = 8,\r\n Item4 = 9,\r\n Item5 = 10,\r\n Item6 = 11,\r\n ItemTrinket = 12,\r\n Recall = 13,\r\n Quest = 14,\r\n Passive = 63\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championAbilityData } from \"../shared/championAbilityData\";\r\nimport { SpellSlotIndex } from \"./SpellSlotIndex\";\r\n\r\nexport class ingameAbilityInfo {\r\n identifier: string = \"\";\r\n displayName: string = \"\";\r\n slot: SpellSlotIndex = SpellSlotIndex.Q;\r\n totalCooldown: number = 0;\r\n readyAt: number = 0;\r\n level: number = 0;\r\n charges: number = 0;\r\n assets?: championAbilityData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameObjectivePowerPlay {\r\n gold: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n timeStart: number = 0;\r\n timeEnd: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ObjectiveRecapDisplayMode } from \"./damageRecap/ObjectiveRecapDisplayMode\";\r\nimport { playerHotkeyDto } from \"../hotkey/playerHotkeyDto\";\r\nimport { Team } from \"../shared/style/Team\";\r\n\r\nexport class ingameStateSettingsWrapper {\r\n timePeriod?: number;\r\n show: boolean = false;\r\n team?: Team;\r\n players?: playerHotkeyDto[];\r\n overlaysToDisable: number[] = [];\r\n customSettings: { [key: string]: any } = {};\r\n selectedDamageEventId?: number;\r\n displayMode?: ObjectiveRecapDisplayMode;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class itemWithAsset {\r\n id: number = 0;\r\n slot: number = 0;\r\n displayName: string = \"\";\r\n assetUrl: string = \"\";\r\n modifierUrl?: string;\r\n cost: number = 0;\r\n count: number = 0;\r\n combineCost: number = 0;\r\n stats?: number[];\r\n readyAt?: number;\r\n maxCooldown?: number;\r\n stacks: number = 0;\r\n charges: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { teamMember } from \"../../shared/teamMember\";\r\n\r\nexport class announcementParameter {\r\n champion?: simpleChampionData;\r\n member?: teamMember;\r\n asset?: string;\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AnnouncementType {\r\n Unknown = 0,\r\n Kill = 1,\r\n FirstBlood = 2,\r\n FirstBrick = 3,\r\n DoubleKill = 4,\r\n TripleKill = 5,\r\n QuadraKill = 6,\r\n PentaKill = 7,\r\n Ace = 8,\r\n BaronKill = 9,\r\n DragonKill = 10,\r\n HeraldKill = 11,\r\n GrubKill = 12,\r\n InhibitorKill = 13,\r\n TowerKill = 14,\r\n BaronSpawn = 15,\r\n DragonSpawn = 16,\r\n HeraldSpawn = 17,\r\n GrubSpawn = 18,\r\n InhibitorSpawn = 19,\r\n TowerSpawn = 20,\r\n BaronSteal = 21,\r\n DragonSteal = 22,\r\n HeraldSteal = 23,\r\n GrubSteal = 24,\r\n Dragon_Rift_Air = 25,\r\n Dragon_Rift_Earth = 26,\r\n Dragon_Rift_Fire = 27,\r\n Dragon_Rift_Water = 28,\r\n Dragon_Rift_Hextech = 29,\r\n Dragon_Rift_Chemtech = 30,\r\n GameStart = 31,\r\n MinionSpawn = 32\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcementParameter } from \"./announcementParameter\";\r\nimport { AnnouncementType } from \"./AnnouncementType\";\r\n\r\nexport class announcerEvent {\r\n source?: announcementParameter;\r\n target?: announcementParameter;\r\n type: AnnouncementType = AnnouncementType.Unknown;\r\n}\r\n","/**\n * This is an auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport class championCombatStats {\n attackDamage: number = 0;\n abilityPower: number = 0;\n armor: number = 0;\n magicResist: number = 0;\n attackSpeed: number = 0;\n attackSpeedIsMultiplierOnly: boolean = false;\n moveSpeed: number = 0;\n}\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Team {\r\n None = 0,\r\n Order = 1,\r\n Chaos = 2,\r\n Neutral = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championCombatStats } from \"./championCombatStats\";\r\nimport { championRuneStat } from \"./championRuneStat\";\r\nimport { ingameAbilityInfo } from \"../ingameAbilityInfo\";\r\nimport { ingameHealthData } from \"../tab/ingameHealthData\";\r\nimport { ingameResourceData } from \"../tab/ingameResourceData\";\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { Team } from \"../../shared/style/Team\";\r\n\r\nexport class championDetailData {\r\n playerIndex: number = 0;\r\n team: Team = Team.None;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n championAssets?: simpleChampionData;\r\n level: number = 0;\r\n health: ingameHealthData = {} as ingameHealthData;\r\n resource: ingameResourceData = {} as ingameResourceData;\r\n stats: championCombatStats = {} as championCombatStats;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n creepScore: number = 0;\r\n gold: number = 0;\r\n totalGold: number = 0;\r\n shutdownGold: number = 0;\r\n respawnAt: number | null = null;\r\n items?: itemWithAsset[];\r\n summonerSpells: ingameAbilityInfo[] = [];\r\n abilities: ingameAbilityInfo[] = [];\r\n runes: championRuneStat[] = [];\r\n}\r\n","/**\n * This is an auto-generated file.\n * Any changes made to this file can be lost when this file is regenerated.\n */\n\nexport class championRuneStat {\n id: number = 0;\n name: string = \"\";\n icon: string = \"\";\n value: number = 0;\n statModValue: number = 0;\n}\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageCompositionPlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n physical: number = 0;\r\n magic: number = 0;\r\n trueDamage: number = 0;\r\n total: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageCompositionPlayer } from \"./damageCompositionPlayer\";\r\n\r\nexport class damageCompositionTeam {\r\n team: number = 0;\r\n physical: number = 0;\r\n magic: number = 0;\r\n trueDamage: number = 0;\r\n total: number = 0;\r\n players: damageCompositionPlayer[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageCompositionTeam } from \"./damageCompositionTeam\";\r\n\r\nexport class ingameDamageCompositionData {\r\n teams: damageCompositionTeam[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageEventType {\r\n PlayerDeath = 0,\r\n ObjectiveKill = 1,\r\n TeamfightEnd = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageEventType } from \"./DamageEventType\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageEventHistoryEntry {\r\n id: number = 0;\r\n eventType: DamageEventType = DamageEventType.PlayerDeath;\r\n gameTime: number = 0;\r\n victimChampion?: simpleChampionData;\r\n victimName: string = \"\";\r\n killerChampion?: simpleChampionData;\r\n killerName: string = \"\";\r\n totalDamage: number = 0;\r\n victimTeam?: number;\r\n teamfightStartTime?: number;\r\n teamfightEndTime?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class damageFlowEdge {\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n targetName: string = \"\";\r\n targetDisplayName: string = \"\";\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageFlowNode {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team?: number;\r\n totalDamageDealt: number = 0;\r\n totalDamageReceived: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageFlowEdge } from \"./damageFlowEdge\";\r\nimport { damageFlowNode } from \"./damageFlowNode\";\r\n\r\nexport class ingameDamageFlowData {\r\n nodes: damageFlowNode[] = [];\r\n edges: damageFlowEdge[] = [];\r\n startTime?: number;\r\n endTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameAbilityInfo } from \"../ingameAbilityInfo\";\r\nimport { ingameExperienceData } from \"../tab/ingameExperienceData\";\r\nimport { ingameHealthData } from \"../tab/ingameHealthData\";\r\nimport { ingameResourceData } from \"../tab/ingameResourceData\";\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageGraphEntry {\r\n champion?: simpleChampionData;\r\n abilities?: ingameAbilityInfo[];\r\n activeItems?: itemWithAsset[];\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team?: number;\r\n damageByType: { [key: string]: number } = {};\r\n totalDamageDealt: number = 0;\r\n respawnAt?: number;\r\n level?: number;\r\n health?: ingameHealthData;\r\n resource?: ingameResourceData;\r\n experience?: ingameExperienceData;\r\n role: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageGraphEntry } from \"./damageGraphEntry\";\r\n\r\nexport class ingameDamageGraphData {\r\n damageDealt: damageGraphEntry[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapSpellEntry } from \"./damageRecapSpellEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageRecapEntry {\r\n source?: simpleChampionData;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n team?: number;\r\n spells: damageRecapSpellEntry[] = [];\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageType {\r\n Physical = 0,\r\n Magic = 1,\r\n True = 2,\r\n Invalid = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"./DamageType\";\r\nimport type { iSpellObjectResource } from \"./iSpellObjectResource\";\r\n\r\nexport class damageRecapSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"./DamageType\";\r\n\r\nexport class damageRecapTimelineEntry {\r\n gameTime: number = 0;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n spellKey?: string;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n targetHealthBefore: number = 0;\r\n targetHealthAfter: number = 0;\r\n isSmite: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectiveRecapDisplayMode {\r\n None = 0,\r\n ObjectiveInfo = 1,\r\n DamageRecap = 2,\r\n All = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapEntry } from \"./damageRecapEntry\";\r\nimport { damageRecapTimelineEntry } from \"./damageRecapTimelineEntry\";\r\nimport { ObjectiveRecapDisplayMode } from \"./ObjectiveRecapDisplayMode\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\nimport type { iSpellObjectResource } from \"./iSpellObjectResource\";\r\n\r\nexport class ingameDamageRecapData {\r\n victim?: simpleChampionData;\r\n victimName: string = \"\";\r\n victimDisplayName: string = \"\";\r\n deathTime: number = 0;\r\n entries: damageRecapEntry[] = [];\r\n totalDamageReceived: number = 0;\r\n timeline?: damageRecapTimelineEntry[];\r\n sourceLookup?: { [key: string]: simpleChampionData };\r\n spellLookup?: { [key: string]: iSpellObjectResource };\r\n smiteReaction?: smiteReactionResult;\r\n dragonType?: string;\r\n displayMode: ObjectiveRecapDisplayMode = ObjectiveRecapDisplayMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DamageSplitMode {\r\n Detail = 0,\r\n Flow = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageType } from \"../damageRecap/DamageType\";\r\nimport type { iSpellObjectResource } from \"../damageRecap/iSpellObjectResource\";\r\n\r\nexport class damageSplitSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number = 0;\r\n damageType: DamageType = DamageType.Physical;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageSplitSpellEntry } from \"./damageSplitSpellEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class damageSplitTargetEntry {\r\n target?: simpleChampionData;\r\n targetName: string = \"\";\r\n targetDisplayName: string = \"\";\r\n team?: number;\r\n spells: damageSplitSpellEntry[] = [];\r\n totalDamage: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DamageSplitMode } from \"./DamageSplitMode\";\r\nimport { damageSplitTargetEntry } from \"./damageSplitTargetEntry\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameDamageSplitData {\r\n mode: DamageSplitMode = DamageSplitMode.Detail;\r\n source?: simpleChampionData;\r\n sourceName: string = \"\";\r\n sourceDisplayName: string = \"\";\r\n targets: damageSplitTargetEntry[] = [];\r\n totalDamageDealt: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameObjectiveEvent {\r\n objective: string = \"\";\r\n eventType: string = \"\";\r\n killer?: string;\r\n assisters?: string[];\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class killFeedEvent {\r\n ingameTeamId: number = 0;\r\n killer?: simpleChampionData;\r\n victim: simpleChampionData = {} as simpleChampionData;\r\n assisters?: simpleChampionData[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectiveEventType {\r\n Spawn = 0,\r\n Kill = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\n\r\nexport class playerUpdateEvent {\r\n playerNameAndTagLine: string = \"\";\r\n guid: string = \"\";\r\n boughtItems?: itemWithAsset[];\r\n soldOrConsumedItems?: itemWithAsset[];\r\n levelUp?: number[];\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamUpdateResults {\r\n teamId: number = 0;\r\n platesTaken: number = 0;\r\n turretsTaken: number = 0;\r\n inhibitorsTaken: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcerEvent } from \"../announcer/announcerEvent\";\r\nimport { ingameObjectiveEvent } from \"./ingameObjectiveEvent\";\r\nimport { killFeedEvent } from \"./killFeedEvent\";\r\nimport { playerUpdateEvent } from \"./playerUpdateEvent\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\nimport { teamUpdateResults } from \"./teamUpdateResults\";\r\n\r\nexport class transitionEvents {\r\n player?: playerUpdateEvent[];\r\n team?: teamUpdateResults[];\r\n objective?: ingameObjectiveEvent[];\r\n firstTower?: number;\r\n announcements?: announcerEvent[];\r\n killFeed?: killFeedEvent[];\r\n smiteReaction?: smiteReactionResult;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamData } from \"../../shared/teamData\";\r\n\r\nexport class turretPlatingFallEvent {\r\n team: teamData = {} as teamData;\r\n platingGold: number = 0;\r\n platings: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class goldEfficiencyEntry {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: number = 0;\r\n goldSpent: number = 0;\r\n damageDealt: number = 0;\r\n efficiency: number = 0;\r\n damageByType: { [key: string]: number } = {};\r\n role: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { goldEfficiencyEntry } from \"./goldEfficiencyEntry\";\r\n\r\nexport class ingameGoldEfficiencyData {\r\n players: goldEfficiencyEntry[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleGameGoldGraphData } from \"./singleGameGoldGraphData\";\r\n\r\nexport class ingameGoldGraphData {\r\n current: singleGameGoldGraphData = {} as singleGameGoldGraphData;\r\n previousGames?: singleGameGoldGraphData[];\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class singleGameGoldGraphData {\r\n goldAtTime: { [key: number]: { [key: number]: number } } = {};\r\n winner?: number;\r\n teams: { [key: number]: string } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum IngameObjectiveType {\r\n GRUB = 0,\r\n HERALD = 1,\r\n BARON = 4,\r\n DRAGON_WATER = 5,\r\n DRAGON_AIR = 6,\r\n DRAGON_EARTH = 7,\r\n DRAGON_FIRE = 8,\r\n DRAGON_HEXTECH = 9,\r\n DRAGON_CHEMTECH = 10,\r\n DRAGON_ELDER = 11,\r\n INHIBITOR_L0 = 12,\r\n INHIBITOR_L1 = 13,\r\n INHIBITOR_L2 = 14,\r\n UNDEFINED = 32767\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CampLocation } from \"../objective/CampLocation\";\r\nimport { IngameObjectiveType } from \"../objective/IngameObjectiveType\";\r\n\r\nexport class inhibitorRespawnData {\r\n type: IngameObjectiveType = IngameObjectiveType.GRUB;\r\n timeDestroy: number = 0;\r\n timeAlive?: number;\r\n mapSide?: CampLocation;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport type { iObjectiveRespawnData } from \"../objective/iObjectiveRespawnData\";\r\n\r\nexport class teamInhibitorData {\r\n team: string = \"\";\r\n teamid: number = 0;\r\n side: number = 0;\r\n inhibitors: { [key: string]: iObjectiveRespawnData } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { killParticipationLink } from \"./killParticipationLink\";\r\nimport { killParticipationPlayer } from \"./killParticipationPlayer\";\r\n\r\nexport class ingameKillParticipationData {\r\n players: killParticipationPlayer[] = [];\r\n links: killParticipationLink[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killParticipationLink {\r\n killerName: string = \"\";\r\n killerDisplayName: string = \"\";\r\n assisterName: string = \"\";\r\n assisterDisplayName: string = \"\";\r\n count: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class killParticipationPlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CampLocation {\r\n DragonPit = 2,\r\n BaronPit = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { objectiveDpsSample } from \"./objectiveDpsSample\";\r\nimport { smiteReactionResult } from \"../smiteReaction/smiteReactionResult\";\r\n\r\nexport class ingameObjectiveDpsData {\r\n objectiveName: string = \"\";\r\n startTime: number = 0;\r\n endTime: number = 0;\r\n maxHealth: number = 0;\r\n samples: objectiveDpsSample[] = [];\r\n smiteReaction?: smiteReactionResult;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class objectiveDpsSample {\r\n gameTime: number = 0;\r\n blueDamage: number = 0;\r\n redDamage: number = 0;\r\n remainingHealth: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSingleRuneData } from \"./ingameSingleRuneData\";\r\n\r\nexport class ingameRuneData {\r\n runes: ingameSingleRuneData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cDragonPerkInfo } from \"../../shared/cDragonPerkInfo\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSingleRuneData {\r\n champion?: simpleChampionData;\r\n perks: cDragonPerkInfo[] = [];\r\n name: string = \"\";\r\n team: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameScoreboardBottomTeamData } from \"./ingameScoreboardBottomTeamData\";\r\n\r\nexport class ingameScoreboardBottomData {\r\n gameTime: number = 0;\r\n teams: ingameScoreboardBottomTeamData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemWithAsset } from \"../itemWithAsset\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameScoreboardBottomPlayerData {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName?: string;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n level: number = 0;\r\n gold: number = 0;\r\n totalGold: number = 0;\r\n creepScore: number = 0;\r\n visionScore: number = 0;\r\n shutdown: number = 0;\r\n respawnAt?: number;\r\n items?: itemWithAsset[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameScoreboardBottomPlayerData } from \"./ingameScoreboardBottomPlayerData\";\r\n\r\nexport class ingameScoreboardBottomTeamData {\r\n id: string = \"\";\r\n name: string = \"\";\r\n tag: string = \"\";\r\n players: ingameScoreboardBottomPlayerData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSkinDisplayTeamData } from \"./ingameSkinDisplayTeamData\";\r\n\r\nexport class ingameSkinDisplayData {\r\n teams: ingameSkinDisplayTeamData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSkinDisplayPlayerData {\r\n name: string = \"\";\r\n playerName: string = \"\";\r\n displayName: string = \"\";\r\n champion?: simpleChampionData;\r\n skinName: string = \"\";\r\n splashCenteredUrl: string = \"\";\r\n splashUrl: string = \"\";\r\n loadingUrl: string = \"\";\r\n tileUrl: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSkinDisplayPlayerData } from \"./ingameSkinDisplayPlayerData\";\r\n\r\nexport class ingameSkinDisplayTeamData {\r\n team: number = 0;\r\n players: ingameSkinDisplayPlayerData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class smiteReactionResult {\r\n junglerChampion?: simpleChampionData;\r\n junglerName: string = \"\";\r\n junglerDisplayName: string = \"\";\r\n junglerTeam: number = 0;\r\n smiteDamage: number = 0;\r\n thresholdReachedTime: number = 0;\r\n healthAtThreshold: number = 0;\r\n smiteLandedTime: number = 0;\r\n healthBeforeSmite: number = 0;\r\n reactionTimeSeconds: number = 0;\r\n wasKillingBlow: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../shared/style/borderStyle\";\r\n\r\nexport class timerBarStyle {\r\n gap: string = \"\";\r\n height: string = \"\";\r\n width: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class announcerColors {\r\n source: string = \"\";\r\n target: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { announcerColors } from \"./announcerColors\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class announcerUniversalStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n redTeamColors: announcerColors = {} as announcerColors;\r\n blueTeamColors: announcerColors = {} as announcerColors;\r\n defaultColors: announcerColors = {} as announcerColors;\r\n useAdd: boolean = false;\r\n doubleEventAdVersion: number = 0;\r\n scale: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championImage {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n borderColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class creepScore {\r\n textWithBorder: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { playerScoreboardSlot } from \"./playerScoreboardSlot\";\r\n\r\nexport class fullPlayerScoreboardSlots {\r\n playerScoreboardSlotLeft: playerScoreboardSlot = {} as playerScoreboardSlot;\r\n playerScoreboardSlotRight: playerScoreboardSlot = {} as playerScoreboardSlot;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemSlot {\r\n cooldownBgColor: string | colorStyle = \"\";\r\n cooldownTimerColor: string | colorStyle = \"\";\r\n visionScoreText: textStyle = {} as textStyle;\r\n visionScoreTextSmall: textStyle = {} as textStyle;\r\n visionStackText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerKDA {\r\n shutdown: textStyle = {} as textStyle;\r\n lowShutdown: textStyle = {} as textStyle;\r\n kda: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { fullPlayerScoreboardSlots } from \"./fullPlayerScoreboardSlots\";\r\nimport { playerScoreboardContainer } from \"./playerScoreboardContainer\";\r\nimport { playerScoreboardGoldComparison } from \"./playerScoreboardGoldComparison\";\r\n\r\nexport class playerScoreboard {\r\n fullPlayerScoreboardSlots: fullPlayerScoreboardSlots = {} as fullPlayerScoreboardSlots;\r\n playerScoreboardGoldComparison: playerScoreboardGoldComparison = {} as playerScoreboardGoldComparison;\r\n playerScoreboardContainer: playerScoreboardContainer = {} as playerScoreboardContainer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class playerScoreboardContainer {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n backgroundColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerScoreboardGoldComparison {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n neutralLeadingColor: string | colorStyle = \"\";\r\n leftLeadingColor: string | colorStyle = \"\";\r\n rightLeadingColor: string | colorStyle = \"\";\r\n showTriangle: boolean = false;\r\n showBottomRect: boolean = false;\r\n recolorTriangleBasedOnLeadingTeam: boolean = false;\r\n recolorBottomRectBasedOnLeadingTeam: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemSlot } from \"./itemSlot\";\r\nimport { playerKDA } from \"./playerKDA\";\r\nimport { roleQuestSlot } from \"./roleQuestSlot\";\r\nimport { scoreboardChampionSlot } from \"./scoreboardChampionSlot\";\r\n\r\nexport class playerScoreboardSlot {\r\n scoreboardChampionSlot: scoreboardChampionSlot = {} as scoreboardChampionSlot;\r\n itemSlot: itemSlot = {} as itemSlot;\r\n roleQuest: roleQuestSlot = {} as roleQuestSlot;\r\n playerKDA: playerKDA = {} as playerKDA;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class respawnTimer {\r\n textWithBorder: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class roleQuestSlot {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championImage } from \"./championImage\";\r\nimport { creepScore } from \"./creepScore\";\r\nimport { respawnTimer } from \"./respawnTimer\";\r\n\r\nexport class scoreboardChampionSlot {\r\n creepScore: creepScore = {} as creepScore;\r\n respawnTimer: respawnTimer = {} as respawnTimer;\r\n championImage: championImage = {} as championImage;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageCompositionBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageCompositionColors {\r\n physical: string | colorStyle = \"\";\r\n magic: string | colorStyle = \"\";\r\n true: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageCompositionDonutStyle {\r\n size: string = \"\";\r\n showPercentages: boolean = false;\r\n centerValueText: textStyle = {} as textStyle;\r\n centerLabelText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionBarStyle } from \"./damageCompositionBarStyle\";\r\nimport { damageCompositionColors } from \"./damageCompositionColors\";\r\nimport { damageCompositionDonutStyle } from \"./damageCompositionDonutStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageCompositionStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n headerText: textStyle = {} as textStyle;\r\n headerBackground: string | colorStyle = \"\";\r\n headerTitle: string = \"\";\r\n colors: damageCompositionColors = {} as damageCompositionColors;\r\n playerTotalText: textStyle = {} as textStyle;\r\n legendText: textStyle = {} as textStyle;\r\n playerBar: damageCompositionBarStyle = {} as damageCompositionBarStyle;\r\n championIcon: imageStyle = {} as imageStyle;\r\n border: borderStyle = {} as borderStyle;\r\n donutChart: damageCompositionDonutStyle = {} as damageCompositionDonutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageFlowNodeStyle } from \"./damageFlowNodeStyle\";\r\nimport { damageFlowRibbonStyle } from \"./damageFlowRibbonStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageFlow {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n headerText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n playerDamageText: textStyle = {} as textStyle;\r\n blueNode: damageFlowNodeStyle = {} as damageFlowNodeStyle;\r\n redNode: damageFlowNodeStyle = {} as damageFlowNodeStyle;\r\n ribbon: damageFlowRibbonStyle = {} as damageFlowRibbonStyle;\r\n nodeSize: string = \"\";\r\n nodeGap: string = \"\";\r\n cycleDurationMs: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageFlowNodeStyle {\r\n border: borderStyle = {} as borderStyle;\r\n fallbackBackground: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class damageFlowRibbonStyle {\r\n sourceOpacity: string = \"\";\r\n targetOpacity: string = \"\";\r\n strokeOpacity: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class colorByDamageType {\r\n magicFill?: string | colorStyle = \"\";\r\n physicalFill?: string | colorStyle = \"\";\r\n trueFill?: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorByDamageType } from \"./colorByDamageType\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageBarStyle {\r\n minWidth: string = \"\";\r\n height: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n fill?: string | colorStyle = \"\";\r\n fillByDamageType?: colorByDamageType;\r\n useFillByDamageType: boolean = false;\r\n damageDealt: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { damageBarStyle } from \"./damageBarStyle\";\r\n\r\nexport class damageGraphSide {\r\n championIcons: championIconStyle = {} as championIconStyle;\r\n bar: damageBarStyle = {} as damageBarStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageGraphSide } from \"./damageGraphSide\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textWithContent } from \"./textWithContent\";\r\n\r\nexport class scoreboardDamageGraphStyle {\r\n fileVersion: string = \"1.0\";\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n leftTeam: damageGraphSide = {} as damageGraphSide;\r\n rightTeam: damageGraphSide = {} as damageGraphSide;\r\n title: textWithContent = {} as textWithContent;\r\n titleLayout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class textWithContent {\r\n text: textStyle = {} as textStyle;\r\n content: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageRecapDamageBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageRecapDamageBarStyle } from \"./damageRecapDamageBarStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageRecapEntryStyle {\r\n nameText: textStyle = {} as textStyle;\r\n damageText: textStyle = {} as textStyle;\r\n icon: imageStyle = {} as imageStyle;\r\n damageBar: damageRecapDamageBarStyle = {} as damageRecapDamageBarStyle;\r\n gap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionColors } from \"../damageComposition/damageCompositionColors\";\r\nimport { damageRecapEntryStyle } from \"./damageRecapEntryStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageRecapStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n accentColor: string | colorStyle = \"\";\r\n playerNameText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n totalDamageText: textStyle = {} as textStyle;\r\n entry: damageRecapEntryStyle = {} as damageRecapEntryStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n damageTypeColors: damageCompositionColors = {} as damageCompositionColors;\r\n paginate: boolean = false;\r\n pageDurationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class damageSplitBarStyle {\r\n height: string = \"\";\r\n barBackground: string | colorStyle = \"\";\r\n borderRadius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageSplitBarStyle } from \"./damageSplitBarStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageSplitEntryStyle {\r\n nameText: textStyle = {} as textStyle;\r\n damageText: textStyle = {} as textStyle;\r\n icon: imageStyle = {} as imageStyle;\r\n damageBar: damageSplitBarStyle = {} as damageSplitBarStyle;\r\n gap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageCompositionColors } from \"../damageComposition/damageCompositionColors\";\r\nimport { damageSplitEntryStyle } from \"./damageSplitEntryStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageSplitStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n accentColor: string | colorStyle = \"\";\r\n playerNameText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n totalDamageText: textStyle = {} as textStyle;\r\n entry: damageSplitEntryStyle = {} as damageSplitEntryStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n damageTypeColors: damageCompositionColors = {} as damageCompositionColors;\r\n paginate: boolean = false;\r\n pageDurationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textContentWithStyle } from \"./textContentWithStyle\";\r\nimport { transitionStyle } from \"../lframe/transitionStyle\";\r\n\r\nexport class gameInfoRotation {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n secondsPerEntry: number = 0;\r\n position: globalPosition = {} as globalPosition;\r\n transition: transitionStyle = {} as transitionStyle;\r\n contentWithStyle: textContentWithStyle[] = [];\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class textContentWithStyle {\r\n style: textStyle = {} as textStyle;\r\n content: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldEfficiencyHeaderStyle {\r\n background: string | colorStyle = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n height: string = \"\";\r\n titleContent: string = \"\";\r\n subtitleContent: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class goldEfficiencyHeatStyle {\r\n lowColor: string = \"\";\r\n midColor: string = \"\";\r\n highColor: string = \"\";\r\n lowBreak: number = 0;\r\n highBreak: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldEfficiencyPlayerRowStyle {\r\n damageText: textStyle = {} as textStyle;\r\n goldText: textStyle = {} as textStyle;\r\n infoText: textStyle = {} as textStyle;\r\n scoreText: textStyle = {} as textStyle;\r\n accentStripWidth: string = \"\";\r\n minHeight: string = \"\";\r\n damageLabel: string = \"\";\r\n goldLabel: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { goldEfficiencyHeaderStyle } from \"./goldEfficiencyHeaderStyle\";\r\nimport { goldEfficiencyHeatStyle } from \"./goldEfficiencyHeatStyle\";\r\nimport { goldEfficiencyPlayerRowStyle } from \"./goldEfficiencyPlayerRowStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class goldEfficiencyStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n header: goldEfficiencyHeaderStyle = {} as goldEfficiencyHeaderStyle;\r\n playerRow: goldEfficiencyPlayerRowStyle = {} as goldEfficiencyPlayerRowStyle;\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n heat: goldEfficiencyHeatStyle = {} as goldEfficiencyHeatStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championIamgeStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championImageStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageDealtStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class healthBarStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n foreground: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { playerXpLevelStyle } from \"./playerXpLevelStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class levelXpTrackerStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n playerXpLevelStyle: playerXpLevelStyle = {} as playerXpLevelStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class numberContainerStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIamgeStyle } from \"./championIamgeStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { numberContainerStyle } from \"./numberContainerStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class playerXpLevelStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n bar: layoutStyle = {} as layoutStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n championImage: championIamgeStyle = {} as championIamgeStyle;\r\n numberContainer: numberContainerStyle = {} as numberContainerStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeDisplayTeamStyle } from \"../rune/runeDisplayTeamStyle\";\r\n\r\nexport class runeDisplayStyle {\r\n redTeamStyle: runeDisplayTeamStyle = {} as runeDisplayTeamStyle;\r\n blueTeamStyle: runeDisplayTeamStyle = {} as runeDisplayTeamStyle;\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n middleLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIamgeStyle } from \"./championIamgeStyle\";\r\nimport { damageDealtStyle } from \"./damageDealtStyle\";\r\nimport { healthBarStyle } from \"./healthBarStyle\";\r\nimport { ultiAbilityStyle } from \"./ultiAbilityStyle\";\r\n\r\nexport class teamfightDamageEntryStyle {\r\n ultiStyle: ultiAbilityStyle = {} as ultiAbilityStyle;\r\n healthBarStyle: healthBarStyle = {} as healthBarStyle;\r\n championImageStyle: championIamgeStyle = {} as championIamgeStyle;\r\n damageDealtStyle: damageDealtStyle = {} as damageDealtStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamfightDamageEntryStyle } from \"./teamfightDamageEntryStyle\";\r\n\r\nexport class teamFightDamageStyle {\r\n position: globalPosition = {} as globalPosition;\r\n logo: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n redTeam: teamfightDamageEntryStyle = {} as teamfightDamageEntryStyle;\r\n blueTeam: teamfightDamageEntryStyle = {} as teamfightDamageEntryStyle;\r\n itemGap: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class ultiAbilityStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { gridLineStyle } from \"./gridLineStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { lineStyle } from \"./lineStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class goldGraph {\r\n position: globalPosition = {} as globalPosition;\r\n yAxis: textStyle = {} as textStyle;\r\n xAxis: textStyle = {} as textStyle;\r\n title: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n gridLine: gridLineStyle = {} as gridLineStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n leftLine: lineStyle = {} as lineStyle;\r\n rightLine: lineStyle = {} as lineStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\n\r\nexport class gridLineStyle {\r\n lineWidth: string = \"\";\r\n lineColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\n\r\nexport class lineStyle {\r\n lineColor: string | colorStyle = \"\";\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class inhibitorTimer {\r\n fileVersion: string = \"1.0\";\r\n leftColor: string | colorStyle = \"\";\r\n rightColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class inhibitorTimerContainer {\r\n inhibitorTimerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { inhibitorTimerContainer } from \"./inhibitorTimerContainer\";\r\nimport { inhibitorTimerTimerContainer } from \"./inhibitorTimerTimerContainer\";\r\n\r\nexport class inhibitorTimerDual {\r\n fileVersion: string = \"1.0\";\r\n inhibitorTimerDualContainer: inhibitorTimerContainer = {} as inhibitorTimerContainer;\r\n inhibitorTimerTimerContainer: inhibitorTimerTimerContainer = {} as inhibitorTimerTimerContainer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class inhibitorTimerIconContainer {\r\n imageSize: string = \"\";\r\n titleText: string = \"\";\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n textStyling: textStyle = {} as textStyle;\r\n showIcon: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { inhibitorTimerContainer } from \"./inhibitorTimerContainer\";\r\nimport { inhibitorTimerIconContainer } from \"./inhibitorTimerIconContainer\";\r\nimport { inhibitorTimerTimerContainer } from \"./inhibitorTimerTimerContainer\";\r\n\r\nexport class inhibitorTimerSingle {\r\n fileVersion: string = \"1.0\";\r\n inhibitorTimerSingleContainer: inhibitorTimerContainer = {} as inhibitorTimerContainer;\r\n inhibitorTimerIconContainer: inhibitorTimerIconContainer = {} as inhibitorTimerIconContainer;\r\n inhibitorTimerTimerContainer: inhibitorTimerTimerContainer = {} as inhibitorTimerTimerContainer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\nimport { timerBarStyle } from \"../timerBarStyle\";\r\n\r\nexport class inhibitorTimerTimerContainer {\r\n inhibitorTimerBar: timerBarStyle = {} as timerBarStyle;\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n textStyling: textStyle = {} as textStyle;\r\n gap: string = \"\";\r\n showText: boolean = false;\r\n showLane: boolean = false;\r\n showBar: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { killFeedContainerStyle } from \"./killFeedContainerStyle\";\r\nimport { killFeedEntryStyle } from \"./killFeedEntryStyle\";\r\n\r\nexport class killFeed {\r\n fileVersion: string = \"1.0\";\r\n container: killFeedContainerStyle = {} as killFeedContainerStyle;\r\n entry: killFeedEntryStyle = {} as killFeedEntryStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ContentAlign {\r\n TopLeft = 0,\r\n TopCenter = 1,\r\n TopRight = 2,\r\n MiddleLeft = 3,\r\n MiddleCenter = 4,\r\n MiddleRight = 5,\r\n BottomLeft = 6,\r\n BottomCenter = 7,\r\n BottomRight = 8\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"../../../shared/style/ContentAlign\";\r\n\r\nexport class killFeedAssistersStyle {\r\n gap: string = \"\";\r\n align: ContentAlign = ContentAlign.TopLeft;\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"../../../shared/style/ContentAlign\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\n\r\nexport class killFeedContainerStyle {\r\n itemAlign: ContentAlign = ContentAlign.TopLeft;\r\n position: globalPosition = {} as globalPosition;\r\n gap: string = \"\";\r\n maxEventDurationInMs: number = 0;\r\n maxEventsToShow: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { killFeedAssistersStyle } from \"./killFeedAssistersStyle\";\r\nimport { killFeedIconStyle } from \"./killFeedIconStyle\";\r\nimport { killFeedKillIconStyle } from \"./killFeedKillIconStyle\";\r\n\r\nexport class killFeedEntryStyle {\r\n fixedWidth: boolean = false;\r\n background: string | colorStyle = \"\";\r\n useSideColorBackground: boolean = false;\r\n useCustomBackground: boolean = false;\r\n customBackground?: colorStyle[];\r\n backgroundBySide?: colorStyle[];\r\n killer: killFeedIconStyle = {} as killFeedIconStyle;\r\n icon: killFeedKillIconStyle = {} as killFeedKillIconStyle;\r\n victim: killFeedIconStyle = {} as killFeedIconStyle;\r\n assisters: killFeedAssistersStyle = {} as killFeedAssistersStyle;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killFeedIconStyle {\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class killFeedKillIconStyle {\r\n source: string = \"\";\r\n recolorToKillerTeamColor: boolean = false;\r\n width: string = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class killParticipationStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n titleLabel: string = \"\";\r\n titlePadding: string = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n pctText: textStyle = {} as textStyle;\r\n kdaText: textStyle = {} as textStyle;\r\n dividerColor: string | colorStyle = \"\";\r\n dividerWidth: string = \"\";\r\n showBestDuo: boolean = false;\r\n bestDuoLabel: string = \"\";\r\n bestDuoText: textStyle = {} as textStyle;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n championIcon: imageStyle = {} as imageStyle;\r\n championAspectRatio: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { transitionStyle } from \"./transitionStyle\";\r\n\r\nexport class lFrameRotation {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n secondsPerSponsor: number = 0;\r\n position: globalPosition = {} as globalPosition;\r\n transition: transitionStyle = {} as transitionStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TransitionType {\r\n Cut = 0,\r\n Fade = 1,\r\n Slide = 2,\r\n Zoom = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { TransitionType } from \"./TransitionType\";\r\n\r\nexport class transitionStyle {\r\n type: TransitionType = TransitionType.Cut;\r\n duration: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { objectiveDpsBarStyle } from \"./objectiveDpsBarStyle\";\r\nimport { objectiveDpsHeaderStyle } from \"./objectiveDpsHeaderStyle\";\r\nimport { objectiveDpsSmiteStrip } from \"./objectiveDpsSmiteStrip\";\r\nimport { objectiveDpsTeamNumbersStyle } from \"./objectiveDpsTeamNumbersStyle\";\r\n\r\nexport class objectiveDamagePerTeamStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n header: objectiveDpsHeaderStyle = {} as objectiveDpsHeaderStyle;\r\n teamNumbers: objectiveDpsTeamNumbersStyle = {} as objectiveDpsTeamNumbersStyle;\r\n progressBar: objectiveDpsBarStyle = {} as objectiveDpsBarStyle;\r\n smiteStrip: objectiveDpsSmiteStrip = {} as objectiveDpsSmiteStrip;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsBarStyle {\r\n height: string = \"\";\r\n borderRadius: string = \"\";\r\n trackBackground: string | colorStyle = \"\";\r\n percentageText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsHeaderStyle {\r\n labelText: textStyle = {} as textStyle;\r\n titleText: textStyle = {} as textStyle;\r\n badgeText: textStyle = {} as textStyle;\r\n securedBadgeColor: string | colorStyle = \"\";\r\n contestedBadgeColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsSmiteStrip {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n nameText: textStyle = {} as textStyle;\r\n smiteLabelText: textStyle = {} as textStyle;\r\n statusText: textStyle = {} as textStyle;\r\n reactionTimeText: textStyle = {} as textStyle;\r\n reactionLabelText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveDpsTeamNumbersStyle {\r\n teamLabelText: textStyle = {} as textStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n vsText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapCardStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n damageTypeText: textStyle = {} as textStyle;\r\n timeText: textStyle = {} as textStyle;\r\n sourceIcon: imageStyle = {} as imageStyle;\r\n spellIcon: imageStyle = {} as imageStyle;\r\n smiteCardBackground: string | colorStyle = \"\";\r\n smiteCardBorder: borderStyle = {} as borderStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapHeaderStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n titleText: textStyle = {} as textStyle;\r\n subtitleText: textStyle = {} as textStyle;\r\n portraitImage: imageStyle = {} as imageStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveRecapSmiteBarStyle {\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n labelText: textStyle = {} as textStyle;\r\n statusText: textStyle = {} as textStyle;\r\n reactionValueText: textStyle = {} as textStyle;\r\n reactionLabelText: textStyle = {} as textStyle;\r\n junglerIcon: imageStyle = {} as imageStyle;\r\n reactionBadgeBorder: borderStyle = {} as borderStyle;\r\n smiteAccentColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { objectiveRecapCardStyle } from \"./objectiveRecapCardStyle\";\r\nimport { objectiveRecapHeaderStyle } from \"./objectiveRecapHeaderStyle\";\r\nimport { objectiveRecapSmiteBarStyle } from \"./objectiveRecapSmiteBarStyle\";\r\n\r\nexport class objectiveRecapStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: objectiveRecapHeaderStyle = {} as objectiveRecapHeaderStyle;\r\n card: objectiveRecapCardStyle = {} as objectiveRecapCardStyle;\r\n smiteBar: objectiveRecapSmiteBarStyle = {} as objectiveRecapSmiteBarStyle;\r\n cardGap: string = \"\";\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class runeDisplayPerkStyle {\r\n background: string | colorStyle = \"\";\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeDisplayPerkStyle } from \"./runeDisplayPerkStyle\";\r\n\r\nexport class runeDisplayTeamStyle {\r\n championImageLayout: layoutStyle = {} as layoutStyle;\r\n firstPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n secondPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n thirdPerkRowLayout: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n topPerkStyle: runeDisplayPerkStyle = {} as runeDisplayPerkStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class skinDisplayInfoStyle {\r\n playerNameText: textStyle = {} as textStyle;\r\n skinNameText: textStyle = {} as textStyle;\r\n padding: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class skinDisplayPoweredByStyle {\r\n show: boolean = false;\r\n background: string | colorStyle = \"\";\r\n height: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class skinDisplayRoleIconStyle {\r\n baseSize: string = \"\";\r\n largerRoleScale: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { skinDisplayInfoStyle } from \"./skinDisplayInfoStyle\";\r\nimport { skinDisplayPoweredByStyle } from \"./skinDisplayPoweredByStyle\";\r\nimport { skinDisplayRoleIconStyle } from \"./skinDisplayRoleIconStyle\";\r\n\r\nexport class skinDisplayStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n overlay: string | colorStyle = \"\";\r\n info: skinDisplayInfoStyle = {} as skinDisplayInfoStyle;\r\n roleIcon: skinDisplayRoleIconStyle = {} as skinDisplayRoleIconStyle;\r\n poweredBy: skinDisplayPoweredByStyle = {} as skinDisplayPoweredByStyle;\r\n width: string = \"\";\r\n rotationIntervalMs: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionBadgeStyle {\r\n badgeText: textStyle = {} as textStyle;\r\n borderRadius: string = \"\";\r\n greatColor: string | colorStyle = \"\";\r\n averageColor: string | colorStyle = \"\";\r\n slowColor: string | colorStyle = \"\";\r\n earlyColor: string | colorStyle = \"\";\r\n securedColor: string | colorStyle = \"\";\r\n missedColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionPoweredByStyle {\r\n show: boolean = false;\r\n text: textStyle = {} as textStyle;\r\n logoHeight: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\n\r\nexport class smiteReactionRingStyle {\r\n size: string = \"\";\r\n thickness: string = \"\";\r\n trackColor: string | colorStyle = \"\";\r\n portraitImage: imageStyle = {} as imageStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { smiteReactionBadgeStyle } from \"./smiteReactionBadgeStyle\";\r\nimport { smiteReactionPoweredByStyle } from \"./smiteReactionPoweredByStyle\";\r\nimport { smiteReactionRingStyle } from \"./smiteReactionRingStyle\";\r\nimport { smiteReactionTextStyle } from \"./smiteReactionTextStyle\";\r\n\r\nexport class smiteReactionStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n ring: smiteReactionRingStyle = {} as smiteReactionRingStyle;\r\n texts: smiteReactionTextStyle = {} as smiteReactionTextStyle;\r\n badges: smiteReactionBadgeStyle = {} as smiteReactionBadgeStyle;\r\n poweredBy: smiteReactionPoweredByStyle = {} as smiteReactionPoweredByStyle;\r\n durationInSeconds: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class smiteReactionTextStyle {\r\n titleText: textStyle = {} as textStyle;\r\n reactionTimeText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { spawnTimerIconContainerStyle } from \"./spawnTimerIconContainerStyle\";\r\nimport { spawnTimerInfoContainerStyle } from \"./spawnTimerInfoContainerStyle\";\r\n\r\nexport class spawnTimer {\r\n mirror: boolean = false;\r\n spawnTimerIconContainerStyle: spawnTimerIconContainerStyle = {} as spawnTimerIconContainerStyle;\r\n spawnTimerInfoContainerStyle: spawnTimerInfoContainerStyle = {} as spawnTimerInfoContainerStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\n\r\nexport class spawnTimerIconContainerStyle {\r\n icon: imageStyle = {} as imageStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class spawnTimerInfoContainerStyle {\r\n infoContainerLayoutStyling: layoutStyle = {} as layoutStyle;\r\n infoContainerTextStyling: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { spawnTimer } from \"./spawnTimer\";\r\n\r\nexport class spawnTimerStyle {\r\n baron?: spawnTimer;\r\n dragon?: spawnTimer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championStackStyle {\r\n textStyling: textStyle = {} as textStyle;\r\n textColorOutline: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { progressBarStyle } from \"./progressBarStyle\";\r\n\r\nexport class championStatusStyle {\r\n resourceBar: { [key: string]: progressBarStyle } = {};\r\n healthBar: progressBarStyle = {} as progressBarStyle;\r\n xpBar: progressBarStyle = {} as progressBarStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championTabContainerStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n gap: string = \"\";\r\n xDirection: string = \"\";\r\n yDirection: string = \"\";\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n shadowBaron: string | colorStyle = \"\";\r\n shadowDragon: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championTabNameStyle {\r\n textStyling: textStyle = {} as textStyle;\r\n nameTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championStackStyle } from \"./championStackStyle\";\r\nimport { championStatusStyle } from \"./championStatusStyle\";\r\nimport { championTabContainerStyle } from \"./championTabContainerStyle\";\r\nimport { championTabNameStyle } from \"./championTabNameStyle\";\r\nimport { championUltimateStyle } from \"./championUltimateStyle\";\r\nimport { tabLevelUpStyle } from \"./tabLevelUpStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championTabsStyle {\r\n championTabName: championTabNameStyle = {} as championTabNameStyle;\r\n championStack: championStackStyle = {} as championStackStyle;\r\n championUlti: championUltimateStyle = {} as championUltimateStyle;\r\n championRespawnTimer: textStyle = {} as textStyle;\r\n championLevel: textStyle = {} as textStyle;\r\n championStatus: championStatusStyle = {} as championStatusStyle;\r\n fullChampionTabContainer: championTabContainerStyle = {} as championTabContainerStyle;\r\n levelUpStyle?: tabLevelUpStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championUltimateStyle {\r\n layoutStyling: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class progressBarStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class tabLevelUpStyle {\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n animationDuration: number = 0;\r\n showOnlyMajorLevelUps: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championTabsStyle } from \"./championTabsStyle\";\r\n\r\nexport class tabsStyle {\r\n championTabLeft: championTabsStyle = {} as championTabsStyle;\r\n championTabRight: championTabsStyle = {} as championTabsStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class teamfightDeathIconStyle {\r\n source: string = \"\";\r\n width: string = \"\";\r\n height: string = \"\";\r\n color: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { globalPosition } from \"../../../shared/style/globalPosition\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamfightDeathIconStyle } from \"./teamfightDeathIconStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamfightTimelineStyle {\r\n position: globalPosition = {} as globalPosition;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n headerBackground: string | colorStyle = \"\";\r\n titleText: textStyle = {} as textStyle;\r\n timeText: textStyle = {} as textStyle;\r\n playerNameText: textStyle = {} as textStyle;\r\n damageValueText: textStyle = {} as textStyle;\r\n blueTeamColor: string | colorStyle = \"\";\r\n redTeamColor: string | colorStyle = \"\";\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n killFeedBackground: string | colorStyle = \"\";\r\n killFeedTimeText: textStyle = {} as textStyle;\r\n chartGridColor: string | colorStyle = \"\";\r\n tabText: textStyle = {} as textStyle;\r\n tabActiveBackground: string | colorStyle = \"\";\r\n tabInactiveBackground: string | colorStyle = \"\";\r\n overviewLabel: string = \"\";\r\n timelineLabel: string = \"\";\r\n deathIcon: teamfightDeathIconStyle = {} as teamfightDeathIconStyle;\r\n chartLegendText: textStyle = {} as textStyle;\r\n chartAxisText: textStyle = {} as textStyle;\r\n chartStatsText: textStyle = {} as textStyle;\r\n overviewDurationMs: number = 0;\r\n timelineDurationMs: number = 0;\r\n killsPerPage: number = 0;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class gameTimer {\r\n timerText: textStyle = {} as textStyle;\r\n timerContainerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameTimer } from \"./gameTimer\";\r\nimport { globalScoreboardSection } from \"./globalScoreboardSection\";\r\nimport { objectiveTimer } from \"./objectiveTimer\";\r\nimport { tournamentLogo } from \"./tournamentLogo\";\r\n\r\nexport class globalScoreboard {\r\n tournamentLogo: tournamentLogo = {} as tournamentLogo;\r\n leftTeamSection: globalScoreboardSection = {} as globalScoreboardSection;\r\n rightTeamSection: globalScoreboardSection = {} as globalScoreboardSection;\r\n dragonPit: objectiveTimer = {} as objectiveTimer;\r\n baronPit: objectiveTimer = {} as objectiveTimer;\r\n gameTimer: gameTimer = {} as gameTimer;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class globalScoreboardBooleanIndicator {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n activeColor: string | colorStyle = \"\";\r\n inactiveColor: string | colorStyle = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalScoreboardBooleanIndicator } from \"./globalScoreboardBooleanIndicator\";\r\nimport { objectiveList } from \"./objectiveList\";\r\nimport { teamIconStyle } from \"./teamIconStyle\";\r\nimport { teamInfo } from \"./teamInfo\";\r\nimport { teamScores } from \"./teamScores\";\r\n\r\nexport class globalScoreboardSection {\r\n teaminfo: teamInfo = {} as teamInfo;\r\n teamIcon: teamIconStyle = {} as teamIconStyle;\r\n teamScores: teamScores = {} as teamScores;\r\n objectiveList: objectiveList = {} as objectiveList;\r\n booleanIndicator: globalScoreboardBooleanIndicator = {} as globalScoreboardBooleanIndicator;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldAdvantage {\r\n text: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveList {\r\n objectiveListLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class objectiveTimer {\r\n timerText: textStyle = {} as textStyle;\r\n goldText: textStyle = {} as textStyle;\r\n timerContainerLayout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class teamIconStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { optionalTextStyle } from \"../../../shared/style/optionalTextStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamInfo {\r\n textContainerLayout: layoutStyle = {} as layoutStyle;\r\n teamName: textStyle = {} as textStyle;\r\n teamInfoText: optionalTextStyle = {} as optionalTextStyle;\r\n background: string | colorStyle = \"\";\r\n seasonScore: optionalTextStyle = {} as optionalTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { goldAdvantage } from \"./goldAdvantage\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamScores {\r\n goldText: textStyle = {} as textStyle;\r\n goldAdvantage: goldAdvantage = {} as goldAdvantage;\r\n killsText: textStyle = {} as textStyle;\r\n towerText: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class tournamentLogo {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class headline {\r\n headlineText: textStyle = {} as textStyle;\r\n text: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class optionBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n backgroundBar: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class optionTitel {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class optionVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class totalBadge {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n text: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { headline } from \"./headline\";\r\nimport { optionBar } from \"./optionBar\";\r\nimport { optionTitel } from \"./optionTitel\";\r\nimport { optionVotes } from \"./optionVotes\";\r\nimport { totalBadge } from \"./totalBadge\";\r\nimport { voteWrapper } from \"./voteWrapper\";\r\n\r\nexport class twitchChatVote {\r\n position: globalPosition = {} as globalPosition;\r\n voteWrapper: voteWrapper = {} as voteWrapper;\r\n headline: headline = {} as headline;\r\n totalBadge: totalBadge = {} as totalBadge;\r\n optionTitel: optionTitel = {} as optionTitel;\r\n optionVotes: optionVotes = {} as optionVotes;\r\n optionBar: optionBar = {} as optionBar;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class voteWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class choiceBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n backgroundBar: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class choiceTitel {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class choiceVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class pollWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class timerBadgePoll {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class totalVotes {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { choiceBar } from \"./choiceBar\";\r\nimport { choiceTitel } from \"./choiceTitel\";\r\nimport { choiceVotes } from \"./choiceVotes\";\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { pollWrapper } from \"./pollWrapper\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\nimport { timerBadgePoll } from \"./timerBadgePoll\";\r\nimport { totalVotes } from \"./totalVotes\";\r\n\r\nexport class twitchPoll {\r\n position: globalPosition = {} as globalPosition;\r\n pollWrapper: pollWrapper = {} as pollWrapper;\r\n headline: textStyle = {} as textStyle;\r\n timerBadge: timerBadgePoll = {} as timerBadgePoll;\r\n choiceTitel: choiceTitel = {} as choiceTitel;\r\n choiceVotes: choiceVotes = {} as choiceVotes;\r\n choiceBar: choiceBar = {} as choiceBar;\r\n totalVotes: totalVotes = {} as totalVotes;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class barStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n text: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { barStyle } from \"./barStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class predictionBar {\r\n layout: layoutStyle = {} as layoutStyle;\r\n winner: barStyle = {} as barStyle;\r\n loser: barStyle = {} as barStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class predictionPoints {\r\n layout: layoutStyle = {} as layoutStyle;\r\n winnerText: textStyle = {} as textStyle;\r\n loserText: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\n\r\nexport class predictionWrapper {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\n\r\nexport class timerBadgePrediction {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n timerText: textStyle = {} as textStyle;\r\n timerTextColorEnding: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalPosition } from \"../../../../shared/style/globalPosition\";\r\nimport { predictionBar } from \"./predictionBar\";\r\nimport { predictionPoints } from \"./predictionPoints\";\r\nimport { predictionWrapper } from \"./predictionWrapper\";\r\nimport { textStyle } from \"../../../../shared/style/textStyle\";\r\nimport { timerBadgePrediction } from \"./timerBadgePrediction\";\r\n\r\nexport class twitchPrediction {\r\n position: globalPosition = {} as globalPosition;\r\n predictionWrapper: predictionWrapper = {} as predictionWrapper;\r\n headline: textStyle = {} as textStyle;\r\n timerBadge: timerBadgePrediction = {} as timerBadgePrediction;\r\n predictionBar: predictionBar = {} as predictionBar;\r\n predictionPoints: predictionPoints = {} as predictionPoints;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameExperienceData {\r\n previousLevel: number = 0;\r\n current: number = 0;\r\n nextLevel: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameHealthData {\r\n current: number = 0;\r\n max: number = 0;\r\n shield: number = 0;\r\n physicalShield: number = 0;\r\n magicalShield: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ResourceType {\r\n mana = 0,\r\n energy = 1,\r\n none = 2,\r\n shield = 3,\r\n battlefury = 4,\r\n dragonfury = 5,\r\n rage = 6,\r\n heat = 7,\r\n gnarfury = 8,\r\n ferocity = 9,\r\n bloodwell = 10,\r\n wind = 11,\r\n ammo = 12,\r\n moonlight = 13,\r\n other = 14,\r\n unknown = 255\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ResourceType } from \"./ResourceType\";\r\n\r\nexport class ingameResourceData {\r\n type: ResourceType = ResourceType.mana;\r\n current: number = 0;\r\n max: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum IngameSideInfoPageType {\r\n Gold = 1,\r\n Experience = 2,\r\n CreepScore = 4,\r\n Damage = 8,\r\n None = 16,\r\n SkinDisplay = 32,\r\n RoleQuest = 64,\r\n TowerPlatings = 128\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameSideInfoPageDisplayData } from \"./ingameSideInfoPageDisplayData\";\r\nimport { ingameSideInfoPageRow } from \"./ingameSideInfoPageRow\";\r\nimport { IngameSideInfoPageType } from \"./IngameSideInfoPageType\";\r\n\r\nexport class ingameSideInfoPage {\r\n type: IngameSideInfoPageType = IngameSideInfoPageType.Gold;\r\n title: string = \"\";\r\n players: ingameSideInfoPageRow[] = [];\r\n display: ingameSideInfoPageDisplayData = {} as ingameSideInfoPageDisplayData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameSideInfoPageDisplayData {\r\n showHero: boolean = false;\r\n showMinValue: boolean = false;\r\n showCurValue: boolean = false;\r\n showMaxValue: boolean = false;\r\n showBar: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class ingameSideInfoPageRow {\r\n champion?: simpleChampionData;\r\n playerName?: string;\r\n displayName?: string;\r\n team?: number;\r\n minValue?: number;\r\n curValue?: number;\r\n displayValue?: number;\r\n displayValueSuffix?: string;\r\n maxValue?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameAbilityInfo } from \"../ingameAbilityInfo\";\r\nimport { ingameExperienceData } from \"./ingameExperienceData\";\r\nimport { ingameHealthData } from \"./ingameHealthData\";\r\nimport { ingameResourceData } from \"./ingameResourceData\";\r\nimport { perkInfoV2 } from \"../../shared/perkInfoV2\";\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class tabPlayer {\r\n id: string = \"\";\r\n playerName: string = \"\";\r\n playerHashtag: string = \"\";\r\n displayName: string = \"\";\r\n givenName: string = \"\";\r\n familyName: string = \"\";\r\n championAssets?: simpleChampionData;\r\n abilities: ingameAbilityInfo[] = [];\r\n perks: perkInfoV2[] = [];\r\n health: ingameHealthData = {} as ingameHealthData;\r\n resource: ingameResourceData = {} as ingameResourceData;\r\n stacksData?: number;\r\n hasBaron: boolean = false;\r\n hasElder: boolean = false;\r\n level: number = 0;\r\n experience: ingameExperienceData = {} as ingameExperienceData;\r\n respawnAt?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { tabPlayer } from \"./tabPlayer\";\r\n\r\nexport class tabTeam {\r\n id: number = 0;\r\n players: tabPlayer[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamfightKillEvent } from \"./teamfightKillEvent\";\r\nimport { teamfightTimelinePlayer } from \"./teamfightTimelinePlayer\";\r\nimport { teamfightTimelineSample } from \"./teamfightTimelineSample\";\r\n\r\nexport class ingameTeamfightTimelineData {\r\n startTime: number = 0;\r\n endTime: number = 0;\r\n samples: teamfightTimelineSample[] = [];\r\n players: teamfightTimelinePlayer[] = [];\r\n kills: teamfightKillEvent[] = [];\r\n totalDamagePerPlayer: number[] = [];\r\n blueTotalDamage: number = 0;\r\n redTotalDamage: number = 0;\r\n blueKills: number = 0;\r\n redKills: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { Team } from \"../../shared/style/Team\";\r\n\r\nexport class teamfightKillEvent {\r\n gameTime: number = 0;\r\n killerName: string = \"\";\r\n killerDisplayName: string = \"\";\r\n victimName: string = \"\";\r\n victimDisplayName: string = \"\";\r\n killerChampion?: simpleChampionData;\r\n victimChampion?: simpleChampionData;\r\n killerTeam: Team = Team.None;\r\n assisterNames: string[] = [];\r\n assisterDisplayNames: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\nimport { Team } from \"../../shared/style/Team\";\r\n\r\nexport class teamfightTimelinePlayer {\r\n champion?: simpleChampionData;\r\n name: string = \"\";\r\n displayName: string = \"\";\r\n team: Team = Team.None;\r\n totalDamage: number = 0;\r\n died: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamfightTimelineSample {\r\n gameTime: number = 0;\r\n damageValues: number[] = [];\r\n teamCumulativeDamage: number[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum BestOfType {\r\n BestOf1 = 1,\r\n BestOf2 = 2,\r\n BestOf3 = 3,\r\n BestOf5 = 5,\r\n BestOf7 = 7\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../../shared/BestOfType\";\r\nimport { ingameScoreboardTeamData } from \"./ingameScoreboardTeamData\";\r\n\r\nexport class ingameScoreboardData {\r\n teams: ingameScoreboardTeamData[] = [];\r\n gameTime: number = 0;\r\n bestOf: BestOfType = BestOfType.BestOf1;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ingameObjectivePowerPlay } from \"../ingameObjectivePowerPlay\";\r\nimport { teamScore } from \"../../shared/teamScore\";\r\n\r\nexport class ingameScoreboardTeamData {\r\n teamName: string = \"\";\r\n teamTag: string = \"\";\r\n teamIconUrl: string = \"\";\r\n seriesScore: teamScore = {} as teamScore;\r\n totalScore: teamScore = {} as teamScore;\r\n infoText: string = \"\";\r\n gold: number = 0;\r\n kills: number = 0;\r\n towers: number = 0;\r\n towerPlates: number = 0;\r\n grubs: number = 0;\r\n dragons: string[] = [];\r\n baronPowerPlay?: ingameObjectivePowerPlay;\r\n dragonPowerPlay?: ingameObjectivePowerPlay;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class websocketMessageTypes {\r\n static readonly applicationLifetime = \"application-lifetime\";\r\n static readonly appSettingsUpdated = \"app-settings-updated\";\r\n static readonly cDragonCacheProgress = \"cDragonCacheProgress\";\r\n static readonly cDragonV2Progress = \"cDragonV2Progress\";\r\n static readonly cDragonV2Status = \"cDragonV2Status\";\r\n static readonly gameStatus = \"gameStatus\";\r\n static readonly champSelectState = \"champion-select-state-update\";\r\n static readonly champSelectAction = \"champion-select-action\";\r\n static readonly ingameState = \"ingame-state-update\";\r\n static readonly ingameRewind = \"ingame-rewind\";\r\n static readonly ingameTelemetry = \"ingame-telemetry\";\r\n static readonly fontsChanged = \"fonts-changed\";\r\n static readonly matchDatabaseUpdate = \"match-database-update\";\r\n static readonly gameDatabaseUpdate = \"game-database-update\";\r\n static readonly gameTeamSidesSwapped = \"game-team-sides-swapped\";\r\n static readonly teamDatabaseUpdate = \"team-database-update\";\r\n static readonly seasonDatabaseUpdate = \"season-database-update\";\r\n static readonly appNotification = \"app-notification\";\r\n static readonly appNotificationCompleted = \"app-notification-completed\";\r\n static readonly ingameStyleUpdate = \"ingame-style-update\";\r\n static readonly globalScoreboardUpdate = \"global-scoreboard-update\";\r\n static readonly spawnTimerUpdate = \"spawn-timer-update\";\r\n static readonly inhibitorTimerSingleUpdate = \"inhibitor-timer-single-update\";\r\n static readonly inhibitorTimerDualUpdate = \"inhibitor-timer-dual-update\";\r\n static readonly championTabLeftUpdate = \"championtab-left-update\";\r\n static readonly championTabRightUpdate = \"championtab-right-update\";\r\n static readonly championTabUpdate = \"championtab-update\";\r\n static readonly playerScoreboardSlotUpdate = \"player-scoreboard-slot-update\";\r\n static readonly playerScoreboardContainerUpdate = \"player-scoreboard-container-update\";\r\n static readonly playerScoreboardGoldComparisonUpdate = \"player-scoreboard-gold-comparison-update\";\r\n static readonly styleSetUpdate = \"style-set-update\";\r\n static readonly styleVariantUpdate = \"style-variant-update\";\r\n static readonly updateActiveStyleSet = \"update-active-style-set\";\r\n static readonly postGameRoute = \"postgame-route-change\";\r\n static readonly postGameMockingUpdate = \"postgame-mocking-update\";\r\n static readonly gameResumed = \"game-state-resumed\";\r\n static readonly gamePaused = \"game-state-paused\";\r\n static readonly frontendRouteUpdate = \"frontend-route-update\";\r\n static readonly strokePropertiesUpdate = \"stroke-properties-update\";\r\n static readonly hotkeyFired = \"hotkey-fired\";\r\n static readonly activeComponentChanged = \"active-component-changed\";\r\n static readonly disabledOverlaysUpdate = \"disabled-overlays-update\";\r\n static readonly userFeaturesUpdated = \"user-features-updated\";\r\n static readonly damageEventHistoryUpdate = \"damage-event-history-update\";\r\n static readonly customOverlayUpdate = \"custom-overlay-update\";\r\n static readonly brushPresetsUpdate = \"brush-presets-update\";\r\n static readonly telestratorConfigUpdate = \"telestrator-config-update\";\r\n static readonly telestratorHotkeyFired = \"telestrator-hotkey-fired\";\r\n static readonly scriptEditorSwitch = \"script-editor-switch\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class authHelloMessage {\r\n type: string = \"\";\r\n token?: string;\r\n clientType: string = \"\";\r\n clientName?: string;\r\n protocolVersion: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class authHelloOkMessage {\r\n type: string = \"\";\r\n clientId: string = \"\";\r\n capabilities: string[] = [];\r\n serverVersion: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingEventMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n eventType: string = \"\";\r\n strokeId?: string;\r\n color?: string;\r\n width?: number;\r\n layer?: string;\r\n points?: number[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { drawingStrokeDto } from \"./drawingStrokeDto\";\r\n\r\nexport class drawingStateMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n targetClientId: string = \"\";\r\n strokes: drawingStrokeDto[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingStateRequestMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n targetClientId: string = \"\";\r\n targetMemberId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class drawingStrokeDto {\r\n strokeId: string = \"\";\r\n color: string = \"\";\r\n width: number = 0;\r\n layer?: string;\r\n points: number[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubErrorMessage {\r\n type: string = \"\";\r\n code: number = 0;\r\n message: string = \"\";\r\n requestType?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubMemberDto {\r\n id: string = \"\";\r\n clientType: string = \"\";\r\n clientName?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubPingMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hubPongMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { hubMemberDto } from \"./hubMemberDto\";\r\n\r\nexport class roomJoinedMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n roomType: string = \"\";\r\n roomKey: string = \"\";\r\n slug?: string;\r\n memberId: string = \"\";\r\n members: hubMemberDto[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomJoinMessage {\r\n type: string = \"\";\r\n roomType: string = \"\";\r\n roomKey: string = \"\";\r\n slug?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomLeaveMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { hubMemberDto } from \"./hubMemberDto\";\r\n\r\nexport class roomMemberJoinedMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n member: hubMemberDto = {} as hubMemberDto;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class roomMemberLeftMessage {\r\n type: string = \"\";\r\n roomId: string = \"\";\r\n memberId: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameRewindMessage {\r\n type: string = \"\";\r\n fromTime: number = 0;\r\n toTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { transitionEvents } from \"../../ingame/event/transitionEvents\";\r\n\r\nexport class ingameStateMessage {\r\n type: string = \"\";\r\n events?: transitionEvents;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { pickBanActionEventArgs } from \"../../pregame/pickBanActionEventArgs\";\r\n\r\nexport class champSelectActionMessage {\r\n type: string = \"\";\r\n action: pickBanActionEventArgs = {} as pickBanActionEventArgs;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { champSelectStateData } from \"../../pregame/champSelectStateData\";\r\n\r\nexport class champSelectStateMessage {\r\n type: string = \"\";\r\n state: champSelectStateData = {} as champSelectStateData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class frontendRouteUpdateMessage {\r\n type: string = \"\";\r\n uri: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Team } from \"../../shared/style/Team\";\r\n\r\nexport class activeComponentChangedEventArgs {\r\n componentName?: string;\r\n gameId?: number;\r\n matchId?: number;\r\n playerIndex?: number;\r\n team?: Team;\r\n componentSettings?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Team } from \"../../shared/style/Team\";\r\n\r\nexport class activeComponentChangedMessage {\r\n type: string = \"\";\r\n componentName?: string;\r\n gameId?: number;\r\n matchId?: number;\r\n playerIndex?: number;\r\n team?: Team;\r\n componentSettings?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationLifetimeMessage {\r\n type: string = \"\";\r\n message: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationNotificationCompletedMessage {\r\n type: string = \"\";\r\n id: string = \"\";\r\n result: boolean = false;\r\n args: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class applicationNotificationMessage {\r\n type: string = \"\";\r\n id: string = \"\";\r\n title: string = \"\";\r\n message: string = \"\";\r\n args: string[] = [];\r\n accept: string = \"\";\r\n decline?: string;\r\n timestamp: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AssetType {\r\n Item = 0,\r\n ItemModifier = 1,\r\n Champion = 2,\r\n ChampionAbility = 3,\r\n ChampionSkin = 4,\r\n Summoner = 5,\r\n Perk = 6,\r\n PerkStyle = 7,\r\n PerkSpell = 8,\r\n Shared = 9,\r\n Unknown = 10\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { brushPreset } from \"../../config/brush-presets/brushPreset\";\r\n\r\nexport class brushPresetsChangedMessage {\r\n type: string = \"\";\r\n presets: brushPreset[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CacheOperation {\r\n Starting = 0,\r\n FetchingMetadata = 1,\r\n Verifying = 2,\r\n Downloading = 3,\r\n Copying = 4,\r\n BuildingManifest = 5,\r\n Complete = 6,\r\n Failed = 7,\r\n Cleanup = 8\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorRGBA {\r\n r: number = 0;\r\n g: number = 0;\r\n b: number = 0;\r\n a: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class communityDragonCacheProgressMessage {\r\n type: string = \"\";\r\n statusMessage: string = \"\";\r\n fileProgress: number = 0;\r\n filesToDownload: number = 0;\r\n filesToVerify: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { AssetType } from \"./AssetType\";\r\nimport { CacheOperation } from \"./CacheOperation\";\r\n\r\nexport class communityDragonV2ProgressMessage {\r\n type: string = \"\";\r\n operation: CacheOperation = CacheOperation.Starting;\r\n version?: string;\r\n assetType?: AssetType;\r\n current: number = 0;\r\n total: number = 0;\r\n fileName?: string;\r\n message?: string;\r\n progressPercent: number = 0;\r\n estimatedRemainingMs?: number;\r\n elapsedMs: number = 0;\r\n isStepComplete: boolean = false;\r\n isVersionComplete: boolean = false;\r\n aggregateTotal: number = 0;\r\n aggregateCurrent: number = 0;\r\n aggregateProgressPercent: number = 0;\r\n aggregateElapsedMs: number = 0;\r\n aggregateEstimatedRemainingMs?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class communityDragonV2StatusMessage {\r\n type: string = \"\";\r\n version: string = \"\";\r\n status: string = \"\";\r\n errorMessage?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { customOverlayDescriptor } from \"../../shared/customoverlay/customOverlayDescriptor\";\r\n\r\nexport class customOverlayUpdateMessage {\r\n type: string = \"\";\r\n overlays: customOverlayDescriptor[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageEventHistoryEntry } from \"../../ingame/damageEvent/damageEventHistoryEntry\";\r\n\r\nexport class damageEventHistoryUpdateMessage {\r\n type: string = \"\";\r\n entry: damageEventHistoryEntry = {} as damageEventHistoryEntry;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class fontsChangedMessage {\r\n type: string = \"\";\r\n fonts: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DatabaseUpdateType {\r\n Add = 0,\r\n Remove = 1,\r\n Update = 2,\r\n Start = 3,\r\n End = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/DatabaseUpdateType\";\r\nimport { gameWithTeams } from \"../../shared/gameWithTeams\";\r\n\r\nexport class gameDatabaseUpdateMessage {\r\n type: string = \"\";\r\n game: gameWithTeams = {} as gameWithTeams;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { GameState } from \"../../shared/GameState\";\r\n\r\nexport class gameStatusMessage {\r\n type: string = \"\";\r\n gameState: GameState = GameState.OutOfGame;\r\n isTestingEnvironment?: boolean;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameWithTeams } from \"../../shared/gameWithTeams\";\r\n\r\nexport class gameTeamSidesSwappedMessage {\r\n type: string = \"\";\r\n game: gameWithTeams = {} as gameWithTeams;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class hotkeyFiredMessage {\r\n type: string = \"\";\r\n activatedButtonId: string = \"\";\r\n activatedOverlayName: string = \"\";\r\n activatedOverlayId?: number;\r\n toggle: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameTelemetryMessage {\r\n type: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/DatabaseUpdateType\";\r\nimport { matchWithGamesAndTeams } from \"../../shared/matchWithGamesAndTeams\";\r\n\r\nexport class matchDatabaseUpdateMessage {\r\n type: string = \"\";\r\n match: matchWithGamesAndTeams = {} as matchWithGamesAndTeams;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorRGBA } from \"./colorRGBA\";\r\nimport { StrokeLayer } from \"./StrokeLayer\";\r\nimport { StrokeLineStyle } from \"./StrokeLineStyle\";\r\nimport { StrokeTipStyle } from \"./StrokeTipStyle\";\r\n\r\nexport class partialStrokeProperties {\r\n active?: boolean;\r\n color?: colorRGBA;\r\n width?: number;\r\n layer?: StrokeLayer;\r\n startTip?: StrokeTipStyle;\r\n endTip?: StrokeTipStyle;\r\n lineStyle?: StrokeLineStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/DatabaseUpdateType\";\r\nimport { seasonData } from \"../../shared/seasonData\";\r\n\r\nexport class seasonDatabaseUpdateMessage {\r\n type: string = \"\";\r\n season: seasonData = {} as seasonData;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeLayer {\r\n underEverything = 0,\r\n aboveTerrain = 1,\r\n belowHUD = 2,\r\n aboveHealthbars = 3,\r\n twoDee = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeLineStyle {\r\n solid = 0,\r\n dashed = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { partialStrokeProperties } from \"./partialStrokeProperties\";\r\n\r\nexport class strokePropertiesChangedMessage {\r\n type: string = \"\";\r\n properties: partialStrokeProperties = {} as partialStrokeProperties;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum StrokeTipStyle {\r\n circle = 0,\r\n rectangle = 1,\r\n triangleArrow = 2,\r\n roundBackwardsArrow = 3,\r\n sharpBackwardsArrow = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleSetUpdatedMessage {\r\n type: string = \"\";\r\n styleSetName: string = \"\";\r\n variantType: string = \"\";\r\n variantName: string = \"\";\r\n variantIsActive: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleVariantUpdatedEventArgs {\r\n variantName: string = \"\";\r\n variantType: string = \"\";\r\n variantStyle?: any;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleVariantUpdateMessage {\r\n type: string = \"\";\r\n variantName: string = \"\";\r\n variantType: string = \"\";\r\n variantStyle?: any;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DatabaseUpdateType } from \"../../shared/DatabaseUpdateType\";\r\nimport { teamWithMembers } from \"../../shared/teamWithMembers\";\r\n\r\nexport class teamDatabaseUpdateMessage {\r\n type: string = \"\";\r\n team: teamWithMembers = {} as teamWithMembers;\r\n updateType: DatabaseUpdateType = DatabaseUpdateType.Add;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Tier {\r\n Free = 0,\r\n Basic = 1,\r\n Pro = 2,\r\n Enterprise = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class userFeaturesUpdatedMessage {\r\n type: string = \"\";\r\n isStartup: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Tier } from \"./Tier\";\r\n\r\nexport class userTierUpdatedMessage {\r\n type: string = \"\";\r\n tier: Tier = Tier.Free;\r\n isStartup: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class infoRow {\r\n key: string = \"\";\r\n value: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { matchOverviewGameSummary } from \"./matchOverviewGameSummary\";\r\n\r\nexport class matchOverviewData {\r\n games: matchOverviewGameSummary[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { matchOverviewTeamSummary } from \"./matchOverviewTeamSummary\";\r\n\r\nexport class matchOverviewGameSummary {\r\n gameId: number = 0;\r\n gameNumber: number = 0;\r\n gameTime: number = 0;\r\n gameDate?: Date;\r\n gameWinnerId?: number;\r\n teamSummaries: { [key: number]: matchOverviewTeamSummary } = {};\r\n isComplete: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\n\r\nexport class matchOverviewTeamSummary {\r\n teamId: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n picks: simpleChampionData[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { vector3 } from \"./vector3\";\r\n\r\nexport class playerDeath {\r\n id: number = 0;\r\n gameId: number = 0;\r\n position: vector3 = {} as vector3;\r\n gameTime: number = 0;\r\n killerId: string = \"\";\r\n victimId: string = \"\";\r\n assisterIds: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PostGameDataType {\r\n At14Min = 0,\r\n FullGame = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraph } from \"./damage/postGameDamageGraph\";\r\nimport { postGameGoldGraph } from \"./gold/postGameGoldGraph\";\r\nimport { postGameTeamOverview } from \"./postGameTeamOverview\";\r\nimport { teamData } from \"../shared/teamData\";\r\n\r\nexport class postGameOverview {\r\n gameTime: number = 0;\r\n gameDate?: Date;\r\n patch: string = \"\";\r\n winnerSide?: number;\r\n teamInfoBySide: { [key: number]: teamData } = {};\r\n teamOverviewBySide: { [key: number]: postGameTeamOverview } = {};\r\n goldGraph?: postGameGoldGraph;\r\n damageGraph?: postGameDamageGraph;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PostGameDataType } from \"./PostGameDataType\";\r\n\r\nexport class postGamePlayerInfo {\r\n id: number = 0;\r\n gameId: number = 0;\r\n dataType: PostGameDataType = PostGameDataType.At14Min;\r\n puuid: string = \"\";\r\n championIdentifier?: string;\r\n teamSide: number = 0;\r\n laneIndex: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n creepScore: number = 0;\r\n visionScore: number = 0;\r\n gold: number = 0;\r\n damageDealt: number = 0;\r\n physicalDamageDealt: number = 0;\r\n magicDamageDealt: number = 0;\r\n trueDamageDealt: number = 0;\r\n damageTaken: number = 0;\r\n physicalDamageTaken: number = 0;\r\n magicDamageTaken: number = 0;\r\n trueDamageTaken: number = 0;\r\n wardsPlaced: number = 0;\r\n wardsKilled: number = 0;\r\n controlWardsPlaced: number = 0;\r\n deepWardsPlaced: number = 0;\r\n turretPlatesTaken: number = 0;\r\n towersTaken: number = 0;\r\n summonerSpell1Id?: number;\r\n summonerSpell2Id?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerPage {\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemAsset } from \"../shared/itemAsset\";\r\nimport { perkData } from \"../shared/perkData\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerRunesAndItems {\r\n perks: perkData = {} as perkData;\r\n items: itemAsset[] = [];\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { infoRow } from \"./infoRow\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGamePlayerStats {\r\n infoRows: infoRow[] = [];\r\n champion: simpleChampionData = {} as simpleChampionData;\r\n nameWithTag: string = \"\";\r\n displayName: string = \"\";\r\n description?: string;\r\n team?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PostGameDataType } from \"./PostGameDataType\";\r\n\r\nexport class postGameTeamInfo {\r\n gameId: number = 0;\r\n teamId: number = 0;\r\n dataType: PostGameDataType = PostGameDataType.At14Min;\r\n teamSide: number = 0;\r\n towers: number = 0;\r\n turretPlates: number = 0;\r\n grubs: number = 0;\r\n riftHeralds: number = 0;\r\n gold: number = 0;\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\n\r\nexport class postGameTeamOverview {\r\n kills: number = 0;\r\n deaths: number = 0;\r\n assists: number = 0;\r\n gold: number = 0;\r\n towers: number = 0;\r\n grubs: number = 0;\r\n heralds: number = 0;\r\n dragons: string[] = [];\r\n elderDragons: number = 0;\r\n baronNashors: number = 0;\r\n bans: simpleChampionData[] = [];\r\n metaData?: teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class vector3 {\r\n x: number = 0;\r\n y: number = 0;\r\n z: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraphByTeam } from \"./postGameDamageGraphByTeam\";\r\n\r\nexport class postGameDamageGraph {\r\n damageByTeam: { [key: number]: postGameDamageGraphByTeam } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { postGameDamageGraphEntry } from \"./postGameDamageGraphEntry\";\r\nimport { teamWithMembers } from \"../../shared/teamWithMembers\";\r\n\r\nexport class postGameDamageGraphByTeam {\r\n entries: postGameDamageGraphEntry[] = [];\r\n team: teamWithMembers = {} as teamWithMembers;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { simpleChampionData } from \"../../shared/simpleChampionData\";\r\n\r\nexport class postGameDamageGraphEntry {\r\n champion?: simpleChampionData;\r\n damage: number = 0;\r\n magicDamage: number = 0;\r\n physicalDamage: number = 0;\r\n trueDamage: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { singleGameGoldGraph } from \"./singleGameGoldGraph\";\r\nimport { teamData } from \"../../shared/teamData\";\r\n\r\nexport class postGameGoldGraph {\r\n current: singleGameGoldGraph = {} as singleGameGoldGraph;\r\n previousGames?: singleGameGoldGraph[];\r\n title?: string;\r\n teams: { [key: number]: teamData } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class singleGameGoldGraph {\r\n goldAtTime: { [key: number]: { [key: number]: number } } = {};\r\n winner?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { combinedViewTransitionStyle } from \"./combinedViewTransitionStyle\";\r\n\r\nexport class combinedViewStyle {\r\n transition: combinedViewTransitionStyle = {} as combinedViewTransitionStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CombinedViewTransitionType {\r\n Cut = 0,\r\n Fade = 1,\r\n Stinger = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CombinedViewTransitionType } from \"./CombinedViewTransitionType\";\r\n\r\nexport class combinedViewTransitionStyle {\r\n type: CombinedViewTransitionType = CombinedViewTransitionType.Cut;\r\n durationMs: number = 0;\r\n stingerUrl: string = \"\";\r\n stingerSwapTimeMs: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { fearlessTreeBanRowStyle } from \"./fearlessTreeBanRowStyle\";\r\nimport { fearlessTreeConnectorStyle } from \"./fearlessTreeConnectorStyle\";\r\nimport { fearlessTreeGameNodeStyle } from \"./fearlessTreeGameNodeStyle\";\r\nimport { fearlessTreeHeaderStyle } from \"./fearlessTreeHeaderStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessTree {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: fearlessTreeHeaderStyle = {} as fearlessTreeHeaderStyle;\r\n gameNode: fearlessTreeGameNodeStyle = {} as fearlessTreeGameNodeStyle;\r\n connector: fearlessTreeConnectorStyle = {} as fearlessTreeConnectorStyle;\r\n banRow: fearlessTreeBanRowStyle = {} as fearlessTreeBanRowStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessTreeBanRowStyle {\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\n\r\nexport class fearlessTreeConnectorStyle {\r\n lineColor: string | colorStyle = \"\";\r\n lineWidth: string = \"\";\r\n offsetLeft: number = 0;\r\n offsetRight: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class fearlessTreeGameNodeStyle {\r\n background: string | colorStyle = \"\";\r\n labelText: string = \"\";\r\n labelStyle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n currentIconSize: string = \"\";\r\n previousIconSize: string = \"\";\r\n banMarkColor: string | colorStyle = \"\";\r\n banMarkSize: string = \"\";\r\n teamRowGap: string = \"\";\r\n iconGap: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class fearlessTreeHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { damageStatsStyle } from \"./damageStatsStyle\";\r\nimport { goldGraphStyle } from \"./goldGraphStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchSummaryStyle } from \"./matchSummaryStyle\";\r\nimport { teamsAndTimerStyle } from \"./teamsAndTimerStyle\";\r\n\r\nexport class contentContainerStyle {\r\n teamsAndTimer: teamsAndTimerStyle = {} as teamsAndTimerStyle;\r\n damageStats: damageStatsStyle = {} as damageStatsStyle;\r\n matchSummary: matchSummaryStyle = {} as matchSummaryStyle;\r\n goldGraph: goldGraphStyle = {} as goldGraphStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class curveStyle {\r\n blueLineColor?: string | colorStyle = \"\";\r\n blueAreaColor?: string | colorStyle = \"\";\r\n redLineColor?: string | colorStyle = \"\";\r\n redAreaColor?: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"../../../shared/style/borderStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class damageBarStyle {\r\n magicDamageBackground?: string | colorStyle = \"\";\r\n physicalDamageBackground?: string | colorStyle = \"\";\r\n trueDamageBackground?: string | colorStyle = \"\";\r\n background?: string | colorStyle = \"\";\r\n border?: borderStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamDamageStyle } from \"./teamDamageStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class damageStatsStyle {\r\n headline: textStyle = {} as textStyle;\r\n damageByType: boolean = false;\r\n redTeam: teamDamageStyle = {} as teamDamageStyle;\r\n blueTeam: teamDamageStyle = {} as teamDamageStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { contentContainerStyle } from \"./contentContainerStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class gameAnalysis {\r\n contentContainer: contentContainerStyle = {} as contentContainerStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class gameTimerStyle {\r\n timertext: textStyle = {} as textStyle;\r\n timerlabel: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { curveStyle } from \"./curveStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class goldGraphStyle {\r\n headline: textStyle = {} as textStyle;\r\n axis: textStyle = {} as textStyle;\r\n verticalSeparator: string | colorStyle = \"\";\r\n horizontalSeparator: string | colorStyle = \"\";\r\n curve: curveStyle = {} as curveStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { teamSummaryStyle } from \"./teamSummaryStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchSummaryStyle {\r\n labeling: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n redTeam: teamSummaryStyle = {} as teamSummaryStyle;\r\n blueTeam: teamSummaryStyle = {} as teamSummaryStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { damageBarStyle } from \"./damageBarStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamDamageStyle {\r\n championImage: layoutStyle = {} as layoutStyle;\r\n damageText: textStyle = {} as textStyle;\r\n damageBar: damageBarStyle = {} as damageBarStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { gameTimerStyle } from \"./gameTimerStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { timerTeamStyle } from \"./timerTeamStyle\";\r\n\r\nexport class teamsAndTimerStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n blueTeam: timerTeamStyle = {} as timerTeamStyle;\r\n redTeam: timerTeamStyle = {} as timerTeamStyle;\r\n gameTimer: gameTimerStyle = {} as gameTimerStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class teamSummaryStyle {\r\n text: textStyle = {} as textStyle;\r\n drakeImage: layoutStyle = {} as layoutStyle;\r\n championImage: layoutStyle = {} as layoutStyle;\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class timerTeamStyle {\r\n teamname: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n nameTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupOverviewGameRowStyle } from \"./matchupOverviewGameRowStyle\";\r\nimport { matchupOverviewHeaderStyle } from \"./matchupOverviewHeaderStyle\";\r\nimport { matchupOverviewTeamBarStyle } from \"./matchupOverviewTeamBarStyle\";\r\n\r\nexport class matchupOverview {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: matchupOverviewHeaderStyle = {} as matchupOverviewHeaderStyle;\r\n teamBar: matchupOverviewTeamBarStyle = {} as matchupOverviewTeamBarStyle;\r\n gameRow: matchupOverviewGameRowStyle = {} as matchupOverviewGameRowStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championIconStyle } from \"../../../shared/style/championIconStyle\";\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { ContentAlign } from \"../../../shared/style/ContentAlign\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewGameRowStyle {\r\n background: string | colorStyle = \"\";\r\n activeBackground: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n championIcon: championIconStyle = {} as championIconStyle;\r\n championIconGap: string = \"\";\r\n championsAlign: ContentAlign = ContentAlign.TopLeft;\r\n kdaText: textStyle = {} as textStyle;\r\n kdaLayout: layoutStyle = {} as layoutStyle;\r\n gameTimeText: textStyle = {} as textStyle;\r\n scoreText: textStyle = {} as textStyle;\r\n scoreLayout: layoutStyle = {} as layoutStyle;\r\n gameTimeLabelText: string = \"\";\r\n winnerColor: string | colorStyle = \"\";\r\n loserColor: string | colorStyle = \"\";\r\n showDifferentTextWhenUnplayed: boolean = false;\r\n unplayedScoreRow: textStyle = {} as textStyle;\r\n unplayedScoreRowLabelText: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupVersusStyle } from \"../matchupTable/matchupVersusStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupOverviewTeamBarStyle {\r\n teamNameText: textStyle = {} as textStyle;\r\n teamNameTemplate: string = \"\";\r\n iconSize: string = \"\";\r\n versus: matchupVersusStyle = {} as matchupVersusStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupScoreStyle } from \"./matchupScoreStyle\";\r\nimport { matchupVersusStyle } from \"./matchupVersusStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchCardStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n teamTag: textStyle = {} as textStyle;\r\n versus: matchupVersusStyle = {} as matchupVersusStyle;\r\n score: matchupScoreStyle = {} as matchupScoreStyle;\r\n iconSize: string = \"\";\r\n upcomingHighlight: string | colorStyle = \"\";\r\n upcomingBorder: string | colorStyle = \"\";\r\n winnerColor: string | colorStyle = \"\";\r\n loserColor: string | colorStyle = \"\";\r\n defaultColor: string | colorStyle = \"\";\r\n dateText: textStyle = {} as textStyle;\r\n dateTimeTemplate: string = \"\";\r\n teamTagTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class matchupGridStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gap: string = \"\";\r\n columns: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupHeaderStyle {\r\n titleText: string = \"\";\r\n title: textStyle = {} as textStyle;\r\n subtitleText: string = \"\";\r\n subtitle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupScoreStyle {\r\n text: textStyle = {} as textStyle;\r\n displayMode: string = \"\";\r\n borderMode: string = \"\";\r\n dotSize: string = \"\";\r\n dotColor: string | colorStyle = \"\";\r\n dotEmptyColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchupTableContentStyle } from \"./matchupTableContentStyle\";\r\n\r\nexport class matchupTable {\r\n content: matchupTableContentStyle = {} as matchupTableContentStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { matchCardStyle } from \"./matchCardStyle\";\r\nimport { matchupGridStyle } from \"./matchupGridStyle\";\r\nimport { matchupHeaderStyle } from \"./matchupHeaderStyle\";\r\n\r\nexport class matchupTableContentStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n header: matchupHeaderStyle = {} as matchupHeaderStyle;\r\n grid: matchupGridStyle = {} as matchupGridStyle;\r\n matchCard: matchCardStyle = {} as matchCardStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class matchupVersusStyle {\r\n text: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n vsText: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ScoreDisplayMode {\r\n Dots = 0,\r\n Squares = 1,\r\n Diamonds = 2,\r\n Numbers = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ScoreDotBorderMode {\r\n Always = 0,\r\n EmptyOnly = 1,\r\n Never = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class championContainer {\r\n championImage: layoutStyle = {} as layoutStyle;\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n heading: textStyle = {} as textStyle;\r\n subHeading: textStyle = {} as textStyle;\r\n nameTemplate: string = \"\";\r\n subHeadingTemplate: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championContainer } from \"./championContainer\";\r\nimport { championStatsContainer } from \"./championStatsContainer\";\r\nimport { itemStats } from \"./itemStats\";\r\nimport { runeContainer } from \"./runeContainer\";\r\n\r\nexport class championStats {\r\n container: championStatsContainer = {} as championStatsContainer;\r\n championInfoContainer: championContainer = {} as championContainer;\r\n runeContainer: runeContainer = {} as runeContainer;\r\n itemStats: itemStats = {} as itemStats;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class championStatsContainer {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n useCustomBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class divider {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { laneIconStyle } from \"./laneIconStyle\";\r\nimport { laneRowLayoutStyle } from \"./laneRowLayoutStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessDraftStyle {\r\n container: layoutStyle = {} as layoutStyle;\r\n laneIconStyle: laneIconStyle = {} as laneIconStyle;\r\n laneRowLayoutStyle: laneRowLayoutStyle = {} as laneRowLayoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { laneIconStyle } from \"./laneIconStyle\";\r\nimport { laneRowLayoutStyle } from \"./laneRowLayoutStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessDraftStylePregame {\r\n container: layoutStyle = {} as layoutStyle;\r\n laneIconStyle: laneIconStyle = {} as laneIconStyle;\r\n laneRowLayoutStyle: laneRowLayoutStyle = {} as laneRowLayoutStyle;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemIcon {\r\n layout: layoutStyle = {} as layoutStyle;\r\n text: textStyle = {} as textStyle;\r\n divider: divider = {} as divider;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { itemIcon } from \"./itemIcon\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class itemStats {\r\n layout: layoutStyle = {} as layoutStyle;\r\n heading: textStyle = {} as textStyle;\r\n item: itemIcon = {} as itemIcon;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class laneIconStyle {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n fillColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\n\r\nexport class laneRowLayoutStyle {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n gapX: string = \"\";\r\n gapY: string = \"\";\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { runeIcon } from \"./runeIcon\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class runeContainer {\r\n heading: textStyle = {} as textStyle;\r\n container: layoutStyle = {} as layoutStyle;\r\n runePathIcon: layoutStyle = {} as layoutStyle;\r\n keyStone: runeIcon = {} as runeIcon;\r\n runes: runeIcon = {} as runeIcon;\r\n divider: divider = {} as divider;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../../shared/style/textStyle\";\r\n\r\nexport class runeIcon {\r\n text: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ActionSubType {\r\n START = 0,\r\n HOVER = 1,\r\n LOCK = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ActionType {\r\n TEN_BANS_REVEAL = 0,\r\n PHASE_TRANSITION = 1,\r\n PICK = 2,\r\n BAN = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\n\r\nexport class banSlot {\r\n isActive: boolean = false;\r\n champion?: championData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banSlot } from \"./banSlot\";\r\nimport { pickSlot } from \"./pickSlot\";\r\nimport { simpleChampionData } from \"../shared/simpleChampionData\";\r\nimport { teamScore } from \"../shared/teamScore\";\r\nimport { teamWithMembers } from \"../shared/teamWithMembers\";\r\nimport { timelineEntry } from \"./timelineEntry\";\r\n\r\nexport class championSelectTeam {\r\n metaData?: teamWithMembers;\r\n bans: banSlot[] = [];\r\n slots: pickSlot[] = [];\r\n timeline: timelineEntry[] = [];\r\n index: number = 0;\r\n scoreMatch: teamScore = {} as teamScore;\r\n scoreSeason: teamScore = {} as teamScore;\r\n fearlessBans?: { [key: number]: simpleChampionData[] };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../shared/BestOfType\";\r\nimport { champSelectStatePerformanceData } from \"./champSelectStatePerformanceData\";\r\nimport { matchData } from \"./matchData\";\r\n\r\nexport class champSelectStateMetaData {\r\n bestOfType: BestOfType = BestOfType.BestOf1;\r\n patch: string = \"0.0.0\";\r\n performanceData: champSelectStatePerformanceData = {} as champSelectStatePerformanceData;\r\n matchData?: matchData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class champSelectStatePerformanceData {\r\n updateDuration: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum MatchRuleSet {\r\n Standard = 0,\r\n PartialFearless = 1,\r\n Fearless = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../shared/BestOfType\";\r\nimport { MatchRuleSet } from \"../shared/MatchRuleSet\";\r\n\r\nexport class matchData {\r\n matchId: number = 0;\r\n seasonId: number = 0;\r\n winnerId?: number;\r\n isActive: boolean = false;\r\n type: BestOfType = BestOfType.BestOf1;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n name?: string;\r\n date?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n onStage: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\n\r\nexport class pickBanActionEventArgs {\r\n type: string = \"\";\r\n subType: string = \"\";\r\n actorId: number = 0;\r\n id: number = 0;\r\n gameTeamId: number = 0;\r\n champion?: championData;\r\n puuid?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PickBanPhase {\r\n BEGIN = 0,\r\n BAN1 = 1,\r\n BAN2 = 2,\r\n PICK1 = 3,\r\n PICK2 = 4,\r\n END = 5,\r\n WAIT = 6\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PickBanPhase } from \"./PickBanPhase\";\r\n\r\nexport class pickBanTimer {\r\n phaseName: PickBanPhase = PickBanPhase.BEGIN;\r\n phaseDuration: number = 0;\r\n timeRemaining: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\nimport { championStatistics } from \"../shared/championStatistics\";\r\nimport { summonerSpellData } from \"../shared/summonerSpellData\";\r\n\r\nexport class pickSlot {\r\n id: number = 0;\r\n isActive: boolean = false;\r\n player: string = \"\";\r\n summonerSpells: summonerSpellData[] = [];\r\n champion?: championData;\r\n championStatistics?: championStatistics;\r\n videoStreamUrl?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TimeLineActionType {\r\n HoverPick = 0,\r\n Pick = 1,\r\n Ban = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championData } from \"../shared/championData\";\r\nimport { pickBanTimer } from \"./pickBanTimer\";\r\nimport { TimeLineActionType } from \"./TimeLineActionType\";\r\n\r\nexport class timelineEntry {\r\n type: TimeLineActionType = TimeLineActionType.HoverPick;\r\n champion: championData = {} as championData;\r\n timer: pickBanTimer = {} as pickBanTimer;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class banSlotLayoutStyling {\r\n blueBanSlot: layoutStyle = {} as layoutStyle;\r\n redBanSlot: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\n\r\nexport class banStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n iconColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum HeroStatsDisplayMode {\r\n None = 0,\r\n UGG = 1,\r\n Tournament = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { bottomRowSizeStyle } from \"./bottomrow/bottomRowSizeStyle\";\r\nimport { bottomRowTeamStyle } from \"./bottomRowTeamStyle\";\r\nimport { bottomRowTournamentData } from \"./bottomrow/bottomRowTournamentData\";\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { HeroStatsDisplayMode } from \"./HeroStatsDisplayMode\";\r\n\r\nexport class bottomRowPickBanStyle {\r\n fileVersion: string = \"1.0\";\r\n background: string | colorStyle = \"\";\r\n size: bottomRowSizeStyle = {} as bottomRowSizeStyle;\r\n tournamentData: bottomRowTournamentData = {} as bottomRowTournamentData;\r\n neutralColor: string | colorStyle = \"\";\r\n leftTeam: bottomRowTeamStyle = {} as bottomRowTeamStyle;\r\n rightTeam: bottomRowTeamStyle = {} as bottomRowTeamStyle;\r\n heroStats: HeroStatsDisplayMode = HeroStatsDisplayMode.None;\r\n heroStatDurationSeconds: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banStyle } from \"./banStyle\";\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { playerSlotPickingStyle } from \"./playerSlotPickingStyle\";\r\nimport { playerSlotStyle } from \"./playerSlotStyle\";\r\nimport { teamInfoStyle } from \"./teamInfoStyle\";\r\n\r\nexport class bottomRowTeamStyle {\r\n color: string | colorStyle = \"\";\r\n banStyle: banStyle = {} as banStyle;\r\n teamInfo: teamInfoStyle = {} as teamInfoStyle;\r\n playerSlotPickingStyle: playerSlotPickingStyle = {} as playerSlotPickingStyle;\r\n playerSlotStyle: playerSlotStyle = {} as playerSlotStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class centerContent {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class centerContentLayoutStyling {\r\n centerContent: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class centerContentStyling {\r\n centerContent: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { centerContent } from \"./centerContent\";\r\nimport { championSlot } from \"./championSlot\";\r\nimport { coachSlot } from \"./coachSlot\";\r\nimport { HeroStatsDisplayMode } from \"./HeroStatsDisplayMode\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { phaseTimer } from \"./phaseTimer\";\r\nimport { pickBans } from \"./pickBans\";\r\nimport { playerSlot } from \"./playerSlot\";\r\nimport { teamName } from \"./teamName\";\r\nimport { tournamentData } from \"./tournamentData\";\r\n\r\nexport class championSelectEUStyle {\r\n fileVersion: string = \"1.0\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n playerSlotLeft: playerSlot = {} as playerSlot;\r\n playerSlotRight: playerSlot = {} as playerSlot;\r\n championSlotLeft: championSlot = {} as championSlot;\r\n championSlotRight: championSlot = {} as championSlot;\r\n pickBansLeft: pickBans = {} as pickBans;\r\n pickBansRight: pickBans = {} as pickBans;\r\n tournamentData: tournamentData = {} as tournamentData;\r\n teamNameRight: teamName = {} as teamName;\r\n teamNameLeft: teamName = {} as teamName;\r\n coachSlotLeft: coachSlot = {} as coachSlot;\r\n coachSlotRight: coachSlot = {} as coachSlot;\r\n phaseTimer: phaseTimer = {} as phaseTimer;\r\n centerContent: centerContent = {} as centerContent;\r\n heroStats: HeroStatsDisplayMode = HeroStatsDisplayMode.None;\r\n heroStatDurationSeconds: number = 0;\r\n showCoaches: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class championSlot {\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n separator: string | colorStyle = \"\";\r\n hover: string | colorStyle = \"\";\r\n separatorWidth: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class championsSlot {\r\n playerName: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class coachSlot {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n show: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { centerContentStyling } from \"./centerContentStyling\";\r\nimport { infoContentColorStyling } from \"./infoContentColorStyling\";\r\nimport { phaseTimerColorStyling } from \"./phaseTimerColorStyling\";\r\nimport { teamColorStyling } from \"./teamColorStyling\";\r\n\r\nexport class colorComponentStyling {\r\n blueTeam: teamColorStyling = {} as teamColorStyling;\r\n redTeam: teamColorStyling = {} as teamColorStyling;\r\n infoContent: infoContentColorStyling = {} as infoContentColorStyling;\r\n centerContent: centerContentStyling = {} as centerContentStyling;\r\n phaseTimer: phaseTimerColorStyling = {} as phaseTimerColorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\n\r\nexport class colorStyling {\r\n backgroundColor: string | colorStyle = \"\";\r\n foregroundColor?: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class divider {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { fearLessSingleRow } from \"./fearLessSingleRow\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class fearLessByGame {\r\n layout: layoutStyle = {} as layoutStyle;\r\n background: string | colorStyle = \"\";\r\n gap: string = \"\";\r\n leftTeamRow: fearLessSingleRow = {} as fearLessSingleRow;\r\n rightTeamRow: fearLessSingleRow = {} as fearLessSingleRow;\r\n fileVersion: string = \"1.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class fearlessChampionImage {\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { divider } from \"./divider\";\r\nimport { fearlessChampionImage } from \"./fearlessChampionImage\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class fearLessSingleRow {\r\n layout: layoutStyle = {} as layoutStyle;\r\n gapX: string = \"\";\r\n gapY: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n divider: divider = {} as divider;\r\n championImage: fearlessChampionImage = {} as fearlessChampionImage;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class infoContentColorStyling {\r\n infoContent: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class infoContentLayoutStyling {\r\n infoContent: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class infoContentTextStyle {\r\n patchText: textStyle = {} as textStyle;\r\n patchNumber: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { banSlotLayoutStyling } from \"./banSlotLayoutStyling\";\r\nimport { centerContentLayoutStyling } from \"./centerContentLayoutStyling\";\r\nimport { infoContentLayoutStyling } from \"./infoContentLayoutStyling\";\r\nimport { phaseTimerLayoutStyling } from \"./phaseTimerLayoutStyling\";\r\nimport { playerSlotLayoutStyling } from \"./playerSlotLayoutStyling\";\r\nimport { teamLayoutStyling } from \"./teamLayoutStyling\";\r\n\r\nexport class layoutComponentStyling {\r\n blueTeam: teamLayoutStyling = {} as teamLayoutStyling;\r\n redTeam: teamLayoutStyling = {} as teamLayoutStyling;\r\n playerSlot: playerSlotLayoutStyling = {} as playerSlotLayoutStyling;\r\n banSlot: banSlotLayoutStyling = {} as banSlotLayoutStyling;\r\n infoContent: infoContentLayoutStyling = {} as infoContentLayoutStyling;\r\n centerContent: centerContentLayoutStyling = {} as centerContentLayoutStyling;\r\n phaseTimer: phaseTimerLayoutStyling = {} as phaseTimerLayoutStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class phaseTimer {\r\n backgroundColor: string | colorStyle = \"\";\r\n leftColor: string | colorStyle = \"\";\r\n rightColor: string | colorStyle = \"\";\r\n neutralColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class phaseTimerColorStyling {\r\n background: colorStyling = {} as colorStyling;\r\n timer: colorStyling = {} as colorStyling;\r\n useTeamColors: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class phaseTimerLayoutStyling {\r\n phaseTimer: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class pickBans {\r\n containerLayout: layoutStyle = {} as layoutStyle;\r\n banLayout: layoutStyle = {} as layoutStyle;\r\n cornerColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlot {\r\n nameTemplate: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n textSizePicking: string = \"\";\r\n textPicking: string = \"\";\r\n textNoPicking: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\n\r\nexport class playerSlotColorStyling {\r\n general: colorStyling = {} as colorStyling;\r\n playerName: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class playerSlotLayoutStyling {\r\n playerSlot: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlotPickingStyle {\r\n textStyle: textStyle = {} as textStyle;\r\n backgroundColor: string | colorStyle = \"\";\r\n hoverColor: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class playerSlotStyle {\r\n nameTemplate: string = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n useVideoBackground: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class scoreStyle {\r\n backgroundColor: string | colorStyle = \"\";\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyling } from \"./colorStyling\";\r\nimport { playerSlotColorStyling } from \"./playerSlotColorStyling\";\r\n\r\nexport class teamColorStyling {\r\n coachSlot: colorStyling = {} as colorStyling;\r\n playerSlot: playerSlotColorStyling = {} as playerSlotColorStyling;\r\n championSlot: colorStyling = {} as colorStyling;\r\n banSlot: colorStyling = {} as colorStyling;\r\n teamName: colorStyling = {} as colorStyling;\r\n fearlessBans: colorStyling = {} as colorStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { scoreStyle } from \"./scoreStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamInfoStyle {\r\n nameTemplate: string = \"\";\r\n backgroundColor: string | colorStyle = \"\";\r\n scoreStyle: scoreStyle = {} as scoreStyle;\r\n layout: layoutStyle = {} as layoutStyle;\r\n textStyle: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\n\r\nexport class teamLayoutStyling {\r\n coachSlot: layoutStyle = {} as layoutStyle;\r\n playerSlot: layoutStyle = {} as layoutStyle;\r\n championSlot: layoutStyle = {} as layoutStyle;\r\n banSlot: layoutStyle = {} as layoutStyle;\r\n teamName: layoutStyle = {} as layoutStyle;\r\n fearlessBans: layoutStyle = {} as layoutStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamName {\r\n nameTemplate: string = \"\";\r\n textStyle: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class teamTextStyle {\r\n coachSlot: textStyle = {} as textStyle;\r\n playerSlot: textStyle = {} as textStyle;\r\n championSlot: textStyle = {} as textStyle;\r\n teamName: textStyle = {} as textStyle;\r\n fearlessBans: textStyle = {} as textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { infoContentTextStyle } from \"./infoContentTextStyle\";\r\nimport { teamTextStyle } from \"./teamTextStyle\";\r\n\r\nexport class textComponentStyling {\r\n blueTeam: teamTextStyle = {} as teamTextStyle;\r\n redTeam: teamTextStyle = {} as teamTextStyle;\r\n infoContent: infoContentTextStyle = {} as infoContentTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class textStyleWithBorder {\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string = \"\";\r\n outlineColor: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"../../shared/style/colorStyle\";\r\nimport { layoutStyle } from \"../../shared/style/layoutStyle\";\r\nimport { textStyle } from \"../../shared/style/textStyle\";\r\n\r\nexport class tournamentData {\r\n layoutStyle: layoutStyle = {} as layoutStyle;\r\n patchNumber: textStyle = {} as textStyle;\r\n patchText: textStyle = {} as textStyle;\r\n background: string | colorStyle = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class bottomRowSizeStyle {\r\n banHeight: string = \"\";\r\n timerHeight: string = \"\";\r\n pickHeight: string = \"\";\r\n pickActiveWidthMultiplier: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { imageStyle } from \"../../../shared/style/imageStyle\";\r\nimport { layoutStyle } from \"../../../shared/style/layoutStyle\";\r\nimport { optionalTextStyle } from \"../../../shared/style/optionalTextStyle\";\r\n\r\nexport class bottomRowTournamentData {\r\n show: boolean = false;\r\n layout: layoutStyle = {} as layoutStyle;\r\n showTournamentIcon: boolean = false;\r\n icon: imageStyle = {} as imageStyle;\r\n matchName: optionalTextStyle = {} as optionalTextStyle;\r\n patch: optionalTextStyle = {} as optionalTextStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorComponentStyling } from \"../colorComponentStyling\";\r\nimport { layoutComponentStyling } from \"../layoutComponentStyling\";\r\nimport { textComponentStyling } from \"../textComponentStyling\";\r\n\r\nexport class legacyPickBanStyle {\r\n fileVersion: string = \"1.0\";\r\n color: colorComponentStyling = {} as colorComponentStyling;\r\n layout: layoutComponentStyling = {} as layoutComponentStyling;\r\n text: textComponentStyling = {} as textComponentStyling;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeEmailRequest {\r\n newEmail: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changeEmailResponse {\r\n codeDestination?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class changePasswordRequest {\r\n oldPassword: string = \"\";\r\n newPassword: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class checkoutCompleteResponse {\r\n redirect: boolean = false;\r\n status?: string;\r\n planId?: string;\r\n plan?: string;\r\n tier?: string;\r\n endDate?: Date;\r\n features?: string[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum PaymentInterval {\r\n Monthly = 0,\r\n Yearly = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { PaymentInterval } from \"./PaymentInterval\";\r\n\r\nexport class checkoutRequestDTO {\r\n plan: string = \"\";\r\n interval: PaymentInterval = PaymentInterval.Monthly;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailConfirmRequest {\r\n email: string = \"\";\r\n code: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailForgotPasswordRequest {\r\n email: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailLoginRequest {\r\n email: string = \"\";\r\n password: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailResendCodeRequest {\r\n email: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailResetPasswordRequest {\r\n email: string = \"\";\r\n code: string = \"\";\r\n newPassword: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class emailSignUpRequest {\r\n email: string = \"\";\r\n password: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class localizedPriceData {\r\n localizedPriceByInterval: { [key: string]: string } = {};\r\n item: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class planDescriptorRecord {\r\n plan: string = \"\";\r\n hidden: boolean = false;\r\n features: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { billingCycle } from \"../billing_cycle/billingCycle\";\r\n\r\nexport class planDetails {\r\n planName: string = \"\";\r\n cost: string = \"\";\r\n currency: string = \"\";\r\n nextBillingDate?: Date;\r\n status: string = \"\";\r\n plan?: string;\r\n features: string[] = [];\r\n billing_cycle?: billingCycle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class portalSessionResponse {\r\n url: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class profileResponse {\r\n authProvider: string = \"\";\r\n email?: string;\r\n firstName?: string;\r\n lastName?: string;\r\n name?: string;\r\n picture?: string;\r\n canEditProfile: boolean = false;\r\n canChangePassword: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class startCheckoutResponse {\r\n checkoutStarted: boolean = false;\r\n requiresRedirect: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class updateNameRequest {\r\n firstName: string = \"\";\r\n lastName: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class verifyEmailRequest {\r\n code: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class billingCycle {\r\n interval: string = \"\";\r\n frequency: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Interval {\r\n day = 0,\r\n week = 1,\r\n month = 2,\r\n year = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum CustomOverlayMode {\r\n Static = 0,\r\n Dev = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"../../shared/customoverlay/CustomOverlayMode\";\r\n\r\nexport class registerOverlayRequest {\r\n name: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n sourcePath: string = \"\";\r\n devScript: string = \"\";\r\n description?: string;\r\n phase?: string;\r\n version: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class updateOverlayRequest {\r\n name?: string;\r\n description?: string;\r\n devScript?: string;\r\n phase?: string;\r\n version?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"../../shared/MatchRuleSet\";\r\n\r\nexport class optionalGameData {\r\n gameWinnerId?: number;\r\n isActive?: boolean;\r\n isComplete?: boolean;\r\n gameDate?: Date;\r\n ruleSet?: MatchRuleSet;\r\n patch?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"../../shared/BestOfType\";\r\n\r\nexport class addMatchRequestArgs {\r\n name?: string;\r\n type: BestOfType = BestOfType.BestOf1;\r\n teams: number[] = [];\r\n isCurrent: boolean = false;\r\n onStage?: boolean;\r\n seasonId?: number;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n matchDate?: string;\r\n timePerGame?: number;\r\n ruleSet: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"../../shared/MatchRuleSet\";\r\n\r\nexport class optionalMatchData {\r\n date?: Date;\r\n ruleSet?: MatchRuleSet;\r\n onStage?: boolean;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class cDragonPerkInfo {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { SpellClassification } from \"./SpellClassification\";\r\n\r\nexport class championAbilityData {\r\n spellName: string = \"\";\r\n iconAsset: string = \"\";\r\n iconName: string = \"\";\r\n isPassive?: boolean;\r\n classification?: SpellClassification;\r\n parentSpellName?: string;\r\n nativeBinHash: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { championAbilityData } from \"./championAbilityData\";\r\nimport { championSkinInfo } from \"./championSkinInfo\";\r\n\r\nexport class championData {\r\n id: number = 0;\r\n alias: string = \"\";\r\n name: string = \"\";\r\n attackSpeed: number = 0;\r\n splashCenteredImg: string = \"\";\r\n splashImg: string = \"\";\r\n loadingImg: string = \"\";\r\n squareImg: string = \"\";\r\n tileImg: string = \"\";\r\n spells: championAbilityData[] = [];\r\n skins: { [key: number]: championSkinInfo } = {};\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class championSkinInfo {\r\n name: string = \"\";\r\n splashCenteredUrl: string = \"\";\r\n splashUrl: string = \"\";\r\n loadingUrl: string = \"\";\r\n tileUrl: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class championStatistics {\r\n winRate: number = 0;\r\n pickRate: number = 0;\r\n banRate: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { MatchRuleSet } from \"./MatchRuleSet\";\r\nimport { teamWithMembers } from \"./teamWithMembers\";\r\n\r\nexport class gameWithTeams {\r\n teams: teamWithMembers[] = [];\r\n gameId: number = 0;\r\n matchId: number = 0;\r\n gameNumber: number = 0;\r\n gameWinnerId?: number;\r\n isActive: boolean = false;\r\n isComplete: boolean = false;\r\n gameTime?: number;\r\n gameDate?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n patch: string = \"\";\r\n gameVersion: string = \"0.0.0\";\r\n assetPatch: string = \"0.0.0\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class ingameTelemetry {\r\n totalUpdateTimeInMs: number = 0;\r\n stateTransitionProcessingTimeInMs: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class itemAsset {\r\n id: number = 0;\r\n name: string = \"\";\r\n assetUrl: string = \"\";\r\n gameTime: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { BestOfType } from \"./BestOfType\";\r\nimport { gameWithTeams } from \"./gameWithTeams\";\r\nimport { MatchRuleSet } from \"./MatchRuleSet\";\r\nimport { teamWithMembers } from \"./teamWithMembers\";\r\n\r\nexport class matchWithGamesAndTeams {\r\n games: gameWithTeams[] = [];\r\n teams: teamWithMembers[] = [];\r\n matchId: number = 0;\r\n seasonId: number = 0;\r\n winnerId?: number;\r\n isActive: boolean = false;\r\n type: BestOfType = BestOfType.BestOf1;\r\n nextMatchId?: number;\r\n winnerNextMatchId?: number;\r\n loserNextMatchId?: number;\r\n name?: string;\r\n date?: Date;\r\n ruleSet: MatchRuleSet = MatchRuleSet.Standard;\r\n onStage: boolean = false;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { cDragonPerkInfo } from \"./cDragonPerkInfo\";\r\nimport { runeStyle } from \"./runeStyle\";\r\n\r\nexport class perkData {\r\n primary?: runeStyle;\r\n secondary?: runeStyle;\r\n perks: cDragonPerkInfo[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class perkInfoV2 {\r\n iconHash?: string;\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class perkStyleInfoV2 {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n iconHash?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class runeStyle {\r\n treeId: number = 0;\r\n treeName?: string;\r\n assetPath?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class seasonData {\r\n seasonId: number = 0;\r\n seasonName: string = \"\";\r\n isActive: boolean = false;\r\n startDate?: Date;\r\n endDate?: Date;\r\n iconUri?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class simpleChampionData {\r\n id: number = 0;\r\n alias: string = \"\";\r\n name: string = \"\";\r\n splashCenteredImg: string = \"\";\r\n splashImg: string = \"\";\r\n loadingImg: string = \"\";\r\n squareImg: string = \"\";\r\n tileImg: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum SpellClassification {\r\n Ability = 0,\r\n Passive = 1,\r\n BasicAttack = 2,\r\n CritAttack = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class summonerSpellData {\r\n id?: number;\r\n name: string = \"\";\r\n spellIcon: string = \"\";\r\n localAsset: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class summonerSpellInfoV2 {\r\n id: number = 0;\r\n name: string = \"\";\r\n iconPath: string = \"\";\r\n iconFileName: string = \"\";\r\n iconHash?: string;\r\n nativeBinHash: number = 0;\r\n spellName: string = \"\";\r\n iconAsset: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamData {\r\n teamId: number = 0;\r\n name: string = \"\";\r\n tag: string = \"\";\r\n description?: string;\r\n iconUri?: string;\r\n isActive: boolean = false;\r\n primaryColor?: number = 0;\r\n secondaryColor?: number = 0;\r\n tertiaryColor?: number = 0;\r\n backgroundColor?: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TeamMemberRole {\r\n Unknown = 0,\r\n Player = 1,\r\n Coach = 2,\r\n Manager = 3,\r\n Analyst = 4,\r\n Substitute = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { TeamMemberRole } from \"./TeamMemberRole\";\r\n\r\nexport class teamMember {\r\n memberId: number = 0;\r\n teamId: number = 0;\r\n alias: string = \"\";\r\n puuid: string = \"\";\r\n isActive: boolean = false;\r\n tag: string = \"\";\r\n iconUri?: string;\r\n role: TeamMemberRole = TeamMemberRole.Unknown;\r\n familyName: string = \"\";\r\n givenName: string = \"\";\r\n displayName?: string;\r\n videoStreamUrl?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class teamScore {\r\n wins: number = 0;\r\n losses: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { teamMember } from \"./teamMember\";\r\n\r\nexport class teamWithMembers {\r\n members: teamMember[] = [];\r\n teamId: number = 0;\r\n name: string = \"\";\r\n tag: string = \"\";\r\n description?: string;\r\n iconUri?: string;\r\n isActive: boolean = false;\r\n primaryColor?: number = 0;\r\n secondaryColor?: number = 0;\r\n tertiaryColor?: number = 0;\r\n backgroundColor?: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"./CustomOverlayMode\";\r\nimport { SetPhaseType } from \"../style/set/SetPhaseType\";\r\n\r\nexport class customOverlay {\r\n id: string = \"\";\r\n name: string = \"\";\r\n description: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n sourcePath: string = \"\";\r\n devScript: string = \"\";\r\n slug: string = \"\";\r\n phase?: SetPhaseType;\r\n version: string = \"\";\r\n cloudId?: string;\r\n isManagedPackage: boolean = false;\r\n createdAt: Date = new Date();\r\n updatedAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { CustomOverlayMode } from \"./CustomOverlayMode\";\r\nimport { SetPhaseType } from \"../style/set/SetPhaseType\";\r\n\r\nexport class customOverlayDescriptor {\r\n id: string = \"\";\r\n name: string = \"\";\r\n description: string = \"\";\r\n mode: CustomOverlayMode = CustomOverlayMode.Static;\r\n slug: string = \"\";\r\n phase?: SetPhaseType;\r\n version: string = \"\";\r\n cloudId?: string;\r\n createdAt: Date = new Date();\r\n updatedAt: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum DevServerStatus {\r\n Stopped = 0,\r\n Starting = 1,\r\n Running = 2,\r\n Error = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { DevServerStatus } from \"./DevServerStatus\";\r\n\r\nexport class devServerState {\r\n status: DevServerStatus = DevServerStatus.Stopped;\r\n url?: string;\r\n error?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\n\r\nexport class borderStyle {\r\n width: string = \"\";\r\n style: string = \"\";\r\n color: string | colorStyle = \"\";\r\n radius: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ChampionIconType {\r\n Splash = 0,\r\n SplashCentered = 1,\r\n Loading = 2,\r\n Square = 3,\r\n Tile = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum ObjectFit {\r\n Fill = 0,\r\n Contain = 1,\r\n Cover = 2,\r\n None = 3,\r\n ScaleDown = 4\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\nimport { ChampionIconType } from \"./ChampionIconType\";\r\nimport { ObjectFit } from \"./ObjectFit\";\r\n\r\nexport class championIconStyle {\r\n type: ChampionIconType = ChampionIconType.Splash;\r\n fit: ObjectFit = ObjectFit.Fill;\r\n zoom: number = 0;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum GradientType {\r\n Linear = 0,\r\n Radial = 1\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStop } from \"./colorStop\";\r\nimport { GradientType } from \"./GradientType\";\r\n\r\nexport class colorGradientData {\r\n angle: number = 0;\r\n type: GradientType = GradientType.Linear;\r\n stops: colorStop[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorImageData {\r\n source: string = \"\";\r\n fit: string = \"\";\r\n repeat: string = \"\";\r\n position: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class colorStop {\r\n color: string = \"#FFFFFF\";\r\n position: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorGradientData } from \"./colorGradientData\";\r\nimport { colorImageData } from \"./colorImageData\";\r\nimport { Team } from \"./Team\";\r\nimport { TeamColorType } from \"./TeamColorType\";\r\n\r\nexport class colorStyle {\r\n color: string = \"\";\r\n useTeamColor?: TeamColorType;\r\n useSideColor?: Team;\r\n image?: colorImageData;\r\n gradient?: colorGradientData;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { layoutStyle } from \"./layoutStyle\";\r\nimport { textStyle } from \"./textStyle\";\r\n\r\nexport class componentStyle {\r\n layout: layoutStyle = {} as layoutStyle;\r\n color: string | colorStyle = \"\";\r\n text?: textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class displayColorData {\r\n blueSideColor: string = \"#FFFFFF\";\r\n redSideColor: string = \"#FFFFFF\";\r\n neutralColor: string = \"#FFFFFF\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { ContentAlign } from \"./ContentAlign\";\r\n\r\nexport class globalPosition {\r\n contentAlign: ContentAlign = ContentAlign.TopLeft;\r\n offsetX: string = \"\";\r\n offsetY: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { imageStyle } from \"./imageStyle\";\r\nimport { textStyle } from \"./textStyle\";\r\n\r\nexport class imageComponentStyle {\r\n image: imageStyle = {} as imageStyle;\r\n color: string | colorStyle = \"\";\r\n text?: textStyle;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\nimport { ObjectFit } from \"./ObjectFit\";\r\n\r\nexport class imageStyle {\r\n fit: ObjectFit = ObjectFit.Fill;\r\n zoom: number = 0;\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { borderStyle } from \"./borderStyle\";\r\n\r\nexport class layoutStyle {\r\n padding: string = \"\";\r\n margin: string = \"\";\r\n border: borderStyle = {} as borderStyle;\r\n height: string = \"\";\r\n width: string = \"\";\r\n align: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TextOrientation {\r\n None = 0,\r\n Upright = 1,\r\n Sideways = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum WritingMode {\r\n None = 0,\r\n Horizontal = 1,\r\n VerticalL = 2,\r\n VerticalR = 3\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { TextOrientation } from \"./text/TextOrientation\";\r\nimport { textOutline } from \"./textOutline\";\r\nimport { WritingMode } from \"./text/WritingMode\";\r\n\r\nexport class optionalTextStyle {\r\n show: boolean = false;\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string | colorStyle = \"\";\r\n textBorder?: textOutline;\r\n overrideCommonFontFamily: boolean = false;\r\n textOrientation: TextOrientation = TextOrientation.None;\r\n writingMode: WritingMode = WritingMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum TeamColorType {\r\n Primary = 0,\r\n Secondary = 1,\r\n Tertiary = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\n\r\nexport class textOutline {\r\n color: string | colorStyle = \"\";\r\n strength: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { colorStyle } from \"./colorStyle\";\r\nimport { TextOrientation } from \"./text/TextOrientation\";\r\nimport { textOutline } from \"./textOutline\";\r\nimport { WritingMode } from \"./text/WritingMode\";\r\n\r\nexport class textStyle {\r\n fontFamily: string = \"\";\r\n fontWeight: string = \"\";\r\n fontSize: string = \"\";\r\n textAlignment: string = \"\";\r\n textColor: string | colorStyle = \"\";\r\n textBorder?: textOutline;\r\n overrideCommonFontFamily: boolean = false;\r\n textOrientation: TextOrientation = TextOrientation.None;\r\n writingMode: WritingMode = WritingMode.None;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum Feature {\r\n BasicTier = 0,\r\n ProTier = 1,\r\n EnterpriseTier = 2,\r\n Decals = 3,\r\n Models = 4,\r\n Strokes = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { displayColorData } from \"../displayColorData\";\r\n\r\nexport class globalStyleProperties {\r\n playerFullNameDisplayFormat: string = \"\";\r\n color: displayColorData = {} as displayColorData;\r\n fontFamily: string = \"\";\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { globalStyleProperties } from \"./globalStyleProperties\";\r\nimport { SetPhaseType } from \"./SetPhaseType\";\r\n\r\nexport class styleSet {\r\n uri: string = \"\";\r\n name: string = \"\";\r\n globalProperties: globalStyleProperties = {} as globalStyleProperties;\r\n phase: SetPhaseType = SetPhaseType.Pre;\r\n isValid: boolean = false;\r\n style?: { [key: string]: any };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { Feature } from \"./Feature\";\r\n\r\nexport class styleSetEntry {\r\n variant: string = \"\";\r\n category: string = \"\";\r\n isActive: boolean = false;\r\n uri?: string;\r\n minimumFeature?: Feature;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class styleSetNameCollection {\r\n preset: string[] = [];\r\n custom: string[] = [];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum AppTheme {\r\n Light = 0,\r\n Dark = 1,\r\n System = 2\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport enum WindowType {\r\n Main = 0,\r\n Startup = 1,\r\n Login = 2,\r\n Settings = 3,\r\n Drawing = 4,\r\n ScriptEditor = 5\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class pollChoice {\r\n id?: string;\r\n title?: string;\r\n votes: number = 0;\r\n channel_points_votes: number = 0;\r\n bits_votes: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class predictionOutcome {\r\n id?: string;\r\n title?: string;\r\n users: number = 0;\r\n channel_points: number = 0;\r\n color?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { pollChoice } from \"./pollChoice\";\r\n\r\nexport class twitchPollDto {\r\n id?: string;\r\n broadcaster_id?: string;\r\n title?: string;\r\n choices?: pollChoice[];\r\n bits_voting_enabled: boolean = false;\r\n bits_per_vote: number = 0;\r\n channel_points_voting_enabled: boolean = false;\r\n channel_points_per_vote: number = 0;\r\n status?: string;\r\n duration: number = 0;\r\n started_at: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { predictionOutcome } from \"./predictionOutcome\";\r\n\r\nexport class twitchPredictionDto {\r\n id?: string;\r\n broadcaster_id?: string;\r\n title?: string;\r\n winning_outcome_id?: string;\r\n outcomes?: predictionOutcome[];\r\n prediction_window: number = 0;\r\n status?: string;\r\n created_at: Date = new Date();\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class chatVoteOption {\r\n label?: string;\r\n votes: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { chatVoteOption } from \"./chatVoteOption\";\r\n\r\nexport class chatVoteResultDto {\r\n active: boolean = false;\r\n options?: chatVoteOption[];\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class createChoice {\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { createChoice } from \"./createChoice\";\r\n\r\nexport class createPollDto {\r\n title?: string;\r\n choices?: createChoice[];\r\n duration: number = 0;\r\n channel_points_voting_enabled?: boolean;\r\n channel_points_per_vote?: number;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nimport { predictionOutcomeRequest } from \"./predictionOutcomeRequest\";\r\n\r\nexport class createPredictionDto {\r\n title?: string;\r\n outcomes?: predictionOutcomeRequest[];\r\n predictionWindow: number = 0;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class predictionOutcomeRequest {\r\n title?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class endPollDto {\r\n id?: string;\r\n status?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class endPredictionDto {\r\n id?: string;\r\n status?: string;\r\n winningOutcomeId?: string;\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class startChatVoteDto {\r\n choices?: { [key: string]: string };\r\n}\r\n","/**\r\n * This is an auto-generated file.\r\n * Any changes made to this file can be lost when this file is regenerated.\r\n */\r\n\r\nexport class twitchStatusDTO {\r\n displayName?: string;\r\n connected: boolean = false;\r\n}\r\n","import { itemWithAsset } from \"#types/ingame/itemWithAsset\";\r\nimport { ingameScoreboardBottomPlayerData } from \"#types/ingame/scoreboardBottom/ingameScoreboardBottomPlayerData\";\r\n\r\nexport function getSortedInventory(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): (itemWithAsset | undefined)[] {\r\n if (!playerData.items) return Array(6).fill({ id: 0 });\r\n\r\n const items =\r\n playerData.items?.filter((item) => item.slot < 6) ??\r\n ([] as (itemWithAsset | undefined)[]);\r\n\r\n //sort items by cost, with undefined items at the end\r\n const regularItems = items.sort(\r\n (a, b) => (a?.cost ?? 0) - (b?.cost ?? 0),\r\n ) as (itemWithAsset | undefined)[];\r\n\r\n //fill items with empty items if less than 6, undefined items at start\r\n while (regularItems.length < 6) {\r\n regularItems.unshift(undefined);\r\n }\r\n return regularItems ?? [];\r\n}\r\n\r\nexport function getTrinket(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): itemWithAsset | undefined {\r\n return playerData.items?.find((item) => item.slot === 6);\r\n}\r\n\r\nexport function getRoleQuest(\r\n playerData: ingameScoreboardBottomPlayerData,\r\n): itemWithAsset | undefined {\r\n return playerData.items?.find((item) => item.slot === 8);\r\n}\r\n","import { DamageType } from \"#types/ingame/damageRecap/DamageType\";\r\nimport { SpellClassification } from \"#types/shared/SpellClassification\";\r\nimport type { damageRecapEntry } from \"#types/ingame/damageRecap/damageRecapEntry\";\r\nimport type { damageRecapSpellEntry } from \"#types/ingame/damageRecap/damageRecapSpellEntry\";\r\nimport type { iSpellObjectResource } from \"#types/ingame/damageRecap/iSpellObjectResource\";\r\n\r\n// ---------------------------------------------------------------------------\r\n// Constants\r\n// ---------------------------------------------------------------------------\r\n\r\nexport const PHYS_COLOR = \"#E84057\";\r\nexport const MAGIC_COLOR = \"#5383E8\";\r\nexport const TRUE_COLOR = \"#F0E6D3\";\r\n\r\n// ---------------------------------------------------------------------------\r\n// Primitive helpers\r\n// ---------------------------------------------------------------------------\r\n\r\n/** Returns a CSS hex color string for the given damage type. */\r\nexport function dmgTypeColor(type: DamageType | string | number): string {\r\n const normalized = typeof type === \"string\" ? type.toLowerCase() : type;\r\n if (normalized === DamageType.Physical || normalized === \"physical\")\r\n return PHYS_COLOR;\r\n if (normalized === DamageType.Magic || normalized === \"magic\")\r\n return MAGIC_COLOR;\r\n if (normalized === DamageType.True || normalized === \"true\")\r\n return TRUE_COLOR;\r\n return \"#888\";\r\n}\r\n\r\n/**\r\n * Formats a damage number for display.\r\n * Values ≥ 1 000 are rendered as e.g. `\"1.5k\"`.\r\n */\r\nexport function formatDamage(value: number): string {\r\n return value >= 1000\r\n ? `${(value / 1000).toFixed(1)}k`\r\n : `${Math.round(value)}`;\r\n}\r\n\r\n/**\r\n * Safe lookup for a damage-by-type map.\r\n * Tries the original key first, then its lowercase form, then returns 0.\r\n */\r\nexport function getDamageByType(\r\n map: { [k: string]: number },\r\n key: string,\r\n): number {\r\n return map[key] ?? map[key.toLowerCase()] ?? 0;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Bar segments\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface DamageBarSegment {\r\n /** CSS hex color. */\r\n color: string;\r\n /** Width as a percentage (0–100). */\r\n pct: number;\r\n}\r\n\r\n/**\r\n * Computes percentage-width bar segments (physical → magic → true damage)\r\n * for a damage-by-type map. Segments narrower than 0.5 % are filtered out.\r\n */\r\nexport function damageBarSegments(\r\n damageByType: { [k: string]: number },\r\n total: number,\r\n): DamageBarSegment[] {\r\n const t = total || 1;\r\n return [\r\n {\r\n color: PHYS_COLOR,\r\n pct: (getDamageByType(damageByType, \"Physical\") / t) * 100,\r\n },\r\n {\r\n color: MAGIC_COLOR,\r\n pct: (getDamageByType(damageByType, \"Magic\") / t) * 100,\r\n },\r\n {\r\n color: TRUE_COLOR,\r\n pct: (getDamageByType(damageByType, \"True\") / t) * 100,\r\n },\r\n ].filter((s) => s.pct > 0.5);\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Spell aggregation\r\n// ---------------------------------------------------------------------------\r\n\r\nexport interface AggregatedSpellEntry {\r\n spellData?: iSpellObjectResource;\r\n damage: number;\r\n damageType: DamageType;\r\n}\r\n\r\n/**\r\n * Aggregates a list of spell entries by (visual identity × damage type) and\r\n * returns them sorted by total damage descending.\r\n *\r\n * Grouping key:\r\n * - `BasicAttack` / `CritAttack` classifications each collapse to a single\r\n * stable key so all auto-attacks are counted together.\r\n * - All other spells group by `iconAsset` when present, falling back to\r\n * `spellName` — both qualified by damage type.\r\n */\r\nexport function aggregateSpellEntries(\r\n spells: damageRecapSpellEntry[],\r\n): AggregatedSpellEntry[] {\r\n const agg = new Map<string, AggregatedSpellEntry>();\r\n for (const s of spells) {\r\n if (!s.spellData) continue;\r\n const classification = s.spellData.classification;\r\n let groupKey: string;\r\n if (classification === SpellClassification.BasicAttack) {\r\n groupKey = \"__autoattack__\";\r\n } else if (classification === SpellClassification.CritAttack) {\r\n groupKey = \"__critattack__\";\r\n } else {\r\n // Use || (not ??) so an empty string falls through to spellName,\r\n // preventing all icon-less spells from collapsing into one bucket.\r\n groupKey = s.spellData.iconAsset || s.spellData.spellName;\r\n }\r\n const key = `${groupKey}::${s.damageType}`;\r\n const existing = agg.get(key);\r\n if (existing) {\r\n existing.damage += s.damage;\r\n } else {\r\n agg.set(key, {\r\n spellData: s.spellData,\r\n damage: s.damage,\r\n damageType: s.damageType,\r\n });\r\n }\r\n }\r\n return [...agg.values()].sort((a, b) => b.damage - a.damage);\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Entry normalization & grouping\r\n// ---------------------------------------------------------------------------\r\n\r\nexport type EntityType = \"champion\" | \"minion\" | \"turret\" | \"baron\" | \"monster\";\r\n\r\nexport interface NormalizedDamageEntry {\r\n /** Stable group key used for de-duplication. */\r\n key: string;\r\n /** Human-readable display name. */\r\n displayName: string;\r\n /** Champion portrait backend path (champions only). */\r\n squareImg?: string;\r\n entityType: EntityType;\r\n totalDamage: number;\r\n damageByType: { [k: string]: number };\r\n /** Aggregated and sorted spell breakdown. */\r\n spells: AggregatedSpellEntry[];\r\n}\r\n\r\n/**\r\n * Classifies a well-known non-champion name into a stable group descriptor,\r\n * or returns `null` when the name does not match any known pattern.\r\n */\r\nfunction classifySpecialEntity(name: string): {\r\n key: string;\r\n displayName: string;\r\n entityType: Extract<EntityType, \"minion\" | \"turret\" | \"baron\">;\r\n} | null {\r\n if (/baron/i.test(name)) {\r\n return {\r\n key: \"__baron__\",\r\n displayName: \"Baron Nashor\",\r\n entityType: \"baron\",\r\n };\r\n }\r\n if (/^minion_t/i.test(name)) {\r\n const isOrder = /^minion_t1/i.test(name);\r\n return {\r\n key: isOrder ? \"__minion_order__\" : \"__minion_chaos__\",\r\n displayName: \"Minions\",\r\n entityType: \"minion\",\r\n };\r\n }\r\n if (/^turret_t/i.test(name)) {\r\n const isOrder = /^turret_torder/i.test(name);\r\n return {\r\n key: isOrder ? \"__turret_order__\" : \"__turret_chaos__\",\r\n displayName: \"Turrets\",\r\n entityType: \"turret\",\r\n };\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Maps `damageRecapEntry` objects to `NormalizedDamageEntry`, grouping by:\r\n *\r\n * - **Known special entities** (baron, minions, turrets) into shared buckets.\r\n * - **Champions** — entries whose `sourceName` contains no `.` character —\r\n * keyed by the exact source name.\r\n * - **Everything else** (jungle monsters, game mode specific entities, …) — grouped by the\r\n * base name segment before the first `.`, with trailing camp IDs and the\r\n * `SRU_` prefix stripped for readability.\r\n *\r\n * Results are sorted by total damage descending; only the top `limit` entries\r\n * are returned.\r\n */\r\nexport function normalizeDamageEntries(\r\n entries: damageRecapEntry[],\r\n limit = 5,\r\n): NormalizedDamageEntry[] {\r\n const grouped = new Map<string, NormalizedDamageEntry>();\r\n const pendingSpells = new Map<string, damageRecapSpellEntry[]>();\r\n\r\n for (const entry of entries) {\r\n const special = classifySpecialEntity(entry.sourceName);\r\n if (special) {\r\n const existing = grouped.get(special.key);\r\n if (existing) {\r\n existing.totalDamage += entry.totalDamage;\r\n for (const [k, v] of Object.entries(entry.damageByType)) {\r\n existing.damageByType[k] = (existing.damageByType[k] ?? 0) + v;\r\n }\r\n } else {\r\n grouped.set(special.key, {\r\n key: special.key,\r\n displayName: special.displayName,\r\n entityType: special.entityType,\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: [],\r\n });\r\n }\r\n } else if (!entry.sourceName.includes(\".\")) {\r\n // Champion — names never contain a '.' (e.g. \"Ahri\", \"MissFortune\")\r\n grouped.set(entry.sourceName, {\r\n key: entry.sourceName,\r\n displayName: entry.source?.name ?? entry.sourceName,\r\n squareImg: entry.source?.squareImg,\r\n entityType: \"champion\",\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: aggregateSpellEntries(entry.spells),\r\n });\r\n } else {\r\n // Monster / NPC — group by base name (strip instance suffix and SRU_ prefix)\r\n const baseName = entry.sourceName\r\n .split(\".\")[0]\r\n .replace(/_\\d+$/, \"\")\r\n .replace(/^SRU_/i, \"\");\r\n const existing = grouped.get(baseName);\r\n if (existing) {\r\n existing.totalDamage += entry.totalDamage;\r\n for (const [k, v] of Object.entries(entry.damageByType)) {\r\n existing.damageByType[k] = (existing.damageByType[k] ?? 0) + v;\r\n }\r\n } else {\r\n grouped.set(baseName, {\r\n key: baseName,\r\n displayName: baseName,\r\n squareImg: entry.source?.squareImg,\r\n entityType: \"monster\",\r\n totalDamage: entry.totalDamage,\r\n damageByType: { ...entry.damageByType },\r\n spells: [],\r\n });\r\n }\r\n const pending = pendingSpells.get(baseName) ?? [];\r\n pending.push(...entry.spells);\r\n pendingSpells.set(baseName, pending);\r\n }\r\n }\r\n\r\n // Resolve accumulated spells for each monster group\r\n for (const [key, spells] of pendingSpells) {\r\n const entry = grouped.get(key);\r\n if (entry) entry.spells = aggregateSpellEntries(spells);\r\n }\r\n\r\n return [...grouped.values()]\r\n .sort((a, b) => b.totalDamage - a.totalDamage)\r\n .slice(0, limit);\r\n}\r\n","import type { postGameOverview } from \"#types/postgame/postGameOverview\";\r\nimport type { singleGameGoldGraph } from \"#types/postgame/gold/singleGameGoldGraph\";\r\nimport type { postGameDamageGraphByTeam } from \"#types/postgame/damage/postGameDamageGraphByTeam\";\r\nimport type { postGameDamageGraphEntry } from \"#types/postgame/damage/postGameDamageGraphEntry\";\r\n\r\n// ---------------------------------------------------------------------------\r\n// Sides\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Returns the sorted numeric side keys present in a post-game overview.\r\n *\r\n * Prefers the keys of `teamOverviewBySide`; falls back to `teamInfoBySide`\r\n * when no overview-by-side data is present.\r\n *\r\n * @example\r\n * ```ts\r\n * getPostGameSides(overview); // [100, 200]\r\n * ```\r\n */\r\nexport function getPostGameSides(overview: postGameOverview): number[] {\r\n const source =\r\n overview.teamOverviewBySide &&\r\n Object.keys(overview.teamOverviewBySide).length > 0\r\n ? overview.teamOverviewBySide\r\n : (overview.teamInfoBySide ?? {});\r\n return Object.keys(source)\r\n .map(Number)\r\n .sort((a, b) => a - b);\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Gold series\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Flattens a `singleGameGoldGraph.goldAtTime` map into a chronological series.\r\n *\r\n * Each entry pairs a numeric `time` with the per-side gold map at that time.\r\n * Entries are sorted ascending by numeric time.\r\n *\r\n * @example\r\n * ```ts\r\n * buildGoldSeries(graph);\r\n * // [{ time: 0, goldBySide: { 100: 2500, 200: 2500 } }, ...]\r\n * ```\r\n */\r\nexport function buildGoldSeries(\r\n graph: singleGameGoldGraph,\r\n): { time: number; goldBySide: Record<number, number> }[] {\r\n const goldAtTime = graph?.goldAtTime ?? {};\r\n return Object.keys(goldAtTime)\r\n .map(Number)\r\n .sort((a, b) => a - b)\r\n .map((time) => ({\r\n time,\r\n goldBySide: goldAtTime[time] as Record<number, number>,\r\n }));\r\n}\r\n\r\n/**\r\n * Builds a gold-difference series relative to a reference side.\r\n *\r\n * For each timestamp the value is `referenceSide gold - other side gold`.\r\n * A positive value means the reference side is ahead. When more than two\r\n * sides are present, all non-reference sides are summed as \"other\".\r\n * `referenceSide` defaults to the lowest numeric side key in the series.\r\n *\r\n * @example\r\n * ```ts\r\n * buildGoldDiffSeries(graph); // reference = lowest side\r\n * buildGoldDiffSeries(graph, 200); // reference = side 200\r\n * ```\r\n */\r\nexport function buildGoldDiffSeries(\r\n graph: singleGameGoldGraph,\r\n referenceSide?: number,\r\n): { time: number; diff: number }[] {\r\n const series = buildGoldSeries(graph);\r\n if (series.length === 0) return [];\r\n\r\n const ref =\r\n referenceSide ??\r\n Math.min(\r\n ...series.flatMap((entry) => Object.keys(entry.goldBySide).map(Number)),\r\n );\r\n\r\n return series.map((entry) => {\r\n const refGold = entry.goldBySide[ref] ?? 0;\r\n let otherGold = 0;\r\n for (const [side, gold] of Object.entries(entry.goldBySide)) {\r\n if (Number(side) !== ref) otherGold += gold;\r\n }\r\n return { time: entry.time, diff: refGold - otherGold };\r\n });\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Clock formatting\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Formats a duration in seconds as a game clock string.\r\n *\r\n * Renders `M:SS` (or `MM:SS`) below an hour and `H:MM:SS` from one hour up.\r\n * Negative inputs are clamped to `0`.\r\n *\r\n * @example\r\n * ```ts\r\n * formatGameClock(75); // \"1:15\"\r\n * formatGameClock(605); // \"10:05\"\r\n * formatGameClock(3661); // \"1:01:01\"\r\n * formatGameClock(-5); // \"0:00\"\r\n * ```\r\n */\r\nexport function formatGameClock(seconds: number): string {\r\n const total = Math.max(0, Math.floor(seconds));\r\n const hours = Math.floor(total / 3600);\r\n const minutes = Math.floor((total % 3600) / 60);\r\n const secs = total % 60;\r\n const ss = secs.toString().padStart(2, \"0\");\r\n if (hours > 0) {\r\n const mm = minutes.toString().padStart(2, \"0\");\r\n return `${hours}:${mm}:${ss}`;\r\n }\r\n return `${minutes}:${ss}`;\r\n}\r\n\r\n// ---------------------------------------------------------------------------\r\n// Damage graph helpers\r\n// ---------------------------------------------------------------------------\r\n\r\n/**\r\n * Sums the damage across all entries of a team's damage graph.\r\n *\r\n * @example\r\n * ```ts\r\n * damageGraphTeamTotal(team); // 84210\r\n * ```\r\n */\r\nexport function damageGraphTeamTotal(team: postGameDamageGraphByTeam): number {\r\n return (team?.entries ?? []).reduce((sum, entry) => sum + entry.damage, 0);\r\n}\r\n\r\n/**\r\n * Returns a new array of damage entries sorted by total damage descending.\r\n * Non-mutating — the input array is left untouched.\r\n *\r\n * @example\r\n * ```ts\r\n * sortDamageEntries(team.entries); // highest-damage entry first\r\n * ```\r\n */\r\nexport function sortDamageEntries(\r\n entries: postGameDamageGraphEntry[],\r\n): postGameDamageGraphEntry[] {\r\n return [...entries].sort((a, b) => b.damage - a.damage);\r\n}\r\n"]}