TAh      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefg Safe-Inferedhijhij Safe-InferedJList of (wfname, workflow) pairs, to be scheduled depending on the message' s pwfname !send a complete response #Qsend a response fragment. Useful for streaming. the last packet must sent trough ! *Fto add a monadic computation that send and receive messages, but does + not store its state in permanent storage. /  !"#$%&'()*+,-.klmnop*  !"#$%&'()*+,-.   !"#$%&'()*+,-.klmnop Safe-Infered /CMinimal interface for defining the abstract basic form combinators  defined in this module. see MFlow.Forms.XHtml for the instance for  Text.XHtml  format KOLaunchable widgets create user requests. For example whatever piece containing ; a Form tag, a link with an embeeded Ajax invocation etc. OA FormLet for an input field can not be an instance of Launchable, for example B to invoke it with ask, make the widget an instance of Launchable Oregister an user/password combination Pauthentication against O ed users.  to be used with Y Tset an HTTP cookie V@Very basic user authentication. The user is stored in a cookie. A it looks for the cookie. If no cookie, it ask to the user for a Oed ? user-password combination. It return a reference to the user. W#join two widgets in the same pages  the resulting widget, when X.ed with it, returns a either one or the other X)it is the way to interact with the user.  It takes a combination of  launchable$ objects and return the user result  in the FlowM monad YAValidates a form or widget result against a validating procedure getOdd= getInt Nothing Y (x2-> return $ if mod x 2==0 then Nothing else Just only odd number please) aencloses instances of : or < in formating < view is intended to be instantiated to a particular format  see MFlow.Forms.XHtml for usage examples bappend formatting to : or < instances < view is intended to be instantiated to a particular format  see MFlow.Forms.XHtml for usage examples D/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTname value path expires UVWXYZ[\]^_`abqrstuvwxyz{|}~4/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ab4:;<=K>/0123456789?@ABCDEFGHIJOPMNVXZ\[^_`]YWabLQRSUT// 0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abqrstuvwxyz{|}~ Safe-Inferedc%encloses a widget in Html formatting table <<< (  tr <<< (td << widget widget1)  tr <<< (td << widget widget2))d$prepend Html formatting to a widget bold << hi there  <++  widget widget1eappend Html to a widget widget widget1  ++>  H1 << hi theref#join two widgets in the same pages  the resulting widget, when X.ed with it, returns a either one or the other r  - ask widget widget1 <+ widget widget2cdefcdefdfeccdef Safe-Infered  Safe-InferedgAn instance of the abstract MFlow! scheduler to the Hack interface K it accept the list of processes being scheduled and return a hack handler  Example:  main= do   putStrLn $ options messageFlows  run 80 $ g messageFlows  where  messageFlows= [("main", runFlow flowname )  ,("hello", ) statelesproc)  ,("trans", * $ runflow transientflow]  options msgs= "in the browser choose\n\n" ++  concat [ http://server/++ i ++ n | (i,_) <- msgs] g0  !"#$%&'()*+,-.g0.  &%'(!"#$-+,*)gg Safe-Infered Safe-Infered=      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklm  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefgn     !"##$%%&'()*+,-./0123456789:;<=>?@ABCDEEFGGHHIIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./012131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[11\1]1^1_1`abacadaeafagahaiajakalamanaoapaqarasatauavawaxy MFlow-0.0.4 MFlow.Hack MFlow.FormsMFlow.Forms.XHtml MFlow.CookiesMFlowMFlow.Hack.ResponseMFlow.Hack.XHtmlMFlow.Hack.XHtml.AllWorkflow-0.6.0.0Control.WorkflowWorkflowCookie getCookies cookieHeadersctype urlDecodeError ConvertToconvertTokentwfnametusertindqqrRespEndFragmFragm Processablepwfnamepuserpind getParamsParamsReqProcListHttpDatagetTokensend sendFlush sendFragmentsendEndFragmentreceiveflushRec receiveReqreceiveReqTimeout stateless transientaddMessageFlowsgetMessageFlows msgScheduler getParam1 FormInputinredftable fromStringflinkflink1finput ftextareafoptionfoption1 fformActionWidgetwidgetFormLetdigestViewFormTrunFormTFormElmForm Selectionstitlesheadersbody LaunchableFlowMUseruserName userRegisteruserAuthenticaterunFlowstep setHeader setCookie setTimeoutsgetUsermixaskvalidate getString getIntegergetInt getPasswordgetMultilineTextgetBool getOptionwrap addToForm<<<<++++><+>hackMessageFlow$fMonadPlusParser $fMonadParser$fFunctorParser$fIndexableError$fSerializableToken $fReadToken $fShowToken$fIndexableToken$fProcessableReq$fFormLetBoolmview$fFormLet(,,)mview$fFormLet(,)mview$fWidgetMaybeamview $fMonadFormT$fApplicativeFormT$fFunctorFormT$fFunctorFormElm$fWidgetFormbmview$fLaunchableFormbmview$fWidgetSelectionamview$fLaunchableSelectionamview$fLaunchableFormTamview$fWidgetFormTamview$fFormLetUsermview$fIndexableUser$fFormInputHtml$fTypeableHtmlTRespTRespRTRempty ToResponse toResponsedefaultResponse$fTypeableResponse $fTypeableEnv$fToResponseHttpData$fToResponse[]$fToResponseByteString$fToResponseResponse$fToResponseTResp $fMonoidTResp$fConvertToHttpDataTResp$fConvertToErrorTResp$fConvertToByteStringTResp$fConvertTo[]TResp$fIndexableFlow$fProcessableEnv$fToResponseHtmlbaseControl.Applicative ApplicativeoptionalliftA3liftA2liftA<**><**><*>puremanysome<|>empty AlternativegetConstConst unwrapMonad WrapMonad WrappedMonad unwrapArrow WrapArrow WrappedArrow getZipListZipList Data.Functor<$>GHC.Base<$ hack-2012.2.6HackEnvhack-handler-simpleserver-0.2.2Hack.Handler.SimpleServerrunxhtml-3000.2.0.5Text.XHtml.Strict prettyHtmlrenderHtmlWithLanguage renderHtmlshowHtmldocTypeText.XHtml.Extrasguimenuclickmapafile textfieldpasswordsubmitresetradiohiddencheckboxdefList unordListordListhotlinkpbullet spaceHtml copyright primHtmlChar linesToHtml lineToHtml stringToHtmlURLhotLinkAttributeshotLinkContents hotLinkURLHotLinkText.XHtml.Strict.Elementsvariableulisttttrthetitlethespanthemapthelinkthehtmlthedivthecodethebasetheadthtfoottextareatdtbodytablesupsubstylestrongsmallselectscriptsamplequotepreparam paragraphoptionoptgroupolistobjectnoscriptmetalilegendlabelkeyboarditalicsinsinputimagehrheaderh6h5h4h3h2h1formfieldset emphasizedtermdlistdeldefineddefcolgroupcolcitecaptionbrbuttonboldbody blockquotebigbdoareaanchoraddressacronymabbrText.XHtml.Strict.Attributeswidthvaluevalignusemaptitlethetypethestylethefortheclasssrcsizeshapeselectedrulesrowspanrowsrevrelnohrefnamemultiplemethod maxlengthlangismap identifier httpequivhreflanghrefheightenctypedisabledcoordscontentcolspancolscodebasechecked cellspacing cellpadding bordercolorborderarchivealtcodealtalignactionText.XHtml.InternalsprettyHtmlFragmentrenderHtmlFragmentshowHtmlFragmentprimHtmlstringToHtmlStringhtmlAttrstrAttrintAttr emptyAttritagtagisNoHtmlnoHtml+++ concatHtml<<HtmlAttrHtmltoHtmlFromListtoHtmlHTML!ADDATTRS