f]1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable experimentaladam.smyczek@gmail.com.Get value for name from a JSObject or Nothing  if JSValue is not a JSObject 'Get JSValue for name path, for example  for JSON object '{ "obj1" : { "str" : "test" } }'  js4path ["obj1", "str"] returns Just test (Get JSValue for string path of the form  reviewrequests.5.delete. Dots inside a name  are not supported. Find value in object map *Extract value from JSValue or throw error Constructor for DSL functions E  !"#$%&'()*+,-./0123456789:;<=>?@ABCDE  !"#$%&'()*+,-./0123456789:;<=>?@ABCDportable experimentaladam.smyczek@gmail.comE Typed form Form content value types GTyped form variable variable name  and content H*Form to request for typed form variables,  same as H in Network.Browser module. 2Encode form variables and append finish boundary. 1Encode variable separated to header and content. Encode headers Encode content ICreate text field variable JCreate checkbox variable KCreate file upload variable LConvert [FormVar]4 to Network.Browser FormVar, a (String, String) map MOpposite to toNBFormVar  Converts a String tuple to G .Convert Form value to Network.Browser strings EFGHIJKLM EFGHIJKLMportable experimentaladam.smyczek@gmail.comN+Response type return by every API function Q-Type of the request, Web API or default HTTP T8RB action state containing session related information. VReviewBoard server URL WLogged in user X3Session id cookie retrieve from a successful login Y*Error handler, for example error or print Z.The action monad, a state with error handler. ZE represents one ReviewBoard session that handles multiple API calls.  The RBAction runner [/ performs a login into the ReviewBoard server M and initializes the session. All session related parameters are stored in  the UT of the action.  Errors are handled in two ways: G Network related error are immediately thrown using ErrorT throwError. L ReviewRequest response errors are handled using the error handler defined  in UT (default print). [Run for Z-, performs a login using provided URL, user D and password parameters and executes the action. When login fails  [$ returns immediately with an error. <Default state initialization including server URL and user. Session id setter \8Set error handler used for ReviewBoard error responses. ]Convenient response converter ^4The request runner, generates request from provided FE parameter, L executes the requests and handles the response using the handler function. FLogin action updates session id cookie from successful login response Create API request RBResponse Create Http request RBResponse 9 The successful response returns a JSObject of the from:  { head : [  { name =  header name  value =  header value }  ],  body :  body content } _#Convenient lift for BrowserActions `8Create ReviewBoard specific URI for a Web API call URL. 9Create ReviewBoard specific URI for direct HTTP request. General URI maker bEnable/(disable debug output for Browser module NOPQRSTUVWXYZ[\]^_`abZ[_^QRSTUVWXY\bNOP]`aportable experimentaladam.smyczek@gmail.com cSynonym for URL path element dReview request field type. Request field to name map. API GET request method API POST request method KFall back to default http request for the case an action is not supported & by the ReviewBoard WebAPI (HTTP GET) Same as  for HTTP POST requests $Internal generalized request runner .(MaKe UrlPath) Default URL element path maker 2Make path element with a parameter of type a e.g.  reviewrequests (Just 5) => "reviewrequests/5/" 0cdefghijklmnopqrstuvwxyz{|}~0nopqrstuvwxyz{|}~defghijklmcportable experimentaladam.smyczek@gmail.com7Search for a user or list all users if user is Nothing 0Search for a group or list all group if Nothing Star group for group name Unstar group for group name MCreate new review request using the provided repository path and an optional 4 submit_as user. The returned response contains the id of the new created + review request that can be accessed using rrId helper function. #Delete review request with request id. Get review request by id. !Get review request by repository id and changenum id !Discard review request draft for id.  Save review request draft whith id. (Set fields to review request draft with id. ,Set one field for review request draft with id. Star review request for id Star review request for id (Add a new diff to a review request with id', file path and the basedir parameter. Add a new screenshot with  file path to a review request with id 1List all review requests with an optional status @List review request assigned to a group with an optional status PList review request assigned to a user, directly or not with an optional status 8List review request from a user with an optional status $List all reviews for review request id $Publish review request draft for id %Save review draft for review request id 'Delete review draft for review request id List repositories :Execute a ReviewBoard action using the provided URL, user  and password. hEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKKLMNOPQRSTUVWXYYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~3>/.*ReviewBoard-0.2.2ReviewBoard.ResponseReviewBoard.BrowserReviewBoard.CoreReviewBoard.RequestReviewBoard.Apijs4namejs4pathjs4spathjs2vmkrbid last_updatedsummary description bugs_closedbranch target_groups target_peoplepublicname timestamp timesincetextdraft repository repositoriesstaterrmsgcode display_name mailing_listurlusername first_name last_namefullnameemail submitter time_addedstatus changenumreview_requestreview_requests testing_doneuserusersship_itbody_top body_bottomcommentspathtoolfilediff interfilediff first_line last_line num_linescaptiontitle image_url screenshotxywhdiffset source_file dest_filesource_revision dest_detailrevisionheadbodyFormFormVar formToRequest textFieldcheckBox fileUploadtoMap toFormVar RBResponseRBerrRBok RBRequestTypeHTTPAPIRBStaterbUrlrbUser rbSessionId rbErrHandlerRBAction runRBActionsetErrorHandlerresponseToEither runRequestliftBAmkApiURI mkHttpURI setDebugHTTPUrlPathRRField TARGET_PEOPLE TARGET_GROUPSBRANCH BUGS_CLOSED TESTING_DONE DESCRIPTIONSUMMARYPUBLICSTATUSnewdeletesavediscardpublishupdate_from_changenumstarunstaralltofromcountdirectly reviewrequestrepliesdiffreviewrequestsreviewsgroupsgroupsetfilelineapiGetapiPosthttpGethttpPostmkupmkpupuserList groupList groupStar groupUnstarreviewRequestNewreviewRequestDelete reviewRequestreviewRequestByChangenumreviewRequestSaveDraftreviewRequestDiscardDraftreviewRequestSetreviewRequestSetFieldreviewRequestStarreviewRequestUnstarreviewRequestDiffNewreviewRequestScreenshotNewreviewRequestListAllreviewRequestListToGroupreviewRequestListToUserreviewRequestListFromUser reviewAllreviewPublishDraftreviewSaveDraftreviewDeleteDraftrepositoryList execRBAction findValue FormVarValuefvNamefvValueencMultipartVarsencVar encHeader encContent toNBValue initState setSessionIdlogin mkApiResponsemkHttpResponsemkURI rrFieldMap rbRequest