r      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxysxwvutWXYZ[\]^_`abcdefghijklmnopqrUVHIJKLMNOPQRST@ABCDEFG9?>=<;: !"#$%&'()*+,-./012345678     wxyz{|}~defghijklmnopqrstuvXYZ[\]^_`abcLMNOPQRSTUVW9:;<=>?@ABCDEFGHIJK,-./012345678()*+%&'!$#"   =   !$#"%&'()*+, -./0123456789:;<=>?@ABCDEFGHIJKL MNOPQRSTUVWX YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~#      !"#$%&'()*+,-./0123456789?>=<;:@ABCDEFGH IJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsxwvutNoneyEused internally to easily convert different Rdio types to params for  | requests. You can use toParam to do this if you want. {Vused internally to convert a list of parameters to a string that can be passed via GET/POST |used internally yz{|yz{|{|yz yz{|NoneDTakes: a key and a secret. Returns a two-legged auth token. You can  just use runRdio in most cases. ^Takes: a key and a secret. Does three-legged auth and returns an auth token. You can just use runRdioWithAuth in most cases. }~}~}~}~None,The Rdio! monad...just a wrapper around a ReaderT monad. +Takes: a key, a secret, a function to run. Same as runRdio6, but with 3-legged authentication i.e. the user will  | have to authorize your app. used internally  Send a arbitrary request to rdio's api. Return type should  | be an instance of FromJSON-, and you need to specify the type. Example: j result <- (runRequest [("method", "getTopCharts"), ("type", "Artist")] :: Rdio (Either String [Artist]))  Takes: [keys] , [extras] (optional) -Takes: short code (everything after the http:rd.iox ), [extras]  (optional) "Takes: url (everything after http:rdio.com/ ), [extras] (optional) Takes: a UPC code, [extras] (optional) Takes: A key of an artist Takes: a key of a label Takes: a key of a label Takes: an ISRC code, [extras] (optional) Takes: an artist key Takes: a query, a type ("Artist", "Album", "Track", "Playlist", or  "User") H This method can return any of those types, so you need to specify what  you want returned. Example: > search "Radiohead" "Artist" :: Rdio (Either String [Artist]) 8Takes: a list of keys of tracks or playlists. *Requires  authentication*. 5Takes: an artist key. Requires authentication OR use getAlbumsForArtistInCollection' and pass in a user key. Requires authentication OR use getAlbumsInCollection' and pass in  a user key. Requires authentication OR use getArtistsInCollection' and pass in  a user key. Requires authentication. 4Takes: an album key. Requires authentication OR use getTracksForAlbumInCollection' and pass in a user key. 5Takes: an artist key. Requires authentication OR use getTracksForArtistInCollection' and pass in a user key. Requires authentication OR use getTracksInCollection' and pass in  a user key. BTakes: a list of track or playlist keys. Requires authentication. BTakes: a list of track or playlist keys. Requires authentication. DTakes: a playlist key, a list of track keys to add to the playlist,  [extras] (optional).  Requires authentication. @Takes: a name, a description, a list of track keys to start the  playlist with, [extras]& (optional). Requires authentication. 0Takes: a playlist key. Requires authentication. Requires authentication OR use  getPlaylists' and pass in a user key. Requires authentication OR use getUserPlaylists' and pass in a user key. Takes:  - a playlist key ' the index of the first item to remove  number of tracks to remove D the keys of the tracks to remove (redundancy to prevent accidental  deletion)  [extras] (optional) Requires authentication. FTakes: a playlist key, a boolean (true == collaborating, false == not * collaborating). Requires authentication. FTakes: a playlist key, a collaboration mode. Requires authentication. GTakes: a playlist key, a name, a description. Requires authentication. 4Takes: a playlist key, a list of track keys, [extras] (optional).  Requires authentication. ,Takes: a user key. Requires authentication. Requires authentication.  Takes: an email address, [extras] (optional). Takes: user name, [extras] (optional). ,Takes: a user key. Requires authentication. Takes: a user key. Takes: a user key. Takes: a user key, a scope. <Takes: the domain that the playback SWF will be embedded in  (optional). KKKK       !"#$%&'(()**+,--./01234567899:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVVWXYZ[\]^_`aabcdefghijklmnopqrsstuvwxyz{|}~      !"#$%&'()*+,-./01234556789:;<<=>?@ABCDEFGHIJJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ rdioh-0.2.1 Rdioh.Models Rdioh.Util Rdioh.AuthRdioh TimeframeTwoWeeksLastWeekThisWeekUpdateownerdate updateType UpdateType UTrackSyncedUUserSubscribedUTrackAddedViaMatchCollectionUCommentOnPlaylistUCommentOnArtistUCommentOnAlbumUCommentOnTrack UUserJoined UFriendAddedUTrackAddedToPlaylistUTrackAddedToCollectionActivity activityUserupdatesScopeAllScope FriendScope UserScopeCollaborationModeCollaborationWithFollowedCollaborationWithAllNoCollaboration PlaylistType SubscribedCollabOwned SearchResultsresults RdioResponse rdioStatus rdioResultUserCollectionStationucsKey ucsLength ucsTracksucsReloadOnRepeatucsCountucsUser ucsBaseIconucsIconucsNameucsUrl ucsTrackKeysArtistTopSongsStation atssRadioKeyatssTopSongsKey atssBaseIcon atssTracks atssArtistUrlatssKeyatssReloadOnRepeatatssIcon atssCountatssName atssHasRadioatssUrlatssArtistName atssShortUrl atssLengthatssAlbumCount atssTrackKeysHeavyRotationUserStationhrusKey hrusLength hrusTrackshrusReloadOnRepeat hrusCounthrusUser hrusBaseIconhrusIconhrusName hrusTrackKeysHeavyRotationStationhrsKey hrsLength hrsTrackshrsReloadOnRepeathrsCounthrsUser hrsBaseIconhrsIconhrsName hrsTrackKeys ArtistStation asRadioKey asTopSongsKey asBaseIconasTracks asArtistUrlasKeyasReloadOnRepeatasIconasCountasName asHasRadioasUrl asArtistName asShortUrlasLength asAlbumCount asTrackKeys LabelStationlsCount lsLabelNamelsName lsHasRadiolsTracks lsLabelUrl lsShortUrllsLengthlsUrllsKey lsRadioKeylsReloadOnRepeat lsTrackKeysCollectionArtist colArtistName colArtistKey colArtistUrlcolArtistLength colArtistIconcolArtistBaseIconcolArtistHasRadiocolArtistShortUrlcolArtistRadioKeycolArtistTopSongsKeycolArtistUserKeycolArtistUserNamecolArtistArtistKeycolArtistArtistUrlcolArtistCollectionUrlcolCount colAlbumCountCollectionAlbumcolNamecolIcon colBaseIconcolUrl colArtistcolAlbumArtistUrl colIsExplicit colIsClean colLengthcolAlbumArtistKey colTrackKeyscolPrice colCanStream colCanSample colCanTether colShortUrl colEmbedUrlcolDisplayDatecolKeycolReleaseDate colDuration colUserKey colUserName colAlbumKey colAlbumUrlcolCollectionUrlcolItemTrackKeys colIframeUrl colUserGendercolIsCompilationcolLabelcolReleaseDateISOcolUpcs colBigIcon UserExtra IsSubscriber IsUnlimited DisplayName FollowersUrl CollectionKey PlaylistsUrl CollectionUrl ReviewCountUsernameLastSongPlayTime TrackCount AlbumCountNetworkHeavyRotationKeyHeavyRotationKeyLastSongPlayed ArtistCountIsTrial FollowingUrlUseruserKey firstNamelastNameuserIcon userBaseIconlibraryVersionuserUrlgender followingUrlisTrial artistCountlastSongPlayedheavyRotationKeynetworkHeavyRotationKey albumCount trackCountlastSongPlayTimeusername reviewCount collectionUrl playlistsUrl collectionKey followersUrl displayName isUnlimited isSubscriber UserPlaylistsupOwnedupCollab upSubscribedGenderFemaleMalePlaylistplNameplUrlplOwner plOwnerUrl plOwnerKey plOwnerIcon plShortUrl plEmbedUrlplKeyplLengthplIcon plBaseIcon lastUpdated plIFrameUrl isViewable plBigIcon plDescriptionplTracks isPublished plTrackKeysreasonNotViewable PlaylistExtraReasonNotViewable PlTrackKeys IsPublishedPlTracks PlDescription PlBigIcon IsViewable PlIframeUrlReason TooFewSongs OrderedAlbumUserPreferenceViewableTrack trackName trackArtist trackAlbum trackAlbumKey trackAlbumUrltrackArtistKeytrackArtistUrl trackDurationtrackIsExplicit trackIsCleantrackUrl trackBaseIcontrackCanDownloadtrackCanDownloadAlbumOnlytrackCanStreamtrackCanTethertrackCanSample trackPrice trackEmbedUrltrackKey trackIcontrackNumtrackAlbumArtisttrackAlbumArtistKeyisInCollectionisOnCompilationisrcstrackIframeUrl playCount trackBigIcon TrackExtra TrackBigIcon PlayCountTrackIframeUrlIsrcsIsOnCompilationIsInCollectionLabel labelNamelabelKeylabelUrl labelShortUrl labelHasRadio labelRadioKeyArtist artistName artistKey artistUrl artistLength artistIconartistBaseIconhasRadioartistShortUrlradioKey topSongsKeyartistAlbumCount ArtistExtraArtistAlbumCountAlbum albumName albumIcon albumBaseIconalbumUrl albumArtistalbumArtistUrl isExplicitisClean albumLengthalbumArtistKey trackKeysprice canStream canSample canTether albumShortUrlembedUrl displayDatealbumKey releaseDateduration iframeUrl isCompilation albumLabel albumBigIconreleaseDateISO AlbumExtraAlbumReleaseDateISO AlbumBigIcon AlbumLabelAlbumIsCompilationAlbumIframeUrlParamtoParamtoParams<+>reqUrlaccUrlauthUrlsrvUrlapp twoLegToken threeLegTokenRdiorunRdiorunRdioWithAuthmkExtras runRequestgetgetObjectFromShortCodegetObjectFromUrlgetAlbumsByUPCgetAlbumsForArtistgetAlbumsForArtist'getAlbumsForLabelgetAlbumsForLabel'getArtistsForLabelgetArtistsForLabel'getTracksByISRCgetTracksForArtistgetTracksForArtist'searchsearch'addToCollectiongetAlbumsForArtistInCollectiongetAlbumsForArtistInCollection'getAlbumsInCollectiongetAlbumsInCollection'getArtistsInCollectiongetArtistsInCollection'getOfflineTracksgetOfflineTracks'getTracksForAlbumInCollectiongetTracksForAlbumInCollection'getTracksForArtistInCollectiongetTracksForArtistInCollection'getTracksInCollectiongetTracksInCollection'removeFromCollectionsetAvailableOffline addToPlaylistcreatePlaylistdeletePlaylist getPlaylists getPlaylists'getUserPlaylistsgetUserPlaylists'removeFromPlaylistsetPlaylistCollaboratingsetPlaylistCollaborationModesetPlaylistFieldssetPlaylistOrder addFriend currentUserfindUserByEmailfindUserByName removeFriend userFollowersuserFollowers' userFollowinguserFollowing'getActivityStreamgetActivityStream'getHeavyRotationArtistsgetHeavyRotationArtists'getHeavyRotationAlbumsgetHeavyRotationAlbums'getNewReleasesgetNewReleases'getTopChartArtistsgetTopChartArtists'getTopChartAlbumsgetTopChartAlbums'getTopChartTracksgetTopChartTracks'getTopChartPlaylistsgetTopChartPlaylists'getPlaybackToken$fShowTimeframe$fFromJSONUpdate$fFromJSONUpdateType$fFromJSONActivity $fShowScope$fShowPlaylistType$fFromJSONSearchResults$fFromJSONRdioResponse$fFromJSONUserCollectionStation$fFromJSONArtistTopSongsStation"$fFromJSONHeavyRotationUserStation$fFromJSONHeavyRotationStation$fFromJSONArtistStation$fFromJSONLabelStation$fFromJSONCollectionArtist$fFromJSONCollectionAlbum$fFromJSONUser$fShowUserExtra$fFromJSONGender$fFromJSONUserPlaylists$fFromJSONPlaylist$fShowPlaylistExtra$fFromJSONReason$fFromJSONTrack$fShowTrackExtra$fFromJSONLabel$fFromJSONArtist$fShowArtistExtra$fFromJSONAlbum$fShowAlbumExtra$fParamTimeframe $fParamScope$fParamCollaborationMode$fParamPlaylistType $fParam[] $fParam[]0 $fParamInt $fParamBool