úΚa•'¹      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢ £ € ¥ Š § š © ª « ¬ ­ ® ¯ ° ± ² ³ Ž µ ¶ · ž  None¹º»Œœ¹º»Œœ¹º»Œœ NoneŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌŸ¿ÀÁÂÃÄ Ÿ¿ÀÁÂÃÄÅÆÇÈÉÊËÌNoneÍÎÏÍÎÏ  Safe-Inferred Safe-Inferredmedia-type and sub-type "*". JGeneric media-subtype. ZGeneric media-type. \The Media-type representation. bType-class for converting a Ð to a media-subtype. dType-class for converting a Ð to a media-type. ¿  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+d  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeddebc\]^_`aZ[XYVWTURSPQNOLMJKHIFGDEBC@A>?<=:;8967452301./,-*+()&'$%"# !  ‹    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ      !"#$%&'()*+ Safe-InferredfThe error type used as F# meta-data in all snap predicates. h(HTTP) status code ioptional status message j"Convenience function to construct f values from ! status code and status message. fghijfghijfghijfghij Safe-Inferredk-An environment for predicates, consisting of  mappings form Ðs to , values. lAn empty environment. m3Try to get the associated value for the given key.  Only successful iff, (i) k contains a binding for k . and (ii) the type of value and target match. n#Add a binding from key to value to k , overriding  previous bindings if existing. k-.lmnklmnklmnk-.lmn Safe-Inferred oA |' instance corresponding to the logical  AND connective of two |s. q-Data-type used for tupling-up the results of o. sA |' instance corresponding to the logical  OR connective of two |s. The meta-data of  each &rue branch can be of different types. If both arguments evaluate to  the one with the  smaller ƒ& will be preferred, or--if equal--the  left-hand argument. vA |' instance corresponding to the logical  OR connective of two |s. It requires the  meta-data of each #rue branch to be of the same type. If both arguments evaluate to  the one with the  smaller ƒ& will be preferred, or--if equal--the  left-hand argument. xA | instance which always returns ‚ with  the given value as F' s meta-data. zA | instance which always returns  with  the given value as T' s meta-data. |The | class declares the function  which ? evaluates the predicate against some value, returning a value  of type €. ? Besides being parameterised over predicate type and predicate B parameter, the class is also parameterised over the actual types  of T's and F' s meta-data. €A /-like type where each branch rue or ‚ alse carries * some meta-data which is threaded through | evaluation. !logical True with some meta-data ‚"logical False with some meta-data ƒƒ. is a measure of distance. It is (optionally) % used in predicates that evaluate to  but not uniquely so, i.e.  different evaluations of , are possible and they may have a different  "fitness". >An example is content-negotiation. A HTTP request may specify D a preference list of various media-types. A predicate matching one " specific media-type evaluates to ", but other media-types may match H even better. To represent this ambivalence, the predicate will include A a delta value which can be used to decide which of the matching ! predicates should be preferred. „Evaluate the given predicate p against the given value a. …The …? function will invoke the given function only if the predicate p  applied to the test value a evaluates to . !opqrstuvwxyz{|}~€‚ƒ„…0123456789opqrstuvwxyz{|}~€‚ƒ„…ƒ€‚|}~z{xyvwustqrop„…opqrstuvwxyz{|}~€‚ƒ„…0123456789None:;<=>?@ABCDEFGHI:;<=>?@ABCDEFGHI :;<=>?@ABCDEFGHINone†@Predicate which is true if the request has a parameter with the  given name. ˆCPredicate which returns the first request parameter which could be 2 converted to the target type wrapped in a Maybe. " If the parameter is not present, J will be returned.  Relies on K' type-class for the actual conversion. ŠSpecialisation of Ž! which returns the first request 8 parameter which could be converted to the target type. E If the parameter is not present, the provided default will be used.  Relies on K' type-class for the actual conversion. ŒSpecialisation of Ž! which returns the first request 8 parameter which could be converted to the target type.  Relies on K' type-class for the actual conversion. Ž7The most generic request parameter predicate provided. - It will get all request parameter values of _name and pass them on to  the conversion function _read$, which might either yield an error Q message or a value. If the parameter is not present, an optional default may be J returned instead, if nothing is provided, the error message will be used # when construction the 400 status. request parameter name ‘conversion function ’(optional) default value †‡ˆ‰Š‹ŒŽ‘’LMNOPQRSTU †‡ˆ‰Š‹ŒŽ‘’ Ž‘’Œˆ‰Š‹†‡†‡ˆ‰Š‹ŒŽ‘’LMNOPQRSTUNone“=Predicate which is true if the request has a header with the  given name. •@Predicate which returns the first request header which could be 2 converted to the target type wrapped in a Maybe.  If the header is not present, J will be returned.  Relies on K' type-class for the actual conversion. —Specialisation of ›! which returns the first request ; header value which could be converted to the target type. B If the header is not present, the provided default will be used.  Relies on K' type-class for the actual conversion. ™Specialisation of ›! which returns the first request ; header value which could be converted to the target type.  Relies on K' type-class for the actual conversion. ›4The most generic request header predicate provided. * It will get all request header values of _name and pass them on to  the conversion function _read$, which might either yield an error N message or a value. If the header is not present, an optional default may be J returned instead, if nothing is provided, the error message will be used # when construction the 400 status. request header name žconversion function Ÿ(optional) default value “”•–—˜™š›œžŸVWXYZ[\]^_ “”•–—˜™š›œžŸ ›œžŸ™š•–—˜“”“”•–—˜™š›œžŸVWXYZ[\]^_None`a`a`aNone A | against the bs "Accept" header.  ¡cdf  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde ¡ ¡ ¡cd None¢A | against the bs " Content-Type" header. ¢£€efg  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde¢£€€¢£¢£€efNoneˆ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€ None¥9The Routes monad is used to add routing declarations via Š or  one of §, ©, etc. H Routing declarations can then be turned into the ordinary snap format,  i.e. !MonadSnap m => [(ByteString, m a)] or into strings. ŠAdd a route for some g% and path (potentially with variable % captures), and constrained the some |. §Specialisation of Š for a specific HTTP g. šSpecialisation of Š for a specific HTTP g. ©Specialisation of Š for a specific HTTP g. ªSpecialisation of Š for a specific HTTP g. «Specialisation of Š for a specific HTTP g. ¬Specialisation of Š for a specific HTTP g. ­Specialisation of Š for a specific HTTP g. ®Specialisation of Š for a specific HTTP g. ¯Specialisation of Š for a specific HTTP g taking  no | into consideration. °Specialisation of Š for a specific HTTP g taking  no | into consideration. ±Specialisation of Š for a specific HTTP g taking  no | into consideration. ²Specialisation of Š for a specific HTTP g taking  no | into consideration. ³Specialisation of Š for a specific HTTP g taking  no | into consideration. ŽSpecialisation of Š for a specific HTTP g taking  no | into consideration. µSpecialisation of Š for a specific HTTP g taking  no | into consideration. ¶Specialisation of Š for a specific HTTP g taking  no | into consideration. ·&Turn route definitions into a list of hs. žTurn route definitions into "snapable" format, i.e. < Routes are grouped per path and selection evaluates routes  against the given Snap b. iGroup routes by path. %jklm¥nopqrstuvŠpath handler | §path handler | špath handler | ©path handler | ªpath handler | «path handler | ¬path handler | ­path handler | ®path handler | ¯path handler °path handler ±path handler ²path handler ³path handler Žpath handler µpath handler ¶path handler ·žiwxy¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¥·žŠ§¯š°©±ª²«³¬Ž­µ®¶jklm¥nopqrstuvŠ§š©ª«¬­®¯°±²³Žµ¶·žiwxyz  !!""##$$%%&&''(())**++,,--..//00112233445566778899::;;<<==>>??@@ABCDEFGHIIJKLMNOPQQRRSSTUUVVWWXYZ[\]^_`abbccddeeffghijjkkllmmnnopqrr s s t u v w x y z { | } ~  €  ‚ ƒ „ … † ‡ ˆ ‰ Š ‹ Œ  @ @ Ž   ‘ ’ “ ” • – — ˜ ™ šŠ›œžŸ ¡¢£€¥Š§š©ª«¬­®¯°±²³Žµ¶·ž¹º»ŒœŸ¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõö÷øùúûüMýþÿ      •˜ú !"#$%&'()*+,-./0”12345 6 728ú9: ; < < = > u ? @ @ A B C D D E F GHsnap-predicates-0.3.0Snap.Predicate.TypesSnap.Predicate.MediaTypeSnap.Predicate.ErrorData.Predicate.EnvData.PredicateSnap.Predicate.ParamSnap.Predicate.HeaderSnap.Predicate.AcceptSnap.Predicate.Content Snap.RouteSnap.Predicate.Parser.SharedSnap.Predicate.Parser.AcceptSnap.Predicate.TutorialSnap.Predicate.Internal!Snap.Predicate.MediaType.InternalSnap.PredicateCSVlistAllXmlXhtmlXmlWebmVorbisThriftTiffTarRssXmlRdfXmlProtobuf PostscriptPngPlain Pkcs7CertRqRs Pkcs7MimePkcs7Sig Pkcs7CertPkcs12PartialOgg OctetStreamMpegMp4MixedJsonJpeg JavascriptGzipGifFormUrlEncodedFormData EncryptedCsvCssAtomXmlSubTypeVideoText MultipartMessageImageAudio ApplicationType MediaType_type_subtype_quality_paramsMSubType toSubTypeMTypetoTypeError_status_messageerrEnvemptylookupinsert:&::*::||::+::|:FailConst PredicateFValTValapplyBooleanTFDeltaevalwithHasParamParamOptParamDefParam Parameter_pName_pRead _pDefaultHasHdrHdrOptHdrDefHdrHeader_hdrName_hdrRead _hdrDefaultAccept ContentTypeContentRoutesaddRoutegetheadpostputdeletetraceoptionsconnectget_head_post_put_delete_trace_options_connect_ showRoutes expandRoutesspacestrimoneofchrwmedType medSubtype medQuality medParamsparseMediaTypes mediaTypes mediaTypeparamstypsubtypkeyvaltoDouble $fReadableCSVbytestring-0.10.0.2Data.ByteString.Internal ByteString $fShowAll $fMSubTypeAll $fMTypeAll $fShowXml $fMSubTypeXml$fShowXhtmlXml$fMSubTypeXhtmlXml $fShowWebm$fMSubTypeWebm $fShowVorbis$fMSubTypeVorbis $fShowThrift$fMSubTypeThrift $fShowTiff$fMSubTypeTiff $fShowTar $fMSubTypeTar $fShowRssXml$fMSubTypeRssXml $fShowRdfXml$fMSubTypeRdfXml$fShowProtobuf$fMSubTypeProtobuf$fShowPostscript$fMSubTypePostscript $fShowPng $fMSubTypePng $fShowPlain$fMSubTypePlain$fShowPkcs7CertRqRs$fMSubTypePkcs7CertRqRs$fShowPkcs7Mime$fMSubTypePkcs7Mime$fShowPkcs7Sig$fMSubTypePkcs7Sig$fShowPkcs7Cert$fMSubTypePkcs7Cert $fShowPkcs12$fMSubTypePkcs12 $fShowPartial$fMSubTypePartial $fShowOgg $fMSubTypeOgg$fShowOctetStream$fMSubTypeOctetStream $fShowMpeg$fMSubTypeMpeg $fShowMp4 $fMSubTypeMp4 $fShowMixed$fMSubTypeMixed $fShowJson$fMSubTypeJson $fShowJpeg$fMSubTypeJpeg$fShowJavascript$fMSubTypeJavascript $fShowGzip$fMSubTypeGzip $fShowGif $fMSubTypeGif$fShowFormUrlEncoded$fMSubTypeFormUrlEncoded$fShowFormData$fMSubTypeFormData$fShowEncrypted$fMSubTypeEncrypted $fShowCsv $fMSubTypeCsv $fShowCss $fMSubTypeCss $fShowAtomXml$fMSubTypeAtomXml $fShowSubType$fMSubTypeSubType $fShowVideo $fMTypeVideo $fShowText $fMTypeText$fShowMultipart$fMTypeMultipart $fShowMessage$fMTypeMessage $fShowImage $fMTypeImage $fShowAudio $fMTypeAudio$fShowApplication$fMTypeApplication $fShowType $fMTypeTypebase Data.DynamicDynamic_unenvghc-prim GHC.TypesBool $fShow:&:$fPredicate:&:c $fShow:||:$fPredicate:||:c $fShow:|:$fPredicate:|:c $fShowFail$fPredicateFaila $fShowConst$fPredicateConstaRqPred_rqName_rqRead_rqDef _rqCachePref_rqVals_rqErrorheaderscookiessafeHead readValuesrqApply rqApplyMaybe Data.MaybeNothingsnap-core-0.9.3.1Snap.Util.ReadableReadable$fShowHasParam$fPredicateHasParamRequest$fShowParamOpt$fPredicateParamOptRequest$fShowParamDef$fPredicateParamDefRequest $fShowParam$fPredicateParamRequest$fShowParameter$fPredicateParameterRequest $fShowHasHdr$fPredicateHasHdrRequest $fShowHdrOpt$fPredicateHdrOptRequest $fShowHdrDef$fPredicateHdrDefRequest $fShowHdr$fPredicateHdrRequest $fShowHeader$fPredicateHeaderRequestreadMediaTypesSnap.Internal.Http.TypesRequest $fShowAccept$fPredicateAcceptRequest$fShowContentType$fPredicateContentTypeRequestMethodGHC.BaseString normaliseHandler_delta_handler _unroutesRoute_method_path_predPackselectrespond $fMonadRoutes