úÎ!a`Zfu      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstNone7 ,hoauth2)Authorization Code Grant Error Responses  3https://tools.ietf.org/html/rfc6749#section-4.1.2.1! Implicit Grant Error Responses 3https://tools.ietf.org/html/rfc6749#section-4.2.2.1None7MP hoauth2!type synonym of post body contenthoauth2 Is either u containing an error or v containg a resulthoauth2The gained Access Token. Use Data.Aeson.decode to decode string to  AccessToken. The  refreshToken" is special in some cases, e.g. 2https://developers.google.com/accounts/docs/OAuth2(hoauth2Query Parameter Representation2hoauth2aPrepare the authorization URL. Redirect to this URL asking for user interactive authentication.3hoauth2HPrepare the URL and the request body query for fetching an access token.4hoauth2cPrepare the URL and the request body query for fetching an access token, with optional grant type.5hoauth2jUsing a Refresh Token. Obtain a new access token by sending a refresh token to the Authorization server.6hoauth2For GET method API.7hoauth2Create   with given access token value.>hoauth2Parse JSON data into 3hoauth2(access code gained via authorization URLhoauth2/access token request URL plus the request body.4hoauth2(access code gained via authorization URLhoauth2 Grant Typehoauth2/access token request URL plus the request body.5hoauth2*refresh token gained via authorization URLhoauth20refresh token request URL plus the request body.6hoauth2Base URIhoauth2Authorized Access Tokenhoauth2Combined Result0  !"#$%&'().-,+*/0123456789:;<0().-,+*%&'"#$ !/01 23456789:;<None7! \hoauth2Token Error Responses /https://tools.ietf.org/html/rfc6749#section-5.2\a_^b`]\a_^b`]None>XWhhoauth27Fetch OAuth2 Token with authenticate in request header.OAuth2 spec allows  client_id and  client_secretÿ] to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use h or iihoauth2Please read the docs of h.jhoauth2jFetch a new AccessToken with the Refresh Token with authentication in request header. OAuth2 spec allows  client_id and  client_secretÿ] to either be sent in the header (as basic authentication) OR as form/url params. The OAuth server can choose to implement only one, or both. Unfortunately, there is no way for the OAuth client (i.e. this library) to know which method to use. Please take a look at the documentation of the service that you are integrating with and either use j or kkhoauth2Please read the docs of j.whoauth21Conduct post request and return response as JSON.lhoauth2Conduct post request.xhoauth2 Parses a Response to to  OAuth2Resultyhoauth2Try z, if failed then parses the OAuth2Result BSL.ByteString+ that contains not JSON but a Query String.{hoauth2 Parses a OAuth2Result BSL.ByteString* that contains not JSON but a Query Stringmhoauth2>Conduct an authorized GET request and return response as JSON.nhoauth2"Conduct an authorized GET request.ohoauth2same to n; but set access token to query parameter rather than headerphoauth21Conduct POST request and return response as JSON.qhoauth2Conduct POST request.rhoauth2HConduct POST request with access token in the request body rather headershoauth2EConduct POST request with access token in the header and null in bodythoauth2ZSend an HTTP request including the Authorization header with the specified access token.|hoauth2 Parses a Response to to  OAuth2Result}hoauth20Set several header values: + userAgennt : hoauth2 + accept : `application/json` + authorization : Bearer xxxxx if % provided.~hoauth2Set the HTTP method to use.hhoauth2HTTP connection managerhoauth2 OAuth Datahoauth2 OAuth2 Codehoauth2 Access Tokenihoauth2HTTP connection managerhoauth2 OAuth Datahoauth2OAuth 2 Tokenshoauth2 Access Tokenjhoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationkhoauth2HTTP connection manager.hoauth2 OAuth contexthoauth2(refresh token gained after authorizationwhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2The URLhoauth2 request bodyhoauth2Response as JSONlhoauth2HTTP connection manager.hoauth2 OAuth optionshoauth2URLhoauth2 Request body.hoauth2Response as ByteStringmhoauth2HTTP connection manager.hoauth2Response as JSONnhoauth2HTTP connection manager.hoauth2Response as ByteStringohoauth2HTTP connection manager.hoauth2Response as ByteStringphoauth2HTTP connection manager.hoauth2Response as JSONqhoauth2HTTP connection manager.hoauth2Response as ByteStringrhoauth2HTTP connection manager.hoauth2Response as ByteStringshoauth2HTTP connection manager.hoauth2Response as ByteStringthoauth2Request to performhoauth2Modify request before sendinghoauth2HTTP connection manager. hijklmnopqrst hijklmnopqrst OAuth2 client(c) 2012 Haisheng Wu BSD-style (see the file LICENSE)Haisheng Wu <freizl@gmail.com>alphaportableNoneYn=  !"#$%&'()*+,-./0123456789:;<hijklmnopqrst       !""#$$%&&'(()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\] ^_`abcdefghijklmklnopqrstuvw%hoauth2-1.13.0-LCP8H4EaE471yPzHWv10ar)Network.OAuth.OAuth2.AuthorizationRequestNetwork.OAuth.OAuth2.Internal!Network.OAuth.OAuth2.TokenRequestNetwork.OAuth.OAuth2.HttpClientNetwork.OAuth.OAuth2ErrorsInvalidRequestUnauthorizedClient AccessDeniedUnsupportedResponseType InvalidScope ServerErrorTemporarilyUnavailable$fToJSONErrors$fFromJSONErrors $fShowErrors $fEqErrors$fGenericErrors QueryParamsPostBody OAuth2Result OAuth2ErrorerrorerrorDescriptionerrorUri OAuth2Token accessToken refreshToken expiresIn tokenTypeidToken ExchangeTokenextokenIdTokenidtoken RefreshTokenrtoken AccessTokenatokenOAuth2 oauthClientIdoauthClientSecretoauthOAuthorizeEndpointoauthAccessTokenEndpoint oauthCallbackparseIntFlexibleparseOAuth2ErrormkDecodeOAuth2ErrorauthorizationUrlaccessTokenUrlaccessTokenUrl'refreshAccessTokenUrlappendAccessTokenaccessTokenToParamappendQueryParams uriToRequest requestToUrihostLensportLens$fToJSONOAuth2Token$fFromJSONOAuth2Token$fBinaryOAuth2Token$fToJSONOAuth2Error$fFromJSONOAuth2Error $fShowOAuth2 $fEqOAuth2$fBinaryAccessToken$fEqAccessToken$fShowAccessToken$fFromJSONAccessToken$fToJSONAccessToken$fBinaryRefreshToken$fEqRefreshToken$fShowRefreshToken$fFromJSONRefreshToken$fToJSONRefreshToken$fBinaryIdToken $fEqIdToken $fShowIdToken$fFromJSONIdToken$fToJSONIdToken$fShowExchangeToken$fFromJSONExchangeToken$fToJSONExchangeToken$fEqOAuth2Token$fShowOAuth2Token$fGenericOAuth2Token$fShowOAuth2Error$fEqOAuth2Error$fGenericOAuth2Error InvalidClient InvalidGrantUnsupportedGrantTypefetchAccessTokenfetchAccessToken2refreshAccessTokenrefreshAccessToken2doSimplePostRequest authGetJSON authGetBS authGetBS2 authPostJSON authPostBS authPostBS2 authPostBS3 authRequestbase Data.EitherLeftRightdoJSONPostRequesthandleOAuth2TokenResponseparseResponseFlexibleparseResponseJSONparseResponseStringhandleResponseupdateRequestHeaders setMethod