!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vega-dataflow"),require("vega-util"),require("d3-hierarchy")):"function"==typeof define&&define.amd?define(["exports","vega-dataflow","vega-util","d3-hierarchy"],t):t(((e=e||self).vega=e.vega||{},e.vega.transforms={}),e.vega,e.vega,e.d3)}(this,function(e,t,a,r){"use strict";function n(e,t,a){var r={};return e.each(function(e){var n=e.data;a(n)&&(r[t(n)]=e)}),e.lookup=r,e}function i(e){t.Transform.call(this,null,e)}function o(e){return e.values}function s(){var e,t=[];return e={entries:e=>(function e(a,r){if(++r>t.length)return a;var n,i=[];for(n in a)i.push({key:n,values:e(a[n],r)});return i})(function e(a,r){if(r>=t.length)return a;for(var n,i,o,s=-1,u=a.length,d=t[r++],l={},f={};++s(t.push(a),e)}}function u(e){t.Transform.call(this,null,e)}function d(e,t){return e.parent===t.parent?1:2}i.Definition={type:"Nest",metadata:{treesource:!0,changes:!0},params:[{name:"keys",type:"field",array:!0},{name:"generate",type:"boolean"}]},a.inherits(i,t.Transform).transform=function(e,i){i.source||a.error("Nest transform requires an upstream data source.");var u=e.generate,d=e.modified(),l=i.clone(),f=this.value;return(!f||d||i.changed())&&(f&&f.each(e=>{e.children&&t.isTuple(e.data)&&l.rem.push(e.data)}),this.value=f=r.hierarchy({values:a.array(e.keys).reduce((e,t)=>(e.key(t),e),s()).entries(l.source)},o),u&&f.each(e=>{e.children&&(e=t.ingest(e.data),l.add.push(e),l.source.push(e))}),n(f,t.tupleid,t.tupleid)),l.source.root=f,l},a.inherits(u,t.Transform).transform=function(e,r){r.source&&r.source.root||a.error(this.constructor.name+" transform requires a backing tree data source.");var n=this.layout(e.method),i=this.fields,o=r.source.root,s=e.as||i;e.field?o.sum(e.field):o.count(),e.sort&&o.sort(t.stableCompare(e.sort,e=>e.data)),function(e,t,a){for(var r,n=0,i=t.length;n