úΪg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefRole data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0 gh   gh Player data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0 ijklmn !  ! !  ijklmn !Game and turn data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone047"#$%&'()*opqr+,-./0123"#$%&'()*+,-./0123'()*,+."#%&$$-/0123"#%&$$'()*opqr+,-./0123%Response and message data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone0'456789:;<=>?@ABCDstEFGHIJKLMNOPQRSTuvwx!456789:;<=>?@ABCDEFGHIJKLMNOPQRST!89:;<=>?@4567ABCDEFGHIJKLMNOPQRST!456789:;<=>?@ABCDstEFGHIJKLMNOPQRSTuvwxCommand data structures.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47UVWXUVWXUVWXUVWXEngine functions.(c) Henry J. Wylde, 2015BSD3public@hjwylde.comNone47YZyz{[\]^_|`abcde}fYZ[\]^_`abcdefYZ[\]^_a`bcdefYZyz{[\]^_|`abcde}f~       !"#$%&'()**+,-./012345667899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\5]^_`abcdefghijklmnopqrstuvwxyz{|werew_K1p2KmCA1PaJi1Y6makFmNGame.Werewolf.RoleGame.Werewolf.PlayerGame.Werewolf.GameGame.Werewolf.ResponseGame.Werewolf.CommandGame.Werewolf.EngineRole_name _description_adviceadvice descriptionnameallRolesvillagerwerewolfStateAliveDeadPlayer_role_staterolestate newPlayer findByName findByName_filterVillagersfilterWerewolvesdoesPlayerExist isVillager isWerewolfisAliveisDead filterAlive filterDeadTurn Villagers_votes WerewolvesNoOneGame_turn_playersplayersturnvotesnewGamenewVillagersTurnnewWerewolvesTurnisVillagersTurnisWerewolvesTurn isGameOverMessagetomessageResponseokmessagessuccessfailureexitWith exitSuccess exitFailure emptyMessage publicMessageprivateMessagenewGameMessagesvillagersTurnMessageswerewolvesTurnMessagesplayerMadeKillVoteMessageplayerKilledMessagenoPlayerKilledMessageplayerMadeLynchVoteMessageplayerLynchedMessagenoPlayerLynchedMessagegameOverMessageplayerDoesNotExistMessageplayerCannotDoThatMessage!playerCannotDoThatRightNowMessagegameIsOverMessageplayerIsDeadMessageplayerHasAlreadyVotedMessagetargetIsDeadMessageCommandVotevotertargetvalidateCommand applyCommand checkGameOver startGame getPlayerVotedefaultFilePathreadGame writeGame deleteGame doesGameExist createPlayersrandomiseRoles $fToJSONRole$fFromJSONRole $fToJSONState$fFromJSONState$fToJSONPlayer$fFromJSONPlayer filterRole filterState $fToJSONTurn$fFromJSONTurn $fToJSONGame$fFromJSONGamenewPlayerMessagewerewolvesFirstTurnMessages$fToJSONMessage$fFromJSONMessage$fToJSONResponse$fFromJSONResponse applyKillVoteapplyLynchVoteonlydefaultFileName killPlayer