)3      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Role data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone    Player data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone !"#$%&'()*+,-./012 !"#$%&'()*+,-./012 !"#$%&'()*+,-./012 !"#$%&'()*+,-./012Game and stage data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone13456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc13456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc1>?@ABCDEFGHIRNJMKLOPQSTUVWXYZ[\]^_`6789:;<=ab345c3456789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0?defghijklmnopqrstuvwxyz{|}~1defghijklmnopqrstuvwxyz{|}~1hijklmndefgopqrstuvwxyz{|}~9defghijklmnopqrstuvwxyz{|}~Engine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47!!Command data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47IN         !"#$%&'()*+,-./0123456789:;<=>?@@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeefghhijklmnopqrstuvwxyz{|}~VX[\]W_`ad+^werew_7SSq5kAQGaO0bS1NuonGVXGame.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.EngineGame.Werewolf.Command Allegiance Villagers WerewolvesRole_name _allegiance _description_adviceallRoles diurnalRolesnocturnalRoles scapegoatRoleseerRole villagerRole werewolfRole witchRole findByNameadvice allegiance descriptionnameStateAliveDeadPlayer_role_staterolestate newPlayer findByName_filterScapegoats filterSeersfilterVillagersfilterWerewolves filterWitchesdoesPlayerExist isScapegoatisSeer isVillager isWerewolfisWitchisAliveisDead filterAlive filterDeadEvent DevourEvent PoisonEventStageGameOver SeersTurnSunriseSunset VillagesTurnWerewolvesTurn WitchsTurnGame_stage_players_events_passes_heal _healUsed_poison _poisonUsed_see_voteseventshealhealUsedpassesplayerspoison poisonUsedseestagevotesnewGame killPlayer isGameOver isSeersTurn isSunriseisSunsetisVillagesTurnisWerewolvesTurn isWitchsTurn getPassers getPlayerVotegetPendingVoters getVoteResult stageCyclestageAvailablegetDevourEventMessagetomessageResponseokmessagessuccessfailureexitWith publicMessageprivateMessage groupMessagesnoGameRunningMessagegameAlreadyRunningMessagenewGameMessages stageMessagesgameOverMessagesplayerQuitMessagepingPlayerMessagepingSeerMessagepingWerewolvesMessagepingWitchMessagecurrentStageMessagesrolesInGameMessageplayersInGameMessagewaitingOnMessageplayerSeenMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagescapegoatLynchedMessageplayerMadeDevourVoteMessageplayerDevouredMessagenoPlayerDevouredMessageplayerHealedMessageplayerPoisonedMessagegameIsOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessageplayerIsDeadMessageroleDoesNotExistMessageplayerHasAlreadyVotedMessagetargetIsDeadMessage(playerCannotDevourAnotherWerewolfMessageplayerHasAlreadyHealedMessageplayerHasAlreadyPoisonedMessage checkStage checkGameOver startGamedefaultFilePathreadGame writeGame deleteGame doesGameExist createPlayers isPlayerSeerisPlayerWerewolf isPlayerWitch isPlayerAlive isPlayerDeadrandomiseRolesCommandapplydevourVoteCommand healCommandlynchVoteCommand noopCommand passCommand pingCommand poisonCommand quitCommand seeCommand statusCommandnewPlayersInGameMessagenewPlayerMessageseersTurnMessagessunriseMessagenightFallsMessagevillagesTurnMessageswerewolvesTurnMessageswitchsTurnMessagesplayerWonMessageplayerLostMessage$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse checkStage' advanceStage checkEventseventAvailable applyEventdefaultFileNamevalidatePlayer