{"url":"https://api.github.com/gists/4165404","forks_url":"https://api.github.com/gists/4165404/forks","commits_url":"https://api.github.com/gists/4165404/commits","id":"4165404","node_id":"MDQ6R2lzdDQxNjU0MDQ=","git_pull_url":"https://gist.github.com/4165404.git","git_push_url":"https://gist.github.com/4165404.git","html_url":"https://gist.github.com/mbostock/4165404","files":{".block":{"filename":".block","type":"text/plain","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4165404/raw/68c3890aebf522d8edd08a8f2ba6d129c03c2bbf/.block","size":80,"truncated":false,"content":"license: gpl-3.0\nredirect: https://beta.observablehq.com/@mbostock/rainbow-worm\n","encoding":"utf-8"},"README.md":{"filename":"README.md","type":"text/markdown","language":"Markdown","raw_url":"https://gist.githubusercontent.com/mbostock/4165404/raw/f4cd53337cf2e687a1b1a05bf0353998e10588a7/README.md","size":173,"truncated":false,"content":"A recreation of an earlier [Protovis example](http://mbostock.github.com/protovis/ex/segmented.html), reminiscent of [peristalsis](http://en.wikipedia.org/wiki/Peristalsis).","encoding":"utf-8"},"index.html":{"filename":"index.html","type":"text/html","language":"HTML","raw_url":"https://gist.githubusercontent.com/mbostock/4165404/raw/201c6f866137fdacd859b9829017cb0f2853f8dd/index.html","size":2943,"truncated":false,"content":"<!DOCTYPE html>\n<meta charset=\"utf-8\">\n<style>\n\nbody {\n  background: #333;\n}\n\n</style>\n<body>\n<script src=\"//d3js.org/d3.v3.min.js\"></script>\n<script>\n\nvar margin = {top: 100, right: 100, bottom: 100, left: 100},\n    width = 960 - margin.left - margin.right,\n    height = 500 - margin.top - margin.bottom;\n\nvar x = d3.scale.linear()\n    .domain([0, 5.9])\n    .range([0, width]);\n\nvar y = d3.scale.linear()\n    .domain([-1, 1])\n    .range([height, 0]);\n\nvar z = d3.scale.linear()\n    .domain([0, 5.9])\n    .range([0, 360]);\n\nvar points = d3.range(0, 6, .1).map(function(t) {\n  return {value: t, 0: x(t), 1: y(Math.sin(t))};\n});\n\nvar svg = d3.select(\"body\").append(\"svg\")\n    .attr(\"width\", width + margin.left + margin.right)\n    .attr(\"height\", height + margin.top + margin.bottom)\n  .append(\"g\")\n    .attr(\"transform\", \"translate(\" + margin.left + \",\" + margin.top + \")\");\n\nvar path = svg.selectAll(\"path\")\n    .data(quad(points))\n  .enter().append(\"path\")\n    .style(\"fill\", function(d) { return d3.hsl(z(d[1].value), 1, .5); })\n    .style(\"stroke\", \"#000\");\n\nvar t0 = Date.now();\nd3.timer(function() {\n  var dt = (Date.now() - t0) * .001;\n  points.forEach(function(d) { d[1] = y(d.scale = Math.sin(d.value + dt)); });\n  path.attr(\"d\", function(d) { return lineJoin(d[0], d[1], d[2], d[3], 80 * d[1].scale * d[1].scale + 10); });\n});\n\n// Compute quads of adjacent points [p0, p1, p2, p3].\nfunction quad(points) {\n  return d3.range(points.length - 1).map(function(i) {\n    return [points[i - 1], points[i], points[i + 1], points[i + 2]];\n  });\n}\n\n// Compute stroke outline for segment p12.\nfunction lineJoin(p0, p1, p2, p3, width) {\n  var u12 = perp(p1, p2),\n      r = width / 2,\n      a = [p1[0] + u12[0] * r, p1[1] + u12[1] * r],\n      b = [p2[0] + u12[0] * r, p2[1] + u12[1] * r],\n      c = [p2[0] - u12[0] * r, p2[1] - u12[1] * r],\n      d = [p1[0] - u12[0] * r, p1[1] - u12[1] * r];\n\n  if (p0) { // clip ad and dc using average of u01 and u12\n    var u01 = perp(p0, p1), e = [p1[0] + u01[0] + u12[0], p1[1] + u01[1] + u12[1]];\n    a = lineIntersect(p1, e, a, b);\n    d = lineIntersect(p1, e, d, c);\n  }\n\n  if (p3) { // clip ab and dc using average of u12 and u23\n    var u23 = perp(p2, p3), e = [p2[0] + u23[0] + u12[0], p2[1] + u23[1] + u12[1]];\n    b = lineIntersect(p2, e, a, b);\n    c = lineIntersect(p2, e, d, c);\n  }\n\n  return \"M\" + a + \"L\" + b + \" \" + c + \" \" + d + \"Z\";\n}\n\n// Compute intersection of two infinite lines ab and cd.\nfunction lineIntersect(a, b, c, d) {\n  var x1 = c[0], x3 = a[0], x21 = d[0] - x1, x43 = b[0] - x3,\n      y1 = c[1], y3 = a[1], y21 = d[1] - y1, y43 = b[1] - y3,\n      ua = (x43 * (y1 - y3) - y43 * (x1 - x3)) / (y43 * x21 - x43 * y21);\n  return [x1 + ua * x21, y1 + ua * y21];\n}\n\n// Compute unit vector perpendicular to p01.\nfunction perp(p0, p1) {\n  var u01x = p0[1] - p1[1], u01y = p1[0] - p0[0],\n      u01d = Math.sqrt(u01x * u01x + u01y * u01y);\n  return [u01x / u01d, u01y / u01d];\n}\n\n</script>\n","encoding":"utf-8"},"thumbnail.png":{"filename":"thumbnail.png","type":"image/png","language":null,"raw_url":"https://gist.githubusercontent.com/mbostock/4165404/raw/893d04df38ec0fedeb4a9e8e8608d781b5ce2a38/thumbnail.png","size":12071,"truncated":false,"content":"iVBORw0KGgoAAAANSUhEUgAAAOYAAAB4CAIAAABpZBnfAAAKn2lDQ1BpY20A\nAEjHlZYHUFPpFse/e9MbLRABKaH3Ll16DaAgVRCVkIQQSgiBICI2RFyBFUVE\nBGyIIKLgWmhrQUSxsAhYsKALsigo62IBCyrvAo/w3rzZebNn5uT75cyZ//3O\nd+838weA3MQUCBJgKQAS+anCQC9X+srwCDquH5AABRCBOjBkslIELgEBfuBv\nY/IhgGbWe0YzWuCfhTSbk8ICAApAOJqdwkpE+DySh1gCYSoAqGCkrrkuVTDD\n6QjLCpENIpw/w9w5PjLD0XN8frYnONAN4ZsA4MlMppALAOk+UqensbiIDukj\nwqZ8No8PAFkTYUdWLJONMJLAMDExaYZ3I6wb/R863P/SjBZrMplcMc/NMht4\nd16KIIG5/h8ex/+PxATR/DNUkCSnxAf5Iqs2cmbpLKZH0DzHchh+8yxIdQ2c\nZ14qI1jcI/IOmWdRfIjLPMcn+Yr7+dHL/cX6KW4R85wRGxw2z2yOu8c8C5MC\nxf0paUEeC/1uy+c5jukTMM9M4ewss8xJ8Apc2HOAeJ/8hOXiWWKEnuIeTsrC\nvKmxwd5iRj4AcT/PkyGeV+i9oJ8QINYUigLF58Dhh4g12Ux38dmCYBALRIAP\n2IADhCAaJIEEkArowB3wQAoQIP+YAHndqZz01JmB3JIE64U8bmwq3QW5FRxD\nOoPPMjakm5uamYOZOzb3Cj/QZu8ORLu9UEtuBcA2FylyF2pMDQCaXwJAnVyo\nabyf+04vdbNEwrS5GnrmB4PcXEkgCxSQL0QD6AIjYA6sgD1wBh7AB/gjk4SD\nNYCFzJOITLIOZIKtIAfkgd1gHygFh8ExcAKcBmdBI7gIroIb4A7oBg/AUzAA\nhsEbMA4mwRQEQTiIAlEhBUgV0oIMIHPIBnKEPCA/KBAKh6IgLsSHRFAmtA3K\ngwqhUugoVAP9AjVDV6FbUA/0GBqERqH30FcYBZNhWVgZ1oZNYBvYBfaFg+HV\nMBdOhjPgbHgXXAJXwKfgBvgqfAd+AA/Ab+AJFECRUDSUGsoIZYNyQ/mjIlAx\nKCFqEyoXVYyqQNWhWlAdqHuoAdQY6gsai6ai6WgjtD3aGx2CZqGT0ZvQ+ehS\n9Al0A7odfQ89iB5H/8BQMEoYA4wdhoFZieFi1mFyMMWYKswFzHXMA8wwZhKL\nxdKwOlhrrDc2HBuH3YDNxx7E1mNbsT3YIewEDodTwBngHHD+OCYuFZeDO4A7\nhbuC68UN4z7jSXhVvDneEx+B5+Oz8MX4k/jL+F78K/wUQYqgRbAj+BPYhPWE\nAkIloYVwlzBMmCJKE3WIDsRgYhxxK7GEWEe8TuwnfiCRSOokW9IKEo+0hVRC\nOkO6SRokfSHLkPXJbuRIsoi8i1xNbiU/Jn+gUCjaFGdKBCWVsotSQ7lGeU75\nLEGVMJZgSLAlNkuUSTRI9Eq8lSRIakm6SK6RzJAsljwneVdyTIogpS3lJsWU\n2iRVJtUs1Sc1IU2VNpP2l06Uzpc+KX1LekQGJ6Mt4yHDlsmWOSZzTWaIiqJq\nUN2oLOo2aiX1OnVYFiurI8uQjZPNkz0t2yU7Licjt0QuVC5drkzuktwADUXT\npjFoCbQC2lnaQ9rXRcqLXBZxFu1cVLeod9En+cXyzvIc+Vz5evkH8l8V6Aoe\nCvEKexQaFZ4pohX1FVcorlM8pHhdcWyx7GL7xazFuYvPLn6iBCvpKwUqbVA6\nptSpNKGsouylLFA+oHxNeUyFpuKsEqdSpHJZZVSVquqoylMtUr2i+pouR3eh\nJ9BL6O30cTUlNW81kdpRtS61KXUd9RD1LPV69WcaRA0bjRiNIo02jXFNVc1l\nmpmatZpPtAhaNlqxWvu1OrQ+aetoh2nv0G7UHtGR12HoZOjU6vTrUnSddJN1\nK3Tv62H1bPTi9Q7qdevD+pb6sfpl+ncNYAMrA57BQYMeQ4yhrSHfsMKwz4hs\n5GKUZlRrNGhMM/YzzjJuNH5romkSYbLHpMPkh6mlaYJppelTMxkzH7Mssxaz\n9+b65izzMvP7FhQLT4vNFk0W75YYLOEsObTkkSXVcpnlDss2y+9W1lZCqzqr\nUWtN6yjrcus+G1mbAJt8m5u2GFtX2822F22/2FnZpdqdtfvL3sg+3v6k/chS\nnaWcpZVLhxzUHZgORx0GHOmOUY5HHAec1JyYThVOL5w1nNnOVc6vXPRc4lxO\nubx1NXUVul5w/eRm57bRrdUd5e7lnuve5SHjEeJR6vHcU92T61nrOe5l6bXB\nq9Ub4+3rvce7j6HMYDFqGOM+1j4bfdp9yb5BvqW+L/z0/YR+LcvgZT7L9i7r\nX661nL+80R/4M/z3+j8L0AlIDvh1BXZFwIqyFS8DzQIzAzuCqEFrg04GTQa7\nBhcEPw3RDRGFtIVKhkaG1oR+CnMPKwwbWGmycuPKO+GK4bzwpghcRGhEVcTE\nKo9V+1YNR1pG5kQ+XK2zOn31rTWKaxLWXForuZa59lwUJios6mTUN6Y/s4I5\nEc2ILo8eZ7mx9rPesJ3ZRexRjgOnkPMqxiGmMGaE68Ddyx2NdYotjh3jufFK\nee/ivOMOx32K94+vjp9OCEuoT8QnRiU282X48fz2JJWk9KQegYEgRzCQbJe8\nL3lc6CusSoFSVqc0pcoiZqZTpCvaLhpMc0wrS/u8LnTduXTpdH5653r99TvX\nv8rwzDi+Ab2BtaEtUy1za+bgRpeNRzdBm6I3tW3W2Jy9eXiL15YTW4lb47f+\nlmWaVZj1cVvYtpZs5ewt2UPbvbbX5kjkCHP6dtjvOPwT+ifeT107LXYe2Pkj\nl517O880rzjvWz4r//bPZj+X/Dy9K2ZXV4FVwaHd2N383Q/3OO05UShdmFE4\ntHfZ3oYielFu0cd9a/fdKl5SfHg/cb9o/0CJX0nTAc0Duw98K40tfVDmWlZf\nrlS+s/zTQfbB3kPOh+oOKx/OO/z1CO/Io6NeRxsqtCuKj2GPpR17WRla2XHc\n5nhNlWJVXtX3an71wInAE+011jU1J5VOFtTCtaLa0VORp7pPu59uqjOqO1pP\nq887A86Izrz+JeqXh2d9z7adszlXd17rfPkF6oXcBqhhfcN4Y2zjQFN4U0+z\nT3Nbi33LhV+Nf62+qHax7JLcpYLLxMvZl6evZFyZaBW0jl3lXh1qW9v29NrK\na/fbV7R3Xfe9fvOG541rHS4dV2463Lx4y+5W822b2413rO40dFp2XvjN8rcL\nXVZdDXet7zZ123a39Cztudzr1Hv1nvu9G/cZ9+88WP6g52HIw0d9kX0Dj9iP\nRh4nPH73JO3J1NMt/Zj+3GdSz4qfKz2v+F3v9/oBq4FLg+6DnS+CXjwdYg29\n+SPlj2/D2S8pL4tfqb6qGTEfuTjqOdr9etXr4TeCN1NjOX9K/1n+Vvft+b+c\n/+ocXzk+/E74bvp9/geFD9Ufl3xsmwiYeD6ZODn1KfezwucTX2y+dHwN+/pq\nat033LeS73rfW374/uifTpyeFjCFzFkrgEISjokB4H01AJRwxDt0A0CUmPPA\nswHN+fZZAn/Hcz55NqwAqHYGIGQLAH6IRzmEpBbCZGSdsXPBzgC2sBDnvyMl\n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\nRYMXKd6KATGEq0yM0fdGYiUKZfiuxLu9mqy44qXpwUbl6igrqIrpqnqN8HIH\nR0gSBgJ6W5xYwnEh4XCR89PEgOW2MuemwFLIkYmYqmLyZIWZGuUi2oUId61n\nGxOGAAsL5EsozC7QtxVgfIyBPRhYvEzbvVJAWBxn1aVnC1GCBxefJ38XxqCK\n5+ul54jua9m9VVv10kuxDcpVUFbQ2LjLYfzvZ898PK6PLjITqWOwljuyLC6w\nGIKQ8dlmOTYHDuUspYjRGrjsLnB+BlyGskzMQQ6xJC3yWVQhIkwAasv0DFBX\nWpa+fqorNGJ6h1G4eIaB27CgCRfOMPgGYggcpo4R9lMYIE7wDIsnWfEY+p64\n5/8eDe+ask1Jk9qNyGv90ASsmFxr9TfnT/8LbagrD8DLC7TWnlq42+XoDGrQ\nmFtL1BapdQEOrWW0CdvLNFeIm2zvYbEKQsahVqecxyhxTCYLsNqhb4jpS3hF\nCjB2lsJWMjB/iXZAqQ8HLh3D3Uomh0Bjjtklem4nsrgOjUnmlijdRRiTHZah\nz0yG++fomnR0ZsPxmpVVTYxDGN6SdHHEqgYOt4c8VwUHayn5bA15YRFxAW4P\nODZ1JaMtRZxbhCz9DqenKZRIWhI36M3K0jIIjRZxTDYH0IkpGibG6dtKCLPz\nDO0hgbFzDB5EoFljtsbAQSLFJFw8TvluADEkq1w+Q+H+K+9YYOU8HZuYjnOj\nVxKlfMe8JmVFNXbdbrfzoanZyzUuJeoIiTLosWmV51cwLknCgSydGpMdgOEc\nQZPRZRBuLcrYjGDlYD/VKuTYXNa5VTaPaCvEK6MeHQ/fo9Mml8dFlpoyvF0u\njYkWpRwwPU4noNSHwOhRKrcD+MKl5zC7yBSxFsdy6Tn8wzgu1uIa6i/rssH5\nzHT94DSLac1rg/Hqg4yAGqOt1ifOn39XtxvCUzVKffSAVfZ7fLXGqM+eDFje\nGPCVGQa2E1juKsgLc7qzTE9F9SJji1Q8efxsUKl0H325kJ0Ks74709XNg1pL\n9NJY0nBtM7TzS4zNaj2mF14cZ8chXJicYOCgGHTmnLSz2j+EwtIYS5bBPUQJ\nvsPk0yS7yPeQJLgOjXPMr5K5DyD6nYnGT0X5p0fESyfCNwyvXlkDK0nysdHR\nd3W7oYiven+Xp5a5r5e8ReEehy8v0DtCryHjsD+SUwt61yZyjo7N+s2JJML7\n+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\nVznebEXtTq9oeVPjYH/fn4yZfHA1l7FtfDzMvHR/bDTzz5ubBsh/rLz0+Z3e\noHXiq51Fpcp+G1il4PU8Xm2v0vnB+6JDQ+12o/eJWUqZdGhmDQ8zbdr/bMz/\nyeXNIL+bm/3MvrhHvPgaDMKlyn5bqKopBj0vLa9mw/ANWzsPbY0vL/a+sKip\nteAgyxK9f7TwvqXcCNkvebWf3L+S9zK85hLsN/9zqbLfDmv7gpjAKz82ubw7\nm+wdbBYcO9ftubCc5F7XZS9PzaIbvnes+Au1N1jJPilT/2HvkuSzbnIVSrDf\nlFTZbxcBFXzXKz52uVo0PHDP6nvvdJ44XZ5svm6tdZCqH71pMvvJudvEUNHg\n/xiePjNoC7FJrtnFaVrk+g4QJfYk32H7fz2nqOQKE7/8gepI1m9G6rzujqSI\ndG1816j709N7Ask4Vj7Wc/JLW5s9iXfVL7m+kTTKfmeIYjNuabbB0bH6uw7Q\nN7yys+B9+Uyha63vyuukhqB4YhZM+4cv7PxE7a0nZG5Q9f/JT/7yntl+MvE1\nXueZKvsdI1ZtLiifq4ULS607+1iWpQ99v/f4idJcPcl4N721ohhHqk73+8eG\n//faQ4js1KG/kImP7hst+Tm99rsCve5OZ1eHOEkGC9v+4ETm917W+x+UwcFL\nv/qjS5WM3w5v7gzBqMSOdlvhmy6W/tPCW6zYhBjMs/0NzXgmuTrrDr41aZR9\nlajiBF52fLH20D56i1opr9y7x//TZ7KtiMC7KbsMjjWxp6YZ/87Z931XY/eK\n1PooGvU+Xn76M7vHezSbXJfZi1TZV4mAdZz8Ust/4sTSO+8mn9eFhdr73xO3\nOr0vnrGFPPam2kJRkI6fRO3uJ8+964H41l4pXdTVVWp/kb/wyb1n+yWfXK+t\nSlJlXz2immT94tyqeelCfaQszqAcOtx8y2F96VTPmUsUcno9zpPX561CrOWq\n9+8mH3xP595IVkV1s2xaIf5327/s5TOSXJOuwTflZk68rgMSJ3Gl0P/MWf9S\none8SbtV8cz0pz4y9cb90dKysVbNxj7CjhoHZ0kb//Liw18Y/4ntrYGQuqe+\nFYvK04XJsGjc5LqOCKVR9rWiqq7vZ18+W7v/AEMjaELSre/et/h97yn91Zez\n3W7i+xu0jGAwDbe1SvtfXHjLj9XfF4if08oRzvXiZ+n7XOaZ/23/l3Nu5jon\n7qmyr5VXktqG/+TzS+96iG6HZ8/LnW+2ew4t33Gg9GeP5jpddV2Vdbe33rd6\nUypipKPd7750+PDCyH9Y+cFEOmiUI1ei7xgXTvjnP7LvK1k/Y65viCVV9qog\nqkk2KM4tc+Tk6r5b5PDDWshIVLfbDtQP7LAvHneszXQ71t0AVVtRwYDDkl39\n16Pv/cjS/7I17JlibBNDoJAE4u9k1ycrj14YquVj3173FRobO9NaP0ic2EK2\nODYjfbs0XyLuqBtAKwyyl3/ns+f+8ydbiXWjCNddfzuZfh2jJnZjOho3kn97\n8X3/pv7PY1Pdy76E3hc5Lfgx1mjwkjM62r+YS/zkRmzukEbZq4Y1Jtvp+s8+\ns/xdb6XYjyQ89RzFbbJ9S7Jny9Le28pf+ktndcUxzjoMtwZjREInilvRb5z7\nuXfPvfn2zrY+6UNDxY6wbZHmZS5uZcd5GfuRPZ+uVtpB4t6Qgkiq7FVDVK3v\nl6Zn3We/uvLOBzl5jspO9u2gbWkn9uDOJc3O3/OIP3G2WJ1JsjlB1kHHQQAH\np007jKJcJ/Mr5372wehtW2XLab0YsdzHsBJBPMzmJsmLcuSnd/+3hd52Pg6u\nf0qwRqrs1URUk3y+PDbenFnqPPJPZaCfrkWEgsOTR2zPHvu2+5cPvtk7+mxx\nflKTSPzMDdy/1qhRxxoxi7L4yMR7f+zS/3xgaet7og9ELBjsdvaeYjSm3suQ\nEid0B9gx66x+dvNf5U32ujUO/i6pslcZAYRuZXD1vY+IOMSWguHoaRoZdu+V\npUiHe+q3v7G+EC0deFPl9JOO72OctXHc6/UKxahjMG235a1m2rb1P1z+wY8u\nfnS37jA2WOTCMNuUEOx29r7EWUujl34jpkXj4yOfmarUjN7IS6BU2auNqvpB\nefSMHjux+o530OPzwilqhv376VhcF7WcHu8e/r7ug29dcQfLpx5LotCxobiB\niiByjba7FxXBGEzshF3TajutnbP7f/7if91a3fYDzfeVKHWIN7NpgoUm8/2M\nKF2wO9h3nDOGToHiv9z8sS9vOVGy+Rt739RU2WuAqs3nK+dO64WLq6Vhlhxu\nuZWuBSEjPPUUMiiDI1IPo7vvWO7683s/0MmUK+PPuK5jko66GVW4cu/H14qo\nEcRgEje0Jm45q/3VbYcmH95W3/7zM5/eJL0jdtdxObaTERc/wW5l80ucg0YP\nw2vWbpXdF7n8kaFffWLbyYGoJ5bkxh7dVNlrglhLPh+cO7Nw5zv0vntoxiAU\nDEeP0y2xay/thJzH+KWkXbR3vKm97+GGKUbz07XKbeXaScfzjO1gAkVEjF7J\nG/6h8tiVC3gDCI4RI5jYbVuTtJ16sbolWOndtXToxyd+/S2ddxda5V2yta2S\nIxCyL3F0HzstKGxn50nOZtAivZauiBlh/+fKf7JQWnSsqzd6q5xU2WuIMdIN\nCu03PChiyBheOski7DtIKyFwaCxx5GV2PUBo8UwYlOqlB5v3/MiKLblzJxf9\ng9n2eODEJC3HCMZ1xCquiIABAUdAMIgRMSIixhoj1umIsZGsRkkYSrM8f8hb\n6t9RPfw/Tv6fO+v33tW4fQ97uiJWnLN67BZ2tkj6KbXQS5zfyZYINbCVHUc5\nUcAU6De4H6/8wl9ueTxD5ob7SqrsNcU4bt+Jp+Kxi423vZvxC1xY4ta76Voc\nB9vl2a+y7T68AGNoLHLytGx9UCzhlltqrcHGrT9Vy98WLZyZdr/XxDUTLjW7\nfsZZjpPIoQkJsqrEVpvWxlHcSZI4avlRqKa2O2zIlvn/rjL59i3Vux6p/mJv\n45bbW3eNsDUvA6NyqkwhQ75CqcrqCjPbGWmQDNM3wXybpREGI9TFDDLyLM8P\nkflE7699evfvl01J18fdeVJlrymqhVLvuWPR2dPNwbtkz10kgOALzz1D+QCV\nXiLFtRx5lsF7cQNc5MxT4t0iuUpS3tRoDoYjP7Rcele16i3kf26l7czVHq5G\nb6vO9MxVP1CfH1mZ+2A4v9/O/rAzf1tl8cOZxR0H6x9z6313t3+wL7ndjxmW\n7RnpvyhHBhhx8bP0jvLiLnZ3sMMMn+F8AaeXSgu7jZGXOBdg++kJsT7eDvb8\nX8Hv//q+/zIoA4lN1snmumnD9tqiSaL5vL+wxM5bMEKckBNOvACDDA7TScgK\np54js4t8CQNLE7pitLJdBSaPiGwWF+LlOPMgpf6m+2DovrflPNLs/KNO94Nh\n+yHbfb8J78naB1w7XGK3oeQJnmyZkzM5cisSLep4Vp2yHrjACQfKVHxGTnEk\nh+mit3Lv85zq0HIxHfQw9x/n0iKLPiaUyMcpur0Zm7F6zVd0ffukyl5bRG3i\nBoPzp/t/66c1Dul1OXeaGuzYTzsh4zA1yrIwtItIIebCKfoPoxDWqa5o8aAq\nungedycJ0pjHG5RwXLSEaTn4gNIVgpAYiAiauljQvTWdBnr00BSjCQywe5HW\nCgsJ7ODQZZaqLDiIj7+NO57kqwFYEMxB7n6S413aWfV+rfAb/2nfz+TcnF1P\nN0dNlb32qIqf2fXVP9j8qQ/J8RNMVNl9Nx2L69Ba4fwYW+8htATC2Iu4Owly\nODBzHH8fHrRm6Hhke+lc0qiIg4Y1ZRM0RLOCoyQGEqyCw1CDyznyHcwqtTJD\nDXSFGQcGuO0sx12wsJ3DRznqQhc7zJDH0AscySNdkiL5Xdzx1zzz0b6PfnL/\nJ8pOZT3pCqmy1wlrk8rwyMt/lf3Sn3PgIYliEBw4+QKDhxGDY1iZY6FJ334s\ntBZZ6lDYicLSOdy9GGhehh0AYRfK6LKQUVASAaUQs+qxucmiAy4jS1x0oci+\nSU4DFYbaZGcZEyhT8Rg5yZE8pkmyj1tnaF3iUh6nSTws/Vu45fM9f9bjlNXq\neqgSfCOpsteLJLa5UqE5x2pDA5dAOPsCZjOlXmKLgQsn6Du8dotdpl8iewgD\nUZ3VNsE2EqW1irsT2yIyCGhoKAJgAYsXUfXp6dCJIM+eJeYjKLO9TtykprCJ\nO85zRtAOupNDkyxVmfdxuuhB7jvK+QarBdxE7Z8VP+9mFSvrzVdSZa8favEy\nO85/Ycdvvd9MX2Bhivk2IwfoJmQMl4+iw+TKAPXLrEJ+E8DyaWQrLoSThAGO\nEM+RFDCILoMPulZ7MlQiVl2ICdrMZ8mFeE1mPMixe4rTBnIUXDaNczKDJFfS\ng2MGLLi427nzaZ5fpvHTgz/+2/t/3mZubF/27yVV9jpibZzrG2pN7f3MB+TF\nZ9j+EKHFcWjWmF5k4DYiiwvTp8nfgYKNWFkksxegOQlbMRDNY/sAo44hD1av\nJJu5iFUDQl+LWQd8dtQYV6iwe5GVLo0ENnHbJSa7tO3fqB5Il6Qi/cPc8RMD\n/+qJXX/ar8PrLYX9Gqmy1xWxcRIUgqjtmiI5ERJcGD1K5U4A17B0kU6BbC8C\nq+dJBnB9VGnVcLYBhMvoICDahOBr81+GUkxHwWNTk6qFHNuWWUywLmTZOcUp\nF1ycEnvPcywDHezXqgeeOIEimHamm08Kid7gQYJvQars9UaT2M/lDnz13xf/\n+hfV85g9RbdMcYDYgjJ1huLtawUnliYIbgEIZwgzOAE2IoyQXsCovKLs2sBj\nLiK24DHQoR2jAUFCeZVJhR72L1CLCCMYZM88zRWqLmatenCEI1nlae+x/3Xv\ne2Y3nfZsoOv49qepsjcAVckE/oGznxr53D9hfEIG30CU4BsWT5EMEhQQaE3Q\nyeIVAVqX0W0YsMvEWUSgI+rKlZuUqYIhm5BYYhcvwgupCQTsqDIm4GIcNs1w\n2geFAQ6d4ZgHEUleKr0c/KX8Rz518F+FPY0gzq+rKuzfJVX2hqCJKvmB3upx\noaJZIyIkEXMTlO4gURyoncPbf+XhzUWcLQDxIkkPAto2r5y7lWRtiCvBT2gb\nMPS2mANybKnTiAkt9HJglimLjdFehtv4s4wH4nhQYdOF0mkvcL04Y2/0bOE/\nSKrsjUHAJnGQLx448+OFF39VxTB/Ah3B80Do1mgkBMMA0Syhj5MFiGrYfgSI\nX6lwCRjFGlBMQgNwGW6yAHgYpWeFcQMBAQzMcS5AYhjmzrO87CpHncd/cce7\nV0bOenHOSnyjD8w/TKrsDUUpeOEtM7+87Svfy8yU9NwhUYgLS2dwdiMg0JxA\nt19p8YfNtUQWrcuVwSqBr90wvhLTAjz6OzTXhl9z7KkyaSCGXm6dYlwhJs5J\nsYfbP13+8c8e+pHm4LRLoOs7H/gaqbI3Fk3U2Oxgf3g+17ykCer72C4ry2R2\nXykGNBdwtqKgIaFFCgBEr0RZA84rdYMgYgVwCCK8kGWFLINN2l2aQJZ8TH6B\niwVcUWoyNzb4TM4vuHF2o/gKuDf6BbzeESAJJdN3oPPr1TN/Otv/oa4ZEjar\nI1iIFgh9vCxAUiXOXgm32hTKa0+gr0RZoSdmnCsT4D0t5ipUDBiGlxgb4lAM\nFbllSo/HJnq6/xdnhr+S8XMaG9Z9/vqNpFF2faCJeKUhf+b2xR8tj/+GZu8Q\nLC60LqFbr2QI8QK2d+3hRltCBtb+x1uLskI2pAFrTd/hJvNrna0cu2pMimCI\n+7R/wSx+dv/3Lux6POcXUcP6a8l+a9Iou27QJCYwmU1b5eWg9qPL3nvCwtul\nVcXZr5pgHMJFuHXtsaIi5F9xba3UhUMhAQUFj4E2L1lIiDLSs4jT0nrdzIyV\nPrs4+Fgp32NCb0NcbP1dUmXXEYJVS9bXnd6Xw/hLy9XeS6v/xmaLkCAQNqEC\nFoxoHYK131Ls2mSM4MYklhBch6AFsaz4WjaKw9a/7vuhZOS8Zts+BRJ3g/pK\nquw6JFFJKBtPBryGy6eXu8824gc60T7t5pDMmp2O+IKrEoOLRhAjjuAqrqXl\nasUBh801vSBuu1p8tFV+XvsmApPTOKckGy4Z+EZSZdcdApCgxGR7ivWewqM2\n+YtWl4n6+zqRnyRDmvRoHFt81CooDjiiLpBQ6lB3iEPnfMt/cXHwd/3eJeNa\nV7KS5G1i2bDB9evH5/Dhwzf6NaT8vSgCRkSMWNXVOI6jKN8Ns42lnbZ7v6pR\nzUoyXmI3ThenZb1zQf6sm2sQLLuedU0R62FR7IaOrN9IquwGwhFBxIokSqja\nAVStVV81FkcFMeKBj7qirqqobuwc4JuSJgYbiEQVVVQdIfdKTwGDiohaQFXX\nCgaqa6XWdbMs9iqSKrvxEFnz8uv9qq8H0pvR0b9F2kpI2WCkyqZsMFJlUzYY\nqbIpG4xU2ZQNRqpsygYjVTZlg5Eqm7LBSJVN2WCkyqZsMP5/yGAaGvDWFZwA\nAAAASUVORK5CYII=\n","encoding":"base64"}},"public":true,"created_at":"2012-11-28T23:07:35Z","updated_at":"2018-11-26T16:41:29Z","description":"Rainbow Worm","comments":0,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/4165404/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"fork_of":{"url":"https://api.github.com/gists/4163057","forks_url":"https://api.github.com/gists/4163057/forks","commits_url":"https://api.github.com/gists/4163057/commits","id":"4163057","node_id":"MDQ6R2lzdDQxNjMwNTc=","git_pull_url":"https://gist.github.com/4163057.git","git_push_url":"https://gist.github.com/4163057.git","html_url":"https://gist.github.com/mbostock/4163057","files":{},"public":true,"created_at":"2012-11-28T18:26:43Z","updated_at":"2026-01-23T22:03:07Z","description":"Gradient Along Stroke","comments":5,"user":null,"comments_enabled":true,"comments_url":"https://api.github.com/gists/4163057/comments","owner":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false}},"forks":[{"url":"https://api.github.com/gists/fde424fd99f7bcade12d64e9a4abc4ea","user":{"login":"jlyon","id":550909,"node_id":"MDQ6VXNlcjU1MDkwOQ==","avatar_url":"https://avatars.githubusercontent.com/u/550909?v=4","gravatar_id":"","url":"https://api.github.com/users/jlyon","html_url":"https://github.com/jlyon","followers_url":"https://api.github.com/users/jlyon/followers","following_url":"https://api.github.com/users/jlyon/following{/other_user}","gists_url":"https://api.github.com/users/jlyon/gists{/gist_id}","starred_url":"https://api.github.com/users/jlyon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlyon/subscriptions","organizations_url":"https://api.github.com/users/jlyon/orgs","repos_url":"https://api.github.com/users/jlyon/repos","events_url":"https://api.github.com/users/jlyon/events{/privacy}","received_events_url":"https://api.github.com/users/jlyon/received_events","type":"User","user_view_type":"public","site_admin":false,"name":"Jeff Lyon","company":null,"blog":"","location":"Oakland, CA","email":null,"hireable":null,"bio":null,"twitter_username":null,"public_repos":60,"public_gists":43,"followers":14,"following":3,"created_at":"2011-01-06T20:21:18Z","updated_at":"2025-12-15T04:14:02Z"},"id":"fde424fd99f7bcade12d64e9a4abc4ea","created_at":"2017-10-01T02:47:35Z","updated_at":"2017-10-01T02:48:36Z"}],"history":[{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"08fc3fa3c47ff021d6b6dd7599873471600013b5","committed_at":"2018-11-26T16:41:29Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/4165404/08fc3fa3c47ff021d6b6dd7599873471600013b5"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"c9d1f8d69fcdf17b352235419c190e1a36645ce8","committed_at":"2016-02-09T02:13:43Z","change_status":{"total":1,"additions":1,"deletions":0},"url":"https://api.github.com/gists/4165404/c9d1f8d69fcdf17b352235419c190e1a36645ce8"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"ff8452cd815b0a895c717f5312a548aa52591084","committed_at":"2015-10-31T01:18:06Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4165404/ff8452cd815b0a895c717f5312a548aa52591084"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"9d5ce21beabf88363084f702ad15cdeb62081650","committed_at":"2015-06-11T19:30:48Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4165404/9d5ce21beabf88363084f702ad15cdeb62081650"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"1074cac6ad30f46d9f1a9634e3a5c1cbcf1fca3f","committed_at":"2012-11-28T23:19:02Z","change_status":{"total":0,"additions":0,"deletions":0},"url":"https://api.github.com/gists/4165404/1074cac6ad30f46d9f1a9634e3a5c1cbcf1fca3f"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"3e7fcd78811b2e28956125bcc5edbd1c1c39bacd","committed_at":"2012-11-28T23:14:22Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4165404/3e7fcd78811b2e28956125bcc5edbd1c1c39bacd"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"91c8e0d123b4daa2333b95c7ebe383b9369c6564","committed_at":"2012-11-28T23:10:23Z","change_status":{"total":2,"additions":1,"deletions":1},"url":"https://api.github.com/gists/4165404/91c8e0d123b4daa2333b95c7ebe383b9369c6564"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"a34dfd076fb38d7ff9996586afb9680483ba6cf4","committed_at":"2012-11-28T23:08:53Z","change_status":{"total":86,"additions":42,"deletions":44},"url":"https://api.github.com/gists/4165404/a34dfd076fb38d7ff9996586afb9680483ba6cf4"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"033ed078afd82b418eeea0cfd8eb02da5e4c220c","committed_at":"2012-11-28T18:40:40Z","change_status":{"total":4,"additions":2,"deletions":2},"url":"https://api.github.com/gists/4165404/033ed078afd82b418eeea0cfd8eb02da5e4c220c"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"340ca081b69e5c92183c2fabe9441f46ae8adf15","committed_at":"2012-11-28T18:40:16Z","change_status":{"total":11,"additions":1,"deletions":10},"url":"https://api.github.com/gists/4165404/340ca081b69e5c92183c2fabe9441f46ae8adf15"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"d6ee5e51d3b4cc5ae258d5252e52f4b66ecbd30a","committed_at":"2012-11-28T18:37:50Z","change_status":{},"url":"https://api.github.com/gists/4165404/d6ee5e51d3b4cc5ae258d5252e52f4b66ecbd30a"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"6f3268e2fba5d34c0229d7ee1adcb6cb31d0a34a","committed_at":"2012-11-28T18:31:43Z","change_status":{},"url":"https://api.github.com/gists/4165404/6f3268e2fba5d34c0229d7ee1adcb6cb31d0a34a"},{"user":{"login":"mbostock","id":230541,"node_id":"MDQ6VXNlcjIzMDU0MQ==","avatar_url":"https://avatars.githubusercontent.com/u/230541?v=4","gravatar_id":"","url":"https://api.github.com/users/mbostock","html_url":"https://github.com/mbostock","followers_url":"https://api.github.com/users/mbostock/followers","following_url":"https://api.github.com/users/mbostock/following{/other_user}","gists_url":"https://api.github.com/users/mbostock/gists{/gist_id}","starred_url":"https://api.github.com/users/mbostock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbostock/subscriptions","organizations_url":"https://api.github.com/users/mbostock/orgs","repos_url":"https://api.github.com/users/mbostock/repos","events_url":"https://api.github.com/users/mbostock/events{/privacy}","received_events_url":"https://api.github.com/users/mbostock/received_events","type":"User","user_view_type":"public","site_admin":false},"version":"11b63089fe823fce5870ed5e73dd2539aae0d1a1","committed_at":"2012-11-28T18:26:43Z","change_status":{},"url":"https://api.github.com/gists/4165404/11b63089fe823fce5870ed5e73dd2539aae0d1a1"}],"truncated":false}