{"action":"created","comment":{"url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/comments/219745820","pull_request_review_id":157991729,"id":219745820,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIxOTc0NTgyMA==","diff_hunk":"@@ -0,0 +1,151 @@\n+import Constants from './Constants';\n+import { GameRecordUtils } from './utils/GameRecordUtils';\n+\n+export var HandScoreCalculator = {\n+    jpn: {\n+        dealin_delta: jpn_dealin_delta,\n+        selfdraw_delta: jpn_selfdraw_delta,\n+        mistake_delta: jpn_mistake_delta\n+    }\n+};\n+\n+/**\n+ * Calculates the change in points as a result of a deal-in hand\n+ * Uses the formula from:\n+ * https://en.wikipedia.org/wiki/Japanese_Mahjong_scoring_rules\n+ *\n+ * @param {Number} points - the total number of points in hand\n+ * @param {Number} fu - the fu value of the hand\n+ * @param {Number} bonus - the current round bonus\n+ * @param {string} dealerWind - the true wind of the current dealer\n+ * @param {string} winnerWind - the winning seat true wind\n+ * @param {string} loserWind - the losing seat true wind\n+ * @param {Number} riichiSticks - the number of riichi sticks won\n+ * @return {Object} containing the point difference for each seat\n+ */\n+function jpn_dealin_delta(points,\n+                          fu,\n+                          bonus,\n+                          dealerWind,\n+                          winnerWind,\n+                          loserWind,\n+                          riichiSticks) {\n+    let winds = {};\n+    Constants.WINDS.forEach(w => {winds[w] = 0});\n+\n+    let handValue;\n+    let bonusPoints = bonus * Constants.JPN_BONUS_POINTS;\n+\n+    // The multiplier is for whether or not it's a dealer victory\n+    let multiplier = (winnerWind != dealerWind) ? 4 : 6;\n+\n+    // Check to see if you have to count basic points\n+    if (points < 5) {\n+        if (fu === 20 || (points === 1 && fu === 25)) {\n+            throw TypeError(\"Invalid points/fu combination\");\n+        } else {\n+            // Calculate hand value, if it's above a mangan, cap it there\n+            let manganPayout = Constants.JPN_MANGAN_BASE_POINTS * multiplier;\n+            handValue = Math.ceil((fu * Math.pow(2, 2 + points)) * multiplier / 100) * 100;\n+            handValue = (handValue > manganPayout) ? manganPayout : handValue;\n+        }\n+    } else {\n+        handValue = manganValue(points) * multiplier;\n+    }\n+\n+    // Add everything together to finalize total\n+    winds[winnerWind] = handValue + bonusPoints + (riichiSticks * Constants.JPN_RIICHI_POINTS);\n+    winds[loserWind] = -(handValue + bonusPoints);\n+\n+    return winds;\n+};\n+\n+/**\n+ * Calculates the change in points as a result of a self-drawn hand\n+ * Uses the formula from https://en.wikipedia.org/wiki/Japanese_Mahjong_scoring_rules\n+ *\n+ * @param {Number} points - the total number of han + dora\n+ * @param {Number} fu - the fu value of the hand\n+ * @param {Number} bonus - the current round bonus\n+ * @param {string} dealerWind - the true wind of the current dealer\n+ * @param {string} winnerWind - the winning seat true wind\n+ * @param {Number} riichiSticks - the total number of thrown riichi sticks\n+ * @return {Object} containing the point difference for each seat\n+ */\n+function jpn_selfdraw_delta(points, fu, bonus, dealerWind, winnerWind, riichiSticks) {\n+    let winds = {};\n+    Constants.WINDS.forEach(w => {winds[w] = 0});\n+    let basicPoints;\n+    let nonDealerPays;\n+    let dealerPays;","path":"imports/api/HandScoreCalculator.js","position":80,"original_position":80,"commit_id":"8965798c399188da0d0d2bded798f314a6093dc7","original_commit_id":"8965798c399188da0d0d2bded798f314a6093dc7","user":{"login":"TwelveNights","id":9423051,"node_id":"MDQ6VXNlcjk0MjMwNTE=","avatar_url":"https://avatars2.githubusercontent.com/u/9423051?v=4","gravatar_id":"","url":"https://api.github.com/users/TwelveNights","html_url":"https://github.com/TwelveNights","followers_url":"https://api.github.com/users/TwelveNights/followers","following_url":"https://api.github.com/users/TwelveNights/following{/other_user}","gists_url":"https://api.github.com/users/TwelveNights/gists{/gist_id}","starred_url":"https://api.github.com/users/TwelveNights/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TwelveNights/subscriptions","organizations_url":"https://api.github.com/users/TwelveNights/orgs","repos_url":"https://api.github.com/users/TwelveNights/repos","events_url":"https://api.github.com/users/TwelveNights/events{/privacy}","received_events_url":"https://api.github.com/users/TwelveNights/received_events","type":"User","site_admin":false},"body":"You can declare these uninitialized variables on one line","created_at":"2018-09-24T07:30:05Z","updated_at":"2018-09-24T07:34:21Z","html_url":"https://github.com/UBCMJC/MJCApp/pull/64#discussion_r219745820","pull_request_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/comments/219745820"},"html":{"href":"https://github.com/UBCMJC/MJCApp/pull/64#discussion_r219745820"},"pull_request":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64"}}},"pull_request":{"url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64","id":217511604,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE3NTExNjA0","html_url":"https://github.com/UBCMJC/MJCApp/pull/64","diff_url":"https://github.com/UBCMJC/MJCApp/pull/64.diff","patch_url":"https://github.com/UBCMJC/MJCApp/pull/64.patch","issue_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/64","number":64,"state":"open","locked":false,"title":"With new API, refactored Riichi calculations to be a formula","user":{"login":"0spooky","id":12516774,"node_id":"MDQ6VXNlcjEyNTE2Nzc0","avatar_url":"https://avatars0.githubusercontent.com/u/12516774?v=4","gravatar_id":"","url":"https://api.github.com/users/0spooky","html_url":"https://github.com/0spooky","followers_url":"https://api.github.com/users/0spooky/followers","following_url":"https://api.github.com/users/0spooky/following{/other_user}","gists_url":"https://api.github.com/users/0spooky/gists{/gist_id}","starred_url":"https://api.github.com/users/0spooky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0spooky/subscriptions","organizations_url":"https://api.github.com/users/0spooky/orgs","repos_url":"https://api.github.com/users/0spooky/repos","events_url":"https://api.github.com/users/0spooky/events{/privacy}","received_events_url":"https://api.github.com/users/0spooky/received_events","type":"User","site_admin":false},"body":"Some quality of life improvements, like utilising lists instead of\r\ndiscrete variables\r\nMost importantly, made HandScoreCalculator for hand calculation\r\n\r\nInvolved in issue #65 ","created_at":"2018-09-23T14:08:21Z","updated_at":"2018-09-24T07:34:21Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3f11934ae9d4dbf4cd4da18c47be65b54b47fe76","assignee":{"login":"0spooky","id":12516774,"node_id":"MDQ6VXNlcjEyNTE2Nzc0","avatar_url":"https://avatars0.githubusercontent.com/u/12516774?v=4","gravatar_id":"","url":"https://api.github.com/users/0spooky","html_url":"https://github.com/0spooky","followers_url":"https://api.github.com/users/0spooky/followers","following_url":"https://api.github.com/users/0spooky/following{/other_user}","gists_url":"https://api.github.com/users/0spooky/gists{/gist_id}","starred_url":"https://api.github.com/users/0spooky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0spooky/subscriptions","organizations_url":"https://api.github.com/users/0spooky/orgs","repos_url":"https://api.github.com/users/0spooky/repos","events_url":"https://api.github.com/users/0spooky/events{/privacy}","received_events_url":"https://api.github.com/users/0spooky/received_events","type":"User","site_admin":false},"assignees":[{"login":"0spooky","id":12516774,"node_id":"MDQ6VXNlcjEyNTE2Nzc0","avatar_url":"https://avatars0.githubusercontent.com/u/12516774?v=4","gravatar_id":"","url":"https://api.github.com/users/0spooky","html_url":"https://github.com/0spooky","followers_url":"https://api.github.com/users/0spooky/followers","following_url":"https://api.github.com/users/0spooky/following{/other_user}","gists_url":"https://api.github.com/users/0spooky/gists{/gist_id}","starred_url":"https://api.github.com/users/0spooky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/0spooky/subscriptions","organizations_url":"https://api.github.com/users/0spooky/orgs","repos_url":"https://api.github.com/users/0spooky/repos","events_url":"https://api.github.com/users/0spooky/events{/privacy}","received_events_url":"https://api.github.com/users/0spooky/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"Mooters","id":40250688,"node_id":"MDQ6VXNlcjQwMjUwNjg4","avatar_url":"https://avatars3.githubusercontent.com/u/40250688?v=4","gravatar_id":"","url":"https://api.github.com/users/Mooters","html_url":"https://github.com/Mooters","followers_url":"https://api.github.com/users/Mooters/followers","following_url":"https://api.github.com/users/Mooters/following{/other_user}","gists_url":"https://api.github.com/users/Mooters/gists{/gist_id}","starred_url":"https://api.github.com/users/Mooters/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mooters/subscriptions","organizations_url":"https://api.github.com/users/Mooters/orgs","repos_url":"https://api.github.com/users/Mooters/repos","events_url":"https://api.github.com/users/Mooters/events{/privacy}","received_events_url":"https://api.github.com/users/Mooters/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64/commits","review_comments_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64/comments","review_comment_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/64/comments","statuses_url":"https://api.github.com/repos/UBCMJC/MJCApp/statuses/8965798c399188da0d0d2bded798f314a6093dc7","head":{"label":"UBCMJC:genericise-japanese-score-calculation","ref":"genericise-japanese-score-calculation","sha":"8965798c399188da0d0d2bded798f314a6093dc7","user":{"login":"UBCMJC","id":22386805,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzg2ODA1","avatar_url":"https://avatars1.githubusercontent.com/u/22386805?v=4","gravatar_id":"","url":"https://api.github.com/users/UBCMJC","html_url":"https://github.com/UBCMJC","followers_url":"https://api.github.com/users/UBCMJC/followers","following_url":"https://api.github.com/users/UBCMJC/following{/other_user}","gists_url":"https://api.github.com/users/UBCMJC/gists{/gist_id}","starred_url":"https://api.github.com/users/UBCMJC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UBCMJC/subscriptions","organizations_url":"https://api.github.com/users/UBCMJC/orgs","repos_url":"https://api.github.com/users/UBCMJC/repos","events_url":"https://api.github.com/users/UBCMJC/events{/privacy}","received_events_url":"https://api.github.com/users/UBCMJC/received_events","type":"Organization","site_admin":false},"repo":{"id":66897340,"node_id":"MDEwOlJlcG9zaXRvcnk2Njg5NzM0MA==","name":"MJCApp","full_name":"UBCMJC/MJCApp","private":false,"owner":{"login":"UBCMJC","id":22386805,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzg2ODA1","avatar_url":"https://avatars1.githubusercontent.com/u/22386805?v=4","gravatar_id":"","url":"https://api.github.com/users/UBCMJC","html_url":"https://github.com/UBCMJC","followers_url":"https://api.github.com/users/UBCMJC/followers","following_url":"https://api.github.com/users/UBCMJC/following{/other_user}","gists_url":"https://api.github.com/users/UBCMJC/gists{/gist_id}","starred_url":"https://api.github.com/users/UBCMJC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UBCMJC/subscriptions","organizations_url":"https://api.github.com/users/UBCMJC/orgs","repos_url":"https://api.github.com/users/UBCMJC/repos","events_url":"https://api.github.com/users/UBCMJC/events{/privacy}","received_events_url":"https://api.github.com/users/UBCMJC/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/UBCMJC/MJCApp","description":"Website for recording MJC league games","fork":false,"url":"https://api.github.com/repos/UBCMJC/MJCApp","forks_url":"https://api.github.com/repos/UBCMJC/MJCApp/forks","keys_url":"https://api.github.com/repos/UBCMJC/MJCApp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UBCMJC/MJCApp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UBCMJC/MJCApp/teams","hooks_url":"https://api.github.com/repos/UBCMJC/MJCApp/hooks","issue_events_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/events{/number}","events_url":"https://api.github.com/repos/UBCMJC/MJCApp/events","assignees_url":"https://api.github.com/repos/UBCMJC/MJCApp/assignees{/user}","branches_url":"https://api.github.com/repos/UBCMJC/MJCApp/branches{/branch}","tags_url":"https://api.github.com/repos/UBCMJC/MJCApp/tags","blobs_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/refs{/sha}","trees_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UBCMJC/MJCApp/statuses/{sha}","languages_url":"https://api.github.com/repos/UBCMJC/MJCApp/languages","stargazers_url":"https://api.github.com/repos/UBCMJC/MJCApp/stargazers","contributors_url":"https://api.github.com/repos/UBCMJC/MJCApp/contributors","subscribers_url":"https://api.github.com/repos/UBCMJC/MJCApp/subscribers","subscription_url":"https://api.github.com/repos/UBCMJC/MJCApp/subscription","commits_url":"https://api.github.com/repos/UBCMJC/MJCApp/commits{/sha}","git_commits_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/commits{/sha}","comments_url":"https://api.github.com/repos/UBCMJC/MJCApp/comments{/number}","issue_comment_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/comments{/number}","contents_url":"https://api.github.com/repos/UBCMJC/MJCApp/contents/{+path}","compare_url":"https://api.github.com/repos/UBCMJC/MJCApp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UBCMJC/MJCApp/merges","archive_url":"https://api.github.com/repos/UBCMJC/MJCApp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UBCMJC/MJCApp/downloads","issues_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues{/number}","pulls_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls{/number}","milestones_url":"https://api.github.com/repos/UBCMJC/MJCApp/milestones{/number}","notifications_url":"https://api.github.com/repos/UBCMJC/MJCApp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UBCMJC/MJCApp/labels{/name}","releases_url":"https://api.github.com/repos/UBCMJC/MJCApp/releases{/id}","deployments_url":"https://api.github.com/repos/UBCMJC/MJCApp/deployments","created_at":"2016-08-30T02:04:58Z","updated_at":"2018-09-23T12:31:03Z","pushed_at":"2018-09-24T05:28:16Z","git_url":"git://github.com/UBCMJC/MJCApp.git","ssh_url":"git@github.com:UBCMJC/MJCApp.git","clone_url":"https://github.com/UBCMJC/MJCApp.git","svn_url":"https://github.com/UBCMJC/MJCApp","homepage":null,"size":249,"stargazers_count":2,"watchers_count":2,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":12,"license":null,"forks":2,"open_issues":12,"watchers":2,"default_branch":"master"}},"base":{"label":"UBCMJC:master","ref":"master","sha":"c578cc8c703a6b99ab15bce6e9289b801718028b","user":{"login":"UBCMJC","id":22386805,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzg2ODA1","avatar_url":"https://avatars1.githubusercontent.com/u/22386805?v=4","gravatar_id":"","url":"https://api.github.com/users/UBCMJC","html_url":"https://github.com/UBCMJC","followers_url":"https://api.github.com/users/UBCMJC/followers","following_url":"https://api.github.com/users/UBCMJC/following{/other_user}","gists_url":"https://api.github.com/users/UBCMJC/gists{/gist_id}","starred_url":"https://api.github.com/users/UBCMJC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UBCMJC/subscriptions","organizations_url":"https://api.github.com/users/UBCMJC/orgs","repos_url":"https://api.github.com/users/UBCMJC/repos","events_url":"https://api.github.com/users/UBCMJC/events{/privacy}","received_events_url":"https://api.github.com/users/UBCMJC/received_events","type":"Organization","site_admin":false},"repo":{"id":66897340,"node_id":"MDEwOlJlcG9zaXRvcnk2Njg5NzM0MA==","name":"MJCApp","full_name":"UBCMJC/MJCApp","private":false,"owner":{"login":"UBCMJC","id":22386805,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyMzg2ODA1","avatar_url":"https://avatars1.githubusercontent.com/u/22386805?v=4","gravatar_id":"","url":"https://api.github.com/users/UBCMJC","html_url":"https://github.com/UBCMJC","followers_url":"https://api.github.com/users/UBCMJC/followers","following_url":"https://api.github.com/users/UBCMJC/following{/other_user}","gists_url":"https://api.github.com/users/UBCMJC/gists{/gist_id}","starred_url":"https://api.github.com/users/UBCMJC/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/UBCMJC/subscriptions","organizations_url":"https://api.github.com/users/UBCMJC/orgs","repos_url":"https://api.github.com/users/UBCMJC/repos","events_url":"https://api.github.com/users/UBCMJC/events{/privacy}","received_events_url":"https://api.github.com/users/UBCMJC/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/UBCMJC/MJCApp","description":"Website for recording MJC league games","fork":false,"url":"https://api.github.com/repos/UBCMJC/MJCApp","forks_url":"https://api.github.com/repos/UBCMJC/MJCApp/forks","keys_url":"https://api.github.com/repos/UBCMJC/MJCApp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/UBCMJC/MJCApp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/UBCMJC/MJCApp/teams","hooks_url":"https://api.github.com/repos/UBCMJC/MJCApp/hooks","issue_events_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/events{/number}","events_url":"https://api.github.com/repos/UBCMJC/MJCApp/events","assignees_url":"https://api.github.com/repos/UBCMJC/MJCApp/assignees{/user}","branches_url":"https://api.github.com/repos/UBCMJC/MJCApp/branches{/branch}","tags_url":"https://api.github.com/repos/UBCMJC/MJCApp/tags","blobs_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/refs{/sha}","trees_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/UBCMJC/MJCApp/statuses/{sha}","languages_url":"https://api.github.com/repos/UBCMJC/MJCApp/languages","stargazers_url":"https://api.github.com/repos/UBCMJC/MJCApp/stargazers","contributors_url":"https://api.github.com/repos/UBCMJC/MJCApp/contributors","subscribers_url":"https://api.github.com/repos/UBCMJC/MJCApp/subscribers","subscription_url":"https://api.github.com/repos/UBCMJC/MJCApp/subscription","commits_url":"https://api.github.com/repos/UBCMJC/MJCApp/commits{/sha}","git_commits_url":"https://api.github.com/repos/UBCMJC/MJCApp/git/commits{/sha}","comments_url":"https://api.github.com/repos/UBCMJC/MJCApp/comments{/number}","issue_comment_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues/comments{/number}","contents_url":"https://api.github.com/repos/UBCMJC/MJCApp/contents/{+path}","compare_url":"https://api.github.com/repos/UBCMJC/MJCApp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/UBCMJC/MJCApp/merges","archive_url":"https://api.github.com/repos/UBCMJC/MJCApp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/UBCMJC/MJCApp/downloads","issues_url":"https://api.github.com/repos/UBCMJC/MJCApp/issues{/number}","pulls_url":"https://api.github.com/repos/UBCMJC/MJCApp/pulls{/number}","milestones_url":"https://api.github.com/repos/UBCMJC/MJCApp/milestones{/number}","notifications_url":"https://api.github.com/repos/UBCMJC/MJCApp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/UBCMJC/MJCApp/labels{/name}","releases_url":"https://api.github.com/repos/UBCMJC/MJCApp/releases{/id}","deployments_url":"https://api.github.com/repos/UBCMJC/MJCApp/deployments","created_at":"2016-08-30T02:04:58Z","updated_at":"2018-09-23T12:31:03Z","pushed_at":"2018-09-24T05:28:16Z","git_url":"git://github.com/UBCMJC/MJCApp.git","ssh_url":"git@github.com:UBCMJC/MJCApp.git","clone_url":"https://github.com/UBCMJC/MJCApp.git","svn_url":"https://github.com/UBCMJC/MJCApp","homepage":null,"size":249,"stargazers_count":2,"watchers_count":2,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"archived":false,"open_issues_count":12,"license":null,"forks":2,"open_issues":12,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64"},"html":{"href":"https://github.com/UBCMJC/MJCApp/pull/64"},"issue":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/issues/64"},"comments":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/issues/64/comments"},"review_comments":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64/comments"},"review_comment":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/pulls/64/commits"},"statuses":{"href":"https://api.github.com/repos/UBCMJC/MJCApp/statuses/8965798c399188da0d0d2bded798f314a6093dc7"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"TwelveNights"}}