app.json
Version:
Create, validate, and render Heroku app.json manifests
22 lines (21 loc) • 254 kB
HTML
<!DOCTYPE html>
<html><head>
<meta charset="utf-8">
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400|Source+Code+Pro:300,500' rel='stylesheet' type='text/css'>
<style>body,html{font-family:'Source Sans Pro','Helvetica Neue',Helvetica,Arial,sans-serif;font-weight:100;position:relative;background:#6A4A3C;margin:0;padding:0;color:#fff;-webkit-animation:background 2s;animation:background 2s}body{overflow-x:hidden;width:100%}.content{-webkit-animation:content 4s;animation:content 4s}.content img{display:none}h1,h2,h3,h4,h5,h6{font-weight:200}h1{font-weight:200;font-size:2.82em;text-align:center;margin:0 auto;width:600px;padding-bottom:.5em;margin-bottom:1em;letter-spacing:.075em;border-bottom:1px dotted rgba(255,255,255,.75);padding-top:.775em}h1,h2{box-shadow:0 11px 10px -10px rgba(0,0,0,.25)}h2{border-bottom:1px dotted rgba(255,255,255,.75);padding-bottom:.25em;padding-top:1em}.chart{margin:0 auto}.chart,.modes,.palette-wrap{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown{width:600px;margin:0 auto;line-height:1.65em;font-size:1.15em}.markdown a{color:#EDC951;text-decoration:none;border-bottom:1px solid #EDC951}.markdown pre{padding:1em;background:rgba(255,255,255,.1);font-weight:200}.modes{position:absolute;right:16px;top:16px}.scale-list{list-style-type:none;margin:0;padding:0;overflow:hidden}.scale-icon:hover{opacity:1}.scale-icon{background-position:right center;height:48px;line-height:48px;margin-bottom:12px;cursor:pointer;padding-right:64px;font-size:1.2em;text-align:right;background-repeat:no-repeat;opacity:.5;-webkit-transition:opacity .2s;transition:opacity .2s}.scale-icon:hover span{opacity:1;left:0}.scale-icon span{position:relative;left:100px;opacity:0;-webkit-transition:opacity .2s,left .2s;transition:opacity .2s,left .2s}.scale-size{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAk9JREFUeNrsWYFxgzAMDLkMQDZgBDZoRkg3YAS6gTdIOwHtBMkGkAnIBukGsIFr3yk96iIjgUyTHn/n445Ysoyll6ysVgv+FhFlktY6MY8Uxg0XM6ooilrqYkZPbB65GU/w6mzGK0cHC2bBnRml9qOADQ4ab0bdI1/DxjCZwlkrphp/0DyoAX2KK+sY/70JivFHPQ6FR6fvJEtEphfdOeu+L28e+5Felxn5fM4gXrs+D0E2BQckJs4eGey3d+I70jFPcqVQQRw5VHkVOtnWUON2Vho1yvdaFuncMSC9YDx7ED8iHn4DG6e2kQSnRuqrtSprEznAgbKkcCWuKVZr+WqPMVCEj8VdKycdpYDxja9i9CS0SbUWtWqkIAt8yllIV8oIPh/0hLuL5UylGUFnOUeMuTFRgIGY4YryRYTi6xfLRQyuTp3ywBZsF4a8vWMcBfPM1uaIDfn2zzAWgXStZfVVSy10l30h8Hfr45/EXs/NPdDaBa6rpZjhBr2GO1my9l1MLHU6DIXSqXCtVWMG1dTJYFDDSTSCtVbG5emUmVV3AXPBFQviWKK2H/BbG1MvE9U8+wIyqAuFrrWCBjFB1us2rC4H+GpKnBtDPOzIneOfsgoM1EjTK5v8/8AccPKJjZdq+ftmwb3DufA0lBYIyOQwEnGSAFZogBnUgCFYHkg81EnmdqB1l6ZTbkdCjUhGBbOMSEQSJcLHDTLXl4QaZpMgH1trrQkt8fae49DdwFvPnA9E9uTRexKYf0E+XuttRHdSe/NwQfwvaHTBzPgSYADLzWAwNzmHSwAAAABJRU5ErkJggg==)}.scale-count{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIlJREFUeNrs1t0NQDAUgFE1kVE6kpGMYqOLxIMQjRc/lfO9iOaSCJXTNHq3tF+IiG4+5PV0SCmNpRt8an4e7uNYX8X88qRxXvfV+XZzTS68yXxx7fH59je7udZPqPpN/K/fqMRCLMRCLMRCLMRCEguxEAuxEAuxEAtJLMRCLMRCLMRCLKTbmwQYAAG3UAIu8Pa8AAAAAElFTkSuQmCC)}.scheme-icon.selected .scheme-text{display:none}.scheme-icon .scheme-text{opacity:0;right:-50px;-webkit-transition:opacity .2s,right .2s;transition:opacity .2s,right .2s}.scheme-icon .palette{z-index:99}.scheme-icon .scheme-text{z-index:90}.scheme-icon:hover .scheme-text{opacity:1;right:64px}.scheme-text{cursor:pointer;position:absolute;width:150px;height:48px;line-height:48px;text-align:right}code,pre{font-family:'Source Code Pro','Courier New',monospace;font-size:14px}@-webkit-keyframes background{0%,20%{background-color:#000}100%{background-color:#6A4A3C}}@keyframes background{0%,20%{background-color:#000}100%{background-color:#6A4A3C}}@-webkit-keyframes content{0%,50%{opacity:0}100%{opacity:1}}@keyframes content{0%,50%{opacity:0}100%{opacity:1}}.palette-wrap{position:absolute;right:16px}.palette{width:48px;overflow:hidden;margin:4px;cursor:pointer;position:relative;display:block}
</style>
</head><body>
<div class="modes">
<ul class="scale-list">
<li class="labelled-icon scale-icon scale-count" data-mode="count"><span>File Count</span></li>
<li class="labelled-icon scale-icon scale-size" data-mode="size"><span>File Size</span></li>
</ul>
</div>
<div class="chart"></div>
<div class="palette-wrap"></div>
<article class="content">
<div class="markdown"></div>
</article>
<script type="text/javascript">;window.disc = ({"name":"app.json","children":[{"children":[{"size":1494,"deps":6,"path":"/Users/zeke/code/app-json/app.json/lib/app.js","name":"app.js"},{"size":4460,"deps":0,"path":"/Users/zeke/code/app-json/app.json/lib/schema.js","name":"schema.js"}],"name":"lib","size":5954,"path":"/Users/zeke/code/app-json/app.json/lib"},{"children":[{"children":[{"size":30120,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/buffer/index.js","name":"index.js"},{"children":[{"children":[{"children":[{"size":3414,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/buffer/node_modules/base64-js/lib/b64.js","name":"b64.js"}],"name":"lib","size":3414}],"name":"base64-js","size":3414},{"children":[{"size":2092,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/buffer/node_modules/ieee754/index.js","name":"index.js"}],"name":"ieee754","size":2092}],"name":"node_modules","size":5506}],"name":"buffer","size":35626,"path":"/Users/zeke/code/app-json/app.json/browserify-core/buffer"},{"children":[{"size":7153,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/events/events.js","name":"events.js"}],"name":"events","size":7153,"path":"/Users/zeke/code/app-json/app.json/browserify-core/events"},{"children":[{"size":4319,"deps":3,"path":"/Users/zeke/code/app-json/app.json/browserify-core/http-browserify/index.js","name":"index.js"},{"children":[{"size":4879,"deps":4,"path":"/Users/zeke/code/app-json/app.json/browserify-core/http-browserify/lib/request.js","name":"request.js"},{"size":3126,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/http-browserify/lib/response.js","name":"response.js"}],"name":"lib","size":8005},{"children":[{"children":[{"size":2189,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/http-browserify/node_modules/Base64/base64.js","name":"base64.js"}],"name":"Base64","size":2189}],"name":"node_modules","size":2189}],"name":"http-browserify","size":14513,"path":"/Users/zeke/code/app-json/app.json/browserify-core/http-browserify"},{"children":[{"size":671,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/inherits/inherits_browser.js","name":"inherits_browser.js"}],"name":"inherits","size":671,"path":"/Users/zeke/code/app-json/app.json/browserify-core/inherits"},{"children":[{"size":1529,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/process/browser.js","name":"browser.js"}],"name":"process","size":1529,"path":"/Users/zeke/code/app-json/app.json/browserify-core/process"},{"children":[{"size":14083,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/punycode/punycode.js","name":"punycode.js"}],"name":"punycode","size":14083,"path":"/Users/zeke/code/app-json/app.json/browserify-core/punycode"},{"children":[{"size":1375,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/querystring-es3/decode.js","name":"decode.js"},{"size":1408,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/querystring-es3/encode.js","name":"encode.js"},{"size":126,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/querystring-es3/index.js","name":"index.js"}],"name":"querystring-es3","size":2909,"path":"/Users/zeke/code/app-json/app.json/browserify-core/querystring-es3"},{"children":[{"size":1187,"deps":4,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/duplex.js","name":"duplex.js"},{"size":2422,"deps":7,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/index.js","name":"index.js"},{"children":[{"children":[{"size":1333,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/node_modules/process/browser.js","name":"browser.js"}],"name":"process","size":1333}],"name":"node_modules","size":1333},{"size":377,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/passthrough.js","name":"passthrough.js"},{"size":25725,"deps":7,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/readable.js","name":"readable.js"},{"size":3816,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/transform.js","name":"transform.js"},{"size":9818,"deps":4,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify/writable.js","name":"writable.js"}],"name":"stream-browserify","size":44678,"path":"/Users/zeke/code/app-json/app.json/browserify-core/stream-browserify"},{"children":[{"size":4784,"deps":1,"path":"/Users/zeke/code/app-json/app.json/browserify-core/string_decoder/index.js","name":"index.js"}],"name":"string_decoder","size":4784,"path":"/Users/zeke/code/app-json/app.json/browserify-core/string_decoder"},{"children":[{"size":21122,"deps":2,"path":"/Users/zeke/code/app-json/app.json/browserify-core/url/url.js","name":"url.js"}],"name":"url","size":21122,"path":"/Users/zeke/code/app-json/app.json/browserify-core/url"},{"children":[{"children":[{"size":204,"deps":0,"path":"/Users/zeke/code/app-json/app.json/browserify-core/util/support/isBufferBrowser.js","name":"isBufferBrowser.js"}],"name":"support","size":204,"path":"/Users/zeke/code/app-json/app.json/browserify-core/util/support"},{"size":15705,"deps":3,"path":"/Users/zeke/code/app-json/app.json/browserify-core/util/util.js","name":"util.js"}],"name":"util","size":15909}],"name":"browserify-core","size":162977},{"children":[{"children":[{"size":264,"deps":0,"path":"/Users/zeke/code/app-json/app.json/node_modules/is-url/index.js","name":"index.js"}],"name":"is-url@1.1.0","size":264,"path":"/Users/zeke/code/app-json/app.json/node_modules/is-url"},{"children":[{"children":[{"size":16552,"deps":0,"path":"/Users/zeke/code/app-json/app.json/node_modules/revalidator/lib/revalidator.js","name":"revalidator.js"}],"name":"lib","size":16552,"path":"/Users/zeke/code/app-json/app.json/node_modules/revalidator/lib"}],"name":"revalidator","size":16552}],"name":"node_modules","size":16816}],"size":185747,"mode":"size"});</script>
<script type="text/javascript">!function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a="function"==typeof require&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<r.length;o++)s(r[o]);return s}({1:[function(require,module){var process=module.exports={};process.nextTick=function(){var canSetImmediate="undefined"!=typeof window&&window.setImmediate,canPost="undefined"!=typeof window&&window.postMessage&&window.addEventListener;if(canSetImmediate)return function(f){return window.setImmediate(f)};if(canPost){var queue=[];return window.addEventListener("message",function(ev){var source=ev.source;if((source===window||null===source)&&"process-tick"===ev.data&&(ev.stopPropagation(),queue.length>0)){var fn=queue.shift();fn()}},!0),function(fn){queue.push(fn),window.postMessage("process-tick","*")}}return function(fn){setTimeout(fn,0)}}(),process.title="browser",process.browser=!0,process.env={},process.argv=[],process.binding=function(){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(){throw new Error("process.chdir is not supported")}},{}],2:[function(require,module,exports){!function(process){function normalizeArray(parts,allowAboveRoot){for(var up=0,i=parts.length-1;i>=0;i--){var last=parts[i];"."===last?parts.splice(i,1):".."===last?(parts.splice(i,1),up++):up&&(parts.splice(i,1),up--)}if(allowAboveRoot)for(;up--;up)parts.unshift("..");return parts}function filter(xs,f){if(xs.filter)return xs.filter(f);for(var res=[],i=0;i<xs.length;i++)f(xs[i],i,xs)&&res.push(xs[i]);return res}var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,splitPath=function(filename){return splitPathRe.exec(filename).slice(1)};exports.resolve=function(){for(var resolvedPath="",resolvedAbsolute=!1,i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:process.cwd();if("string"!=typeof path)throw new TypeError("Arguments to path.resolve must be strings");path&&(resolvedPath=path+"/"+resolvedPath,resolvedAbsolute="/"===path.charAt(0))}return resolvedPath=normalizeArray(filter(resolvedPath.split("/"),function(p){return!!p}),!resolvedAbsolute).join("/"),(resolvedAbsolute?"/":"")+resolvedPath||"."},exports.normalize=function(path){var isAbsolute=exports.isAbsolute(path),trailingSlash="/"===substr(path,-1);return path=normalizeArray(filter(path.split("/"),function(p){return!!p}),!isAbsolute).join("/"),path||isAbsolute||(path="."),path&&trailingSlash&&(path+="/"),(isAbsolute?"/":"")+path},exports.isAbsolute=function(path){return"/"===path.charAt(0)},exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(filter(paths,function(p){if("string"!=typeof p)throw new TypeError("Arguments to path.join must be strings");return p}).join("/"))},exports.relative=function(from,to){function trim(arr){for(var start=0;start<arr.length&&""===arr[start];start++);for(var end=arr.length-1;end>=0&&""===arr[end];end--);return start>end?[]:arr.slice(start,end-start+1)}from=exports.resolve(from).substr(1),to=exports.resolve(to).substr(1);for(var fromParts=trim(from.split("/")),toParts=trim(to.split("/")),length=Math.min(fromParts.length,toParts.length),samePartsLength=length,i=0;length>i;i++)if(fromParts[i]!==toParts[i]){samePartsLength=i;break}for(var outputParts=[],i=samePartsLength;i<fromParts.length;i++)outputParts.push("..");return outputParts=outputParts.concat(toParts.slice(samePartsLength)),outputParts.join("/")},exports.sep="/",exports.delimiter=":",exports.dirname=function(path){var result=splitPath(path),root=result[0],dir=result[1];return root||dir?(dir&&(dir=dir.substr(0,dir.length-1)),root+dir):"."},exports.basename=function(path,ext){var f=splitPath(path)[2];return ext&&f.substr(-1*ext.length)===ext&&(f=f.substr(0,f.length-ext.length)),f},exports.extname=function(path){return splitPath(path)[3]};var substr="b"==="ab".substr(-1)?function(str,start,len){return str.substr(start,len)}:function(str,start,len){return 0>start&&(start=str.length+start),str.substr(start,len)}}.call(this,require("/Users/hughsk/Desktop/repos/disc/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js"))},{"/Users/hughsk/Desktop/repos/disc/node_modules/browserify/node_modules/insert-module-globals/node_modules/process/browser.js":1}],3:[function(require,module){!function(){function d3_number(x){return null!=x&&!isNaN(x)}function d3_zipLength(d){return d.length}function d3_range_integerScale(x){for(var k=1;x*k%1;)k*=10;return k}function d3_class(ctor,properties){try{for(var key in properties)Object.defineProperty(ctor.prototype,key,{value:properties[key],enumerable:!1})}catch(e){ctor.prototype=properties}}function d3_Map(){}function d3_map_has(key){return d3_map_prefix+key in this}function d3_map_remove(key){return key=d3_map_prefix+key,key in this&&delete this[key]}function d3_map_keys(){var keys=[];return this.forEach(function(key){keys.push(key)}),keys}function d3_map_size(){var size=0;for(var key in this)key.charCodeAt(0)===d3_map_prefixCode&&++size;return size}function d3_map_empty(){for(var key in this)if(key.charCodeAt(0)===d3_map_prefixCode)return!1;return!0}function d3_Set(){}function d3_rebind(target,source,method){return function(){var value=method.apply(source,arguments);return value===source?target:value}}function d3_vendorSymbol(object,name){if(name in object)return name;name=name.charAt(0).toUpperCase()+name.substring(1);for(var i=0,n=d3_vendorPrefixes.length;n>i;++i){var prefixName=d3_vendorPrefixes[i]+name;if(prefixName in object)return prefixName}}function d3_noop(){}function d3_dispatch(){}function d3_dispatch_event(dispatch){function event(){for(var l,z=listeners,i=-1,n=z.length;++i<n;)(l=z[i].on)&&l.apply(this,arguments);return dispatch}var listeners=[],listenerByName=new d3_Map;return event.on=function(name,listener){var i,l=listenerByName.get(name);return arguments.length<2?l&&l.on:(l&&(l.on=null,listeners=listeners.slice(0,i=listeners.indexOf(l)).concat(listeners.slice(i+1)),listenerByName.remove(name)),listener&&listeners.push(listenerByName.set(name,{on:listener})),dispatch)},event}function d3_eventPreventDefault(){d3.event.preventDefault()}function d3_eventSource(){for(var s,e=d3.event;s=e.sourceEvent;)e=s;return e}function d3_eventDispatch(target){for(var dispatch=new d3_dispatch,i=0,n=arguments.length;++i<n;)dispatch[arguments[i]]=d3_dispatch_event(dispatch);return dispatch.of=function(thiz,argumentz){return function(e1){try{var e0=e1.sourceEvent=d3.event;e1.target=target,d3.event=e1,dispatch[e1.type].apply(thiz,argumentz)}finally{d3.event=e0}}},dispatch}function d3_selection(groups){return d3_subclass(groups,d3_selectionPrototype),groups}function d3_selection_selector(selector){return"function"==typeof selector?selector:function(){return d3_select(selector,this)}}function d3_selection_selectorAll(selector){return"function"==typeof selector?selector:function(){return d3_selectAll(selector,this)}}function d3_selection_attr(name,value){function attrNull(){this.removeAttribute(name)}function attrNullNS(){this.removeAttributeNS(name.space,name.local)}function attrConstant(){this.setAttribute(name,value)}function attrConstantNS(){this.setAttributeNS(name.space,name.local,value)}function attrFunction(){var x=value.apply(this,arguments);null==x?this.removeAttribute(name):this.setAttribute(name,x)}function attrFunctionNS(){var x=value.apply(this,arguments);null==x?this.removeAttributeNS(name.space,name.local):this.setAttributeNS(name.space,name.local,x)}return name=d3.ns.qualify(name),null==value?name.local?attrNullNS:attrNull:"function"==typeof value?name.local?attrFunctionNS:attrFunction:name.local?attrConstantNS:attrConstant}function d3_collapse(s){return s.trim().replace(/\s+/g," ")}function d3_selection_classedRe(name){return new RegExp("(?:^|\\s+)"+d3.requote(name)+"(?:\\s+|$)","g")}function d3_selection_classes(name){return name.trim().split(/^|\s+/)}function d3_selection_classed(name,value){function classedConstant(){for(var i=-1;++i<n;)name[i](this,value)}function classedFunction(){for(var i=-1,x=value.apply(this,arguments);++i<n;)name[i](this,x)}name=d3_selection_classes(name).map(d3_selection_classedName);var n=name.length;return"function"==typeof value?classedFunction:classedConstant}function d3_selection_classedName(name){var re=d3_selection_classedRe(name);return function(node,value){if(c=node.classList)return value?c.add(name):c.remove(name);var c=node.getAttribute("class")||"";value?(re.lastIndex=0,re.test(c)||node.setAttribute("class",d3_collapse(c+" "+name))):node.setAttribute("class",d3_collapse(c.replace(re," ")))}}function d3_selection_style(name,value,priority){function styleNull(){this.style.removeProperty(name)}function styleConstant(){this.style.setProperty(name,value,priority)}function styleFunction(){var x=value.apply(this,arguments);null==x?this.style.removeProperty(name):this.style.setProperty(name,x,priority)}return null==value?styleNull:"function"==typeof value?styleFunction:styleConstant}function d3_selection_property(name,value){function propertyNull(){delete this[name]}function propertyConstant(){this[name]=value}function propertyFunction(){var x=value.apply(this,arguments);null==x?delete this[name]:this[name]=x}return null==value?propertyNull:"function"==typeof value?propertyFunction:propertyConstant}function d3_selection_creator(name){return"function"==typeof name?name:(name=d3.ns.qualify(name)).local?function(){return this.ownerDocument.createElementNS(name.space,name.local)}:function(){return this.ownerDocument.createElementNS(this.namespaceURI,name)}}function d3_selection_dataNode(data){return{__data__:data}}function d3_selection_filter(selector){return function(){return d3_selectMatches(this,selector)}}function d3_selection_sortComparator(comparator){return arguments.length||(comparator=d3.ascending),function(a,b){return a&&b?comparator(a.__data__,b.__data__):!a-!b}}function d3_selection_each(groups,callback){for(var j=0,m=groups.length;m>j;j++)for(var node,group=groups[j],i=0,n=group.length;n>i;i++)(node=group[i])&&callback(node,i,j);return groups}function d3_selection_enter(selection){return d3_subclass(selection,d3_selection_enterPrototype),selection}function d3_selection_enterInsertBefore(enter){var i0,j0;return function(d,i,j){var node,group=enter[j].update,n=group.length;for(j!=j0&&(j0=j,i0=0),i>=i0&&(i0=i+1);!(node=group[i0])&&++i0<n;);return node}}function d3_selection_interrupt(){var lock=this.__transition__;lock&&++lock.active}function d3_selection_on(type,listener,capture){function onRemove(){var l=this[name];l&&(this.removeEventListener(type,l,l.$),delete this[name])}function onAdd(){var l=wrap(listener,d3_array(arguments));onRemove.call(this),this.addEventListener(type,this[name]=l,l.$=capture),l._=listener}function removeAll(){var match,re=new RegExp("^__on([^.]+)"+d3.requote(type)+"$");for(var name in this)if(match=name.match(re)){var l=this[name];this.removeEventListener(match[1],l,l.$),delete this[name]}}var name="__on"+type,i=type.indexOf("."),wrap=d3_selection_onListener;i>0&&(type=type.substring(0,i));var filter=d3_selection_onFilters.get(type);return filter&&(type=filter,wrap=d3_selection_onFilter),i?listener?onAdd:onRemove:listener?d3_noop:removeAll}function d3_selection_onListener(listener,argumentz){return function(e){var o=d3.event;d3.event=e,argumentz[0]=this.__data__;try{listener.apply(this,argumentz)}finally{d3.event=o}}}function d3_selection_onFilter(listener,argumentz){var l=d3_selection_onListener(listener,argumentz);return function(e){var target=this,related=e.relatedTarget;related&&(related===target||8&related.compareDocumentPosition(target))||l.call(target,e)}}function d3_event_dragSuppress(){var name=".dragsuppress-"+ ++d3_event_dragId,click="click"+name,w=d3.select(d3_window).on("touchmove"+name,d3_eventPreventDefault).on("dragstart"+name,d3_eventPreventDefault).on("selectstart"+name,d3_eventPreventDefault);if(d3_event_dragSelect){var style=d3_documentElement.style,select=style[d3_event_dragSelect];style[d3_event_dragSelect]="none"}return function(suppressClick){function off(){w.on(click,null)}w.on(name,null),d3_event_dragSelect&&(style[d3_event_dragSelect]=select),suppressClick&&(w.on(click,function(){d3_eventPreventDefault(),off()},!0),setTimeout(off,0))}}function d3_mousePoint(container,e){e.changedTouches&&(e=e.changedTouches[0]);var svg=container.ownerSVGElement||container;if(svg.createSVGPoint){var point=svg.createSVGPoint();if(0>d3_mouse_bug44083&&(d3_window.scrollX||d3_window.scrollY)){svg=d3.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ctm=svg[0][0].getScreenCTM();d3_mouse_bug44083=!(ctm.f||ctm.e),svg.remove()}return d3_mouse_bug44083?(point.x=e.pageX,point.y=e.pageY):(point.x=e.clientX,point.y=e.clientY),point=point.matrixTransform(container.getScreenCTM().inverse()),[point.x,point.y]}var rect=container.getBoundingClientRect();return[e.clientX-rect.left-container.clientLeft,e.clientY-rect.top-container.clientTop]}function d3_sgn(x){return x>0?1:0>x?-1:0}function d3_cross2d(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function d3_acos(x){return x>1?0:-1>x?π:Math.acos(x)}function d3_asin(x){return x>1?halfπ:-1>x?-halfπ:Math.asin(x)}function d3_sinh(x){return((x=Math.exp(x))-1/x)/2}function d3_cosh(x){return((x=Math.exp(x))+1/x)/2}function d3_tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function d3_haversin(x){return(x=Math.sin(x/2))*x}function d3_Color(){}function d3_hsl(h,s,l){return new d3_Hsl(h,s,l)}function d3_Hsl(h,s,l){this.h=h,this.s=s,this.l=l}function d3_hsl_rgb(h,s,l){function v(h){return h>360?h-=360:0>h&&(h+=360),60>h?m1+(m2-m1)*h/60:180>h?m2:240>h?m1+(m2-m1)*(240-h)/60:m1}function vv(h){return Math.round(255*v(h))}var m1,m2;return h=isNaN(h)?0:(h%=360)<0?h+360:h,s=isNaN(s)?0:0>s?0:s>1?1:s,l=0>l?0:l>1?1:l,m2=.5>=l?l*(1+s):l+s-l*s,m1=2*l-m2,d3_rgb(vv(h+120),vv(h),vv(h-120))}function d3_hcl(h,c,l){return new d3_Hcl(h,c,l)}function d3_Hcl(h,c,l){this.h=h,this.c=c,this.l=l}function d3_hcl_lab(h,c,l){return isNaN(h)&&(h=0),isNaN(c)&&(c=0),d3_lab(l,Math.cos(h*=d3_radians)*c,Math.sin(h)*c)}function d3_lab(l,a,b){return new d3_Lab(l,a,b)}function d3_Lab(l,a,b){this.l=l,this.a=a,this.b=b}function d3_lab_rgb(l,a,b){var y=(l+16)/116,x=y+a/500,z=y-b/200;return x=d3_lab_xyz(x)*d3_lab_X,y=d3_lab_xyz(y)*d3_lab_Y,z=d3_lab_xyz(z)*d3_lab_Z,d3_rgb(d3_xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z),d3_xyz_rgb(-.969266*x+1.8760108*y+.041556*z),d3_xyz_rgb(.0556434*x-.2040259*y+1.0572252*z))}function d3_lab_hcl(l,a,b){return l>0?d3_hcl(Math.atan2(b,a)*d3_degrees,Math.sqrt(a*a+b*b),l):d3_hcl(0/0,0/0,l)}function d3_lab_xyz(x){return x>.206893034?x*x*x:(x-4/29)/7.787037}function d3_xyz_lab(x){return x>.008856?Math.pow(x,1/3):7.787037*x+4/29}function d3_xyz_rgb(r){return Math.round(255*(.00304>=r?12.92*r:1.055*Math.pow(r,1/2.4)-.055))}function d3_rgbNumber(value){return d3_rgb(value>>16,255&value>>8,255&value)}function d3_rgbString(value){return d3_rgbNumber(value)+""}function d3_rgb(r,g,b){return new d3_Rgb(r,g,b)}function d3_Rgb(r,g,b){this.r=r,this.g=g,this.b=b}function d3_rgb_hex(v){return 16>v?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function d3_rgb_parse(format,rgb,hsl){var m1,m2,name,r=0,g=0,b=0;if(m1=/([a-z]+)\((.*)\)/i.exec(format))switch(m2=m1[2].split(","),m1[1]){case"hsl":return hsl(parseFloat(m2[0]),parseFloat(m2[1])/100,parseFloat(m2[2])/100);case"rgb":return rgb(d3_rgb_parseNumber(m2[0]),d3_rgb_parseNumber(m2[1]),d3_rgb_parseNumber(m2[2]))}return(name=d3_rgb_names.get(format))?rgb(name.r,name.g,name.b):(null!=format&&"#"===format.charAt(0)&&(4===format.length?(r=format.charAt(1),r+=r,g=format.charAt(2),g+=g,b=format.charAt(3),b+=b):7===format.length&&(r=format.substring(1,3),g=format.substring(3,5),b=format.substring(5,7)),r=parseInt(r,16),g=parseInt(g,16),b=parseInt(b,16)),rgb(r,g,b))}function d3_rgb_hsl(r,g,b){var h,s,min=Math.min(r/=255,g/=255,b/=255),max=Math.max(r,g,b),d=max-min,l=(max+min)/2;return d?(s=.5>l?d/(max+min):d/(2-max-min),h=r==max?(g-b)/d+(b>g?6:0):g==max?(b-r)/d+2:(r-g)/d+4,h*=60):(h=0/0,s=l>0&&1>l?0:h),d3_hsl(h,s,l)}function d3_rgb_lab(r,g,b){r=d3_rgb_xyz(r),g=d3_rgb_xyz(g),b=d3_rgb_xyz(b);var x=d3_xyz_lab((.4124564*r+.3575761*g+.1804375*b)/d3_lab_X),y=d3_xyz_lab((.2126729*r+.7151522*g+.072175*b)/d3_lab_Y),z=d3_xyz_lab((.0193339*r+.119192*g+.9503041*b)/d3_lab_Z);return d3_lab(116*y-16,500*(x-y),200*(y-z))}function d3_rgb_xyz(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function d3_rgb_parseNumber(c){var f=parseFloat(c);return"%"===c.charAt(c.length-1)?Math.round(2.55*f):f}function d3_functor(v){return"function"==typeof v?v:function(){return v}}function d3_identity(d){return d}function d3_xhrType(response){return function(url,mimeType,callback){return 2===arguments.length&&"function"==typeof mimeType&&(callback=mimeType,mimeType=null),d3_xhr(url,mimeType,response,callback)}}function d3_xhr(url,mimeType,response,callback){function respond(){var result,status=request.status;if(!status&&request.responseText||status>=200&&300>status||304===status){try{result=response.call(xhr,request)}catch(e){return dispatch.error.call(xhr,e),void 0}dispatch.load.call(xhr,result)}else dispatch.error.call(xhr,request)}var xhr={},dispatch=d3.dispatch("beforesend","progress","load","error"),headers={},request=new XMLHttpRequest,responseType=null;return!d3_window.XDomainRequest||"withCredentials"in request||!/^(http(s)?:)?\/\//.test(url)||(request=new XDomainRequest),"onload"in request?request.onload=request.onerror=respond:request.onreadystatechange=function(){request.readyState>3&&respond()},request.onprogress=function(event){var o=d3.event;d3.event=event;try{dispatch.progress.call(xhr,request)}finally{d3.event=o}},xhr.header=function(name,value){return name=(name+"").toLowerCase(),arguments.length<2?headers[name]:(null==value?delete headers[name]:headers[name]=value+"",xhr)},xhr.mimeType=function(value){return arguments.length?(mimeType=null==value?null:value+"",xhr):mimeType},xhr.responseType=function(value){return arguments.length?(responseType=value,xhr):responseType},xhr.response=function(value){return response=value,xhr},["get","post"].forEach(function(method){xhr[method]=function(){return xhr.send.apply(xhr,[method].concat(d3_array(arguments)))}}),xhr.send=function(method,data,callback){if(2===arguments.length&&"function"==typeof data&&(callback=data,data=null),request.open(method,url,!0),null==mimeType||"accept"in headers||(headers.accept=mimeType+",*/*"),request.setRequestHeader)for(var name in headers)request.setRequestHeader(name,headers[name]);return null!=mimeType&&request.overrideMimeType&&request.overrideMimeType(mimeType),null!=responseType&&(request.responseType=responseType),null!=callback&&xhr.on("error",callback).on("load",function(request){callback(null,request)}),dispatch.beforesend.call(xhr,request),request.send(null==data?null:data),xhr},xhr.abort=function(){return request.abort(),xhr},d3.rebind(xhr,dispatch,"on"),null==callback?xhr:xhr.get(d3_xhr_fixCallback(callback))}function d3_xhr_fixCallback(callback){return 1===callback.length?function(error,request){callback(null==error?request:null)}:callback}function d3_timer_step(){var now=d3_timer_mark(),delay=d3_timer_sweep()-now;delay>24?(isFinite(delay)&&(clearTimeout(d3_timer_timeout),d3_timer_timeout=setTimeout(d3_timer_step,delay)),d3_timer_interval=0):(d3_timer_interval=1,d3_timer_frame(d3_timer_step))}function d3_timer_mark(){var now=Date.now();for(d3_timer_active=d3_timer_queueHead;d3_timer_active;)now>=d3_timer_active.t&&(d3_timer_active.f=d3_timer_active.c(now-d3_timer_active.t)),d3_timer_active=d3_timer_active.n;return now}function d3_timer_sweep(){for(var t0,t1=d3_timer_queueHead,time=1/0;t1;)t1.f?t1=t0?t0.n=t1.n:d3_timer_queueHead=t1.n:(t1.t<time&&(time=t1.t),t1=(t0=t1).n);return d3_timer_queueTail=t0,time}function d3_format_precision(x,p){return p-(x?Math.ceil(Math.log(x)/Math.LN10):1)}function d3_formatPrefix(d,i){var k=Math.pow(10,3*abs(8-i));return{scale:i>8?function(d){return d/k}:function(d){return d*k},symbol:d}}function d3_locale_numberFormat(locale){var locale_decimal=locale.decimal,locale_thousands=locale.thousands,locale_grouping=locale.grouping,locale_currency=locale.currency,formatGroup=locale_grouping?function(value){for(var i=value.length,t=[],j=0,g=locale_grouping[0];i>0&&g>0;)t.push(value.substring(i-=g,i+g)),g=locale_grouping[j=(j+1)%locale_grouping.length];return t.reverse().join(locale_thousands)}:d3_identity;return function(specifier){var match=d3_format_re.exec(specifier),fill=match[1]||" ",align=match[2]||">",sign=match[3]||"",symbol=match[4]||"",zfill=match[5],width=+match[6],comma=match[7],precision=match[8],type=match[9],scale=1,prefix="",suffix="",integer=!1;switch(precision&&(precision=+precision.substring(1)),(zfill||"0"===fill&&"="===align)&&(zfill=fill="0",align="=",comma&&(width-=Math.floor((width-1)/4))),type){case"n":comma=!0,type="g";break;case"%":scale=100,suffix="%",type="f";break;case"p":scale=100,suffix="%",type="r";break;case"b":case"o":case"x":case"X":"#"===symbol&&(prefix="0"+type.toLowerCase());case"c":case"d":integer=!0,precision=0;break;case"s":scale=-1,type="r"}"$"===symbol&&(prefix=locale_currency[0],suffix=locale_currency[1]),"r"!=type||precision||(type="g"),null!=precision&&("g"==type?precision=Math.max(1,Math.min(21,precision)):("e"==type||"f"==type)&&(precision=Math.max(0,Math.min(20,precision)))),type=d3_format_types.get(type)||d3_format_typeDefault;var zcomma=zfill&,return function(value){var fullSuffix=suffix;if(integer&&value%1)return"";var negative=0>value||0===value&&0>1/value?(value=-value,"-"):sign;if(0>scale){var unit=d3.formatPrefix(value,precision);value=unit.scale(value),fullSuffix=unit.symbol+suffix}else value*=scale;value=type(value,precision);var i=value.lastIndexOf("."),before=0>i?value:value.substring(0,i),after=0>i?"":locale_decimal+value.substring(i+1);!zfill&&comma&&(before=formatGroup(before));var length=prefix.length+before.length+after.length+(zcomma?0:negative.length),padding=width>length?new Array(length=width-length+1).join(fill):"";return zcomma&&(before=formatGroup(padding+before)),negative+=prefix,value=before+after,("<"===align?negative+value+padding:">"===align?padding+negative+value:"^"===align?padding.substring(0,length>>=1)+negative+value+padding.substring(length):negative+(zcomma?value:padding+value))+fullSuffix}}}function d3_format_typeDefault(x){return x+""}function d3_date_utc(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function d3_time_interval(local,step,number){function round(date){var d0=local(date),d1=offset(d0,1);return d1-date>date-d0?d0:d1}function ceil(date){return step(date=local(new d3_date(date-1)),1),date}function offset(date,k){return step(date=new d3_date(+date),k),date}function range(t0,t1,dt){var time=ceil(t0),times=[];if(dt>1)for(;t1>time;)number(time)%dt||times.push(new Date(+time)),step(time,1);else for(;t1>time;)times.push(new Date(+time)),step(time,1);return times}function range_utc(t0,t1,dt){try{d3_date=d3_date_utc;var utc=new d3_date_utc;return utc._=t0,range(utc,t1,dt)}finally{d3_date=Date}}local.floor=local,local.round=round,local.ceil=ceil,local.offset=offset,local.range=range;var utc=local.utc=d3_time_interval_utc(local);return utc.floor=utc,utc.round=d3_time_interval_utc(round),utc.ceil=d3_time_interval_utc(ceil),utc.offset=d3_time_interval_utc(offset),utc.range=range_utc,local}function d3_time_interval_utc(method){return function(date,k){try{d3_date=d3_date_utc;var utc=new d3_date_utc;return utc._=date,method(utc,k)._}finally{d3_date=Date}}}function d3_locale_timeFormat(locale){function d3_time_format(template){function format(date){for(var c,p,f,string=[],i=-1,j=0;++i<n;)37===template.charCodeAt(i)&&(string.push(template.substring(j,i)),null!=(p=d3_time_formatPads[c=template.charAt(++i)])&&(c=template.charAt(++i)),(f=d3_time_formats[c])&&(c=f(date,null==p?"e"===c?" ":"0":p)),string.push(c),j=i+1);return string.push(template.substring(j,i)),string.join("")}var n=template.length;return format.parse=function(string){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=d3_time_parse(d,template,string,0);if(i!=string.length)return null;"p"in d&&(d.H=d.H%12+12*d.p);var localZ=null!=d.Z&&d3_date!==d3_date_utc,date=new(localZ?d3_date_utc:d3_date);return"j"in d?date.setFullYear(d.y,0,d.j):"w"in d&&("W"in d||"U"in d)?(date.setFullYear(d.y,0,1),date.setFullYear(d.y,0,"W"in d?(d.w+6)%7+7*d.W-(date.getDay()+5)%7:d.w+7*d.U-(date.getDay()+6)%7)):date.setFullYear(d.y,d.m,d.d),date.setHours(d.H+Math.floor(d.Z/100),d.M+d.Z%100,d.S,d.L),localZ?date._:date},format.toString=function(){return template},format}function d3_time_parse(date,template,string,j){for(var c,p,t,i=0,n=template.length,m=string.length;n>i;){if(j>=m)return-1;if(c=template.charCodeAt(i++),37===c){if(t=template.charAt(i++),p=d3_time_parsers[t in d3_time_formatPads?template.charAt(i++):t],!p||(j=p(date,string,j))<0)return-1}else if(c!=string.charCodeAt(j++))return-1}return j}function d3_time_parseWeekdayAbbrev(date,string,i){d3_time_dayAbbrevRe.lastIndex=0;var n=d3_time_dayAbbrevRe.exec(string.substring(i));return n?(date.w=d3_time_dayAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseWeekday(date,string,i){d3_time_dayRe.lastIndex=0;var n=d3_time_dayRe.exec(string.substring(i));return n?(date.w=d3_time_dayLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseMonthAbbrev(date,string,i){d3_time_monthAbbrevRe.lastIndex=0;var n=d3_time_monthAbbrevRe.exec(string.substring(i));return n?(date.m=d3_time_monthAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseMonth(date,string,i){d3_time_monthRe.lastIndex=0;var n=d3_time_monthRe.exec(string.substring(i));return n?(date.m=d3_time_monthLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseLocaleFull(date,string,i){return d3_time_parse(date,d3_time_formats.c.toString(),string,i)}function d3_time_parseLocaleDate(date,string,i){return d3_time_parse(date,d3_time_formats.x.toString(),string,i)}function d3_time_parseLocaleTime(date,string,i){return d3_time_parse(date,d3_time_formats.X.toString(),string,i)}function d3_time_parseAmPm(date,string,i){var n=d3_time_periodLookup.get(string.substring(i,i+=2).toLowerCase());return null==n?-1:(date.p=n,i)}var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_days=locale.days,locale_shortDays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;d3_time_format.utc=function(template){function format(date){try{d3_date=d3_date_utc;var utc=new d3_date;return utc._=date,local(utc)}finally{d3_date=Date}}var local=d3_time_format(template);return format.parse=function(string){try{d3_date=d3_date_utc;var date=local.parse(string);return date&&date._}finally{d3_date=Date}},format.toString=local.toString,format},d3_time_format.multi=d3_time_format.utc.multi=d3_time_formatMulti;var d3_time_periodLookup=d3.map(),d3_time_dayRe=d3_time_formatRe(locale_days),d3_time_dayLookup=d3_time_formatLookup(locale_days),d3_time_dayAbbrevRe=d3_time_formatRe(locale_shortDays),d3_time_dayAbbrevLookup=d3_time_formatLookup(locale_shortDays),d3_time_monthRe=d3_time_formatRe(locale_months),d3_time_monthLookup=d3_time_formatLookup(locale_months),d3_time_monthAbbrevRe=d3_time_formatRe(locale_shortMonths),d3_time_monthAbbrevLookup=d3_time_formatLookup(locale_shortMonths);locale_periods.forEach(function(p,i){d3_time_periodLookup.set(p.toLowerCase(),i)});var d3_time_formats={a:function(d){return locale_shortDays[d.getDay()]},A:function(d){return locale_days[d.getDay()]},b:function(d){return locale_shortMonths[d.getMonth()]},B:function(d){return locale_months[d.getMonth()]},c:d3_time_format(locale_dateTime),d:function(d,p){return d3_time_formatPad(d.getDate(),p,2)},e:function(d,p){return d3_time_formatPad(d.getDate(),p,2)},H:function(d,p){return d3_time_formatPad(d.getHours(),p,2)},I:function(d,p){return d3_time_formatPad(d.getHours()%12||12,p,2)},j:function(d,p){return d3_time_formatPad(1+d3_time.dayOfYear(d),p,3)},L:function(d,p){return d3_time_formatPad(d.getMilliseconds(),p,3)},m:function(d,p){return d3_time_formatPad(d.getMonth()+1,p,2)},M:function(d,p){return d3_time_formatPad(d.getMinutes(),p,2)},p:function(d){return locale_periods[+(d.getHours()>=12)]},S:function(d,p){return d3_time_formatPad(d.getSeconds(),p,2)},U:function(d,p){return d3_time_formatPad(d3_time.sundayOfYear(d),p,2)},w:function(d){return d.getDay()},W:function(d,p){return d3_time_formatPad(d3_time.mondayOfYear(d),p,2)},x:d3_time_format(locale_date),X:d3_time_format(locale_time),y:function(d,p){return d3_time_formatPad(d.getFullYear()%100,p,2)},Y:function(d,p){return d3_time_formatPad(d.getFullYear()%1e4,p,4)},Z:d3_time_zone,"%":function(){return"%"}},d3_time_parsers={a:d3_time_parseWeekdayAbbrev,A:d3_time_parseWeekday,b:d3_time_parseMonthAbbrev,B:d3_time_parseMonth,c:d3_time_parseLocaleFull,d:d3_time_parseDay,e:d3_time_parseDay,H:d3_time_parseHour24,I:d3_time_parseHour24,j:d3_time_parseDayOfYear,L:d3_time_parseMilliseconds,m:d3_time_parseMonthNumber,M:d3_time_parseMinutes,p:d3_time_parseAmPm,S:d3_time_parseSeconds,U:d3_time_parseWeekNumberSunday,w:d3_time_parseWeekdayNumber,W:d3_time_parseWeekNumberMonday,x:d3_time_parseLocaleDate,X:d3_time_parseLocaleTime,y:d3_time_parseYear,Y:d3_time_parseFullYear,Z:d3_time_parseZone,"%":d3_time_parseLiteralPercent};return d3_time_format}function d3_time_formatPad(value,fill,width){var sign=0>value?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(width>length?new Array(width-length+1).join(fill)+string:string)}function d3_time_formatRe(names){return new RegExp("^(?:"+names.map(d3.requote).join("|")+")","i")}function d3_time_formatLookup(names){for(var map=new d3_Map,i=-1,n=names.length;++i<n;)map.set(names[i].toLowerCase(),i);return map}function d3_time_parseWeekdayNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+1));return n?(date.w=+n[0],i+n[0].length):-1}function d3_time_parseWeekNumberSunday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i));return n?(date.U=+n[0],i+n[0].length):-1}function d3_time_parseWeekNumberMonday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i));return n?(date.W=+n[0],i+n[0].length):-1}function d3_time_parseFullYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+4));return n?(date.y=+n[0],i+n[0].length):-1}function d3_time_parseYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));return n?(date.y=d3_time_expandYear(+n[0]),i+n[0].length):-1}function d3_time_parseZone(date,string,i){return/^[+-]\d{4}$/.test(string=string.substring(i,i+5))?(date.Z=+string,i+5):-1}function d3_time_expandYear(d){return d+(d>68?1900:2e3)}function d3_time_parseMonthNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));return n?(date.m=n[0]-1,i+n[0].length):-1}function d3_time_parseDay(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));return n?(date.d=+n[0],i+n[0].length):-1}function d3_time_parseDayOfYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+3));return n?(date.j=+n[0],i+n[0].length):-1}function d3_time_parseHour24(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));return n?(date.H=+n[0],i+n[0].length):-1}function d3_time_parseMinutes(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));
return n?(date.M=+n[0],i+n[0].length):-1}function d3_time_parseSeconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+2));return n?(date.S=+n[0],i+n[0].length):-1}function d3_time_parseMilliseconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.substring(i,i+3));return n?(date.L=+n[0],i+n[0].length):-1}function d3_time_zone(d){var z=d.getTimezoneOffset(),zs=z>0?"-":"+",zh=~~(abs(z)/60),zm=abs(z)%60;return zs+d3_time_formatPad(zh,"0",2)+d3_time_formatPad(zm,"0",2)}function d3_time_parseLiteralPercent(date,string,i){d3_time_percentRe.lastIndex=0;var n=d3_time_percentRe.exec(string.substring(i,i+1));return n?i+n[0].length:-1}function d3_time_formatMulti(formats){for(var n=formats.length,i=-1;++i<n;)formats[i][0]=this(formats[i][0]);return function(date){for(var i=0,f=formats[i];!f[1](date);)f=formats[++i];return f[0](date)}}function d3_adder(){}function d3_adderSum(a,b,o){var x=o.s=a+b,bv=x-a,av=x-bv;o.t=a-av+(b-bv)}function d3_geo_streamGeometry(geometry,listener){geometry&&d3_geo_streamGeometryType.hasOwnProperty(geometry.type)&&d3_geo_streamGeometryType[geometry.type](geometry,listener)}function d3_geo_streamLine(coordinates,listener,closed){var coordinate,i=-1,n=coordinates.length-closed;for(listener.lineStart();++i<n;)coordinate=coordinates[i],listener.point(coordinate[0],coordinate[1],coordinate[2]);listener.lineEnd()}function d3_geo_streamPolygon(coordinates,listener){var i=-1,n=coordinates.length;for(listener.polygonStart();++i<n;)d3_geo_streamLine(coordinates[i],listener,1);listener.polygonEnd()}function d3_geo_areaRingStart(){function nextPoint(λ,φ){λ*=d3_radians,φ=φ*d3_radians/2+π/4;var dλ=λ-λ0,sdλ=dλ>=0?1:-1,adλ=sdλ*dλ,cosφ=Math.cos(φ),sinφ=Math.sin(φ),k=sinφ0*sinφ,u=cosφ0*cosφ+k*Math.cos(adλ),v=k*sdλ*Math.sin(adλ);d3_geo_areaRingSum.add(Math.atan2(v,u)),λ0=λ,cosφ0=cosφ,sinφ0=sinφ}var λ00,φ00,λ0,cosφ0,sinφ0;d3_geo_area.point=function(λ,φ){d3_geo_area.point=nextPoint,λ0=(λ00=λ)*d3_radians,cosφ0=Math.cos(φ=(φ00=φ)*d3_radians/2+π/4),sinφ0=Math.sin(φ)},d3_geo_area.lineEnd=function(){nextPoint(λ00,φ00)}}function d3_geo_cartesian(spherical){var λ=spherical[0],φ=spherical[1],cosφ=Math.cos(φ);return[cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ)]}function d3_geo_cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function d3_geo_cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function d3_geo_cartesianAdd(a,b){a[0]+=b[0],a[1]+=b[1],a[2]+=b[2]}function d3_geo_cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k]}function d3_geo_cartesianNormalize(d){var l=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l,d[1]/=l,d[2]/=l}function d3_geo_spherical(cartesian){return[Math.atan2(cartesian[1],cartesian[0]),d3_asin(cartesian[2])]}function d3_geo_sphericalEqual(a,b){return abs(a[0]-b[0])<ε&&abs(a[1]-b[1])<ε}function d3_geo_centroidPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);d3_geo_centroidPointXYZ(cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ))}function d3_geo_centroidPointXYZ(x,y,z){++d3_geo_centroidW0,d3_geo_centroidX0+=(x-d3_geo_centroidX0)/d3_geo_centroidW0,d3_geo_centroidY0+=(y-d3_geo_centroidY0)/d3_geo_centroidW0,d3_geo_centroidZ0+=(z-d3_geo_centroidZ0)/d3_geo_centroidW0}function d3_geo_centroidLineStart(){function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),w=Math.atan2(Math.sqrt((w=y0*z-z0*y)*w+(w=z0*x-x0*z)*w+(w=x0*y-y0*x)*w),x0*x+y0*y+z0*z);d3_geo_centroidW1+=w,d3_geo_centroidX1+=w*(x0+(x0=x)),d3_geo_centroidY1+=w*(y0+(y0=y)),d3_geo_centroidZ1+=w*(z0+(z0=z)),d3_geo_centroidPointXYZ(x0,y0,z0)}var x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ),y0=cosφ*Math.sin(λ),z0=Math.sin(φ),d3_geo_centroid.point=nextPoint,d3_geo_centroidPointXYZ(x0,y0,z0)}}function d3_geo_centroidLineEnd(){d3_geo_centroid.point=d3_geo_centroidPoint}function d3_geo_centroidRingStart(){function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),cx=y0*z-z0*y,cy=z0*x-x0*z,cz=x0*y-y0*x,m=Math.sqrt(cx*cx+cy*cy+cz*cz),u=x0*x+y0*y+z0*z,v=m&&-d3_acos(u)/m,w=Math.atan2(m,u);d3_geo_centroidX2+=v*cx,d3_geo_centroidY2+=v*cy,d3_geo_centroidZ2+=v*cz,d3_geo_centroidW1+=w,d3_geo_centroidX1+=w*(x0+(x0=x)),d3_geo_centroidY1+=w*(y0+(y0=y)),d3_geo_centroidZ1+=w*(z0+(z0=z)),d3_geo_centroidPointXYZ(x0,y0,z0)}var λ00,φ00,x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ00=λ,φ00=φ,d3_geo_centroid.point=nextPoint,λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ),y0=cosφ*Math.sin(λ),z0=Math.sin(φ),d3_geo_centroidPointXYZ(x0,y0,z0)},d3_geo_centroid.lineEnd=function(){nextPoint(λ00,φ00),d3_geo_centroid.lineEnd=d3_geo_centroidLineEnd,d3_geo_centroid.point=d3_geo_centroidPoint}}function d3_true(){return!0}function d3_geo_clipPolygon(segments,compare,clipStartInside,interpolate,listener){var subject=[],clip=[];if(segments.forEach(function(segment){if(!((n=segment.length-1)<=0)){var n,p0=segment[0],p1=segment[n];if(d3_geo_sphericalEqual(p0,p1)){listener.lineStart();for(var i=0;n>i;++i)listener.point((p0=segment[i])[0],p0[1]);return listener.lineEnd(),void 0}var a=new d3_geo_clipPolygonIntersection(p0,segment,null,!0),b=new d3_geo_clipPolygonIntersection(p0,null,a,!1);a.o=b,subject.push(a),clip.push(b),a=new d3_geo_clipPolygonIntersection(p1,segment,null,!1),b=new d3_geo_clipPolygonIntersection(p1,null,a,!0),a.o=b,subject.push(a),clip.push(b)}}),clip.sort(compare),d3_geo_clipPolygonLinkCircular(subject),d3_geo_clipPolygonLinkCircular(clip),subject.length){for(var i=0,entry=clipStartInside,n=clip.length;n>i;++i)clip[i].e=entry=!entry;for(var points,point,start=subject[0];;){for(var current=start,isSubject=!0;current.v;)if((current=current.n)===start)return;points=current.z,listener.lineStart();do{if(current.v=current.o.v=!0,current.e){if(isSubject)for(var i=0,n=points.length;n>i;++i)listener.point((point=points[i])[0],point[1]);else interpolate(current.x,current.n.x,1,listener);current=current.n}else{if(isSubject){points=current.p.z;for(var i=points.length-1;i>=0;--i)listener.point((point=points[i])[0],point[1])}else interpolate(current.x,current.p.x,-1,listener);current=current.p}current=current.o,points=current.z,isSubject=!isSubject}while(!current.v);listener.lineEnd()}}}function d3_geo_clipPolygonLinkCircular(array){if(n=array.length){for(var n,b,i=0,a=array[0];++i<n;)a.n=b=array[i],b.p=a,a=b;a.n=b=array[0],b.p=a}}function d3_geo_clipPolygonIntersection(point,points,other,entry){this.x=point,this.z=points,this.o=other,this.e=entry,this.v=!1,this.n=this.p=null}function d3_geo_clip(pointVisible,clipLine,interpolate,clipStart){return function(rotate,listener){function point(λ,φ){var point=rotate(λ,φ);pointVisible(λ=point[0],φ=point[1])&&listener.point(λ,φ)}function pointLine(λ,φ){var point=rotate(λ,φ);line.point(point[0],point[1])}function lineStart(){clip.point=pointLine,line.lineStart()}function lineEnd(){clip.point=point,line.lineEnd()}function pointRing(λ,φ){ring.push([λ,φ]);var point=rotate(λ,φ);ringListener.point(point[0],point[1])}function ringStart(){ringListener.lineStart(),ring=[]}function ringEnd(){pointRing(ring[0][0],ring[0][1]),ringListener.lineEnd();var segment,clean=ringListener.clean(),ringSegments=buffer.buffer(),n=ri