{"action":"created","comment":{"url":"https://api.github.com/repos/fluid-project/infusion/pulls/comments/33767493","id":33767493,"diff_hunk":"@@ -0,0 +1,649 @@\n+/*\n+Copyright 2015 Lucendo Development Ltd.\n+\n+Licensed under the Educational Community License (ECL), Version 2.0 or the New\n+BSD license. You may not use this file except in compliance with one these\n+Licenses.\n+\n+You may obtain a copy of the ECL 2.0 License and BSD License at\n+https://github.com/fluid-project/infusion/raw/master/Infusion-LICENSE.txt\n+*/\n+\n+/* global console */\n+\n+var fluid_2_0 = fluid_2_0 || {};\n+\n+(function ($, fluid) {\n+    \"use strict\";\n+    \n+    fluid.registerNamespace(\"fluid.debug\");\n+    \n+    fluid.debug.toggleClass = function (styles, element, openStyle, closedStyle, state) {\n+        if (openStyle) {\n+            element.toggleClass(styles[openStyle], state);\n+        }\n+        if (closedStyle) {\n+            element.toggleClass(styles[closedStyle], !state);\n+        }\n+    };\n+    \n+    fluid.debug.bindToggleClick = function (element, applier, path) {\n+        element.click(function () {\n+            var state = fluid.get(applier.holder.model, path);\n+            applier.change(path, !state);\n+        });\n+    };\n+   \n+    \n+    fluid.defaults(\"fluid.debug.highlighter\", {\n+        gradeNames: [\"fluid.viewComponent\"],\n+        selectors: {\n+            highlightRoot: \"#fluid-debug-highlightRoot\"\n+        },\n+        markup: {\n+            highlightRoot: \"<div id=\\\"fluid-debug-highlightRoot\\\" class=\\\"fluid-debug-highlightRoot\\\"></div>\",\n+            highlightElement: \"<div class=\\\"fl-debug-highlightElement\\\"></div>\"\n+        },\n+        events: {\n+            highlightClick: null\n+        },\n+        listeners: {\n+            onCreate: \"fluid.debug.highlighter.renderRoot\"\n+        },\n+        invokers: {\n+            clear: \"fluid.debug.highlighter.clear({that}.dom.highlightRoot)\",\n+            highlight: \"fluid.debug.highlighter.highlight({that}, {that}.dom.highlightRoot, {arguments}.0)\" // dispositions\n+        }\n+    });\n+    \n+    fluid.debug.highlighter.renderRoot = function (that) {\n+        var highlightRoot = $(that.options.markup.highlightRoot);\n+        that.container.append(highlightRoot);\n+        highlightRoot.click(that.events.highlightClick.fire);\n+    };\n+    \n+    fluid.debug.highlighter.clear = function (highlightRoot) {\n+        highlightRoot.empty();\n+    };\n+    \n+    fluid.debug.highlighter.positionProps = [\"width\",\"height\",\"marginLeft\",\"marginTop\",\"paddingLeft\",\"paddingTop\"];\n+    \n+    fluid.debug.highlighter.colours = {\n+        components: [\n+            [0, 0, 0],    // black\n+            [255, 0, 0],  // red\n+            [255, 255, 0] // yellow\n+        ],\n+        domBinder: [0, 255, 0],  // green\n+        renderer:  [0, 255, 255] // cyan\n+    };\n+    \n+    fluid.debug.arrayToRGBA = function (array) {\n+        return \"rgba(\" + array.join(\", \") + \")\";\n+    };\n+    \n+    fluid.debug.assignColour = function (colour, alpha) {\n+        return [colour[0], colour[1], colour[2], alpha];\n+    };\n+    \n+    fluid.debug.highlighter.indexToColour = function (i, isDomBind, isRenderer) {\n+        var a = fluid.debug.assignColour, c = fluid.debug.highlighter.colours.components;\n+        var base;\n+        if (isRenderer) {\n+            base = a(fluid.debug.highlighter.colours.renderer, 0.5);\n+        } else if (isDomBind) {\n+            base = a(fluid.debug.highlighter.colours.domBinder, 0.5);\n+        } else {\n+            base = a(c[i % c.length], i > c.length ? 0.2 : 0.5);\n+        }\n+        return base;\n+    };\n+    \n+    fluid.debug.isRendererSelector = function (component, selectorName) {\n+        var isRendererComponent = fluid.componentHasGrade(component, \"fluid.rendererComponent\");\n+        var ignoreContains = fluid.contains(component.options.selectorsToIgnore, selectorName);\n+\n+        return isRendererComponent ? (!selectorName || ignoreContains ? false : true) : false;\n+    };\n+    \n+    fluid.debug.highlighter.disposeEntries = function (entries, domIds) {\n+        return fluid.transform(entries, function (entry, i) {\n+            var component = entry.component;\n+            var container = component.container;\n+            var element = fluid.jById(domIds[i], container[0].ownerDocument);\n+            var selectorName = entry.selectorName;\n+            var isRendererSelector = fluid.debug.isRendererSelector(component, selectorName);\n+            var noHighlight = container.is(\"body\");\n+            return {\n+                component: component,\n+                container: element,\n+                noHighlight: noHighlight,\n+                selectorName: selectorName,\n+                colour: fluid.debug.highlighter.indexToColour(i, selectorName, isRendererSelector)\n+            };\n+        });\n+    };\n+\n+    fluid.debug.domIdtoHighlightId = function (domId) {\n+        return \"highlight-for:\" + domId;\n+    };\n+    \n+    fluid.debug.highlighter.highlight = function (that, highlightRoot, dispositions) {\n+        var p = fluid.debug.highlighter.positionProps;\n+        for (var i = 0; i < dispositions.length; ++ i) {\n+            var disp = dispositions[i];\n+            var container = disp.container;\n+            if (disp.noHighlight) {\n+                continue;\n+            }\n+ \n+            var highlight = $(that.options.markup.highlightElement);\n+            highlight.prop(\"id\", fluid.debug.domIdtoHighlightId(container.prop(\"id\")));\n+            highlightRoot.append(highlight);\n+                \n+            highlight.css(\"background-color\", fluid.debug.arrayToRGBA(disp.colour));\n+            for (var j = 0; j < p.length; ++ j) {\n+                highlight.css(p[j], container.css(p[j] || \"\"));\n+            }\n+            var offset = container.offset();\n+            var containerBody = container[0].ownerDocument.body;\n+            if (containerBody !== document.body) { // TODO: This primitive algorithm will not account for nested iframes\n+                offset.left -= $(containerBody).scrollLeft();\n+                offset.top -= $(containerBody).scrollTop();\n+            }\n+            highlight.offset(offset);\n+            \n+        }\n+    };\n+    \n+    fluid.debug.ignorableGrades = [\"fluid.debug.listeningView\", \"fluid.debug.listeningPanel\", \"fluid.debug.listeningRenderer\"];\n+    \n+    fluid.debug.frameworkGrades = fluid.frameworkGrades;\n+    \n+    fluid.debug.filterGrades = function (gradeNames) {\n+        var highestFrameworkIndex = -1;\n+        var output = [];\n+        fluid.each(gradeNames, function (gradeName) { // TODO: remove fluid.indexOf\n+            var findex = fluid.debug.frameworkGrades.indexOf(gradeName);\n+            if (findex > highestFrameworkIndex) {\n+                highestFrameworkIndex = findex;\n+            } else if (findex === -1 && fluid.debug.ignorableGrades.indexOf(gradeName) === -1 && gradeName.indexOf(\"{\") === -1) {\n+                output.push(gradeName);\n+            }\n+        });\n+        output.push(fluid.debug.frameworkGrades[highestFrameworkIndex]);\n+        return output;\n+    };\n+    \n+    fluid.debug.renderDefaults = function (typeName, options) {","path":"src/framework/core/js/FluidViewDebugging.js","position":178,"original_position":178,"commit_id":"586d6627666b4c68631935180c048f1b8aab8c6f","original_commit_id":"586d6627666b4c68631935180c048f1b8aab8c6f","user":{"login":"colinbdclark","id":558076,"avatar_url":"https://avatars.githubusercontent.com/u/558076?v=3","gravatar_id":"","url":"https://api.github.com/users/colinbdclark","html_url":"https://github.com/colinbdclark","followers_url":"https://api.github.com/users/colinbdclark/followers","following_url":"https://api.github.com/users/colinbdclark/following{/other_user}","gists_url":"https://api.github.com/users/colinbdclark/gists{/gist_id}","starred_url":"https://api.github.com/users/colinbdclark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colinbdclark/subscriptions","organizations_url":"https://api.github.com/users/colinbdclark/orgs","repos_url":"https://api.github.com/users/colinbdclark/repos","events_url":"https://api.github.com/users/colinbdclark/events{/privacy}","received_events_url":"https://api.github.com/users/colinbdclark/received_events","type":"User","site_admin":false},"body":"Any reason not enable greater configurability by using stringTemplate() here instead of hardcoding the rendering of default blocks?","created_at":"2015-07-02T11:06:23Z","updated_at":"2015-07-02T11:06:23Z","html_url":"https://github.com/fluid-project/infusion/pull/591#discussion_r33767493","pull_request_url":"https://api.github.com/repos/fluid-project/infusion/pulls/591","_links":{"self":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/comments/33767493"},"html":{"href":"https://github.com/fluid-project/infusion/pull/591#discussion_r33767493"},"pull_request":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/591"}}},"pull_request":{"url":"https://api.github.com/repos/fluid-project/infusion/pulls/591","id":32797974,"html_url":"https://github.com/fluid-project/infusion/pull/591","diff_url":"https://github.com/fluid-project/infusion/pull/591.diff","patch_url":"https://github.com/fluid-project/infusion/pull/591.patch","issue_url":"https://api.github.com/repos/fluid-project/infusion/issues/591","number":591,"state":"open","locked":false,"title":"FLUID-5249, FLUID-4884, FLUID-5506, FLUID-5587, FLUID-5264, FLUID-5616, FLUID-5495","user":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"body":"Implementation of \"global instantiator model\" for framework, new \"contextAwareness\" implementation replacing final use case for demands blocks, and abolition of numerous obsolete framework features and their uses, including - \r\n - demands blocks\r\n - the \"old ChangeApplier\",\r\n - \"init functions\" such as preInit, postInit and finalInit,\r\n - the \"static environment\"\r\n - \"grade linkage system\"\r\n - manual subcomponent instantiation, including initSubcomponent, etc.\r\n - \"returnedPath\" system\r\n - obsolete options syntax including @1, @2, COMPONENT_OPTIONS, etc.\r\n - others\r\nInitial implementation of \"IoC debugging system\" capable of inspecting all view-bound grades in an Infusion context (browser pane). Preparing to abolish \"eventedComponent\" as a separate grade by moving all its materials to \"littleComponent\". Implementation of \"priority constraint system\" completing FLUID-5506, allowing \"relative priority constraints\" of the form \"before:namespace\", \"after:namespace\", etc.","created_at":"2015-04-07T19:40:10Z","updated_at":"2015-07-02T11:06:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"386147bd50aaff35c766a18c74df1d40900e8e42","assignee":{"login":"colinbdclark","id":558076,"avatar_url":"https://avatars.githubusercontent.com/u/558076?v=3","gravatar_id":"","url":"https://api.github.com/users/colinbdclark","html_url":"https://github.com/colinbdclark","followers_url":"https://api.github.com/users/colinbdclark/followers","following_url":"https://api.github.com/users/colinbdclark/following{/other_user}","gists_url":"https://api.github.com/users/colinbdclark/gists{/gist_id}","starred_url":"https://api.github.com/users/colinbdclark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colinbdclark/subscriptions","organizations_url":"https://api.github.com/users/colinbdclark/orgs","repos_url":"https://api.github.com/users/colinbdclark/repos","events_url":"https://api.github.com/users/colinbdclark/events{/privacy}","received_events_url":"https://api.github.com/users/colinbdclark/received_events","type":"User","site_admin":false},"milestone":null,"commits_url":"https://api.github.com/repos/fluid-project/infusion/pulls/591/commits","review_comments_url":"https://api.github.com/repos/fluid-project/infusion/pulls/591/comments","review_comment_url":"https://api.github.com/repos/fluid-project/infusion/pulls/comments{/number}","comments_url":"https://api.github.com/repos/fluid-project/infusion/issues/591/comments","statuses_url":"https://api.github.com/repos/fluid-project/infusion/statuses/586d6627666b4c68631935180c048f1b8aab8c6f","head":{"label":"amb26:FLUID-5249","ref":"FLUID-5249","sha":"586d6627666b4c68631935180c048f1b8aab8c6f","user":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"repo":{"id":1321638,"name":"infusion","full_name":"amb26/infusion","owner":{"login":"amb26","id":561418,"avatar_url":"https://avatars.githubusercontent.com/u/561418?v=3","gravatar_id":"","url":"https://api.github.com/users/amb26","html_url":"https://github.com/amb26","followers_url":"https://api.github.com/users/amb26/followers","following_url":"https://api.github.com/users/amb26/following{/other_user}","gists_url":"https://api.github.com/users/amb26/gists{/gist_id}","starred_url":"https://api.github.com/users/amb26/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/amb26/subscriptions","organizations_url":"https://api.github.com/users/amb26/orgs","repos_url":"https://api.github.com/users/amb26/repos","events_url":"https://api.github.com/users/amb26/events{/privacy}","received_events_url":"https://api.github.com/users/amb26/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/amb26/infusion","description":"Infusion combines JavaScript, CSS, HTML and user-centered design, rolling them all into a single package that sits on top of the popular jQuery toolkit. Infusion includes ready-to-use components as well as a framework to build your own.","fork":true,"url":"https://api.github.com/repos/amb26/infusion","forks_url":"https://api.github.com/repos/amb26/infusion/forks","keys_url":"https://api.github.com/repos/amb26/infusion/keys{/key_id}","collaborators_url":"https://api.github.com/repos/amb26/infusion/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/amb26/infusion/teams","hooks_url":"https://api.github.com/repos/amb26/infusion/hooks","issue_events_url":"https://api.github.com/repos/amb26/infusion/issues/events{/number}","events_url":"https://api.github.com/repos/amb26/infusion/events","assignees_url":"https://api.github.com/repos/amb26/infusion/assignees{/user}","branches_url":"https://api.github.com/repos/amb26/infusion/branches{/branch}","tags_url":"https://api.github.com/repos/amb26/infusion/tags","blobs_url":"https://api.github.com/repos/amb26/infusion/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/amb26/infusion/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/amb26/infusion/git/refs{/sha}","trees_url":"https://api.github.com/repos/amb26/infusion/git/trees{/sha}","statuses_url":"https://api.github.com/repos/amb26/infusion/statuses/{sha}","languages_url":"https://api.github.com/repos/amb26/infusion/languages","stargazers_url":"https://api.github.com/repos/amb26/infusion/stargazers","contributors_url":"https://api.github.com/repos/amb26/infusion/contributors","subscribers_url":"https://api.github.com/repos/amb26/infusion/subscribers","subscription_url":"https://api.github.com/repos/amb26/infusion/subscription","commits_url":"https://api.github.com/repos/amb26/infusion/commits{/sha}","git_commits_url":"https://api.github.com/repos/amb26/infusion/git/commits{/sha}","comments_url":"https://api.github.com/repos/amb26/infusion/comments{/number}","issue_comment_url":"https://api.github.com/repos/amb26/infusion/issues/comments{/number}","contents_url":"https://api.github.com/repos/amb26/infusion/contents/{+path}","compare_url":"https://api.github.com/repos/amb26/infusion/compare/{base}...{head}","merges_url":"https://api.github.com/repos/amb26/infusion/merges","archive_url":"https://api.github.com/repos/amb26/infusion/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/amb26/infusion/downloads","issues_url":"https://api.github.com/repos/amb26/infusion/issues{/number}","pulls_url":"https://api.github.com/repos/amb26/infusion/pulls{/number}","milestones_url":"https://api.github.com/repos/amb26/infusion/milestones{/number}","notifications_url":"https://api.github.com/repos/amb26/infusion/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/amb26/infusion/labels{/name}","releases_url":"https://api.github.com/repos/amb26/infusion/releases{/id}","created_at":"2011-02-02T20:02:16Z","updated_at":"2014-06-13T17:14:52Z","pushed_at":"2015-07-01T17:08:19Z","git_url":"git://github.com/amb26/infusion.git","ssh_url":"git@github.com:amb26/infusion.git","clone_url":"https://github.com/amb26/infusion.git","svn_url":"https://github.com/amb26/infusion","homepage":"http://fluidproject.org/products/infusion/","size":36071,"stargazers_count":3,"watchers_count":3,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"open_issues_count":1,"forks":1,"open_issues":1,"watchers":3,"default_branch":"master"}},"base":{"label":"fluid-project:master","ref":"master","sha":"5adc32e325f8db4bb171edc33fa5818a09cb42d8","user":{"login":"fluid-project","id":560119,"avatar_url":"https://avatars.githubusercontent.com/u/560119?v=3","gravatar_id":"","url":"https://api.github.com/users/fluid-project","html_url":"https://github.com/fluid-project","followers_url":"https://api.github.com/users/fluid-project/followers","following_url":"https://api.github.com/users/fluid-project/following{/other_user}","gists_url":"https://api.github.com/users/fluid-project/gists{/gist_id}","starred_url":"https://api.github.com/users/fluid-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluid-project/subscriptions","organizations_url":"https://api.github.com/users/fluid-project/orgs","repos_url":"https://api.github.com/users/fluid-project/repos","events_url":"https://api.github.com/users/fluid-project/events{/privacy}","received_events_url":"https://api.github.com/users/fluid-project/received_events","type":"Organization","site_admin":false},"repo":{"id":1317051,"name":"infusion","full_name":"fluid-project/infusion","owner":{"login":"fluid-project","id":560119,"avatar_url":"https://avatars.githubusercontent.com/u/560119?v=3","gravatar_id":"","url":"https://api.github.com/users/fluid-project","html_url":"https://github.com/fluid-project","followers_url":"https://api.github.com/users/fluid-project/followers","following_url":"https://api.github.com/users/fluid-project/following{/other_user}","gists_url":"https://api.github.com/users/fluid-project/gists{/gist_id}","starred_url":"https://api.github.com/users/fluid-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fluid-project/subscriptions","organizations_url":"https://api.github.com/users/fluid-project/orgs","repos_url":"https://api.github.com/users/fluid-project/repos","events_url":"https://api.github.com/users/fluid-project/events{/privacy}","received_events_url":"https://api.github.com/users/fluid-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/fluid-project/infusion","description":"Infusion combines JavaScript, CSS, HTML and user-centered design, rolling them all into a single package that sits on top of the popular jQuery toolkit. Infusion includes ready-to-use components as well as a framework to build your own.","fork":false,"url":"https://api.github.com/repos/fluid-project/infusion","forks_url":"https://api.github.com/repos/fluid-project/infusion/forks","keys_url":"https://api.github.com/repos/fluid-project/infusion/keys{/key_id}","collaborators_url":"https://api.github.com/repos/fluid-project/infusion/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/fluid-project/infusion/teams","hooks_url":"https://api.github.com/repos/fluid-project/infusion/hooks","issue_events_url":"https://api.github.com/repos/fluid-project/infusion/issues/events{/number}","events_url":"https://api.github.com/repos/fluid-project/infusion/events","assignees_url":"https://api.github.com/repos/fluid-project/infusion/assignees{/user}","branches_url":"https://api.github.com/repos/fluid-project/infusion/branches{/branch}","tags_url":"https://api.github.com/repos/fluid-project/infusion/tags","blobs_url":"https://api.github.com/repos/fluid-project/infusion/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/fluid-project/infusion/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/fluid-project/infusion/git/refs{/sha}","trees_url":"https://api.github.com/repos/fluid-project/infusion/git/trees{/sha}","statuses_url":"https://api.github.com/repos/fluid-project/infusion/statuses/{sha}","languages_url":"https://api.github.com/repos/fluid-project/infusion/languages","stargazers_url":"https://api.github.com/repos/fluid-project/infusion/stargazers","contributors_url":"https://api.github.com/repos/fluid-project/infusion/contributors","subscribers_url":"https://api.github.com/repos/fluid-project/infusion/subscribers","subscription_url":"https://api.github.com/repos/fluid-project/infusion/subscription","commits_url":"https://api.github.com/repos/fluid-project/infusion/commits{/sha}","git_commits_url":"https://api.github.com/repos/fluid-project/infusion/git/commits{/sha}","comments_url":"https://api.github.com/repos/fluid-project/infusion/comments{/number}","issue_comment_url":"https://api.github.com/repos/fluid-project/infusion/issues/comments{/number}","contents_url":"https://api.github.com/repos/fluid-project/infusion/contents/{+path}","compare_url":"https://api.github.com/repos/fluid-project/infusion/compare/{base}...{head}","merges_url":"https://api.github.com/repos/fluid-project/infusion/merges","archive_url":"https://api.github.com/repos/fluid-project/infusion/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/fluid-project/infusion/downloads","issues_url":"https://api.github.com/repos/fluid-project/infusion/issues{/number}","pulls_url":"https://api.github.com/repos/fluid-project/infusion/pulls{/number}","milestones_url":"https://api.github.com/repos/fluid-project/infusion/milestones{/number}","notifications_url":"https://api.github.com/repos/fluid-project/infusion/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/fluid-project/infusion/labels{/name}","releases_url":"https://api.github.com/repos/fluid-project/infusion/releases{/id}","created_at":"2011-02-01T17:46:38Z","updated_at":"2015-06-16T12:50:02Z","pushed_at":"2015-07-01T17:08:19Z","git_url":"git://github.com/fluid-project/infusion.git","ssh_url":"git@github.com:fluid-project/infusion.git","clone_url":"https://github.com/fluid-project/infusion.git","svn_url":"https://github.com/fluid-project/infusion","homepage":"http://fluidproject.org/infusion.html","size":38845,"stargazers_count":63,"watchers_count":63,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":50,"mirror_url":null,"open_issues_count":18,"forks":50,"open_issues":18,"watchers":63,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/591"},"html":{"href":"https://github.com/fluid-project/infusion/pull/591"},"issue":{"href":"https://api.github.com/repos/fluid-project/infusion/issues/591"},"comments":{"href":"https://api.github.com/repos/fluid-project/infusion/issues/591/comments"},"review_comments":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/591/comments"},"review_comment":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/fluid-project/infusion/pulls/591/commits"},"statuses":{"href":"https://api.github.com/repos/fluid-project/infusion/statuses/586d6627666b4c68631935180c048f1b8aab8c6f"}}}}