!r      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                NoneT affectionThe log level definitionU affectionLog everythingV affectionLog Debug messages and aboveW affectionLog only Warnings and errorsX affectionLog only errorsY affectionPure logging functionZ affection)Manadic logging function residing in the  MonadY affectionLog level to log to affectionThe message string affectionArbitrary datatype to return affection Returned dataZ affectionLog level to log to affectionThe message stringTWUVXYZTWUVXYZSafe[ affection!Typeclass definition for messages\ affection)return the time when the message was sent[\[\None#O] affectionHDatatype for handling all possible joystick events handed over from sdl2^ affectionMovement of a Joystick axis_ affection&Movement of a joystick ball controller` affection#Movement of joystick hat controllera affectionJoystick button eventb affectionJoystick device eventc affection Time of eventd affectionJoystick identifiere affectionAxis identifierf affection Axis valueg affection Time of eventh affectionJoystick identifieri affectionBall identifierj affection$Motion relative to previous positionk affection Time of eventl affectionJoystick identifierm affectionHat identifiern affectionNew hat positiono affectionButton identifierp affectionNew Button stateq affection Time of eventr affectionJoystick identifiers affectionConnection statusFGH]^_`abcdefghijklmnopqrs]^_`abcdefghijklmnopqrsGFHNone(v affection?Dataatype for handling all keyboard events haded down from SDL2w affectionArbitrary Keyboard eventx affection Message timey affectionAffected Windowz affection)Input motion of button (pressed/released){ affectionIs this a repeated event?| affection The button's Q 0QRvwxyz{| vwxyz{|R0QNone4  affectionMouse motion event affectionMouse button event affectionMouse wheel event affection Message time affectionFocused window (if any) affectionMouse device identifier affectionList of pressed mouse buttons affectionAbsolute mouse positiom affection,Mouse movement relative to previous position affection Message time affectionFocused window (if any) affectionButton's input motion affectionMouse device identifier affectionAffected mouse button affectionNumber of clicks affectionAbsolute mouse position affection Message time affectionFocused window (if any) affectionMouse device identifier affectionAbsolute mouse position affectionScroll direction0123RR2103 NoneJ. affection8Datatype for handling Window events handed down rom SDL2 affectionWindow show event affectionWindow hide event affectionWindow expose event affectionWindow move event affectionWindow resize event affectionWindow size change event affectionWindow minimize event affectionWindow maximize event affectionWindow restore event affectionWindow gain mouse focus event affectionWindow lose mouse focus event affection Window gain keyboard focus event affection Window lose keyboard focus event affectionWindow close event affection Message time affectionWindow identifier affection Message time affectionWindow identifier affection Message time affectionWindow identifier affection Message time affectionWindow identifier affectionNew absolute window position affection Message time affectionWindow identifier affectionNew absolute window size affection Message time affectionWindow identifier affectionNew absolute window size affection Message time affectionWindow identifier affection Message time affectionWindow identifier affection Message time affectionWindow identifier affection Message Time affectionWindow identifier affection Message Time affectionWindow identifier affection Message time affectionWindow identifier affection Message time affectionWindow identifier affection Message time affectionWindow identifier/R/RNoneLmq0123FGHQR[\]^_`abcdefghijklmnopqrsvwxyz{|None3Ka affectionAffection's state monad affectionInner  monad for the update state affectionJMain type for defining the look, feel and action of the whole application. affection Loop breaker. affectionState data provided by user affection SDL window affectionOpenGL rendering context affectioncurrent screen mode affectionDimensions of target surface affectionElapsed time in seconds affection'Elapsed time in seconds since last tick affection'System time (NOT the time on the clock) affection#Should the update loop be executed? affection Components to initialize in SDL. affection4Configuration for the aplication. needed at startup. affection'SDL components to initialize at startup affection Window title affectionWindow configuration affectionsize of the texture canvas affectionWindow mode to start in affection3Provide your own load function to create this data. affection+Actions to be performed, before loop starts affection;Main update function. Takes fractions of a second as input. affection;Main update function. Takes fractions of a second as input. affectionFunction for updating graphics. affection6Provide your own finisher function to clean your data.f/  .-,+*)('&%$#"! >=;<:987654DCBA@?EPONMLKJIRf>=;<:987654DCBA@?/  .-,+*)('&%$#"! PONMLKJIRE None>?f affection0This class denotes a Subsystem to be part of SDL affectionConsume the given /'s and return only those not recognised None>?jy affection3Typeclass for simple scaffolding of a state machine affectionState load routine affectionstate update routine affectionState event handler routine affectionState draw routine affectionState clean routineNone <>?CFTVx affectionKThis typeclass defines the behaviour of a participant in the message system affectionMessage datatype affection<Function to get the list of subscribers from the participant affectionSubscribe to the  Participant's events affection2Unsubscribe a Subscriber function from Participant affectionGet the  to emit a [ on all of its subscribers affection Helper function to generate new Ss affectionthe  Participant's subscriber storage affectionList of Subscriber functions affectionThe  Participant's subscriber storage affectionWhat to do in case of a [ (Subscriber function) affectionS& of the registered subscriber Function affectionThe  Participant'(s subscriber storage to unsubscribe from affectionThe subscriber function's S affectionThe  Participant's subscriber storage affectionThe [ to emitSSNoneyy0123FGHQRS[\]^_`abcdefghijklmnopqrsvwxyz{| None  affectionPrehandle SDL events affection Return the userstate to the user affectionPut altered user state back affection-block a thread for a specified amount of time affection=Get time since start but always the same in the current tick. affection-Get delta time (time elapsed from last frame) affectionQuit the engine loop affectionToggle the Screen mode between ? and B$. Pauses the Engine in the process. affection"Fit the GL Viewport to Window size affectionNumber of seconds affectionImage Ratio (width / height) affection#Incoming Message. Listens only on  and ignores all others.   None <>?FQTV affection1Helper function that consumes all Window-related /s and emits appropriate s. affectionThe message system participant affectionIncoming events affectionLeftover SDL eventsNone <>?FTV+ affection/Helper funtion that consumes all Mouse-related s and emits appropriate s affectionThe message system participant affectionIncoming events affectionLeftover SDL eventsNone <>?FTV  affection3Helper function that consumes all Keyboard-related /s and emits appropriate vs  affectionThe message system participant affectionIncoming events affectionLeftover SDL Events  None <>?FTV  affection3Helper function that consumes all Joystick-related /s and emits appropriate ]s  affectionRHelper function to automatically connect and open newly attached joystick devices  affectionXHelper function to automatically close and disconnect freshly detached joystick devices  affectionThe message system participant affectionIncoming events affectionLeftover SDL events  affectionAny ] will do, but listens only on b messages affection,Returns a joystick descriptor, if successful  affectionList of Joystick descriptors affectionAny ]' will do, but listens specifically to b messages affection,Returns altered list of Joystick descriptors      None7    None"#r  affection/Main function which bootstraps everything else.  affection)Configuration of the Game and its engine./  .-,+*)('&%$#"! 0123>=;<:987654DCBA@?EFGHPONMLKJIQRSTXVUWYZ[\]^_`abcdefghijklmnopqrsvwxyz{|       !"#$%&'%&(%&)%&*%&+%&,%&-%&.%&/%&0%&1%&2%&3%&4%&5%&6%&7%&8%&9%&:%&;%&<%&=%&>%&?%&@%&A%&B%&C%&D%&E%&F%&G%&H%&I%&J%&K%&L%&M%&N%&O%&P%QR%QS%QT%UV%UW%UX%UY%UZ%U[%U\%U]%U^%U_%U_%U`%Ua%Ub%Uc%Ud%Ue%fg%hi%hj%hk%lm%ln%lo%lp%lq%lr%ls%lt%uv%wxyz{|}~                              ! " # $ % & ' ( ) * +,-./012345678(affection-0.0.0.9-LNobAbUUusOHBlvleKC7Tq,Affection.MessageBus.Message.JoystickMessage AffectionAffection.Types,Affection.MessageBus.Message.KeyboardMessage)Affection.MessageBus.Message.MouseMessageAffection.MessageBus.ClassAffection.Logging"Affection.MessageBus.Message.Class*Affection.MessageBus.Message.WindowMessageAffection.Subsystems.ClassAffection.StateMachineAffection.Util$Affection.Subsystems.AffectionWindow#Affection.Subsystems.AffectionMouse&Affection.Subsystems.AffectionKeyboard&Affection.Subsystems.AffectionJoystickAffection.MessageBus.MessageAffection.MessageBusSDL EventpayloadAffection.SubsystemsbaseGHC.IntInt16Int32GHC.WordWord8 mtl-2.2.2Control.Monad.State.ClassgetputControl.Monad.IO.ClassliftIO$linear-1.20.8-A6yXxZoEVLi6H8lbxuIFKk Linear.V2V2#sdl2-2.4.1.0-JfGLkN9ODDEI4y1RAyJJ9B SDL.Event UnknownEventClipboardUpdateEvent DropEventDollarGestureEventMultiGestureEventTouchFingerMotionEventTouchFingerEvent SysWMEvent UserEvent QuitEventAudioDeviceEventControllerDeviceEventControllerButtonEventControllerAxisEventJoyDeviceEventJoyButtonEvent JoyHatEvent JoyBallEvent JoyAxisEventMouseWheelEventMouseButtonEventMouseMotionEventKeymapChangedEventTextInputEventTextEditingEvent KeyboardEventWindowClosedEventWindowLostKeyboardFocusEventWindowGainedKeyboardFocusEventWindowLostMouseFocusEventWindowGainedMouseFocusEventWindowRestoredEventWindowMaximizedEventWindowMinimizedEventWindowSizeChangedEventWindowResizedEventWindowMovedEventWindowExposedEventWindowHiddenEventWindowShownEvent EventPayload InputMotionSDL.Input.Mouse MouseButton MouseDeviceMouseScrollDirection SDL.Video windowVisiblewindowInitialSizewindowResizablewindowPosition windowOpenGL windowModewindowInputGrabbed windowHighDPI windowBorder WindowConfigWindowed Minimized MaximizedFullscreenDesktop Fullscreen WindowModeSDL.Video.OpenGL GLContextSDL.Input.JoystickJoyButtonStateJoyHatPositionJoyDeviceConnectionSDL.Init InitEventsInitGameController InitHaptic InitJoystick InitVideo InitAudio InitTimerInitFlagSDL.Input.KeyboardKeysymSDL.Internal.TypesWindow'uuid-types-1.0.3-AmvYrrtzCAN8P9sFwjcKZ9Data.UUID.Types.InternalUUIDLogLevelVerboseDebugWarnErrorloglogIOMessagemsgTimeJoystickMessageMsgJoystickAxisMsgJoystickBallMsgJoystickHatMsgJoystickButtonMsgJoystickDevice msgJAWhen msgJAWhich msgJAAxis msgJAValue msgJBWhen msgJBWhich msgJBBallmsgJBRelMotion msgJHWhen msgJHWhichmsgJHHat msgJHPosition msgJBButton msgJBState msgJDWhen msgJDWhichmsgJDConnection$fMessageJoystickMessage$fShowJoystickMessageKeyboardMessageMsgKeyboardEvent msgKbdWhen msgKbdWindowmsgKbdKeyMotionmsgKbdKeyRepeat msgKbdKeysym$fMessageKeyboardMessage$fShowKeyboardMessage MouseMessageMsgMouseMotionMsgMouseButton MsgMouseWheel msgMMWhen msgMMWindow msgMMWhich msgMMStatemsgMMPosmsgMMRelMotion msgMBWhen msgMBWindow msgMBMotion msgMBWhich msgMBButton msgMBClicksmsgMBPos msgMWWhen msgMWWhindow msgMWWhichmsgMWPosmsgMWDIrection$fMessageMouseMessage$fShowMouseMessage WindowMessage MsgWindowShow MsgWindowHideMsgWindowExpose MsgWindowMoveMsgWindowResizeMsgWindowSizeChangeMsgWindowMinimizeMsgWindowMaximizeMsgWindowRestoreMsgWindowGainMouseFocusMsgWindowLoseMouseFocusMsgWindowGainKeyboardFocusMsgWindowLoseKeyboardFocusMsgWindowClose msgWSWhen msgWSWindow msgWHWhen msgWHWindow msgWEWhen msgWEWindow msgWMWhen msgWMWindow msgWMNewPos msgWRWhen msgWRWindow msgWRNewSize msgWSCWhen msgWSCWindow msgWSCNewSize msgWMinWhen msgWMinWindow msgWMaxWhen msgWMaxWindow msgWRestWhenmsgWRestWindow msgWGMFWhen msgWGMFWindow msgWLMFWhen msgWLMFWindow msgWGKFWhen msgWGKFWindow msgWLKFWhen msgWLKFWindow msgWCWhen msgWCWindow$fMessageWindowMessage$fShowWindowMessageAngleAffectionStaterunStateAffectionStateInner AffectionData quitEvent userState drawWindow glContext screenModedrawDimensions elapsedTime deltaTimesysTime pausedTimeInitComponentsAllOnlyAffectionConfiginitComponents windowTitle windowConfig canvasSizeinitScreenMode loadStatepreLoop eventLoop updateLoopdrawLoopcleanUp$fMonadParallelAffectionState$fFunctorAffectionState$fApplicativeAffectionState$fMonadAffectionState$fMonadIOAffectionState$fMonadStateAffectionState SDLSubsystemconsumeSDLEvents StateMachinesmLoadsmUpdatesmEventsmDrawsmClean ParticipantMesgpartSubscribers partSubscribepartUnSubscribepartEmitgenUUIDpreHandleEvents getAffection putAffectiondelaySecgetElapsedTimegetDeltaquit toggleScreen fitViewportconsumeSDLWindowEventsconsumeSDLMouseEventsconsumeSDLKeyboardEventsconsumeSDLJoystickEventsjoystickAutoConnectjoystickAutoDisconnect withAffectionghc-prim GHC.TypesIOtransformers-0.5.5.0 Control.Monad.Trans.State.StrictStateT